From 12c60b27fb88721b1c2422a34cd7c4b6ef58a516 Mon Sep 17 00:00:00 2001 From: "claude[bot]" <41898282+claude[bot]@users.noreply.github.com> Date: Tue, 20 Oct 2026 05:30:03 +0000 Subject: [PATCH] docs: Claude Code v2.1.304 - /auto-mode-setup, routines renamed to scheduled tasks, new Compliance user_preferences endpoint Co-Authored-By: claude-yolo[bot] --- content/.metadata.json | 12261 +++--- content/CHANGELOG.md | 79 + content/claude-code-manifest.json | 39 +- .../api-credits-for-subscribers.md | 4 +- .../use-case-guides/content-moderation.md | 14 +- .../use-case-guides/customer-support-chat.md | 30 +- .../use-case-guides/legal-summarization.md | 14 +- .../use-case-guides/ticket-routing.md | 8 +- .../agent-skills/quickstart.md | 14 +- content/en/agents-and-tools/mcp-connector.md | 2 - .../tool-use/browser-use-tool.md | 34 +- .../tool-use/build-a-tool-using-agent.md | 210 +- .../tool-use/computer-use-tool.md | 38 +- .../agents-and-tools/tool-use/memory-tool.md | 3 +- .../en/agents-and-tools/tool-use/overview.md | 8 +- .../tool-use/parallel-tool-use.md | 2 +- .../tool-use/web-fetch-tool.md | 58 +- content/en/api/beta-headers.md | 2 +- content/en/api/beta.md | 248 +- content/en/api/beta/models.md | 42 +- content/en/api/beta/models/list.md | 9 +- content/en/api/beta/models/retrieve.md | 9 +- content/en/api/beta/organization.md | 48 +- .../beta/organization/plugin_marketplaces.md | 4 +- .../validate_repository.md | 4 +- content/en/api/beta/organization/plugins.md | 52 +- .../api/beta/organization/plugins/create.md | 8 +- .../en/api/beta/organization/plugins/list.md | 8 +- .../api/beta/organization/plugins/retrieve.md | 8 +- .../api/beta/organization/plugins/update.md | 8 +- .../api/beta/organization/plugins/versions.md | 16 +- .../organization/plugins/versions/create.md | 4 +- .../organization/plugins/versions/list.md | 4 +- .../organization/plugins/versions/retrieve.md | 4 +- content/en/api/beta/vaults.md | 186 +- content/en/api/beta/vaults/archive.md | 8 +- content/en/api/beta/vaults/create.md | 8 +- content/en/api/beta/vaults/credentials.md | 282 +- .../en/api/beta/vaults/credentials/archive.md | 16 +- .../en/api/beta/vaults/credentials/create.md | 38 +- .../en/api/beta/vaults/credentials/delete.md | 8 +- .../en/api/beta/vaults/credentials/list.md | 16 +- .../vaults/credentials/mcp_oauth_validate.md | 14 +- .../api/beta/vaults/credentials/retrieve.md | 16 +- .../en/api/beta/vaults/credentials/update.md | 48 +- content/en/api/beta/vaults/delete.md | 8 +- content/en/api/beta/vaults/list.md | 8 +- content/en/api/beta/vaults/retrieve.md | 8 +- content/en/api/beta/vaults/update.md | 8 +- content/en/api/claude-code/routines-fire.md | 2 +- content/en/api/cli/beta.md | 204 +- content/en/api/cli/beta/models.md | 66 +- content/en/api/cli/beta/models/list.md | 13 +- content/en/api/cli/beta/models/retrieve.md | 13 +- content/en/api/cli/beta/vaults.md | 134 +- content/en/api/cli/beta/vaults/archive.md | 8 +- content/en/api/cli/beta/vaults/create.md | 8 +- content/en/api/cli/beta/vaults/credentials.md | 230 +- .../cli/beta/vaults/credentials/archive.md | 16 +- .../api/cli/beta/vaults/credentials/create.md | 16 +- .../api/cli/beta/vaults/credentials/delete.md | 8 +- .../api/cli/beta/vaults/credentials/list.md | 16 +- .../vaults/credentials/mcp_oauth_validate.md | 14 +- .../cli/beta/vaults/credentials/retrieve.md | 16 +- .../api/cli/beta/vaults/credentials/update.md | 18 +- content/en/api/cli/beta/vaults/delete.md | 8 +- content/en/api/cli/beta/vaults/list.md | 8 +- content/en/api/cli/beta/vaults/retrieve.md | 8 +- content/en/api/cli/beta/vaults/update.md | 8 +- content/en/api/cli/models.md | 66 +- content/en/api/cli/models/list.md | 13 +- content/en/api/cli/models/retrieve.md | 13 +- content/en/api/compliance.md | 7527 ++-- content/en/api/compliance/activities.md | 30878 +++++++++------- content/en/api/compliance/activities/list.md | 7688 ++-- content/en/api/compliance/apps.md | 2 +- content/en/api/compliance/apps/code.md | 2 +- .../en/api/compliance/apps/code/artifacts.md | 2 +- .../apps/code/artifacts/retrieve_version.md | 2 +- content/en/api/compliance/organizations.md | 117 + .../organizations/user_preferences.md | 149 + .../organizations/user_preferences/list.md | 119 + content/en/api/csharp/beta.md | 244 +- content/en/api/csharp/beta/models.md | 42 +- content/en/api/csharp/beta/models/list.md | 9 +- content/en/api/csharp/beta/models/retrieve.md | 9 +- content/en/api/csharp/beta/vaults.md | 182 +- content/en/api/csharp/beta/vaults/archive.md | 8 +- content/en/api/csharp/beta/vaults/create.md | 8 +- .../en/api/csharp/beta/vaults/credentials.md | 280 +- .../csharp/beta/vaults/credentials/archive.md | 16 +- .../csharp/beta/vaults/credentials/create.md | 38 +- .../csharp/beta/vaults/credentials/delete.md | 8 +- .../csharp/beta/vaults/credentials/list.md | 14 +- .../vaults/credentials/mcp_oauth_validate.md | 14 +- .../beta/vaults/credentials/retrieve.md | 16 +- .../csharp/beta/vaults/credentials/update.md | 48 +- content/en/api/csharp/beta/vaults/delete.md | 8 +- content/en/api/csharp/beta/vaults/list.md | 6 +- content/en/api/csharp/beta/vaults/retrieve.md | 8 +- content/en/api/csharp/beta/vaults/update.md | 8 +- content/en/api/csharp/models.md | 42 +- content/en/api/csharp/models/list.md | 9 +- content/en/api/csharp/models/retrieve.md | 9 +- content/en/api/go/beta.md | 244 +- content/en/api/go/beta/models.md | 42 +- content/en/api/go/beta/models/list.md | 9 +- content/en/api/go/beta/models/retrieve.md | 9 +- content/en/api/go/beta/vaults.md | 182 +- content/en/api/go/beta/vaults/archive.md | 8 +- content/en/api/go/beta/vaults/create.md | 8 +- content/en/api/go/beta/vaults/credentials.md | 280 +- .../api/go/beta/vaults/credentials/archive.md | 16 +- .../api/go/beta/vaults/credentials/create.md | 38 +- .../api/go/beta/vaults/credentials/delete.md | 8 +- .../en/api/go/beta/vaults/credentials/list.md | 14 +- .../vaults/credentials/mcp_oauth_validate.md | 14 +- .../go/beta/vaults/credentials/retrieve.md | 16 +- .../api/go/beta/vaults/credentials/update.md | 48 +- content/en/api/go/beta/vaults/delete.md | 8 +- content/en/api/go/beta/vaults/list.md | 6 +- content/en/api/go/beta/vaults/retrieve.md | 8 +- content/en/api/go/beta/vaults/update.md | 8 +- content/en/api/go/models.md | 42 +- content/en/api/go/models/list.md | 9 +- content/en/api/go/models/retrieve.md | 9 +- content/en/api/java/beta.md | 244 +- content/en/api/java/beta/models.md | 42 +- content/en/api/java/beta/models/list.md | 9 +- content/en/api/java/beta/models/retrieve.md | 9 +- content/en/api/java/beta/vaults.md | 182 +- content/en/api/java/beta/vaults/archive.md | 8 +- content/en/api/java/beta/vaults/create.md | 8 +- .../en/api/java/beta/vaults/credentials.md | 280 +- .../java/beta/vaults/credentials/archive.md | 16 +- .../java/beta/vaults/credentials/create.md | 38 +- .../java/beta/vaults/credentials/delete.md | 8 +- .../api/java/beta/vaults/credentials/list.md | 14 +- .../vaults/credentials/mcp_oauth_validate.md | 14 +- .../java/beta/vaults/credentials/retrieve.md | 16 +- .../java/beta/vaults/credentials/update.md | 48 +- content/en/api/java/beta/vaults/delete.md | 8 +- content/en/api/java/beta/vaults/list.md | 6 +- content/en/api/java/beta/vaults/retrieve.md | 8 +- content/en/api/java/beta/vaults/update.md | 8 +- content/en/api/java/models.md | 42 +- content/en/api/java/models/list.md | 9 +- content/en/api/java/models/retrieve.md | 9 +- content/en/api/models.md | 42 +- content/en/api/models/list.md | 9 +- content/en/api/models/retrieve.md | 9 +- content/en/api/overview.md | 2 +- content/en/api/php/beta.md | 134 +- content/en/api/php/beta/models.md | 12 +- content/en/api/php/beta/models/list.md | 3 + content/en/api/php/beta/models/retrieve.md | 3 + content/en/api/php/beta/vaults.md | 84 +- content/en/api/php/beta/vaults/archive.md | 8 +- content/en/api/php/beta/vaults/create.md | 8 +- content/en/api/php/beta/vaults/credentials.md | 116 +- .../php/beta/vaults/credentials/archive.md | 8 +- .../api/php/beta/vaults/credentials/create.md | 8 +- .../api/php/beta/vaults/credentials/delete.md | 8 +- .../api/php/beta/vaults/credentials/list.md | 6 +- .../vaults/credentials/mcp_oauth_validate.md | 8 +- .../php/beta/vaults/credentials/retrieve.md | 8 +- .../api/php/beta/vaults/credentials/update.md | 10 +- content/en/api/php/beta/vaults/delete.md | 8 +- content/en/api/php/beta/vaults/list.md | 6 +- content/en/api/php/beta/vaults/retrieve.md | 8 +- content/en/api/php/beta/vaults/update.md | 8 +- content/en/api/php/models.md | 12 +- content/en/api/php/models/list.md | 3 + content/en/api/php/models/retrieve.md | 3 + content/en/api/python/beta.md | 512 +- content/en/api/python/beta/agents.md | 220 +- content/en/api/python/beta/agents/create.md | 86 +- content/en/api/python/beta/agents/update.md | 86 +- content/en/api/python/beta/models.md | 42 +- content/en/api/python/beta/models/list.md | 9 +- content/en/api/python/beta/models/retrieve.md | 9 +- content/en/api/python/beta/sessions.md | 192 +- content/en/api/python/beta/sessions/create.md | 86 +- content/en/api/python/beta/sessions/update.md | 10 +- content/en/api/python/beta/vaults.md | 182 +- content/en/api/python/beta/vaults/archive.md | 8 +- content/en/api/python/beta/vaults/create.md | 8 +- .../en/api/python/beta/vaults/credentials.md | 280 +- .../python/beta/vaults/credentials/archive.md | 16 +- .../python/beta/vaults/credentials/create.md | 38 +- .../python/beta/vaults/credentials/delete.md | 8 +- .../python/beta/vaults/credentials/list.md | 14 +- .../vaults/credentials/mcp_oauth_validate.md | 14 +- .../beta/vaults/credentials/retrieve.md | 16 +- .../python/beta/vaults/credentials/update.md | 48 +- content/en/api/python/beta/vaults/delete.md | 8 +- content/en/api/python/beta/vaults/list.md | 6 +- content/en/api/python/beta/vaults/retrieve.md | 8 +- content/en/api/python/beta/vaults/update.md | 8 +- content/en/api/python/models.md | 42 +- content/en/api/python/models/list.md | 9 +- content/en/api/python/models/retrieve.md | 9 +- content/en/api/ruby/beta.md | 244 +- content/en/api/ruby/beta/models.md | 42 +- content/en/api/ruby/beta/models/list.md | 9 +- content/en/api/ruby/beta/models/retrieve.md | 9 +- content/en/api/ruby/beta/vaults.md | 182 +- content/en/api/ruby/beta/vaults/archive.md | 8 +- content/en/api/ruby/beta/vaults/create.md | 8 +- .../en/api/ruby/beta/vaults/credentials.md | 280 +- .../ruby/beta/vaults/credentials/archive.md | 16 +- .../ruby/beta/vaults/credentials/create.md | 38 +- .../ruby/beta/vaults/credentials/delete.md | 8 +- .../api/ruby/beta/vaults/credentials/list.md | 14 +- .../vaults/credentials/mcp_oauth_validate.md | 14 +- .../ruby/beta/vaults/credentials/retrieve.md | 16 +- .../ruby/beta/vaults/credentials/update.md | 48 +- content/en/api/ruby/beta/vaults/delete.md | 8 +- content/en/api/ruby/beta/vaults/list.md | 6 +- content/en/api/ruby/beta/vaults/retrieve.md | 8 +- content/en/api/ruby/beta/vaults/update.md | 8 +- content/en/api/ruby/models.md | 42 +- content/en/api/ruby/models/list.md | 9 +- content/en/api/ruby/models/retrieve.md | 9 +- content/en/api/typescript/beta.md | 244 +- content/en/api/typescript/beta/models.md | 42 +- content/en/api/typescript/beta/models/list.md | 9 +- .../en/api/typescript/beta/models/retrieve.md | 9 +- content/en/api/typescript/beta/vaults.md | 182 +- .../en/api/typescript/beta/vaults/archive.md | 8 +- .../en/api/typescript/beta/vaults/create.md | 8 +- .../api/typescript/beta/vaults/credentials.md | 280 +- .../beta/vaults/credentials/archive.md | 16 +- .../beta/vaults/credentials/create.md | 38 +- .../beta/vaults/credentials/delete.md | 8 +- .../beta/vaults/credentials/list.md | 14 +- .../vaults/credentials/mcp_oauth_validate.md | 14 +- .../beta/vaults/credentials/retrieve.md | 16 +- .../beta/vaults/credentials/update.md | 48 +- .../en/api/typescript/beta/vaults/delete.md | 8 +- content/en/api/typescript/beta/vaults/list.md | 6 +- .../en/api/typescript/beta/vaults/retrieve.md | 8 +- .../en/api/typescript/beta/vaults/update.md | 8 +- content/en/api/typescript/models.md | 42 +- content/en/api/typescript/models/list.md | 9 +- content/en/api/typescript/models/retrieve.md | 9 +- .../en/build-with-claude/batch-processing.md | 4 +- content/en/build-with-claude/citations.md | 24 +- .../claude-in-amazon-bedrock.md | 2 +- .../claude-on-amazon-bedrock-legacy.md | 2 +- .../claude-platform-on-aws.md | 14 +- content/en/build-with-claude/effort.md | 4 +- .../en/build-with-claude/extended-thinking.md | 8 +- .../en/build-with-claude/fallback-credit.md | 2 +- content/en/build-with-claude/fast-mode.md | 4 +- content/en/build-with-claude/files.md | 27 +- .../handling-stop-reasons.md | 20 +- .../mid-conversation-effort-example.md | 112 +- .../mid-conversation-system-messages.md | 4 +- content/en/build-with-claude/overview.md | 28 +- .../en/build-with-claude/prompt-caching.md | 4 +- .../prompting-claude-fable-5-1.md | 22 +- .../refusals-and-fallback.md | 2 +- .../en/build-with-claude/search-results.md | 4 +- .../build-with-claude/structured-outputs.md | 4 +- .../thinking-steering-and-cost.md | 6 +- .../thinking-tool-workflows.md | 4 +- content/en/build-with-claude/thinking.md | 2 +- .../en/build-with-claude/token-counting.md | 2 +- .../build-with-claude/vision-coordinates.md | 8 +- content/en/cli-sdks-libraries/cli/apply.md | 10 +- .../cli-sdks-libraries/cli/authentication.md | 2 +- content/en/cli-sdks-libraries/cli/using.md | 2 + .../libraries/apple-foundation-models.md | 2 +- .../libraries/openai-sdk.md | 2 +- content/en/cli-sdks-libraries/sdks/php.md | 4 +- content/en/docs/claude-code/admin-setup.md | 2 +- .../docs/claude-code/agent-sdk/agent-loop.md | 2 +- .../claude-code/agent-sdk/custom-tools.md | 2 +- .../docs/claude-code/agent-sdk/permissions.md | 12 +- .../en/docs/claude-code/agent-sdk/python.md | 2 +- .../docs/claude-code/agent-sdk/typescript.md | 26 +- content/en/docs/claude-code/agents.md | 2 +- content/en/docs/claude-code/artifacts.md | 2 +- content/en/docs/claude-code/best-practices.md | 2 +- content/en/docs/claude-code/changelog.md | 90 + content/en/docs/claude-code/channels.md | 2 +- .../claude-code/claude-apps-gateway-config.md | 6 + .../docs/claude-code/claude-apps-gateway.md | 10 +- .../claude-code/claude-code-on-the-web.md | 8 +- .../en/docs/claude-code/claude-directory.md | 9 +- .../en/docs/claude-code/claude-projects.md | 28 +- .../en/docs/claude-code/cloud-environments.md | 23 +- .../en/docs/claude-code/code-review-local.md | 4 +- content/en/docs/claude-code/commands.md | 2 +- .../en/docs/claude-code/common-workflows.md | 2 +- content/en/docs/claude-code/context-window.md | 10 +- content/en/docs/claude-code/costs.md | 6 +- .../claude-code/desktop-scheduled-tasks.md | 92 +- content/en/docs/claude-code/env-vars.md | 10 +- content/en/docs/claude-code/errors.md | 30 +- .../docs/claude-code/feature-availability.md | 4 +- content/en/docs/claude-code/gateways.md | 2 +- .../claude-code/github-enterprise-server.md | 2 +- content/en/docs/claude-code/glossary.md | 4 +- content/en/docs/claude-code/goal.md | 2 +- content/en/docs/claude-code/headless.md | 4 +- content/en/docs/claude-code/hooks-guide.md | 8 +- content/en/docs/claude-code/hooks.md | 6 +- .../en/docs/claude-code/interactive-mode.md | 2 +- content/en/docs/claude-code/model-config.md | 24 +- .../en/docs/claude-code/monitoring-usage.md | 2 +- content/en/docs/claude-code/network-config.md | 2 +- content/en/docs/claude-code/overview.md | 4 +- .../en/docs/claude-code/permission-modes.md | 74 +- content/en/docs/claude-code/permissions.md | 21 +- content/en/docs/claude-code/platforms.md | 2 +- .../en/docs/claude-code/plugins/mods/admin.md | 18 +- .../en/docs/claude-code/plugins/mods/api.md | 83 + .../docs/claude-code/plugins/mods/create.md | 2 +- .../docs/claude-code/plugins/mods/events.md | 10 +- .../claude-code/plugins/mods/interface.md | 2 +- .../docs/claude-code/plugins/mods/overview.md | 4 +- .../claude-code/plugins/mods/reference.md | 8 +- .../claude-code/plugins/mods/troubleshoot.md | 14 +- content/en/docs/claude-code/routines.md | 301 +- .../en/docs/claude-code/scheduled-tasks.md | 27 +- .../self-hosted-environments-configuration.md | 4 +- .../self-hosted-environments-deploy.md | 9 +- .../claude-code/self-hosted-environments.md | 8 +- content/en/docs/claude-code/sessions.md | 2 +- .../en/docs/claude-code/settings-reference.md | 10 +- content/en/docs/claude-code/skills.md | 10 +- content/en/docs/claude-code/slash-commands.md | 10 +- content/en/docs/claude-code/sub-agents.md | 4 +- .../en/docs/claude-code/tools-reference.md | 10 +- content/en/docs/claude-code/vs-code.md | 2 +- content/en/docs/claude-code/web-quickstart.md | 2 +- .../docs/claude-code/web-scheduled-tasks.md | 301 +- content/en/get-api-key.md | 2 +- content/en/home.md | 12 +- .../claude-code-analytics-api.md | 4 +- content/en/manage-claude/cmek.md | 1 - content/en/manage-claude/data-residency.md | 4 +- content/en/manage-claude/opentelemetry/api.md | 4 +- content/en/manage-claude/plugins-api.md | 34 +- content/en/managed-agents/agent-setup.md | 10 +- content/en/managed-agents/define-outcomes.md | 12 +- content/en/managed-agents/dreams.md | 8 +- content/en/managed-agents/environments.md | 6 +- content/en/managed-agents/event-deltas.md | 16 +- .../en/managed-agents/events-and-streaming.md | 54 +- content/en/managed-agents/files.md | 12 +- content/en/managed-agents/github.md | 38 +- content/en/managed-agents/mcp-connector.md | 10 +- .../multiagent-orchestration.md | 30 +- content/en/managed-agents/onboarding.md | 2 +- content/en/managed-agents/overview.md | 2 +- content/en/managed-agents/quickstart.md | 22 +- .../managed-agents/scheduled-deployments.md | 16 +- .../self-hosted-sandboxes-custom-tools.md | 9 +- .../self-hosted-sandboxes-workers.md | 7 +- .../managed-agents/self-hosted-sandboxes.md | 2 +- content/en/managed-agents/session-threads.md | 18 +- content/en/managed-agents/skills.md | 6 +- content/en/managed-agents/vaults.md | 44 +- content/en/managed-agents/workflow-runs.md | 19 +- .../en/models/haiku-5-5/migration-guide.md | 3 +- .../models/haiku-5-5/whats-new-haiku-5-5.md | 1 - content/en/models/opus-5-5/migration-guide.md | 12 +- content/en/models/overview.md | 2 + .../en/models/sonnet-5-5/migration-guide.md | 10 +- content/en/release-notes/overview.md | 9 +- ...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 | 10 +- ...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 +- .../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 | 2 +- ...21-find-and-join-a-console-organization.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 +- ...from-standalone-claude-design-to-claude.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 | 2 +- 429 files changed, 41348 insertions(+), 30112 deletions(-) create mode 100644 content/en/api/compliance/organizations/user_preferences.md create mode 100644 content/en/api/compliance/organizations/user_preferences/list.md diff --git a/content/.metadata.json b/content/.metadata.json index e0bb45257f..159be0b0ea 100644 --- a/content/.metadata.json +++ b/content/.metadata.json @@ -1,7 +1,7 @@ { "metadata": { "version": "2.0", - "fetch_date": "2026-10-19T20:46:51.501777Z", + "fetch_date": "2026-10-20T05:28:42.278541Z", "section": "all" }, "items": [ @@ -9,8 +9,8 @@ "url": "https://platform.claude.com/docs/en/home", "status": "success", "path": "en/home.md", - "sha256": "f4a77636d5a2026b63c6d818f4d4cf200c13fb8f51cc4b0bcb504f31e09f53f0", - "size": 15611 + "sha256": "e0ef3575e424543602681374833e4c36f0aa7711c7e3e0ef87a2987c5da5d99b", + "size": 15689 }, { "url": "https://platform.claude.com/docs/en/intro", @@ -23,8 +23,8 @@ "url": "https://platform.claude.com/docs/en/get-api-key", "status": "success", "path": "en/get-api-key.md", - "sha256": "9786ce0200906cbbaa22c458ab6b6357b6216c0b20a0b9a2d7dbf86d80cb0190", - "size": 4624 + "sha256": "7b304d899b305871a2b5af261a48d75d7f743114151fbe71826cc7ecd83a9bc6", + "size": 4631 }, { "url": "https://platform.claude.com/docs/en/get-started", @@ -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": "f733caa393cdb5b618705f1f02540efa63d02836a9cd150f9576ac27814f2e85", - "size": 33298 + "sha256": "11727a0ac83806ceb94e324af2136d7f0943e9cf34146f440be91ee1ba6c7958", + "size": 29490 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/working-with-messages", @@ -58,29 +58,29 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/handling-stop-reasons", "status": "success", "path": "en/build-with-claude/handling-stop-reasons.md", - "sha256": "99c1214a3b9d6982fbb6d3dcdb6e23d0348789107edb61d547b9e1fedb312c80", - "size": 121267 + "sha256": "95da95a02bcc760dc61a435322aba06ed6d268d55d4cd4d2905b75411088e170", + "size": 121018 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback", "status": "success", "path": "en/build-with-claude/refusals-and-fallback.md", - "sha256": "660f763cfc1071bd76a52571cab3e80484164a09e01ccee84649c9df52c41dc7", - "size": 65213 + "sha256": "bdae8a846507671613d52dd556d34613873b42071e95941da8d7f020dbd1f534", + "size": 65218 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/fallback-credit", "status": "success", "path": "en/build-with-claude/fallback-credit.md", - "sha256": "5279863a543b71a36e26a557dd8b3fa6709dc5b6663779e0c38c5f11ca357ca8", - "size": 31365 + "sha256": "d0aa49a059f0a3c6dc303b5fe6b7921941331370fe44cf1a81c335be44e20b47", + "size": 31370 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/effort", "status": "success", "path": "en/build-with-claude/effort.md", - "sha256": "4c7e870da4997ffa42621e3acf8e10509b7f606edacb7c90c1aaae0e6f7f45de", - "size": 42936 + "sha256": "38cf202f17d28efe5a42f1df1de7f7af5924f76ce05abb7b5989db919ae892e5", + "size": 42898 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/task-budgets", @@ -93,22 +93,22 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/fast-mode", "status": "success", "path": "en/build-with-claude/fast-mode.md", - "sha256": "8ed65417418be6bf5dd344d709dfd7b0b6f2d46c3c1803ea64cbfcb7e76636c9", - "size": 24918 + "sha256": "31838d471e1993bb14049d5b5f5c314b04b6eb323b87282d9c81d69e38371756", + "size": 24880 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/structured-outputs", "status": "success", "path": "en/build-with-claude/structured-outputs.md", - "sha256": "43719e2aad8d567102fe2a593ee39ab685c32093bfafbfde2a2ca578f1c5712c", - "size": 102580 + "sha256": "a0c6b69eb353e2d68f41e0d5af3737ac26bd3b1f8281c54ed19e0ab0963f4111", + "size": 102126 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/citations", "status": "success", "path": "en/build-with-claude/citations.md", - "sha256": "0e18505904993a0f1b3529e8640fb521943e76e5dbf3bf60293199794c7366dd", - "size": 74944 + "sha256": "d109b64127d1993b36fa0195fa3063e8c7bb61d3e4b99edd9e3e3b3a8ecbbe6a", + "size": 74932 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/streaming", @@ -121,15 +121,15 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/batch-processing", "status": "success", "path": "en/build-with-claude/batch-processing.md", - "sha256": "58caf3f55319d82904054ea3e9e71815e2d36d1feb590457ee51c573385599a8", - "size": 74920 + "sha256": "becf39440b06098a7b112ba9c3704877d27f5814759454b33af8a7dd6e9dc7f4", + "size": 74970 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/search-results", "status": "success", "path": "en/build-with-claude/search-results.md", - "sha256": "6c708417f8905af4a1a9d97bf482b726599702ff363f159ad5117ca297341b91", - "size": 84378 + "sha256": "f9e01d403eb9b233d50ea35f3c735bf3034f4c58be43cf065bf2d237cd2bd97b", + "size": 84337 }, { "url": "https://platform.claude.com/docs/en/test-and-evaluate/strengthen-guardrails/handle-streaming-refusals", @@ -156,22 +156,22 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/thinking", "status": "success", "path": "en/build-with-claude/thinking.md", - "sha256": "8834dd6ae514a5084b421b076d7a4e5eefa65bfa40d9f990fd8a2d5de7dbfadb", - "size": 84750 + "sha256": "8bbc8ed20cffa039e5c2c371c64610c7e4019d2dabf1a01392a87dc0018d9375", + "size": 84830 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/thinking-steering-and-cost", "status": "success", "path": "en/build-with-claude/thinking-steering-and-cost.md", - "sha256": "5bd117b52c45d88d25e90327b3423a062218d3aed1f6ef3931958c45c75e050e", - "size": 43326 + "sha256": "249dbb140ab8cdcf0d47a74a6a9fb4faba044240d9f5b16212fd060335d18a2f", + "size": 43275 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/thinking-tool-workflows", "status": "success", "path": "en/build-with-claude/thinking-tool-workflows.md", - "sha256": "5b9b3dcdaa54b0953c6ef3637636a473ee40a9f70739b619f03417b412f93d1b", - "size": 31448 + "sha256": "09755dbfdf5eab4a3b54c15521b5f0f9697288cf26dddd9ab0890f40a54cac52", + "size": 31399 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/preserved-thinking", @@ -191,15 +191,15 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/extended-thinking", "status": "success", "path": "en/build-with-claude/extended-thinking.md", - "sha256": "bc3d2adadcc8e1677d3e3c7df2a59676dd325a040be8997c701ef053a3ff57dc", - "size": 22430 + "sha256": "bb32ce9a4c39d2c66b62d4ee1d51b425c803ced54c7e612e9d77d51816dacd30", + "size": 22426 }, { "url": "https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview", "status": "success", "path": "en/agents-and-tools/tool-use/overview.md", - "sha256": "c56b544053a389d1956b093fdc37e9d0cd817c5c0f5c00c6ce37afeffecf0aaf", - "size": 36024 + "sha256": "d2dd7b4d6d51c60d6bfc9f58d36a6180f6ebdd8f5388aabf1d017f141a909e0d", + "size": 35945 }, { "url": "https://platform.claude.com/docs/en/agents-and-tools/tool-use/how-tool-use-works", @@ -212,8 +212,8 @@ "url": "https://platform.claude.com/docs/en/agents-and-tools/tool-use/build-a-tool-using-agent", "status": "success", "path": "en/agents-and-tools/tool-use/build-a-tool-using-agent.md", - "sha256": "0ac0e534abc1db971d6b8d1c6779a047a5850476f5777f231618f89ccd3850c6", - "size": 139078 + "sha256": "296e83ed789b7c80da917e844e62c1fe825c1c5cde4341d314c9c8b315645b16", + "size": 139227 }, { "url": "https://platform.claude.com/docs/en/agents-and-tools/tool-use/define-tools", @@ -233,8 +233,8 @@ "url": "https://platform.claude.com/docs/en/agents-and-tools/tool-use/parallel-tool-use", "status": "success", "path": "en/agents-and-tools/tool-use/parallel-tool-use.md", - "sha256": "fff2533c08c86c0ebe108f1b97a41fa2b3443c622b0e82831b5995562cd955c1", - "size": 55248 + "sha256": "38af9163f8effd2919382921b35c9d7cd75ec339e8a1172bfd22072e1f2951a4", + "size": 55215 }, { "url": "https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-runner", @@ -268,8 +268,8 @@ "url": "https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-fetch-tool", "status": "success", "path": "en/agents-and-tools/tool-use/web-fetch-tool.md", - "sha256": "ef479dc5e2a0e25fee39d8004e26b6e8b243df5b6677fa3ccb3c4b58e784f228", - "size": 36204 + "sha256": "8ee070ed26f7ab17f64fa97b20f5ef61cd0bb08a9d9030b041e9d87ab088cf2a", + "size": 38722 }, { "url": "https://platform.claude.com/docs/en/agents-and-tools/tool-use/code-execution-tool", @@ -296,8 +296,8 @@ "url": "https://platform.claude.com/docs/en/agents-and-tools/tool-use/memory-tool", "status": "success", "path": "en/agents-and-tools/tool-use/memory-tool.md", - "sha256": "f67571c5f37f148e3542a7a44b7abc2fc5045b1e2b0d38ff2a01354765940324", - "size": 39700 + "sha256": "115bd3a4601eb2f8c1243e8ff4ee0c4fac8624416fe5e7ac4cce78aac7297ec0", + "size": 39723 }, { "url": "https://platform.claude.com/docs/en/agents-and-tools/tool-use/bash-tool", @@ -324,15 +324,15 @@ "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": "4a2c7b6959c368012b10ae8eca287a6a4d45088337c387247d6db65490366d5e", - "size": 118729 + "sha256": "fa99672ea8c5e63cddecba1023762639bfd87219f30cea52a33cb23972d1fec7", + "size": 118778 }, { "url": "https://platform.claude.com/docs/en/agents-and-tools/tool-use/browser-use-tool", "status": "success", "path": "en/agents-and-tools/tool-use/browser-use-tool.md", - "sha256": "d694e598e36324412378041c04dd0eae3c60c8e55eb962f5c75f17a56f0b87f7", - "size": 108051 + "sha256": "1f5952580ab559272c93937846eeb13b930c60aa889f9c0ac43764caebd48ddb", + "size": 108083 }, { "url": "https://platform.claude.com/docs/en/agents-and-tools/tool-use/troubleshooting-tool-use", @@ -401,22 +401,22 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/prompt-caching", "status": "success", "path": "en/build-with-claude/prompt-caching.md", - "sha256": "0d4393b61fcf4fea8ee25f305d425c650e9ef6274047d697da95bf69c1aa3717", - "size": 160277 + "sha256": "65cb644a86d9ce9c8f3adad15af656c33db58a719b14ba7e899614b22616cd9f", + "size": 160239 }, { "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": "cb9b1aff62d1ee4c78c6e6d8b018c54e97d3251198b9713ca7aa4e8047ce53c2", - "size": 105206 + "sha256": "eee1c514258855d7159630327c40d0427f00d56de06ecfee5c37e3a18507608f", + "size": 105168 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/mid-conversation-effort-example", "status": "success", "path": "en/build-with-claude/mid-conversation-effort-example.md", - "sha256": "0ac7e4749ac12d2d1bd59213db393832bface60226332cc72d95207a64d35164", - "size": 162252 + "sha256": "fd0901161b36533bfd4dde87a9f09f0a51af68eb0632cbcfbcf5b829da2237a1", + "size": 162666 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/cache-diagnostics", @@ -429,8 +429,8 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/token-counting", "status": "success", "path": "en/build-with-claude/token-counting.md", - "sha256": "858c7465798ed0a597afe7c39cf65aa0b83c78409adc0d336ce386ab85f9c4a1", - "size": 43397 + "sha256": "9190230d61827b5a1c713daeeca424195213f3961d17f6d184245842a0d4338f", + "size": 43419 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/compaction", @@ -478,8 +478,8 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/files", "status": "success", "path": "en/build-with-claude/files.md", - "sha256": "c14a8dd986e92692501c34ceec67a7c5dff9f7b0e7cf304ec099d153553437a7", - "size": 37485 + "sha256": "29b5ec964555e394e53c150f24cc75be6b5dcc5ea4f090056f8ed252bc649512", + "size": 37423 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/pdf-support", @@ -499,8 +499,8 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/vision-coordinates", "status": "success", "path": "en/build-with-claude/vision-coordinates.md", - "sha256": "8c549885b34fa59d9fe4f31fb8742a26602975a3af791c92564a75e4c23fe609", - "size": 35172 + "sha256": "29e597c5551921e29b4100f31a8d10f65a68538450970f28bd8ee88dc9056f35", + "size": 35141 }, { "url": "https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview", @@ -513,8 +513,8 @@ "url": "https://platform.claude.com/docs/en/agents-and-tools/agent-skills/quickstart", "status": "success", "path": "en/agents-and-tools/agent-skills/quickstart.md", - "sha256": "759c8601376ed7a90cff482822b3fc1c527f33e5f87a53d4b927225739d4967d", - "size": 37021 + "sha256": "f5a9d594410764097eb6d2de0866984389937f33b82ef4960638c4bf2629f349", + "size": 37033 }, { "url": "https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices", @@ -548,8 +548,8 @@ "url": "https://platform.claude.com/docs/en/agents-and-tools/mcp-connector", "status": "success", "path": "en/agents-and-tools/mcp-connector.md", - "sha256": "2def2e7c4d516c00c39b46b5b44130f73d56e6dc1a745f8b42465d98bc13e08f", - "size": 73462 + "sha256": "2208c789f092fd8a8e7dbdc63b154e6e0afdba41dd6d5410bc40345b20ef44ee", + "size": 73460 }, { "url": "https://platform.claude.com/docs/en/agents-and-tools/mcp-tunnels/overview", @@ -618,22 +618,22 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/claude-in-amazon-bedrock", "status": "success", "path": "en/build-with-claude/claude-in-amazon-bedrock.md", - "sha256": "59318b6a39db20f4fe879de7c3f3518a349c62fe6d00a84e09864b6c6a87925d", + "sha256": "6e7baa46848766e0798e667d1bd4c77846fa35e5ee7cf29fbf362e14b32867c6", "size": 23203 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/claude-on-amazon-bedrock-legacy", "status": "success", "path": "en/build-with-claude/claude-on-amazon-bedrock-legacy.md", - "sha256": "93b4a67af349ec8ab07ef94a2d56e09459301dae74b60c12f7d5a5846e36d544", - "size": 41855 + "sha256": "9f90efb2df6090a4b7665e47b4ff3adb05052e58eecea520c743f047da76b423", + "size": 41690 }, { "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": "a1457d99547c5d45146ef1ab220dc0300d58ba7826cbca1c47a408ad91c7e3db", - "size": 101559 + "sha256": "1318f4972d5d2366399afe17c0bc680d9d443ed5a1314737733941f9bcb0da46", + "size": 101491 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/claude-on-vertex-ai", @@ -653,22 +653,22 @@ "url": "https://platform.claude.com/docs/en/managed-agents/overview", "status": "success", "path": "en/managed-agents/overview.md", - "sha256": "190794470ceda12cb635459c4a6409577490dd3d9ff4ed2f4c944d4476867435", - "size": 7734 + "sha256": "b25fa2671463904bc5fc5bcd413e7a4d7ea4ad870d225b24d0faf60042e97af4", + "size": 7758 }, { "url": "https://platform.claude.com/docs/en/managed-agents/quickstart", "status": "success", "path": "en/managed-agents/quickstart.md", - "sha256": "aa1002bf6d377b154b2a73f2b783a26ec89db35283f56fab9f56c448e973377a", - "size": 34678 + "sha256": "24d021bd58cf093deeeaae8b9ac0a9088f6b8739349bc691b44765bab767921a", + "size": 34661 }, { "url": "https://platform.claude.com/docs/en/managed-agents/onboarding", "status": "success", "path": "en/managed-agents/onboarding.md", - "sha256": "ccf93fce3c446c5d1b4e94267008270dc782c635538333925edca61ed42a0d91", - "size": 4163 + "sha256": "f01195da20a47aef6b6951d22ed6250ca5233c1ad6e8a87df9d9707fbe94ef37", + "size": 4185 }, { "url": "https://platform.claude.com/docs/en/managed-agents/migration", @@ -681,8 +681,8 @@ "url": "https://platform.claude.com/docs/en/managed-agents/agent-setup", "status": "success", "path": "en/managed-agents/agent-setup.md", - "sha256": "a6ee7119c0cf0c7efd76df20419bac754861e7844ed8d182a51d0c0543888f5c", - "size": 40865 + "sha256": "1885c2ac82d4d5ad1417e61f2f13e5f88e92ad9ed1836ff7e0400ab118ca06bf", + "size": 40860 }, { "url": "https://platform.claude.com/docs/en/managed-agents/tools", @@ -702,8 +702,8 @@ "url": "https://platform.claude.com/docs/en/managed-agents/mcp-connector", "status": "success", "path": "en/managed-agents/mcp-connector.md", - "sha256": "1d1fbbb6ceca7898f6f00633ab46998533cfd7165cfece214e79a303d514f2e0", - "size": 19076 + "sha256": "592b4e9fff06bbf4f64d4e3ed2feb7c4426762b7f0b0189e31db1196b75f2a37", + "size": 19071 }, { "url": "https://platform.claude.com/docs/en/managed-agents/permission-policies", @@ -716,8 +716,8 @@ "url": "https://platform.claude.com/docs/en/managed-agents/skills", "status": "success", "path": "en/managed-agents/skills.md", - "sha256": "51daeb6a9f0ecb2c8149b252954c55d646086a09de78a515d05dcd97c99bde85", - "size": 23733 + "sha256": "7e58d54036c9b0375daf0ab5bbbc4a96f4394e1dd3af2fb3ed7925bfa8f30b4e", + "size": 23730 }, { "url": "https://platform.claude.com/docs/en/managed-agents/choosing-an-environment", @@ -730,8 +730,8 @@ "url": "https://platform.claude.com/docs/en/managed-agents/environments", "status": "success", "path": "en/managed-agents/environments.md", - "sha256": "c14c1744c16078e337afba94f462c277a359a75a42a9ad1d246142a587679f69", - "size": 36020 + "sha256": "299927b259b42dd32a0341bfa14099cb2e2035b87468563f417718ffb303b0b5", + "size": 36017 }, { "url": "https://platform.claude.com/docs/en/managed-agents/cloud-sandboxes-reference", @@ -744,15 +744,15 @@ "url": "https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes", "status": "success", "path": "en/managed-agents/self-hosted-sandboxes.md", - "sha256": "a42f1416b1f729edd6a3969aa205bdb207815e5335cc336f30652e0ddd016a23", - "size": 22856 + "sha256": "868efebbf28cc8632f84c9edb8818327ba6076991983db23c88104e3a94a8f75", + "size": 22845 }, { "url": "https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes-workers", "status": "success", "path": "en/managed-agents/self-hosted-sandboxes-workers.md", - "sha256": "ef0d8f21480efcc1ead5f86a75fca7da64a32a9c795d50788dd857e66be60871", - "size": 38461 + "sha256": "38cf0c17d9b53f0e7cd28542fccafa1888487c7aba16296affd4d954b2cab234", + "size": 38476 }, { "url": "https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes-memory", @@ -765,8 +765,8 @@ "url": "https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes-custom-tools", "status": "success", "path": "en/managed-agents/self-hosted-sandboxes-custom-tools.md", - "sha256": "40b7fbd4811c764950271d39bbc817611ebacbd13f30b693fe949560e037938f", - "size": 36119 + "sha256": "e0ae0f22ae0a844fdeecc22e1e88a0a067641ce4b16c5e5e2fae79db85a4e280", + "size": 36152 }, { "url": "https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes-operations", @@ -807,15 +807,15 @@ "url": "https://platform.claude.com/docs/en/managed-agents/events-and-streaming", "status": "success", "path": "en/managed-agents/events-and-streaming.md", - "sha256": "0912aa1dc47fd3c6f953bde8558424daf38d777acdd4115e77ebb1028e09cbde", - "size": 68792 + "sha256": "f197e08a2e31b175fa4a09a70b38fd32bbf2fb1b6ec9e3067d8ca055c817aef0", + "size": 68765 }, { "url": "https://platform.claude.com/docs/en/managed-agents/event-deltas", "status": "success", "path": "en/managed-agents/event-deltas.md", - "sha256": "cc98d43272fdfba54111642a5b313e1f9f13561700c4bffeb7cee08742c98926", - "size": 41584 + "sha256": "fb5427b09dcf6a47725283ffe8366f21c2e25a3f053d7770b1d60f0addebb306", + "size": 41708 }, { "url": "https://platform.claude.com/docs/en/managed-agents/session-observability", @@ -842,29 +842,29 @@ "url": "https://platform.claude.com/docs/en/managed-agents/define-outcomes", "status": "success", "path": "en/managed-agents/define-outcomes.md", - "sha256": "db4fa7195cabe701939ccf84cbb18872d92c4e9cc2bed3534bbe638c756617f1", - "size": 32221 + "sha256": "58765904efaac636cb7b8340a74c86f7c052176a7119d7ca45f11a9463f6fa20", + "size": 32215 }, { "url": "https://platform.claude.com/docs/en/managed-agents/vaults", "status": "success", "path": "en/managed-agents/vaults.md", - "sha256": "41bd0af178d9bdb96841680f342bd1d2c90d6bcf573a9b9ea2272e6ed6d2b913", - "size": 49138 + "sha256": "a4235c91e59f5360575f4b9c30f170e33e6ff7030fee9b0f7ceaa47b32ad508e", + "size": 49208 }, { "url": "https://platform.claude.com/docs/en/managed-agents/github", "status": "success", "path": "en/managed-agents/github.md", - "sha256": "3547ceafe4e6f1ab826b18468ab5f4385aaca54ac1ccec1c2592de18f9ea63e9", - "size": 29343 + "sha256": "36aa3bffbd9ebcf86fe74861bc8b673748d0dcc472a9d79276bf8acd1980a847", + "size": 29317 }, { "url": "https://platform.claude.com/docs/en/managed-agents/files", "status": "success", "path": "en/managed-agents/files.md", - "sha256": "a3ec9cf694b14a1d6531a91ae408853e6929deb6f3963c2491aa744ec376486b", - "size": 23096 + "sha256": "27845812cf2e158b9e9301a05363b1d268a0c211fbd2849f938a6f226e286cf1", + "size": 23090 }, { "url": "https://platform.claude.com/docs/en/managed-agents/memory", @@ -877,36 +877,36 @@ "url": "https://platform.claude.com/docs/en/managed-agents/dreams", "status": "success", "path": "en/managed-agents/dreams.md", - "sha256": "763e8ca4dea8b8aaa0f09ee5f3c99d6cf8268085d7bf3a2c58da4747e5d6da06", - "size": 25696 + "sha256": "d140425db506cbe5c327d3d392f889bbe986a2ee2b56d33f1a849ffee707dce1", + "size": 25680 }, { "url": "https://platform.claude.com/docs/en/managed-agents/multiagent-orchestration", "status": "success", "path": "en/managed-agents/multiagent-orchestration.md", - "sha256": "59378810bd1c00ac35f0f7a18c71b77a18e9fe24082b8c205ff3d6dd0fa382e5", - "size": 72269 + "sha256": "501c8c6337df141309988b96eba6333a6207c1a690510c6d2451cf3fe700967d", + "size": 72243 }, { "url": "https://platform.claude.com/docs/en/managed-agents/session-threads", "status": "success", "path": "en/managed-agents/session-threads.md", - "sha256": "05a686c3a3a7985aa21118bfc6a04112049bba334d9b12fe91f5e66a88e78234", - "size": 37427 + "sha256": "822541ecf74350ed3f170e973e060a420a2f5c74e4a3e1a4e793d34c42a59a41", + "size": 37418 }, { "url": "https://platform.claude.com/docs/en/managed-agents/workflow-runs", "status": "success", "path": "en/managed-agents/workflow-runs.md", - "sha256": "bcdb69e6638faf28864e8ea975824b1f5791f4390da733b8196ed4004f20d633", - "size": 77130 + "sha256": "022130b85c599881c7dbd208b5cd22cc09e0c2f0f4c4c7762532b435c608a7e3", + "size": 77181 }, { "url": "https://platform.claude.com/docs/en/managed-agents/scheduled-deployments", "status": "success", "path": "en/managed-agents/scheduled-deployments.md", - "sha256": "2811bc2d2cf4f6c0318873b7c0d69e5635a552055425a89fe54b18198abf4576", - "size": 29859 + "sha256": "7144fc0094e871d009af5f1cb94705abf71af6c28bfde90d94282f9508f36dc9", + "size": 29851 }, { "url": "https://platform.claude.com/docs/en/managed-agents/secure-deployment", @@ -954,8 +954,8 @@ "url": "https://platform.claude.com/docs/en/manage-claude/plugins-api", "status": "success", "path": "en/manage-claude/plugins-api.md", - "sha256": "3f0a1fa92e5be4e822d5550ad23a56134009f451b795f5d94aa669f7b9d426a2", - "size": 179879 + "sha256": "8feacfe74b21d69b7c6b4d2149e11283d83b7072a39233d6882c66e8854f3ed9", + "size": 182132 }, { "url": "https://platform.claude.com/docs/en/manage-claude/workspaces", @@ -1073,8 +1073,8 @@ "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": "d382b3363eee9bc1e9c478795877ca52fb737231d5448d1bd67d34cdf94c5b90", - "size": 13113 + "sha256": "6dd6ac3541cd2e03c2eeeb0fb50b2131ceb0ac96d1f29aee566dfef286eb2666", + "size": 13158 }, { "url": "https://platform.claude.com/docs/en/manage-claude/spend-limits-api", @@ -1101,15 +1101,15 @@ "url": "https://platform.claude.com/docs/en/manage-claude/opentelemetry/api", "status": "success", "path": "en/manage-claude/opentelemetry/api.md", - "sha256": "2dd7a7448f9e4aa40794e3a04d0bc2bd3fd03ff16621fccf50a96abacd1e3690", - "size": 39577 + "sha256": "bbd1153220dc57788200e99e20868e38704ef883bfd88f34da557016613d4934", + "size": 39606 }, { "url": "https://platform.claude.com/docs/en/manage-claude/data-residency", "status": "success", "path": "en/manage-claude/data-residency.md", - "sha256": "d7d1ea0742daa84dbc5f94ceb07e9c96f5127e0929e63ce7d080b118e760cb5c", - "size": 15389 + "sha256": "b3b762253e5f0e2138d3041f136f7b3f65e8397d87c24affa384b42e84028ba8", + "size": 15351 }, { "url": "https://platform.claude.com/docs/en/manage-claude/api-and-data-retention", @@ -1136,8 +1136,8 @@ "url": "https://platform.claude.com/docs/en/manage-claude/cmek", "status": "success", "path": "en/manage-claude/cmek.md", - "sha256": "96370c717ff8e7a3c75aab38e2b028394efe640a345b35b144d1edf91e74b9a8", - "size": 17354 + "sha256": "e78da92de5f61f47638b71cfdab98e678cf91a23d97626b4e6cc7b823a6eb024", + "size": 17243 }, { "url": "https://platform.claude.com/docs/en/manage-claude/cmek-google-cloud-kms", @@ -1262,29 +1262,29 @@ "url": "https://platform.claude.com/docs/en/about-claude/use-case-guides/ticket-routing", "status": "success", "path": "en/about-claude/use-case-guides/ticket-routing.md", - "sha256": "e8740d0da91f761b37435f085e1dabc505625160fd4ba9ec3e05d4caa4ec7435", - "size": 75124 + "sha256": "7173a5837b8a0cd5c48ad779515a861f45d821a4508373a7e3efddebd2ff1ada", + "size": 75040 }, { "url": "https://platform.claude.com/docs/en/about-claude/use-case-guides/customer-support-chat", "status": "success", "path": "en/about-claude/use-case-guides/customer-support-chat.md", - "sha256": "90e76309f0490b9384692a28ef7b7837a13a548705eb0aa528cf18870635d604", - "size": 55437 + "sha256": "2b884d7d090973573aabc98e9a91e637a138fbbcbeec75f47b76be94ba8f73b5", + "size": 55476 }, { "url": "https://platform.claude.com/docs/en/about-claude/use-case-guides/content-moderation", "status": "success", "path": "en/about-claude/use-case-guides/content-moderation.md", - "sha256": "a2558f849b54c15dc53b6a3f17d3c0e74dfc7b0050e55df8577ecc82888b3f68", - "size": 115173 + "sha256": "7c430d14ad0bba47ea85d02c6e401f4ef1ccaa8f85aa4f121eddf235e318e8d4", + "size": 115162 }, { "url": "https://platform.claude.com/docs/en/about-claude/use-case-guides/legal-summarization", "status": "success", "path": "en/about-claude/use-case-guides/legal-summarization.md", - "sha256": "b67ffeef8d966652550fc341c8fd153bf85643d47089c9527eef2e0baf50783e", - "size": 57963 + "sha256": "11267b60d8c38f470f21de051b2c76860b57d4fdb259bbc729de7790ef42a3b5", + "size": 57882 }, { "url": "https://platform.claude.com/docs/en/about-claude/use-case-guides/commerce-agents", @@ -1311,8 +1311,8 @@ "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": "613fe43b6cfa9b32f2a4fe0229c1a58a611a185db3aebf5449adcf441c24d945", - "size": 55162 + "sha256": "b921ea4d827411b3f4401fd5c92021eb7166c6c5642688321a3780297d8b5497", + "size": 55151 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5", @@ -1423,8 +1423,8 @@ "url": "https://platform.claude.com/docs/en/models/overview", "status": "success", "path": "en/models/overview.md", - "sha256": "02faed97309963e7c90d18a80ff0f6ba7cf6099d46a7cc1b2ac600ceaebac578", - "size": 19747 + "sha256": "e45c1c8a21ca036c6638de55904540e3040c60d7547e322c3440c45faf1cb4fc", + "size": 20530 }, { "url": "https://platform.claude.com/docs/en/models/fable-5-1/overview", @@ -1465,8 +1465,8 @@ "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": "245f798a124030fc1e8fbf2eac76ae86cb78fbee394b48053a106b9f81fde1ef", - "size": 91631 + "sha256": "87292ccb702677a92416fa00dd1a248882f3f043641fb99e99ae307ec15515ae", + "size": 91091 }, { "url": "https://platform.claude.com/docs/en/models/sonnet-5-5/overview", @@ -1486,8 +1486,8 @@ "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": "968b968d7f6d04301ec8c781becb7e3fee16c0a9e78e0042899a089c07df702f", - "size": 56039 + "sha256": "d67deee54553207583f1370a01843a4a00b05ce457cae21355018f4213628756", + "size": 55466 }, { "url": "https://platform.claude.com/docs/en/models/haiku-5-5/overview", @@ -1500,15 +1500,15 @@ "url": "https://platform.claude.com/docs/en/models/haiku-5-5/whats-new-haiku-5-5", "status": "success", "path": "en/models/haiku-5-5/whats-new-haiku-5-5.md", - "sha256": "ff37f4c1a8c3b0efc5d61497805080bc1e20fc66b632ed26c24ff2efb41fe36a", - "size": 12830 + "sha256": "45165c16d549ee7235125e5f30efd5253bc06310c418b60bd73b27a60c017839", + "size": 12396 }, { "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": "2916f3f1d958318176192771330a5759b68951feacf738a9383d458261197b9a", - "size": 19748 + "sha256": "559b5d1a889edfffc4d970a8d28e75a5fac39328414e3c0abd684cf67608847d", + "size": 19202 }, { "url": "https://platform.claude.com/docs/en/models/mythos-5-1/overview", @@ -1647,8 +1647,8 @@ "url": "https://platform.claude.com/docs/en/about-claude/api-credits-for-subscribers", "status": "success", "path": "en/about-claude/api-credits-for-subscribers.md", - "sha256": "8f1644e17a1cd4ed0af7bfcd0292ec685e32e6900f5140d3da1a922a774a477a", - "size": 12152 + "sha256": "2415ea4d6794619b3135961483ca59fc2a97d5e73dc1a45cb8a62705c0aedc21", + "size": 12174 }, { "url": "https://platform.claude.com/docs/en/release-notes/system-prompts/overview", @@ -1829,15 +1829,15 @@ "url": "https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication", "status": "success", "path": "en/cli-sdks-libraries/cli/authentication.md", - "sha256": "c717d8418024256f105a0b6dcd7f6015948b664f3b1eebedde49954292d06ee5", - "size": 8720 + "sha256": "2f84038717c4438a953737fbfe45eead2ffdd394e46f62898a054c4bdd59588e", + "size": 8839 }, { "url": "https://platform.claude.com/docs/en/cli-sdks-libraries/cli/using", "status": "success", "path": "en/cli-sdks-libraries/cli/using.md", - "sha256": "ef210d4626a6a7dec56036dfaafc6d2578779e4eb1b93195051edd20976250a0", - "size": 13081 + "sha256": "3cbf151a7f9329e541cdd18868160f2b2d62126b16a8c64e36bf423ddd5ebed1", + "size": 14083 }, { "url": "https://platform.claude.com/docs/en/cli-sdks-libraries/cli/scripting", @@ -1850,8 +1850,8 @@ "url": "https://platform.claude.com/docs/en/cli-sdks-libraries/cli/apply", "status": "success", "path": "en/cli-sdks-libraries/cli/apply.md", - "sha256": "c9a0101c755f270f56e8d3dbb09753a19b33a4d4cbdbd4997c44f9f92c51c8d4", - "size": 15241 + "sha256": "6063ee2c3df9ef98dadc13910809f08b3118587777a9839a91e375994d1b67d6", + "size": 15484 }, { "url": "https://platform.claude.com/docs/en/cli-sdks-libraries/cli/sessions-connect", @@ -1906,8 +1906,8 @@ "url": "https://platform.claude.com/docs/en/cli-sdks-libraries/sdks/php", "status": "success", "path": "en/cli-sdks-libraries/sdks/php.md", - "sha256": "536334cc2d3d662f18eab2b289e5fef4e8358a5c83c6dafc77493b99fb579e95", - "size": 9597 + "sha256": "1842f73a8f28fa84890115f05de2ecff41614295f95717cfa2a44c6e784522a0", + "size": 9575 }, { "url": "https://platform.claude.com/docs/en/cli-sdks-libraries/sdks/ruby", @@ -1920,29 +1920,29 @@ "url": "https://platform.claude.com/docs/en/cli-sdks-libraries/libraries/apple-foundation-models", "status": "success", "path": "en/cli-sdks-libraries/libraries/apple-foundation-models.md", - "sha256": "e05431ade327c6c74b81d72d049314a5641b563631d2674b5d5d10aa4f66d5f5", - "size": 16124 + "sha256": "b5ca9ccead1c9fd0cc0dbed489dbfb5e1d563a21b8f38b90dde63aed572347b6", + "size": 16147 }, { "url": "https://platform.claude.com/docs/en/cli-sdks-libraries/libraries/openai-sdk", "status": "success", "path": "en/cli-sdks-libraries/libraries/openai-sdk.md", - "sha256": "a8e2f0261f886b1d67c5a64ad615eedf46f2db868f55f1d5195c2c929ff0f9cf", - "size": 35622 + "sha256": "3c1eefb7d77065671986bcf39f9070cacaf730730757ab5be72a4073ef89b862", + "size": 35646 }, { "url": "https://platform.claude.com/docs/en/api/overview", "status": "success", "path": "en/api/overview.md", - "sha256": "b3ff582ce540b88e23a224454a168590930094012e3c93936f03e390a278df4f", - "size": 22348 + "sha256": "664c9cafae632da322db3fd906dd917e304cb776f1656a49add02286e03e06f7", + "size": 22349 }, { "url": "https://platform.claude.com/docs/en/api/beta-headers", "status": "success", "path": "en/api/beta-headers.md", - "sha256": "2ba5aa7cef87e2c2965bd7e7c3893f19905e103e5a3cf5c47a6efc4da7499369", - "size": 9758 + "sha256": "3f3f44da38f9a1e5708acb2ea025d90f3dbf2255ac395354be901f15367a460f", + "size": 9769 }, { "url": "https://platform.claude.com/docs/en/api/errors", @@ -2004,7 +2004,7 @@ "url": "https://platform.claude.com/docs/en/api/claude-code/routines-fire", "status": "success", "path": "en/api/claude-code/routines-fire.md", - "sha256": "6911448bb1c9fbf2220f948f4a6a3e4f9f5f50eba2a02eee4340313bdc62557c", + "sha256": "28011d6b7dec9a4e0cadfc5706b0aa6086ef53f692df14e647aba4696744630d", "size": 13428 }, { @@ -2018,8 +2018,8 @@ "url": "https://platform.claude.com/docs/en/release-notes/overview", "status": "success", "path": "en/release-notes/overview.md", - "sha256": "ceadf38268e3097f1bca1243d65a1c050c8ce3a768997a410860e85044aba1d2", - "size": 126854 + "sha256": "801e14d636678798437907149d6ce7945016c851f3dfe9cd6ccc005c2c20d229", + "size": 127201 }, { "url": "https://platform.claude.com/docs/en/api/completions", @@ -2109,22 +2109,22 @@ "url": "https://platform.claude.com/docs/en/api/models", "status": "success", "path": "en/api/models.md", - "sha256": "7ad6c6f72e6faebd91aaffbfe68739d5f9e284664d20ab5c5fff3a4e877ffb18", - "size": 37699 + "sha256": "0e724d3618d57de3f9172c430bb627aadf7ea1ab587cd6005cf493c17d8dcd58", + "size": 41407 }, { "url": "https://platform.claude.com/docs/en/api/models/list", "status": "success", "path": "en/api/models/list.md", - "sha256": "4abdc7020aa6bf563d77364942bca94957cd0673f014d2d2d55a4057bef7cd72", - "size": 12665 + "sha256": "9a792ef4d94b92cf3d523fddcf6a62fffac2c4f91d827214aadb2f2b38d0e52b", + "size": 13341 }, { "url": "https://platform.claude.com/docs/en/api/models/retrieve", "status": "success", "path": "en/api/models/retrieve.md", - "sha256": "e188716f5f9b29a1a5194f2797249c83c9e301bec788689937784b91fc5b9b51", - "size": 11082 + "sha256": "8da5354fc2d49099abb60710eb5c23982925279c9004bacb8885585f62b91814", + "size": 11746 }, { "url": "https://platform.claude.com/docs/en/api/files", @@ -2767,29 +2767,29 @@ "url": "https://platform.claude.com/docs/en/api/beta", "status": "success", "path": "en/api/beta.md", - "sha256": "32af6f866dbc3f6c990e8355477d33cee7f975106d5911fb2bc2875c4d9b8693", - "size": 3484098 + "sha256": "015103b57e0279560093292f5ab9124ac91ab65ffdbd345103249dc976250b71", + "size": 3493545 }, { "url": "https://platform.claude.com/docs/en/api/beta/models", "status": "success", "path": "en/api/beta/models.md", - "sha256": "8d93bfc300af2a39507b309ac596372f625de6da447cdd216f0c9f5062eff6d3", - "size": 40888 + "sha256": "9958a257c37baf5dd5239bca061dfebfa3da23202035be28859e6141ce930dbd", + "size": 44620 }, { "url": "https://platform.claude.com/docs/en/api/beta/models/list", "status": "success", "path": "en/api/beta/models/list.md", - "sha256": "806c96aa0ce8353825d18711704db6b1050f6c4b183a41c8b1039d065cbba49f", - "size": 13381 + "sha256": "325a29245cf623aca8f4969ab3aed191cb643ed5ade6a37f3419fc43f2582faf", + "size": 14061 }, { "url": "https://platform.claude.com/docs/en/api/beta/models/retrieve", "status": "success", "path": "en/api/beta/models/retrieve.md", - "sha256": "8373f2593508578e49c2d84d1de4ab6d011bcadb405c9a32348a27b6b82ece97", - "size": 11762 + "sha256": "ff62082bf4a66235581fcf66e1c9148923ed5ab01e7ab9a6145cbc6ccecefb35", + "size": 12430 }, { "url": "https://platform.claude.com/docs/en/api/beta/messages", @@ -3285,106 +3285,106 @@ "url": "https://platform.claude.com/docs/en/api/beta/vaults", "status": "success", "path": "en/api/beta/vaults.md", - "sha256": "073ba9027999ec6715b43e43ea3d5a7d0679132218ed1d9dde0ee4928f2a807a", - "size": 83939 + "sha256": "ea0a8186c612bb222713e2087795e4ba7cc7c0bedf639d33f341b26cf8bf0fc9", + "size": 87081 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/create", "status": "success", "path": "en/api/beta/vaults/create.md", - "sha256": "2664988a454a49ed87be3e740e29b712c00d4dbc737966eb1569b997b0932fb3", - "size": 4336 + "sha256": "f4d1bdc59338e33cc120b7164b0e93524d16eba65339a56a2292c988147a0e07", + "size": 4349 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/list", "status": "success", "path": "en/api/beta/vaults/list.md", - "sha256": "686d22beea6462c579ede1b852063088a339e1f204520a88e9afae16f3d85667", - "size": 4377 + "sha256": "63adb1e7099bf807bc551505569abe43d63398d7d4bd9d4cb89c786c100ba081", + "size": 4561 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/retrieve", "status": "success", "path": "en/api/beta/vaults/retrieve.md", - "sha256": "4436e05595a04c62e152824cc10936b7480735e18da5b865e5ad38f26cba297c", - "size": 3965 + "sha256": "8b78b2e21cf4132b0bbaba1a476d1e9367c31f3834e33475a22fa04c770306df", + "size": 3993 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/update", "status": "success", "path": "en/api/beta/vaults/update.md", - "sha256": "7b05da14d0a31cc0fcc7e091a30c3a66583992cabc0ad08a41ecb6f0b0b6b2cf", - "size": 4466 + "sha256": "16047bcfe9bd44320f093618e348f0c072c2bec8cac7c89b2e0a257b7a3d9aa3", + "size": 4479 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/delete", "status": "success", "path": "en/api/beta/vaults/delete.md", - "sha256": "9b6a23b8d92a9112ea6c49c64331be0729a131de64f6f43c32a54376ac4dab32", - "size": 3356 + "sha256": "32bf0f00c82d679d01690b26f73563329da1c1059ef6292a2573338a39910486", + "size": 3370 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/archive", "status": "success", "path": "en/api/beta/vaults/archive.md", - "sha256": "dda697139624b05b3ad945b93b7ade3a0cd2e5f63c9df42f67295e0fefa71cf0", - "size": 4006 + "sha256": "34ba662ff86bd5fd9b94f6a80878953699ac6d22a2114d9766fe591a9bdccc05", + "size": 4019 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/credentials", "status": "success", "path": "en/api/beta/vaults/credentials.md", - "sha256": "a1257b5ec96d61231de474845a1d8efa26a301c5adb7f41bd4dbb3f94efd3827", - "size": 89653 + "sha256": "04764cb555dad147bbb4dc187276fd5a19c4d3872241678f85270a22c9868dda", + "size": 96728 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/credentials/create", "status": "success", "path": "en/api/beta/vaults/credentials/create.md", - "sha256": "df84ccb4e90f1e1ef62ee65fe0cd9703029446d9cf5096eade9009b1bc5c4686", - "size": 12959 + "sha256": "7e2a5c20418c6570c0fef3428526b1a0fd44f79ab0413612584a805780e8bb2e", + "size": 13685 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/credentials/list", "status": "success", "path": "en/api/beta/vaults/credentials/list.md", - "sha256": "bb8167eecafa729da3733f9d33a476c823269c25de5e26bba98e6e883de47018", - "size": 8403 + "sha256": "9804088dfce60ab51409daae27495d16dfe2cddc62409ce237d93120e3dd7842", + "size": 8772 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/credentials/retrieve", "status": "success", "path": "en/api/beta/vaults/credentials/retrieve.md", - "sha256": "9330c131ee248b5e1ae73292a91f827ea67cc25b48b89387ce465f1252c22ee5", - "size": 7968 + "sha256": "0952533a82a33cb1557b35022d0fae4c1812f622702c81c3f1d778739f04c104", + "size": 8169 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/credentials/update", "status": "success", "path": "en/api/beta/vaults/credentials/update.md", - "sha256": "42e8324bd208905db23236bff261cda5f814e51d044ca3ee427f41be83228a7e", - "size": 12186 + "sha256": "7435d51c0c54bc6aeb3b89b3ad3e299f514597095a0d8c94d7573a37d5b9a738", + "size": 13257 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/credentials/delete", "status": "success", "path": "en/api/beta/vaults/credentials/delete.md", - "sha256": "7a2ba3a23d6f72c6aaf6cfe5cda3c5b255c4d265506c7a0169d7fe8362274a7f", - "size": 3562 + "sha256": "de657b1825f5bb1e9eaef3973e91fe2191b7ec35387db32ec00b39b675638903", + "size": 3577 }, { "url": "https://platform.claude.com/docs/en/api/beta/vaults/credentials/archive", "status": "success", "path": "en/api/beta/vaults/credentials/archive.md", - "sha256": "5a78aea713ad842d4fe9bf159999eb7ce011370b844e3203d0ee6942ed91c569", - "size": 8009 + "sha256": "daad909b6d171fae1b630ebd811d595129d0e4f7cfad4579c9a94c0a4eea6767", + "size": 8195 }, { "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": "23841d5e077fc478880133b2673da8075fdfc80afa19834ab7b5dbe7deaee9a9", - "size": 6551 + "sha256": "c9a79d41c9831cba0609ed010a6d0ac9e63d53edcba618d7d1fed0acb98101a1", + "size": 6888 }, { "url": "https://platform.claude.com/docs/en/api/beta/memory_stores", @@ -3796,8 +3796,8 @@ "url": "https://platform.claude.com/docs/en/api/beta/organization", "status": "success", "path": "en/api/beta/organization.md", - "sha256": "83aa819cf62bb4b6b44831cdfd8e1031a65433e7c222881136e1c568a6ea56c3", - "size": 840846 + "sha256": "67b72d7d98c83f8d312762200603d4e00a99e091ce195a29d59f16cbabdfa0f3", + "size": 845818 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/retrieve", @@ -4797,36 +4797,36 @@ "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins", "status": "success", "path": "en/api/beta/organization/plugins.md", - "sha256": "cd949f49ccebd5a1d784c926b2204895c49e4ecfe34c88998ddfc572e4b8095b", - "size": 111687 + "sha256": "a5afde2e7b85282a2448ebb0dfecb6b3036b17e17cb02e4305ae52f40c104f5a", + "size": 117007 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/create", "status": "success", "path": "en/api/beta/organization/plugins/create.md", - "sha256": "27a452fc71d12d04df9aa937b50abbef8615b97bdda6a3ba50c34383c506e4ad", - "size": 11972 + "sha256": "6de62dd677ebdfaf1be845734fa1991469821c69b6e0857dc9ec5bb04643f104", + "size": 12757 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/retrieve", "status": "success", "path": "en/api/beta/organization/plugins/retrieve.md", - "sha256": "dc1732243302fd021d69bcf3bddb0ba1599e60b72d326569988ae0453b5e7948", - "size": 10073 + "sha256": "65d5203ded18e14702c9f9cfbace521ce333d5fbd5ffb26d080f7b8825c42300", + "size": 10858 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/update", "status": "success", "path": "en/api/beta/organization/plugins/update.md", - "sha256": "0797486d0a41dce41e7d20cd4cb88e0de82d9a968285135cbe7c4f5c96c2a42d", - "size": 11027 + "sha256": "5ec6689aeac26e055a2aa2d2a543c7ba0f5f7977d2c40a63dab5b9185e392f51", + "size": 11812 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/list", "status": "success", "path": "en/api/beta/organization/plugins/list.md", - "sha256": "7b61572f8f37b952a300d1089785b340991f96b2f774bdf83004316f0ba13444", - "size": 12060 + "sha256": "61bee00844742bd034d51b434c861c9e2a6fbbba293d8be5c3417468ef87d157", + "size": 12845 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/delete", @@ -4839,29 +4839,29 @@ "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/versions", "status": "success", "path": "en/api/beta/organization/plugins/versions.md", - "sha256": "b0e44c58c7cd0251bf092ba41a47113d7c1a9bd9f8adb1204dd6e3ed7c12a1a5", - "size": 32869 + "sha256": "d00368ad6af70a959fd91282a26bc87145f6e85d584ca0167811f3a86bcca503", + "size": 34729 }, { "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": "aa736cb33f55ab23e7f4d903c9e99e0468cbec4ab7600e04b98ed309dc0d489b", - "size": 8936 + "sha256": "03f55b661295589c7138a7787fd16dee9305c6cd6af2d71a77cbe52ca5051732", + "size": 9401 }, { "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": "a21f8b3e5e34b21706a546292146a0108bf8c85e3eee34cbf9d45f93d9538826", - "size": 8363 + "sha256": "afdd6b3bc7f9dfc72b2f2a78904b26e820f93b188ca0f9adf403975330f61d74", + "size": 8828 }, { "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": "2c54fb096d8282d79402434143a01996030f62d7bd0c9a84c6bd5351e8caa1d2", - "size": 7841 + "sha256": "e470aab82f6b8c814a356eb628f6e57bf9029104f24b560e2273e9923501d575", + "size": 8306 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugins/versions/download", @@ -4916,8 +4916,8 @@ "url": "https://platform.claude.com/docs/en/api/beta/organization/plugin_marketplaces", "status": "success", "path": "en/api/beta/organization/plugin_marketplaces.md", - "sha256": "f025f63ac66ed7367e037ed1566706d9b4b37fdd4d48bb3eb414bc63eb9e5ba2", - "size": 46067 + "sha256": "c5698366df897c8ac5eb960a29ba062756c01326eb95f14edd33878ec6c0a988", + "size": 46504 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugin_marketplaces/list", @@ -4944,8 +4944,8 @@ "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": "b193bb4840d6e9154a19e3985f63e74a63c10be086f51b396da430412809974a", - "size": 8171 + "sha256": "dd5b74149873970800f773e7c2e626fcf4ddcfffba2dff73004a3a06218bd9dd", + "size": 8608 }, { "url": "https://platform.claude.com/docs/en/api/beta/organization/plugin_marketplaces/validate_archive", @@ -5042,29 +5042,29 @@ "url": "https://platform.claude.com/docs/en/api/compliance", "status": "success", "path": "en/api/compliance.md", - "sha256": "56f0a95a65eafe386c2d48013d1633cd088ab0cfa069a3aa348105688d32102c", - "size": 3537923 + "sha256": "880ab9bb9bf277a08b7d01d113641b703d0407ab3a4e5110ae0c94375c25402e", + "size": 3598583 }, { "url": "https://platform.claude.com/docs/en/api/compliance/activities", "status": "success", "path": "en/api/compliance/activities.md", - "sha256": "6b74979c1b4914498e94ae1b4091a44ad7aff2519d1c0a104aaf1bd4788f0b83", - "size": 6659373 + "sha256": "1355c8efc4674d9a496cecab1bb9c3f7bd725ab89a35945609132404b953fa78", + "size": 6770225 }, { "url": "https://platform.claude.com/docs/en/api/compliance/activities/list", "status": "success", "path": "en/api/compliance/activities/list.md", - "sha256": "edf0be5b2bc3d1af93abaa031da8e6cb154d7b02539e4780ec43e37773726e42", - "size": 3397878 + "sha256": "2519d73ba70976b1cca9a0e2ae645f423c8ffe87a87c8186545c476523f8d6d7", + "size": 3454621 }, { "url": "https://platform.claude.com/docs/en/api/compliance/organizations", "status": "success", "path": "en/api/compliance/organizations.md", - "sha256": "e24df6125c8d1a63730cf57c50ff597c6d6bfc37b0772f9dfc7fcc2bdd1909ac", - "size": 19958 + "sha256": "0b7c7cd509d9d9495dcd66c3f7bb40008a63922e6a4f3f3d2b49dedaa7e89438", + "size": 23773 }, { "url": "https://platform.claude.com/docs/en/api/compliance/organizations/list", @@ -5087,6 +5087,20 @@ "sha256": "ef6c283c2b1988d6aef764a5bef2662395e99ca1cfeed8d7b494b5a44f5af8cd", "size": 2588 }, + { + "url": "https://platform.claude.com/docs/en/api/compliance/organizations/user_preferences", + "status": "success", + "path": "en/api/compliance/organizations/user_preferences.md", + "sha256": "a8f5104f29ab05eb5b3aa79538ce9df721de6cec96a9170baa6df731c0520929", + "size": 4715 + }, + { + "url": "https://platform.claude.com/docs/en/api/compliance/organizations/user_preferences/list", + "status": "success", + "path": "en/api/compliance/organizations/user_preferences/list.md", + "sha256": "db3de7370b7b1c14fe3661b759fd245bbd06b6a2ecafc3d78854d7934aa1a668", + "size": 3917 + }, { "url": "https://platform.claude.com/docs/en/api/compliance/organizations/roles", "status": "success", @@ -5175,8 +5189,8 @@ "url": "https://platform.claude.com/docs/en/api/compliance/apps", "status": "success", "path": "en/api/compliance/apps.md", - "sha256": "4d6d41c7b9750a9a2c5f9ae2a9fd5941f088d4121c192957bc504ae81e12f008", - "size": 114189 + "sha256": "20bac04f360b9282e7d3c3c68e166b96e2b251d8c365a631606626fc02cdf2b3", + "size": 114272 }, { "url": "https://platform.claude.com/docs/en/api/compliance/apps/chats", @@ -5441,15 +5455,15 @@ "url": "https://platform.claude.com/docs/en/api/compliance/apps/code", "status": "success", "path": "en/api/compliance/apps/code.md", - "sha256": "7010dacf47691a50ebbdee9667d9893545923638dc40bce626991c2e50f2dd02", - "size": 13756 + "sha256": "c2fe66c2d0efa073846041c543be9fdc720c0181a343db4b4283d08be0399af4", + "size": 13839 }, { "url": "https://platform.claude.com/docs/en/api/compliance/apps/code/artifacts", "status": "success", "path": "en/api/compliance/apps/code/artifacts.md", - "sha256": "a7d54c399be3a4fdc2a6af187db85ffb3bc83624619ce73e93ce78210f5b4850", - "size": 17307 + "sha256": "0d89d2fd5dcc77e646b6f51f247cd674f153732ed40646f49c2099e80a23458e", + "size": 17390 }, { "url": "https://platform.claude.com/docs/en/api/compliance/apps/code/artifacts/list", @@ -5462,8 +5476,8 @@ "url": "https://platform.claude.com/docs/en/api/compliance/apps/code/artifacts/retrieve_version", "status": "success", "path": "en/api/compliance/apps/code/artifacts/retrieve_version.md", - "sha256": "446f57025e7037e044f430af5c640e72cacba444ce45eead57f5856c5b32b64a", - "size": 3059 + "sha256": "b0efb3b44a453285bc58a9353620856efeaa65bd4e180ef65846ff1cdd0bf8a6", + "size": 3142 }, { "url": "https://platform.claude.com/docs/en/api/compliance/apps/code/artifacts/download", @@ -5490,8 +5504,8 @@ "url": "https://code.claude.com/docs/en/overview", "status": "success", "path": "en/docs/claude-code/overview.md", - "sha256": "e920a550cfa1b61a58253cbd064881ecdc0edc6afe4d475cb841d2e55e324817", - "size": 16526 + "sha256": "0d4015b91bbf139fd302fa92a66704694a080c7970ded26026696b57dafbf562", + "size": 16572 }, { "url": "https://code.claude.com/docs/en/quickstart", @@ -5504,8 +5518,8 @@ "url": "https://code.claude.com/docs/en/changelog", "status": "success", "path": "en/docs/claude-code/changelog.md", - "sha256": "5ddb6cdac60cc7fd00512a71ab56e0fdda5f59faf1086f218c94dfc39d49f9f8", - "size": 1114964 + "sha256": "5ad51209d6fd39b4e0bbe3a791092b57de90a5ec254d7cc4b4c82169aa86d7c9", + "size": 1126573 }, { "url": "https://code.claude.com/docs/en/how-claude-code-works", @@ -5525,15 +5539,15 @@ "url": "https://code.claude.com/docs/en/claude-directory", "status": "success", "path": "en/docs/claude-code/claude-directory.md", - "sha256": "1aab55aa4a8a66327d1e4736cb869bb449760cd5befc68047f5ed0680956f6dd", - "size": 92556 + "sha256": "78d69a57cb13b8bd1657e2f08b564e51307911b942b494805c5d01b1818ed7e0", + "size": 92528 }, { "url": "https://code.claude.com/docs/en/context-window", "status": "success", "path": "en/docs/claude-code/context-window.md", - "sha256": "78bf25a505d7563d92492c0083e8249fdf61cc2ccdc15b1d98f7f9e8fa631b2a", - "size": 60258 + "sha256": "604b515b1c7da113051f5adc1423931b8d9ddd658b2eba85c339abcab24eb772", + "size": 60130 }, { "url": "https://code.claude.com/docs/en/prompt-caching", @@ -5553,15 +5567,15 @@ "url": "https://code.claude.com/docs/en/sessions", "status": "success", "path": "en/docs/claude-code/sessions.md", - "sha256": "6ca0bc2e1e6d7a9ab9ffe74264a63948d25420a65757b0889b8890f53547b6b5", - "size": 31455 + "sha256": "93fa5884dbfa5ee530fcd0bf8035faeaf718a7c09dac1ba7b43c9fedd1105132", + "size": 31470 }, { "url": "https://code.claude.com/docs/en/common-workflows", "status": "success", "path": "en/docs/claude-code/common-workflows.md", - "sha256": "d5e3351134537020b46c13330617f4eef2b2e92df80f48e6a7a4038a8ee84205", - "size": 18550 + "sha256": "01cb490473952efefb2fec1d9fb9930e1c5c850f123511e1dae63512cec6c8b2", + "size": 18563 }, { "url": "https://code.claude.com/docs/en/prompt-library", @@ -5574,15 +5588,15 @@ "url": "https://code.claude.com/docs/en/best-practices", "status": "success", "path": "en/docs/claude-code/best-practices.md", - "sha256": "3f2d4f1a6eeba4cb13141e68c9f45b7e5af95224ad3b0c62a13b886d144ea86f", - "size": 36520 + "sha256": "b98fde020aa0e3c9d5ee3f338063369456d8b436a5c5696dfbc8641761e44fb1", + "size": 36616 }, { "url": "https://code.claude.com/docs/en/platforms", "status": "success", "path": "en/docs/claude-code/platforms.md", - "sha256": "eee75247131b7edc0e12933f1996f7c09dfc80e34e3e25f71fd8da9beb7ba41c", - "size": 8741 + "sha256": "2fd19fcfe2fb06f99b8de6a21e35706ac05ac71c1a3db8f529476a93a18d10eb", + "size": 8771 }, { "url": "https://code.claude.com/docs/en/remote-control", @@ -5595,8 +5609,8 @@ "url": "https://code.claude.com/docs/en/claude-projects", "status": "success", "path": "en/docs/claude-code/claude-projects.md", - "sha256": "4f50e7fd2084ea2a0c6765742bea7039017692e21dac10d5d6d542f08cb42ec9", - "size": 61488 + "sha256": "129723c935cc7b5334aaed857f2d1bfdda74cffc1c920ba77af08103ba885033", + "size": 61650 }, { "url": "https://code.claude.com/docs/en/mobile", @@ -5623,8 +5637,8 @@ "url": "https://code.claude.com/docs/en/vs-code", "status": "success", "path": "en/docs/claude-code/vs-code.md", - "sha256": "515e50d6328514561a8b827c78af972ac40698bb3b6ee3a3cbf9e18de51d9d86", - "size": 86535 + "sha256": "8168fafb49343ebe23d475d4049baf60e21f30a5022bfe20d76b27e59c2a6765", + "size": 86593 }, { "url": "https://code.claude.com/docs/en/jetbrains", @@ -5644,22 +5658,22 @@ "url": "https://code.claude.com/docs/en/web-quickstart", "status": "success", "path": "en/docs/claude-code/web-quickstart.md", - "sha256": "11339a9283e576a80ff4241e1229f22fcb7d860dd6fa5901463c94bfecad3886", - "size": 24422 + "sha256": "2c806b2a906a47b9dec9793fc54908204ebc7fc3a348674442dc16ceb7d3ed97", + "size": 24435 }, { "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": "96facadf5c54041b768e5e1c98131f80ae9c851c15253d72639423146dafb704", - "size": 41021 + "sha256": "ae86b9fcfa6efe1082e60662de6a8bff60b3614237293a130133c13dc6ae352e", + "size": 41138 }, { "url": "https://code.claude.com/docs/en/routines", "status": "success", "path": "en/docs/claude-code/routines.md", - "sha256": "7e17c96c0b9eff83779590e596a792e2cdb1c6bbea8095aa1989c305cfe29cac", - "size": 36889 + "sha256": "e4369e748142fc2f810cede0a4a8e7feb38fe3764a12ceccba32df9d2e863b92", + "size": 40898 }, { "url": "https://code.claude.com/docs/en/desktop-quickstart", @@ -5693,8 +5707,8 @@ "url": "https://code.claude.com/docs/en/desktop-scheduled-tasks", "status": "success", "path": "en/docs/claude-code/desktop-scheduled-tasks.md", - "sha256": "0b3fde03d7215d8339caa1508ef28c992a6cc5c1f7dfd9f090513d2706753cc9", - "size": 9828 + "sha256": "4964fbeb81c917b7dfc17c16f8ba21673e3d7e21035909d6be3930a3ce497537", + "size": 12470 }, { "url": "https://code.claude.com/docs/en/desktop-ios-simulator", @@ -5707,8 +5721,8 @@ "url": "https://code.claude.com/docs/en/code-review-local", "status": "success", "path": "en/docs/claude-code/code-review-local.md", - "sha256": "b5a1792e309b8113178ae29b7752ca630a910b712d620c419e0b788328ba0e4a", - "size": 13899 + "sha256": "957d41ef28b22797358ca0ba3e9a363d552934257522c41c30318285530e5931", + "size": 13929 }, { "url": "https://code.claude.com/docs/en/ultrareview", @@ -5721,8 +5735,8 @@ "url": "https://code.claude.com/docs/en/github-enterprise-server", "status": "success", "path": "en/docs/claude-code/github-enterprise-server.md", - "sha256": "f833e16eb3b18587757cf535bf6b203e1df04767b8ecd31830547bdffebb8fb0", - "size": 20075 + "sha256": "5ca20cdd6250b08d354cb9daab756248ea699fbdaeff36853ed37bdc9d095502", + "size": 20088 }, { "url": "https://code.claude.com/docs/en/code-review", @@ -5805,15 +5819,15 @@ "url": "https://code.claude.com/docs/en/agents", "status": "success", "path": "en/docs/claude-code/agents.md", - "sha256": "67874a4189558b75520e90509f497464c3712059ee156754bbb96bb1efd7a786", - "size": 8300 + "sha256": "60ccc15449906c0b8d418eb1f4b691ae0b8834aa8bb021a5df147b6a061b676f", + "size": 8313 }, { "url": "https://code.claude.com/docs/en/sub-agents", "status": "success", "path": "en/docs/claude-code/sub-agents.md", - "sha256": "2217c75146ffbf46b66b3be0dccf94624fae17f3ab93fe5f0148e70128c14465", - "size": 109250 + "sha256": "1134dc801713cd2ce65bd66c0784d280827635aa8a0ea0ff96d4fcd214fa0b28", + "size": 109510 }, { "url": "https://code.claude.com/docs/en/agent-view", @@ -5868,50 +5882,50 @@ "url": "https://code.claude.com/docs/en/skills", "status": "success", "path": "en/docs/claude-code/skills.md", - "sha256": "428fdf2654fa01dcbbece1f6d010e350f646ecbdbec229e7df097f452f06c2b7", - "size": 109922 + "sha256": "1ac8eb3ec96177a5b960a381dcbf7e14ff5dacd45fa888e647e55bf4acd6f645", + "size": 110002 }, { "url": "https://code.claude.com/docs/en/artifacts", "status": "success", "path": "en/docs/claude-code/artifacts.md", - "sha256": "882fb46a691e0845569fe886d616e61d21eb5dfcfdc5164d99ff66c732257641", - "size": 41217 + "sha256": "3007e8816370103148f08e51d223353e98a7019d9a699b143bc36d1d580f3abd", + "size": 41232 }, { "url": "https://code.claude.com/docs/en/hooks-guide", "status": "success", "path": "en/docs/claude-code/hooks-guide.md", - "sha256": "b775fbc4f025ee9d753438a2f213e7a97c3be18165fbdbd30afa72589443fdb4", - "size": 62845 + "sha256": "7db5f1cbe05e0819db7d40c58d3a8b3a963e35bbd8c50d1c612fc5bfc1ff3439", + "size": 63237 }, { "url": "https://code.claude.com/docs/en/channels", "status": "success", "path": "en/docs/claude-code/channels.md", - "sha256": "bc9798ae1c8bd8b5eb665f0778e9ffa5a05b01f1b57773fbe61706b00474a4ad", - "size": 23834 + "sha256": "b61fd503e65778ec2cc38fe686590833b7c08becfdb4bd93cd86e9110e444d05", + "size": 23849 }, { "url": "https://code.claude.com/docs/en/scheduled-tasks", "status": "success", "path": "en/docs/claude-code/scheduled-tasks.md", - "sha256": "8cb643f43a143fdbd8aee53fb63070d2ac473ac5046f5a301b7fb6e502c0f127", - "size": 17473 + "sha256": "cb0fbb3ba3cf72a9e92e15332dc18133c0c8a5896741600ab431c911600ecd5e", + "size": 17763 }, { "url": "https://code.claude.com/docs/en/goal", "status": "success", "path": "en/docs/claude-code/goal.md", - "sha256": "ee86d204c45ddee9145fa4d47eab0c8232819e20e10ff6852bf6f2ba42299817", - "size": 14930 + "sha256": "d8335c9d52ad47aa7a4266e134aaab99424ae3e1d500657d2e6187fb81961de7", + "size": 14921 }, { "url": "https://code.claude.com/docs/en/headless", "status": "success", "path": "en/docs/claude-code/headless.md", - "sha256": "2be5203e80cf3d6fb88d0977be946085e1106c99608ca082c21d9a9bf4b2d209", - "size": 34376 + "sha256": "09f383c4402f9f9fdb52f84c86ec91ca6d4770721e36430b2070c829fb4994c9", + "size": 34620 }, { "url": "https://code.claude.com/docs/en/deep-links", @@ -5952,8 +5966,8 @@ "url": "https://code.claude.com/docs/en/errors", "status": "success", "path": "en/docs/claude-code/errors.md", - "sha256": "5fd9f5d1cdcd85f6500005fd9c76203cc6346d3e6de9891b2e0d18ac57093a43", - "size": 518637 + "sha256": "6355ce8033faaf9691f03aaacf52fab5961007d9fec92c665747ea905c7ac14b", + "size": 518769 }, { "url": "https://code.claude.com/docs/en/plugins/overview", @@ -6043,29 +6057,29 @@ "url": "https://code.claude.com/docs/en/plugins/mods/overview", "status": "success", "path": "en/docs/claude-code/plugins/mods/overview.md", - "sha256": "36162dcc44348f5b61c9370d51ef528fd36801701d9f6ee374c8ff6fc6f48568", - "size": 23906 + "sha256": "af74ccca2586794bbe110494395c240b3e9b18f24cd1d379b2b90261bcc8460f", + "size": 24219 }, { "url": "https://code.claude.com/docs/en/plugins/mods/create", "status": "success", "path": "en/docs/claude-code/plugins/mods/create.md", - "sha256": "9e50b9553209dfc9acffb67cecaf67cd7b72777fdf98337ca9ec8f5e8518430b", - "size": 25235 + "sha256": "314a6f37d8ae3689d7dc887815cf6f497eb453b1aa48e07f8551ed7035cf1dac", + "size": 25253 }, { "url": "https://code.claude.com/docs/en/plugins/mods/reference", "status": "success", "path": "en/docs/claude-code/plugins/mods/reference.md", - "sha256": "83787e396a7ca50eaf93ab28e31f760a33286fab86aa087592042eb059f35725", - "size": 39996 + "sha256": "ea2f99e7beb1bc1309a13286bbda0d08826ac7449b652a973106b51cf2970f85", + "size": 40091 }, { "url": "https://code.claude.com/docs/en/plugins/mods/interface", "status": "success", "path": "en/docs/claude-code/plugins/mods/interface.md", - "sha256": "3799ccf1061b6f1493a846634eb1f2fd75328232633f5e786d107837cd11c2ad", - "size": 51230 + "sha256": "66a60b55a7eea45b5c17e4c5ce166a6a93c5695865f2a28eae63f6288167218c", + "size": 51288 }, { "url": "https://code.claude.com/docs/en/plugins/mods/gallery", @@ -6078,15 +6092,15 @@ "url": "https://code.claude.com/docs/en/plugins/mods/events", "status": "success", "path": "en/docs/claude-code/plugins/mods/events.md", - "sha256": "c2862565ab32bceefd332d4029051fee5adc207ba7966a0eada038b842f07631", - "size": 26470 + "sha256": "787819d201a9a989c80e152fd802d370dd9b220d79e0d4dcc2a7cc7ae36d455c", + "size": 26491 }, { "url": "https://code.claude.com/docs/en/plugins/mods/api", "status": "success", "path": "en/docs/claude-code/plugins/mods/api.md", - "sha256": "569f2542ba1b341d39c4652dd6763d286558980da4dcbdde1444ebd94e535188", - "size": 24343 + "sha256": "428158fb7545adf2ea68f23fed03cd675bc8802f1f100dbf7e93f09dd08ed7b2", + "size": 30214 }, { "url": "https://code.claude.com/docs/en/plugins/mods/test", @@ -6099,8 +6113,8 @@ "url": "https://code.claude.com/docs/en/plugins/mods/troubleshoot", "status": "success", "path": "en/docs/claude-code/plugins/mods/troubleshoot.md", - "sha256": "b4a190aaabefb637842396b110026f47c91092f84492f331f26af726425ebc38", - "size": 25350 + "sha256": "dc13eb7674ab0d0871ea34702d90b0c330ac37a63f82d355773cdc494e6978df", + "size": 26125 }, { "url": "https://code.claude.com/docs/en/plugins/create-marketplace", @@ -6134,8 +6148,8 @@ "url": "https://code.claude.com/docs/en/plugins/mods/admin", "status": "success", "path": "en/docs/claude-code/plugins/mods/admin.md", - "sha256": "6a59b1d78310187847b1154dd76af53dea43ca49cd7564699e9a5c44e738cf68", - "size": 35523 + "sha256": "2b9be404c52d624e71edcf985c896a1005968dde33acb6598332532718030fcd", + "size": 36205 }, { "url": "https://code.claude.com/docs/en/plugins/troubleshooting", @@ -6176,8 +6190,8 @@ "url": "https://code.claude.com/docs/en/admin-setup", "status": "success", "path": "en/docs/claude-code/admin-setup.md", - "sha256": "e459ffddd1cc8bc5d63f0ad52c25bdc3759364435b7bfc56345955d9415edbe7", - "size": 26750 + "sha256": "a4e4d4cd17d35096ceb95492214fec61c16e261c5bce2c7ab9a65c174ab162a1", + "size": 26763 }, { "url": "https://code.claude.com/docs/en/setup", @@ -6232,8 +6246,8 @@ "url": "https://code.claude.com/docs/en/feature-availability", "status": "success", "path": "en/docs/claude-code/feature-availability.md", - "sha256": "a29639d7ac6f81e02233d7903f4674d296f4146205f0ac71d869e86be7100306", - "size": 22278 + "sha256": "c43cf9ed02c613f023bb8a5b858466ab0634d1573fee6e3feacdd7da7d1c7ab3", + "size": 22304 }, { "url": "https://code.claude.com/docs/en/amazon-bedrock", @@ -6267,8 +6281,8 @@ "url": "https://code.claude.com/docs/en/network-config", "status": "success", "path": "en/docs/claude-code/network-config.md", - "sha256": "cf1d34142ea93e32d957bf6d026f713ee9ab21f06cfbaee0fa812524b6462ea8", - "size": 31751 + "sha256": "be0f9c442ceb9db6354483b8aba18180427fa910899449368989ec15e6f350e0", + "size": 31795 }, { "url": "https://code.claude.com/docs/en/corporate-launcher", @@ -6288,22 +6302,22 @@ "url": "https://code.claude.com/docs/en/gateways", "status": "success", "path": "en/docs/claude-code/gateways.md", - "sha256": "3069bdb2ae05612f0d61d698552f8573bd498ebf7aea3fd903746b5c88c1cdb0", - "size": 9286 + "sha256": "4a8fa190a420ebd5148eff94a02033b9dae7a453a823def84589ebfe3f77624a", + "size": 9283 }, { "url": "https://code.claude.com/docs/en/claude-apps-gateway", "status": "success", "path": "en/docs/claude-code/claude-apps-gateway.md", - "sha256": "34c7bee4f9be308dda3504270b0de60f9b53aabef2ea176300ecdd40be019780", - "size": 57803 + "sha256": "526386107b512993ff9c13095ce58d6bd3e695ab3797f53f95dd6f4014ed0dea", + "size": 59184 }, { "url": "https://code.claude.com/docs/en/claude-apps-gateway-config", "status": "success", "path": "en/docs/claude-code/claude-apps-gateway-config.md", - "sha256": "98e02526d544ab266e60eeeab1c355e013cb653bf8a3afc09a6c4e129afc9498", - "size": 134730 + "sha256": "7d3225161870efddbe68d834ba87ab0f18ed44f62dcf88c2cf215cd0838557cc", + "size": 135582 }, { "url": "https://code.claude.com/docs/en/claude-apps-gateway-spend-limits", @@ -6365,15 +6379,15 @@ "url": "https://code.claude.com/docs/en/monitoring-usage", "status": "success", "path": "en/docs/claude-code/monitoring-usage.md", - "sha256": "08c4c370fdde3436fda7a97fed01dde072b61b0fd05c384525c9e23748d76a7f", - "size": 156462 + "sha256": "be8720d8d66e1f233a6116546246909f6b574e31c5498b5a04cbf9f4a0df9464", + "size": 156450 }, { "url": "https://code.claude.com/docs/en/costs", "status": "success", "path": "en/docs/claude-code/costs.md", - "sha256": "6622bdc6962b23a8c0ef27162b93aaa82a8ecc8527b0dadb0772eedc089a2521", - "size": 42383 + "sha256": "1454be2b74ace5f003a69242548a5886f755f936451ab9be209e8b8afb27321c", + "size": 42459 }, { "url": "https://code.claude.com/docs/en/analytics", @@ -6435,8 +6449,8 @@ "url": "https://code.claude.com/docs/en/settings-reference", "status": "success", "path": "en/docs/claude-code/settings-reference.md", - "sha256": "ceea02f535e42d168ebb8cf5e8874cfb2a632ec2e9deaefee6b2138609286821", - "size": 425143 + "sha256": "587bebe2dad933a9da9e1ca598b041178879128b9219cd70409990d2f7be3817", + "size": 425472 }, { "url": "https://code.claude.com/docs/en/settings-example", @@ -6449,15 +6463,15 @@ "url": "https://code.claude.com/docs/en/permissions", "status": "success", "path": "en/docs/claude-code/permissions.md", - "sha256": "351b54756ecff658bd97a0c0a388d3d31447a9bba7c44ecee2fa9eb1d4d8c3a1", - "size": 83847 + "sha256": "6eb72200e3a344332136702f935268f0c3d360e7c1e5ef77fe91757d95bd7683", + "size": 85661 }, { "url": "https://code.claude.com/docs/en/permission-modes", "status": "success", "path": "en/docs/claude-code/permission-modes.md", - "sha256": "5969bcf1cfd2ed547d30a326a1232280e6fa16fca4f79ece6753f1b3d8570696", - "size": 95554 + "sha256": "f18755bdcc176a7ee1f90f30bc23f598ec3317812fed6648e364d00ae1378c97", + "size": 100298 }, { "url": "https://code.claude.com/docs/en/auto-mode-classifier-billing", @@ -6484,15 +6498,15 @@ "url": "https://code.claude.com/docs/en/cloud-environments", "status": "success", "path": "en/docs/claude-code/cloud-environments.md", - "sha256": "299e408e9efa92e53fa75c6d36b49132980f228a3f14dd290e18de43a178c61f", - "size": 63059 + "sha256": "5a5485b2bb1fe9743600eda7ee7eba557259a1cc1e7dbae7d4bc69b84d9e5141", + "size": 63199 }, { "url": "https://code.claude.com/docs/en/self-hosted-environments", "status": "success", "path": "en/docs/claude-code/self-hosted-environments.md", - "sha256": "aa7acca4dff21eb303bf0eb37f6ae977073e6bc421d3837a26de8f1317646444", - "size": 20731 + "sha256": "8d68839a68b4d7da78bd072bea8537de9927ea17180986fccd9fa806ca3d6a2b", + "size": 20738 }, { "url": "https://code.claude.com/docs/en/self-hosted-environments-quickstart", @@ -6505,15 +6519,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": "73a74f99fb3ac4b79015647531c4642a2e863c076273c5f14456ba3ab70f91b6", - "size": 92487 + "sha256": "6ef08a9c3c1cd4b11ca48b3b40f69fd6362ae4f87d38264f8251d5f618108d5b", + "size": 94347 }, { "url": "https://code.claude.com/docs/en/self-hosted-environments-configuration", "status": "success", "path": "en/docs/claude-code/self-hosted-environments-configuration.md", - "sha256": "49a22ac4cafb6d8e23bf6c2a46d3025112347447821e66774b20e60e38813873", - "size": 76436 + "sha256": "8b40b2a7546deff365980de99892182a971228071f1c52a3b6c04de83ba6a552", + "size": 76460 }, { "url": "https://code.claude.com/docs/en/self-hosted-environments-testing", @@ -6540,8 +6554,8 @@ "url": "https://code.claude.com/docs/en/model-config", "status": "success", "path": "en/docs/claude-code/model-config.md", - "sha256": "91065b0bc6d7953e6d467000529010d74c7c4bdd1d82aedce41e065467fda109", - "size": 119289 + "sha256": "7c5005a47f8e88ac5dd7732afef8cdd6b008029b6e7a4e33186b5a3fe44797ac", + "size": 121256 }, { "url": "https://code.claude.com/docs/en/fast-mode", @@ -6617,29 +6631,29 @@ "url": "https://code.claude.com/docs/en/commands", "status": "success", "path": "en/docs/claude-code/commands.md", - "sha256": "5ae004eade110c0330e60a5ce71eba93b8511d713f9c7ef034cc8a5291f6346b", - "size": 52582 + "sha256": "fcb2694e02cdc2986545f64253a6c9fad49865f3a1eeb4adc3ec47168b59ee19", + "size": 52600 }, { "url": "https://code.claude.com/docs/en/env-vars", "status": "success", "path": "en/docs/claude-code/env-vars.md", - "sha256": "c15389fa20da18107a27c84321e419dbfc309d978a7e63e46d967869796cf51a", - "size": 171149 + "sha256": "2f8189d3d6345bd18a3741c3e1efab7f29283189fb0c015085f48e009faa67d3", + "size": 171428 }, { "url": "https://code.claude.com/docs/en/tools-reference", "status": "success", "path": "en/docs/claude-code/tools-reference.md", - "sha256": "af4c030abd682cb2dfcf5a50a6aeb1d49884af46d11e61d114fb71b909ed94b4", - "size": 79730 + "sha256": "e035d409df09550250e9dde336e1ec58a400133d72875ddd49b95eb8667de6f9", + "size": 79828 }, { "url": "https://code.claude.com/docs/en/interactive-mode", "status": "success", "path": "en/docs/claude-code/interactive-mode.md", - "sha256": "bf4b8481b5ba7666503cbe494427d97302732b79545ad200df2ce620e985e30a", - "size": 72640 + "sha256": "cdb17ddf90c306d9d97e138627edd5f54992e732463b18393b1deeec41e18688", + "size": 72696 }, { "url": "https://code.claude.com/docs/en/checkpointing", @@ -6652,8 +6666,8 @@ "url": "https://code.claude.com/docs/en/hooks", "status": "success", "path": "en/docs/claude-code/hooks.md", - "sha256": "dd0f114dac70bc7836abd37797fb486d3007d889eeb6bbc88c307ed2587a44ef", - "size": 273217 + "sha256": "bd43bf9a559f39af292fc159573371c01e19dadd84f8c1b10fac954d975dba11", + "size": 273459 }, { "url": "https://code.claude.com/docs/en/channels-reference", @@ -6666,8 +6680,8 @@ "url": "https://code.claude.com/docs/en/glossary", "status": "success", "path": "en/docs/claude-code/glossary.md", - "sha256": "4835bb8cff3ee5737c5641622270972ef4e4188e814660783cbea03185a58937", - "size": 28097 + "sha256": "88aafdd0c5a2dcc09899b923c8ecf9584aac15dc8096820ec72695a9396a54e8", + "size": 28134 }, { "url": "https://code.claude.com/docs/en/agent-sdk/overview", @@ -6715,8 +6729,8 @@ "url": "https://code.claude.com/docs/en/agent-sdk/agent-loop", "status": "success", "path": "en/docs/claude-code/agent-sdk/agent-loop.md", - "sha256": "dae736ac58c1f5961421bed138ef011bf0c0514e1c573cac40e0bad49ef9cfcd", - "size": 40542 + "sha256": "4daa0c7e6a893f1899446368dd408af34c0cbdbe3b505bddcca1d75bbf71b24b", + "size": 40704 }, { "url": "https://code.claude.com/docs/en/agent-sdk/claude-code-features", @@ -6771,8 +6785,8 @@ "url": "https://code.claude.com/docs/en/agent-sdk/custom-tools", "status": "success", "path": "en/docs/claude-code/agent-sdk/custom-tools.md", - "sha256": "40da8ca864dc53b14ee9a880ecd389904feca976830f97bbe5bc924e209f3aff", - "size": 38885 + "sha256": "6473f30bd67d943d1eb51e3634bc7ca1f7473b1b0d64ec0670a4d988da6d95a4", + "size": 38874 }, { "url": "https://code.claude.com/docs/en/agent-sdk/mcp", @@ -6820,8 +6834,8 @@ "url": "https://code.claude.com/docs/en/agent-sdk/permissions", "status": "success", "path": "en/docs/claude-code/agent-sdk/permissions.md", - "sha256": "514483a3f4eb454c582a319f7f623198794e0a89816cad20bb693821ff480ed9", - "size": 26472 + "sha256": "1940596baa7604208c453f669359ab181767659ce8e1892c8bbf4e4274a8c5fc", + "size": 27160 }, { "url": "https://code.claude.com/docs/en/agent-sdk/hooks", @@ -6876,8 +6890,8 @@ "url": "https://code.claude.com/docs/en/agent-sdk/typescript", "status": "success", "path": "en/docs/claude-code/agent-sdk/typescript.md", - "sha256": "438ca63f6accdcbaf081333377e308a13c45972ec3d2c752cd7aaa34ecfdc607", - "size": 292441 + "sha256": "06e4c43f520576fa77f44229ae4d9e5ff9d625b2e7d2f13a446339632e60d6f5", + "size": 292838 }, { "url": "https://code.claude.com/docs/en/agent-sdk/typescript-v2-preview", @@ -6890,8 +6904,8 @@ "url": "https://code.claude.com/docs/en/agent-sdk/python", "status": "success", "path": "en/docs/claude-code/agent-sdk/python.md", - "sha256": "7744dc715d2c85a2eb47b0c78062e98d04efaf8114ccb9d6d3522c2b70252eb4", - "size": 158857 + "sha256": "a61d932b61854426420d5f7a24a74290088dc02b66b043c81884b043e62ffdd4", + "size": 158972 }, { "url": "https://code.claude.com/docs/en/whats-new/index", @@ -9655,8 +9669,8 @@ "url": "https://support.claude.com/en/articles/8114491-get-started-with-claude", "status": "success", "path": "support/8114491-get-started-with-claude.md", - "sha256": "f8b8583a9ada617c5306010bf5be3501c7a774bc7e80dde03ecffa240aab9a10", - "size": 5205 + "sha256": "f0b87a262d93a983141b9113cdab6fcdcc0c5e0b9ebc83f4136e21417440efa4", + "size": 5207 }, { "url": "https://support.claude.com/en/articles/8114494-how-up-to-date-is-claude-s-training-data", @@ -9732,8 +9746,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": "4d7d35acddb48da3166a608b287b694eaacba6a86ae2fe0dbfbc8f797a7bbd4b", - "size": 5881 + "sha256": "6334895916f8b5305190799e5bba869831eada197c50178612a262a348f6b4c2", + "size": 5871 }, { "url": "https://support.claude.com/en/articles/8241126-upload-files-to-claude", @@ -9802,8 +9816,8 @@ "url": "https://support.claude.com/en/articles/8325618-paid-plan-billing-faqs", "status": "success", "path": "support/8325618-paid-plan-billing-faqs.md", - "sha256": "857edfc956fe62914b98a8ab5fbd0a824d64b7dd768fee1bb3ea33d2fa00e8d2", - "size": 4951 + "sha256": "53db5db50b4aa4c18dd7ef49baa6a362e27f640f17c694c38768c0f9aa0176d0", + "size": 4949 }, { "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", @@ -9865,8 +9879,8 @@ "url": "https://support.claude.com/en/articles/8887527-customizing-your-appearance-settings", "status": "success", "path": "support/8887527-customizing-your-appearance-settings.md", - "sha256": "89352f7c0b8d2cf81ea29017946aa776bc29f217530ea5360248886443970a16", - "size": 1880 + "sha256": "7915bdb81b90b7a53ad4c97ea1ad4462717872c1c7f549d4ca7e931e9e715f60", + "size": 1868 }, { "url": "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler", @@ -10040,8 +10054,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": "cd867f441e8d5235291e9f6f6cf9aa5127c76745e89c5b0f4a9ae79f76395abc", - "size": 10266 + "sha256": "2cceea865af7d6fe832a5d93e51f7a5d2b0c6355fb5f9be5ee12aad3fb5a7b2b", + "size": 10264 }, { "url": "https://support.claude.com/en/articles/9301722-updates-to-our-acceptable-use-policy-now-usage-policy-consumer-terms-of-service-and-privacy-policy", @@ -10082,8 +10096,8 @@ "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": "400bfa665f67a24433f35d95278f19723dc478c13faeddab14de569f5dec06ac", - "size": 9203 + "sha256": "bb11d60c225fe155d3c7459dc9b8d2f4f9f635dad34e0576fb37cd4260362911", + "size": 9205 }, { "url": "https://support.claude.com/en/articles/9519189-manage-project-visibility-and-sharing", @@ -10320,8 +10334,8 @@ "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": "9feb1a9f98c836560e9d62f8e32bc3f3d4bd2dff731baa93034cf4423ceae355", - "size": 2498 + "sha256": "df52c68f245dcce9e5cadd32c324628d35f18a98ed6094df2eb0a50f8176ef18", + "size": 2496 }, { "url": "https://support.claude.com/en/articles/10366376-how-can-i-delete-my-claude-console-account", @@ -10369,8 +10383,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": "1bb1469a715d895495567b80761e3910414c158f0aaa34ef12e1a82e9e65c2f7", - "size": 1040 + "sha256": "e79e4e11d8d2ed830643f3d0d6a2ab4ae177a3c1dc0d6ad70b2f84c89fb39177", + "size": 1036 }, { "url": "https://support.claude.com/en/articles/10504853-manage-user-feedback-settings-on-claude-console", @@ -10390,8 +10404,8 @@ "url": "https://support.claude.com/en/articles/10593882-share-and-unshare-chats", "status": "success", "path": "support/10593882-share-and-unshare-chats.md", - "sha256": "a6b0ec44904de95a53d214e1c7eeee2248b9fdd2cc8d18da5dc998feb24e751c", - "size": 4016 + "sha256": "d33bc9fe97a08cf2c4429d3584d972cf9f6f52e2c6c54f497601aa8fd8a1f3df", + "size": 4018 }, { "url": "https://support.claude.com/en/articles/10684626-enable-and-use-web-search", @@ -10418,8 +10432,8 @@ "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": "21ae49145082dcaf0d98b94114cae51401e399105a5c8f9415d4314186da9907", - "size": 8390 + "sha256": "a60ad2f70f799880b406eaa8bcbf0a61323ee60b3cc0195ba28adfd92848350c", + "size": 8392 }, { "url": "https://support.claude.com/en/articles/11049741-what-is-the-max-plan", @@ -10453,8 +10467,8 @@ "url": "https://support.claude.com/en/articles/11101966-use-voice-mode", "status": "success", "path": "support/11101966-use-voice-mode.md", - "sha256": "3bf7785a17d2c45a66d554b3cf5c3faafe1cf6df29e47213884b25fd3aa898ff", - "size": 10555 + "sha256": "ac3ec6d861ae9b52f4deb8e115c3755d8cfff95ed71cf82d860b4c53717b6c19", + "size": 10563 }, { "url": "https://support.claude.com/en/articles/11107691-why-is-a-coupon-or-promotion-not-available-for-my-account", @@ -10586,8 +10600,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": "5113c33dba490c50e87c9349793c023f03eeda05ecba9d341d30e08180277e2b", - "size": 2754 + "sha256": "19609286a157183b90c3de2c976282bd924b6884531b8639bbe8b963ea1987f4", + "size": 2756 }, { "url": "https://support.claude.com/en/articles/11732894-who-owns-and-manages-the-data-of-my-claude-for-education-account", @@ -10600,15 +10614,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": "8f934af000df53753afbfd855c09448d08a87d8dfc8c2771a6c736fe2f5abe22", - "size": 28554 + "sha256": "b3c56b5a4babe36577ae09f7b4af9707492bd306103933431ab49f935940ad2a", + "size": 28552 }, { "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": "b86f4231403d958a95304b6db60df33baec4bc6709516a6fb67f035db0f17f7a", - "size": 814 + "sha256": "b090ec97ec6a306973ef8d333082cba4d7687b5d4dcf1d6fe8033b85ab229092", + "size": 816 }, { "url": "https://support.claude.com/en/articles/11825384-how-to-update-claude-for-ios", @@ -10642,8 +10656,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": "e33951a75364a474aaaae2fb17398ce0076172b31eea3940611740f99096afdc", - "size": 13991 + "sha256": "d9355a0d3df66bd18ea9828a1a1ff71c04682bcd0f56a8a3a12f60a6940c5ab8", + "size": 13995 }, { "url": "https://support.claude.com/en/articles/11932705-automated-security-reviews-in-claude-code", @@ -10677,14 +10691,14 @@ "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": "ffb736cda83af25b546769e8bb611254f3d6c0fd778178292fff52fdfce75937", - "size": 9711 + "sha256": "735c281aa17f513aa2ee66bc5e8795147defc0a1c5e5a01d3638151e705ac9c8", + "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": "adf6954465d147b1313c7c05196f2129dcde62b853e92d3d325c63d348c4c6b6", + "sha256": "745c8a93f6433d0bc466576a71d27f2e41b02b1a21f8634fd468fe959c30c6bb", "size": 14853 }, { @@ -10698,8 +10712,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": "0f611769b35e0f2772cade14b792a67b351d17c7c9ed0903ffe38e384b955685", - "size": 1398 + "sha256": "e55017a59fafc94dbf4c02cd255f0f9d62e025016d4f3b78cc7d7aca787378ce", + "size": 1394 }, { "url": "https://support.claude.com/en/articles/12109679-creating-a-new-account-after-deletion", @@ -10712,8 +10726,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": "5e1cbd9f54b0ace14adcc79abc42cacf8ca37a4091deb4ee7e7c38cd632e02a4", - "size": 17964 + "sha256": "96edbcdf3d85d4b1d396b2f88f20cdc5bc5c645da707b6e4b4ebe8783cefdefa", + "size": 17960 }, { "url": "https://support.claude.com/en/articles/12119250-model-safety-bug-bounty-program", @@ -10747,15 +10761,15 @@ "url": "https://support.claude.com/en/articles/12260368-use-incognito-chats", "status": "success", "path": "support/12260368-use-incognito-chats.md", - "sha256": "baf4e8f620c1c2e88d52456ce0d6bc4c62083049dc64df9cc098324537647c4f", - "size": 4372 + "sha256": "650792ae458780c142c4099214267fed76589b109cfaa6cb5e3246470904b695", + "size": 4374 }, { "url": "https://support.claude.com/en/articles/12293051-use-claude-in-xcode", "status": "success", "path": "support/12293051-use-claude-in-xcode.md", - "sha256": "43719d1221dc27fe2ef96a4139164d576ac37253ed2639deb062d1b7a181ffa1", - "size": 1905 + "sha256": "41e44b3d6b6675dac1d096a340e9a764ff9eadce523509bce5d5353e6c5a921e", + "size": 1909 }, { "url": "https://support.claude.com/en/articles/12304248-manage-api-key-environment-variables-in-claude-code", @@ -10796,15 +10810,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": "6a0b92268f3d5aaab252883358bdd7e597f9544769cb84971cb177fd7fe16bda", + "sha256": "ed265e5d62fb6ccf7136ed8c072fccd738b1faa75221c7ee8d90fc19ec9c947a", "size": 7972 }, { "url": "https://support.claude.com/en/articles/12466728-troubleshoot-claude-error-messages", "status": "success", "path": "support/12466728-troubleshoot-claude-error-messages.md", - "sha256": "ad1d0c7b148fe5c6364a0bc0bfc057b1120688bd64b8b50e8f55e22aaec5893f", - "size": 5147 + "sha256": "3dd5c9b2c743fc5e3b9119ce991681d9ce9bd579de226e7e98f52c1cc09a99ba", + "size": 5141 }, { "url": "https://support.claude.com/en/articles/12489464-use-enterprise-search", @@ -10824,7 +10838,7 @@ "url": "https://support.claude.com/en/articles/12512180-use-skills-in-claude", "status": "success", "path": "support/12512180-use-skills-in-claude.md", - "sha256": "b3a580c7ad2e4521d3523b4b04c2cf11a235ca8b026f9ae1a7709bd3a546f642", + "sha256": "e5555934953d7527b09e88872d580612600a1787adddb7577f0223bcd7fb3b7d", "size": 19146 }, { @@ -10845,8 +10859,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": "18aeb6d836bc05e6b437e805acf197092378c8a630f03dd0111997fa6e6aaa87", - "size": 5718 + "sha256": "9cba8e8d112581f788386797c1bdc43ba91c0373cd18d587167eac2034f40f17", + "size": 5716 }, { "url": "https://support.claude.com/en/articles/12611117-deploy-claude-desktop-for-macos", @@ -10859,8 +10873,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": "89056f41326805d7b3587a9dda764d4e066505dbbcd737f3c0f99c0e2b46a90d", - "size": 11066 + "sha256": "c968c0b21a11221994f04cba6f191c0a7c310dff7861a8307400d11fdb32adaf", + "size": 11068 }, { "url": "https://support.claude.com/en/articles/12622667-enterprise-configuration-for-claude-desktop", @@ -10880,7 +10894,7 @@ "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": "e838cfa489f226da90bff4f7ed592e4e3fc986ee6d2370296e5884f93c2761b8", + "sha256": "632de0b0e9b8162aa3606a1dcdf6e72fe1ed93216041c3c39da5b0e7bae23ff8", "size": 5972 }, { @@ -10915,8 +10929,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": "3e859f88ebe0b481ebb23492e04fa1e8b6f28bc0a65aae67a7196fd67e03bd36", - "size": 15101 + "sha256": "52144a4c894dd391b7caeb78d911481a5678c10868e95d2dd81c78cd81917102", + "size": 15089 }, { "url": "https://support.claude.com/en/articles/12902405-claude-in-chrome-troubleshooting", @@ -10936,8 +10950,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": "f2ddee2a85c50a62e7e98a315cb298f863cd62247ee984522c3ea979c33e3d26", - "size": 9565 + "sha256": "f0072d4b2013159f8a31af21dca8d5476866a771f387c5dbfe9f9b412e4a2cae", + "size": 9563 }, { "url": "https://support.claude.com/en/articles/12938627-how-to-gift-a-claude-subscription", @@ -10964,8 +10978,8 @@ "url": "https://support.claude.com/en/articles/12997503-team-plan-billing-faqs", "status": "success", "path": "support/12997503-team-plan-billing-faqs.md", - "sha256": "c496568eb6bdb20271935213ebae0609b8f5e4de43783a64c46b24167a2b00f1", - "size": 5417 + "sha256": "ab209c5a16d22afca5e8ca6e9241d9272702a33a01846aec7605598028d441c0", + "size": 5411 }, { "url": "https://support.claude.com/en/articles/13015708-access-the-compliance-api", @@ -11013,15 +11027,15 @@ "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": "a4b1c2ee2e3eaa81d80f5742d455b4ebd01e527254bc76062a3719bca36bf01f", - "size": 13649 + "sha256": "5061bb849bab33d5faefa19488c1e5f47bc036162cb426a7614a6aa2d6a0976c", + "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": "7d8e44ec6fc10e818b2dd4b8651b3b03b68f38885d16d595bae972c1af570d30", - "size": 22523 + "sha256": "17abc58f253c081c1d33f599785a2d4be7ad3a04759360ad02cd7a8f273ec479", + "size": 22521 }, { "url": "https://support.claude.com/en/articles/13133750-manage-members-on-team-and-enterprise-plans", @@ -11048,8 +11062,8 @@ "url": "https://support.claude.com/en/articles/13163631-configuring-session-security-settings", "status": "success", "path": "support/13163631-configuring-session-security-settings.md", - "sha256": "cea8667b8bebd0d86dbb9f731f16963f247bddf9864198ef6e9793eafa151a22", - "size": 3697 + "sha256": "6bdae61c7e02ebac5465a6cb519e39f7cbebbec3e78f177907b1ee205008695a", + "size": 3703 }, { "url": "https://support.claude.com/en/articles/13171706-crisis-helpline-support-in-claude", @@ -11062,8 +11076,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": "929195736f4d17c73f8206371996e6d82fa87d132c6ae744aeb8b5d16b4ce6e8", - "size": 7037 + "sha256": "d23fa55a629b1fe47ce622cc316a9d14325df9b04a138133cab56bd31bfb0e6c", + "size": 7041 }, { "url": "https://support.claude.com/en/articles/13198485-enforce-network-level-access-control-with-tenant-restrictions", @@ -11090,14 +11104,14 @@ "url": "https://support.claude.com/en/articles/13325567-account-management-faqs", "status": "success", "path": "support/13325567-account-management-faqs.md", - "sha256": "7aa20b7b9ce01f8d366c5f7fdb3c6507c06bd3535b948224aed9d7d3771f0098", - "size": 2638 + "sha256": "d87eaa41fc1a456fd145ff9776b19dfbeeb1c7faf132be28ce5bf247834cfefa", + "size": 2634 }, { "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": "f7ac425fbb906f4bae3d028c56d033a5fd44e4b682b9fad137ae020bd785e2b9", + "sha256": "1c6bec68aae42e50692458855d795ea6ddc9364a79afdccc8e414a24d03e74fb", "size": 23056 }, { @@ -11118,8 +11132,8 @@ "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": "f3bc2c75a81786bb01cd4410760a50169a4dcd6623ac0ab27351aa544dc95669", - "size": 4611 + "sha256": "c0702a61281e007ec7ae91128038a1597b880d5e6e5a3a0b363b7160cc11eb71", + "size": 4609 }, { "url": "https://support.claude.com/en/articles/13393991-purchase-and-manage-seats-on-enterprise-plans", @@ -11167,8 +11181,8 @@ "url": "https://support.claude.com/en/articles/13641943-visual-and-interactive-content", "status": "success", "path": "support/13641943-visual-and-interactive-content.md", - "sha256": "0fe88f2f025ab260e21cc80ca239a182e38a8d9e1a1c1511336e9c6068031a77", - "size": 6513 + "sha256": "b48c911bf01aacef9e8d3520848c88988e19c36bc249779f3279a04cccaf2772", + "size": 6511 }, { "url": "https://support.claude.com/en/articles/13663666-use-visual-and-interactive-content-on-team-and-enterprise-plans", @@ -11223,8 +11237,8 @@ "url": "https://support.claude.com/en/articles/13837440-use-plugins-in-claude", "status": "success", "path": "support/13837440-use-plugins-in-claude.md", - "sha256": "a21aadc5a5ceee6c2990bfe52a85238e5b1da1f86c07fdecaa0df187536f1458", - "size": 15199 + "sha256": "1e17f1722995b2225f8efe7f62f1ca520652edab9f6ec4a90f71fec5835bcdf4", + "size": 15189 }, { "url": "https://support.claude.com/en/articles/13854387-schedule-recurring-tasks-in-claude-cowork", @@ -11321,8 +11335,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": "3eff699876d2401b0c636ad0056d97f96b395f4ac242b3a76cf392bbaa03656c", - "size": 9458 + "sha256": "8266962744ded4922ee807f7a201a59320ab208f06194fb63538f9f1feb207e9", + "size": 9466 }, { "url": "https://support.claude.com/en/articles/13979539-custom-visuals-in-chat-and-cowork", @@ -11342,8 +11356,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": "c8eef0d0d4fecf09fa64e98d5d1c60d6a21d5b922279c46da03294898b057ffa", - "size": 8397 + "sha256": "3a17a1fe7b99123a76607af06b15dd14e0a621758e1b81a329e5a92505e5fde1", + "size": 8391 }, { "url": "https://support.claude.com/en/articles/14128542-let-claude-use-your-computer-in-cowork", @@ -11412,8 +11426,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": "23c2cc48d439399f9ce30e648d739dfe7c5adb6e08e005c298ea01031eebf206", - "size": 7670 + "sha256": "2d6239be2d7bc4250be0b4717e1a6aab5a8bc845ee5869f9b6e033d37c022f28", + "size": 7672 }, { "url": "https://support.claude.com/en/articles/14503520-available-beta-and-research-preview-features", @@ -11524,8 +11538,8 @@ "url": "https://support.claude.com/en/articles/14604842-cyber-verification-program", "status": "success", "path": "support/14604842-cyber-verification-program.md", - "sha256": "8f3613aaed25607eca2509e84dfe53c284173eb3cd51bab62a1e7e51bdb8d1d5", - "size": 25122 + "sha256": "04bc29972cb1da9c6de54e6860ee7c62bec208e27cb47c9d39c69c3097c323f8", + "size": 25124 }, { "url": "https://support.claude.com/en/articles/14625619-claim-and-migrate-accounts-on-your-domain", @@ -11587,8 +11601,8 @@ "url": "https://support.claude.com/en/articles/14793921-find-and-join-a-console-organization", "status": "success", "path": "support/14793921-find-and-join-a-console-organization.md", - "sha256": "f24482f2bab9658b65928ccb7284b45bcb754b34e83812599fd4e2e871cb5ba5", - "size": 3743 + "sha256": "1205a381c030d5f5604761f70a0c7b93221e967539453888586a9aa77913df50", + "size": 3689 }, { "url": "https://support.claude.com/en/articles/14898120-open-the-claude-mobile-app-with-a-link", @@ -11636,8 +11650,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": "3b9fe77f16a676d0b13b9e8bc63847f03b3ca8c75bcab96aee6806b8452983c7", - "size": 11309 + "sha256": "990bd7a4ddb710ad6eeab46ac1cbd29b901116aefd3a60c2685d87ec3039943e", + "size": 11313 }, { "url": "https://support.claude.com/en/articles/15330651-claude-enterprise-admin-api-reference-guide", @@ -11748,8 +11762,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": "8c89c3a01fa402b93c598cb7a2e0c7b36321848ce4f627be8d6e6c76332a503a", - "size": 10332 + "sha256": "87efc1e8da066dab32bd166286eb362ddf5679f3a970147f3c2f35ee304497a1", + "size": 10334 }, { "url": "https://support.claude.com/en/articles/15707726-using-claude-for-legal-work-privilege-confidentiality-and-how-to-think-about-configuration", @@ -11783,8 +11797,8 @@ "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": "1253d9b77b6988bc838014a9f995fc5ced32876d479729ac4b56949d652a1c22", - "size": 5056 + "sha256": "47b8b8d77feeeb2b42129ef860c26b041bb182d01939deb7da98a7bd840c583a", + "size": 5060 }, { "url": "https://support.claude.com/en/articles/16049681-why-claude-switched-models-in-your-conversation-with-opus-5-or-opus-5-5", @@ -11832,8 +11846,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": "989e4aa42df8a6f7f70783bb81fea138c9f55f221b7310d801deb472c9dd89b8", - "size": 5832 + "sha256": "ce81104d25f5d0ca0aa913786ea16e3d333a103d071df36028ca506b73e90c42", + "size": 5842 }, { "url": "https://support.claude.com/en/articles/16607668-understanding-your-team-plan-invoices", @@ -11916,8 +11930,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": "4e18d2319f218115c8f2b9eb5ef137d41d2509c777bea51ce916c221ab0d05c4", - "size": 15505 + "sha256": "549c41357afb86dbcc9b009108528130328d52f97ddc2122136e60f6885a6409", + "size": 15501 }, { "url": "https://support.claude.com/en/articles/16923645-get-started-with-claude-docs", @@ -11937,7 +11951,7 @@ "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": "fb6456551fa5a0221194654ec7608d3d6f832b31b4f9c22c47fa2b3f6fac5f0e", + "sha256": "95206e40818f1b4f565eccbe6e7eef283806de344ee3bd7a5eefa090ca8d4807", "size": 21894 }, { @@ -11965,7 +11979,7 @@ "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": "ad07c7e2df555c0c2e8e979e8d6cd1fc0433602e139168fc20fff52704c41395", + "sha256": "32a9758681b3b47167e1ce93839bb889b585a91a9e5b80671f009aac61c8786d", "size": 6980 }, { @@ -12014,8 +12028,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": "ff5b6c0a1f61d71fb489d11f4abd18e4823a851469265fc78856dff45aa03385", - "size": 11367 + "sha256": "f69ea557ff952362090722c5867a85f689065c5795641d080cc6aad14992cbce", + "size": 11375 }, { "url": "https://support.claude.com/en/articles/17318731-use-claude-code-local-mode-and-claude-cowork-local-mode-on-a-hipaa-ready-enterprise-plan", @@ -12028,8 +12042,8 @@ "url": "https://support.claude.com/en/articles/17440474-migrate-from-standalone-claude-design-to-claude", "status": "success", "path": "support/17440474-migrate-from-standalone-claude-design-to-claude.md", - "sha256": "cc683ecdee03fd659ecf0fb875f8f5a299147ad30ad0e478a0d1426346fb2f80", - "size": 15285 + "sha256": "90ebd48ab4a5adff1739b81129945775cec30f81adc4bd0061b723babc0eea64", + "size": 15279 }, { "url": "https://support.claude.com/en/articles/17444146-claude-haiku-4-5-is-leaving-the-model-selector", @@ -12042,8 +12056,8 @@ "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": "ad549e4e77e8dfa03cfee60ada1708c47549b7c7200786599e912e99ba29494b", - "size": 22006 + "sha256": "8749df36e4220cf352d11d33bd46096fe69bc2ab96fd485fa61e42c34bc63e3c", + "size": 22012 }, { "url": "https://support.claude.com/en/articles/17454700-get-started-with-claude-dashboards", @@ -14006,130 +14020,137 @@ "size": 18370 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/models", + "url": "https://code.claude.com/docs/en/plugins", "status": "success", - "path": "en/api/ruby/models.md", - "sha256": "86dab8efbcc6153aeb4ea8127e6b9addae6c6904a872e438a060325323e9a749", - "size": 36571 + "path": "en/docs/claude-code/plugins.md", + "sha256": "a33630ffe4a2432e4204fa0a512cffda4a037cf1441fb964a2104517589c8654", + "size": 14924 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta", + "url": "https://code.claude.com/docs/en/web-scheduled-tasks", "status": "success", - "path": "en/api/ruby/beta.md", - "sha256": "cc9dda2033a2e80fd9a77d56cc53a353bdc2fb1dc1144b397bbd38f5ddf48655", - "size": 3282196 + "path": "en/docs/claude-code/web-scheduled-tasks.md", + "sha256": "e4369e748142fc2f810cede0a4a8e7feb38fe3764a12ceccba32df9d2e863b92", + "size": 40898 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/completions", + "url": "https://code.claude.com/docs/en/iam", "status": "success", - "path": "en/api/ruby/completions.md", - "sha256": "05981d651d49c2b622e291e1be05f6d9ceec86ac666bd681323a35be56194105", - "size": 16231 + "path": "en/docs/claude-code/iam.md", + "sha256": "c43ef3e8ddcb34ff6ba8b8d9e72276326ba7b672cd99f1252d5167c111ce67ac", + "size": 31125 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/messages", + "url": "https://code.claude.com/docs/en/plugin-relevance", "status": "success", - "path": "en/api/ruby/messages.md", - "sha256": "b2f7df57a2aba08bc2160152eaa274f63bb4ad6999ff3d1ffcbe0de3a93ac82c", - "size": 1099666 + "path": "en/docs/claude-code/plugin-relevance.md", + "sha256": "bcbe647fd4e587be1dcaf436077181c1a863f9a4ddd18833d96b7862aeed17e9", + "size": 12865 }, { - "url": "https://platform.claude.com/docs/en/api/java/models", + "url": "https://code.claude.com/docs/en/desktop-changelog", "status": "success", - "path": "en/api/java/models.md", - "sha256": "a0e33113e3575105067ba857766226f5a837ecb7d612615b9cbd4506f28369a9", - "size": 40917 + "path": "en/docs/claude-code/desktop-changelog.md", + "sha256": "c7bf4f1cdf3b7c16d3b4c092887779602582642e1cebe0fa54387c44d880d32c", + "size": 166053 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta", + "url": "https://code.claude.com/docs/en/plugin-marketplaces", "status": "success", - "path": "en/api/java/beta.md", - "sha256": "2152a3c8d0793e5f44af56deefec45cfa8a950ebf59e83e1e74bbd0da5592987", - "size": 3609559 + "path": "en/docs/claude-code/plugin-marketplaces.md", + "sha256": "0597250fec9a5eb9734df9c6821409431623604656129cf8e462f93460db6a84", + "size": 14189 }, { - "url": "https://platform.claude.com/docs/en/api/java/completions", + "url": "https://code.claude.com/docs/en/slash-commands", "status": "success", - "path": "en/api/java/completions.md", - "sha256": "bf3d2fa9dfbfe975b82eb12465199f67f1435c2d9e84282e7277ad466c2c19a5", - "size": 16243 + "path": "en/docs/claude-code/slash-commands.md", + "sha256": "1ac8eb3ec96177a5b960a381dcbf7e14ff5dacd45fa888e647e55bf4acd6f645", + "size": 110002 }, { - "url": "https://platform.claude.com/docs/en/api/java/messages", + "url": "https://code.claude.com/docs/en/plugin-hints", "status": "success", - "path": "en/api/java/messages.md", - "sha256": "bed58f557aa039c34c8413faa2db17c1145edc72ce5fa1af6bdcf002953b1cdb", - "size": 1148638 + "path": "en/docs/claude-code/plugin-hints.md", + "sha256": "8f7f28fb9568c8acfce79a0ed6761c175062ffb6c01b91936d2780ebd2e91257", + "size": 6742 }, { - "url": "https://platform.claude.com/docs/en/api/python/models", + "url": "https://code.claude.com/docs/en/ultraplan", "status": "success", - "path": "en/api/python/models.md", - "sha256": "ebd57868ef681b50d1f4308579936483db71f07a23d0b6f8683b151fd52be4ba", - "size": 37346 + "path": "en/docs/claude-code/ultraplan.md", + "sha256": "140170a1baf128531aa98be28c5b8592440969cd386a21ab5707def73354aabd", + "size": 1050 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta", + "url": "https://code.claude.com/docs/en/plugins-reference", "status": "success", - "path": "en/api/python/beta.md", - "sha256": "38bb08a286926e4a99d6c9c848a68b2aa92a2431df51fe77687d339be97ab3cf", - "size": 3328914 + "path": "en/docs/claude-code/plugins-reference.md", + "sha256": "16b6dafd91d4a258bd1afcb901ee6efafca67c6de52e8c7a2b3c65c3884b5f3d", + "size": 41987 }, { - "url": "https://platform.claude.com/docs/en/api/python/completions", + "url": "https://code.claude.com/docs/en/plugin-dependencies", "status": "success", - "path": "en/api/python/completions.md", - "sha256": "5a0b498258fa03957a97234ec31a1ea22aa5ad3968cb200bfc879fd5fb243de3", - "size": 16575 + "path": "en/docs/claude-code/plugin-dependencies.md", + "sha256": "a29a982a1fddb4dbaa361f5c996d4b444fceee116b86bf33720d92e5137ae97e", + "size": 17256 }, { - "url": "https://platform.claude.com/docs/en/api/python/messages", + "url": "https://code.claude.com/docs/en/discover-plugins", "status": "success", - "path": "en/api/python/messages.md", - "sha256": "68fa9f5e7d4dc8edc0340462f521ecd2dfaaa3c78584fb49c4a7b32ead452cbe", - "size": 1163654 + "path": "en/docs/claude-code/discover-plugins.md", + "sha256": "698096ded7da7addf11ad7894179736ff96bab43eb51370698efb0fcdaca7294", + "size": 32228 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/models", + "url": "https://code.claude.com/docs/en/agent-sdk/slash-commands", "status": "success", - "path": "en/api/typescript/models.md", - "sha256": "fba676734525a865b5c76418db1f3f528e56f87550fe6108149dec00b45a5a61", - "size": 37681 + "path": "en/docs/claude-code/agent-sdk/slash-commands.md", + "sha256": "c515e05538b55ae79a3044229d742946785e0dcca66845478d542ceb0620d26c", + "size": 27640 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta", + "url": "https://platform.claude.com/docs/en/api/go/beta", "status": "success", - "path": "en/api/typescript/beta.md", - "sha256": "8a1fc89c920ad94be3106bce8ff497d9a64eaccbbd1ba294c9926e73c87dc7bf", - "size": 3431685 + "path": "en/api/go/beta.md", + "sha256": "60c1f769593e5f2410457280c16c6b13cfc5c47280b6e2f09ec3f0c9f34accee", + "size": 4098818 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/completions", + "url": "https://platform.claude.com/docs/en/api/go/messages", "status": "success", - "path": "en/api/typescript/completions.md", - "sha256": "c1e4b18ea783ad4426389abf2b02067c10c1edc005503c8873e96850b4fbb33c", - "size": 16698 + "path": "en/api/go/messages.md", + "sha256": "a12aa4c8fb89e561485d118923da4bbdaa37a14ec8cbe639b79950eacd689649", + "size": 1258598 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/messages", + "url": "https://platform.claude.com/docs/en/api/go/completions", "status": "success", - "path": "en/api/typescript/messages.md", - "sha256": "48323fa69fd892f05e6a6de0075e2f919f86005d94b5403fb798a3fb8552ed70", - "size": 1170956 + "path": "en/api/go/completions.md", + "sha256": "d86d4b41ae394c5f91c1d155de378ca5f634f7897817fdeaf1e29d688bcf93c1", + "size": 18274 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/models", + "url": "https://platform.claude.com/docs/en/api/go/models", "status": "success", - "path": "en/api/csharp/models.md", - "sha256": "b8c8f394c0e48f02be97603738ccec028ccdb6ca3b05182e19114c4efb0bb84f", - "size": 41096 + "path": "en/api/go/models.md", + "sha256": "eba25020abf21c59a166c0a8a0702b77bd7b046c6225723909439c375888ed6a", + "size": 48265 }, { "url": "https://platform.claude.com/docs/en/api/csharp/beta", "status": "success", "path": "en/api/csharp/beta.md", - "sha256": "de9844b4ab2d7af530e5ffa10b4696fca1cfab8ae9c85a2942b86c5c1db2f05c", - "size": 3536834 + "sha256": "bfbaab32c83cf436716ff924f146339911828f30231d9f366dad7ccf15073880", + "size": 3546267 + }, + { + "url": "https://platform.claude.com/docs/en/api/csharp/messages", + "status": "success", + "path": "en/api/csharp/messages.md", + "sha256": "0f89e589f74e542dcd956a89f34fb5d14bae968b6958131babe62932c1de8f51", + "size": 1153812 }, { "url": "https://platform.claude.com/docs/en/api/csharp/completions", @@ -14139,25 +14160,25 @@ "size": 16575 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/messages", + "url": "https://platform.claude.com/docs/en/api/csharp/models", "status": "success", - "path": "en/api/csharp/messages.md", - "sha256": "0f89e589f74e542dcd956a89f34fb5d14bae968b6958131babe62932c1de8f51", - "size": 1153812 + "path": "en/api/csharp/models.md", + "sha256": "f8249ddc09b7dd86330af96b92ec15599c68ca33b1571eacfbc2ba1303699466", + "size": 44846 }, { - "url": "https://platform.claude.com/docs/en/api/php/models", + "url": "https://platform.claude.com/docs/en/api/php/beta", "status": "success", - "path": "en/api/php/models.md", - "sha256": "eeb6171ea09f0497b7996ea49863d285efa04e46bfbbf778ba5b8f0eac437c0f", - "size": 17632 + "path": "en/api/php/beta.md", + "sha256": "edc96c3bbfa98598fbf0f4513187a8c5bb0f9e5d58933900389cd121aa4197fa", + "size": 1052912 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta", + "url": "https://platform.claude.com/docs/en/api/php/messages", "status": "success", - "path": "en/api/php/beta.md", - "sha256": "cf61a6cff7c6b9b59435747a41625a2050442cdcc9016ddb39faf0353a29b22a", - "size": 1047252 + "path": "en/api/php/messages.md", + "sha256": "92ec592a585b017aebeca0c9d9f03fee4dc62c19e45fa5db980549b42cc5ab91", + "size": 285326 }, { "url": "https://platform.claude.com/docs/en/api/php/completions", @@ -14167,8726 +14188,8719 @@ "size": 16572 }, { - "url": "https://platform.claude.com/docs/en/api/php/messages", + "url": "https://platform.claude.com/docs/en/api/php/models", "status": "success", - "path": "en/api/php/messages.md", - "sha256": "92ec592a585b017aebeca0c9d9f03fee4dc62c19e45fa5db980549b42cc5ab91", - "size": 285326 + "path": "en/api/php/models.md", + "sha256": "63e0dca3c05777cf8e6507795831fec02ea66a9a3ee5bbecbe535dcff814efa6", + "size": 18360 }, { - "url": "https://platform.claude.com/docs/en/api/cli/models", + "url": "https://platform.claude.com/docs/en/api/ruby/beta", "status": "success", - "path": "en/api/cli/models.md", - "sha256": "8139bbeed4fcbf981b18607db18afcf3a707488e56fbcfb0e96525bb0567fa8e", - "size": 39781 + "path": "en/api/ruby/beta.md", + "sha256": "69c8cde53c4393502a6d77a21f57e91a4b315c5ff000776a8222695c31d3e8f7", + "size": 3291597 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta", + "url": "https://platform.claude.com/docs/en/api/ruby/messages", "status": "success", - "path": "en/api/cli/beta.md", - "sha256": "abe440e41a6fc59f36f4b741f5a259af5aaebdc7ddb4c2d8eb6e476b73c80626", - "size": 2535227 + "path": "en/api/ruby/messages.md", + "sha256": "b2f7df57a2aba08bc2160152eaa274f63bb4ad6999ff3d1ffcbe0de3a93ac82c", + "size": 1099666 }, { - "url": "https://platform.claude.com/docs/en/api/cli/completions", + "url": "https://platform.claude.com/docs/en/api/ruby/completions", "status": "success", - "path": "en/api/cli/completions.md", - "sha256": "905170f45ec6b3386841c5a54902cdc53a9822d6c44611b686da607d0a2fc4f0", - "size": 11544 + "path": "en/api/ruby/completions.md", + "sha256": "05981d651d49c2b622e291e1be05f6d9ceec86ac666bd681323a35be56194105", + "size": 16231 }, { - "url": "https://platform.claude.com/docs/en/api/cli/messages", + "url": "https://platform.claude.com/docs/en/api/ruby/models", "status": "success", - "path": "en/api/cli/messages.md", - "sha256": "0fe919c3e799dd66d888334d3258a6ad026124b97ada69317022fa0b97877f36", - "size": 956584 + "path": "en/api/ruby/models.md", + "sha256": "ad0d0b4e80ed2ce607c9af3c2f627f37eff977fb3dd0c24e8c203f62cfdadcd4", + "size": 40279 }, { - "url": "https://platform.claude.com/docs/en/api/go/models", + "url": "https://platform.claude.com/docs/en/api/python/beta", "status": "success", - "path": "en/api/go/models.md", - "sha256": "959f1d41b69e2bb9fd8dfbcd3045d6b107266f8f219bdc9750ff8b3b797bd432", - "size": 44569 + "path": "en/api/python/beta.md", + "sha256": "7d621abb6f73702a10ea7998e327bdfc0b83616fb84eab2fb003fd6d8fc3e1fc", + "size": 3334336 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta", + "url": "https://platform.claude.com/docs/en/api/python/messages", "status": "success", - "path": "en/api/go/beta.md", - "sha256": "d816f834e2f1d82d702b605f5891f8b8ed8318b61ac0c5fb4b3246d52cef3565", - "size": 4089411 + "path": "en/api/python/messages.md", + "sha256": "68fa9f5e7d4dc8edc0340462f521ecd2dfaaa3c78584fb49c4a7b32ead452cbe", + "size": 1163654 }, { - "url": "https://platform.claude.com/docs/en/api/go/completions", + "url": "https://platform.claude.com/docs/en/api/python/completions", "status": "success", - "path": "en/api/go/completions.md", - "sha256": "d86d4b41ae394c5f91c1d155de378ca5f634f7897817fdeaf1e29d688bcf93c1", - "size": 18274 + "path": "en/api/python/completions.md", + "sha256": "5a0b498258fa03957a97234ec31a1ea22aa5ad3968cb200bfc879fd5fb243de3", + "size": 16575 }, { - "url": "https://platform.claude.com/docs/en/api/go/messages", + "url": "https://platform.claude.com/docs/en/api/python/models", "status": "success", - "path": "en/api/go/messages.md", - "sha256": "a12aa4c8fb89e561485d118923da4bbdaa37a14ec8cbe639b79950eacd689649", - "size": 1258598 + "path": "en/api/python/models.md", + "sha256": "e08cbaf2b59f0a94cbe85ded511a2c0584a2afe36954dc06c96e427f60078acd", + "size": 41054 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions", + "url": "https://platform.claude.com/docs/en/api/cli/beta", "status": "success", - "path": "en/api/go/beta/sessions.md", - "sha256": "940519c989de8c81eb3fe216e654a6f4387c38ac7f4ba72c581ab897708a3dab", - "size": 1282048 + "path": "en/api/cli/beta.md", + "sha256": "76724524022a270e6bb1f83b7421e8f12b7e422ab78d2bfdf54324560f8b6a20", + "size": 2543431 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/webhooks", + "url": "https://platform.claude.com/docs/en/api/cli/messages", "status": "success", - "path": "en/api/go/beta/webhooks.md", - "sha256": "2963eb4094c62ecece07a2a4d328fb438a7c4a4ef1f51cf8a6373ee2055674e8", - "size": 32728 + "path": "en/api/cli/messages.md", + "sha256": "0fe919c3e799dd66d888334d3258a6ad026124b97ada69317022fa0b97877f36", + "size": 956584 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/skills", + "url": "https://platform.claude.com/docs/en/api/cli/completions", "status": "success", - "path": "en/api/go/beta/skills.md", - "sha256": "32c113102dc22b6500774fe18c709b5be7381f76faec0dace134b93091592844", - "size": 73111 + "path": "en/api/cli/completions.md", + "sha256": "905170f45ec6b3386841c5a54902cdc53a9822d6c44611b686da607d0a2fc4f0", + "size": 11544 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/agents", + "url": "https://platform.claude.com/docs/en/api/cli/models", "status": "success", - "path": "en/api/go/beta/agents.md", - "sha256": "13cbe0795104d46947225cd9c80bbac1ee91a34668679bbc25114ee9754a2666", - "size": 482785 + "path": "en/api/cli/models.md", + "sha256": "dc8896f0a0abb96930e81b986aede5238c362c07ad7b8bb72d674548bfa5d2f9", + "size": 43995 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/deployments", + "url": "https://platform.claude.com/docs/en/api/typescript/beta", "status": "success", - "path": "en/api/go/beta/deployments.md", - "sha256": "7616d3385e636f18490fa74caea1c546af606b91c397e5cf6657698497e7f159", - "size": 262176 + "path": "en/api/typescript/beta.md", + "sha256": "252503c26b063ff702367e0bb5e3edaddb3b4c686d127592441370c1474bb86f", + "size": 3441112 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/deployment_runs", + "url": "https://platform.claude.com/docs/en/api/typescript/messages", "status": "success", - "path": "en/api/go/beta/deployment_runs.md", - "sha256": "3ff8ec5797f43df6b27e17e9f98d46172e30987708ceede5a9b5211ba149e417", - "size": 39956 + "path": "en/api/typescript/messages.md", + "sha256": "48323fa69fd892f05e6a6de0075e2f919f86005d94b5403fb798a3fb8552ed70", + "size": 1170956 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/user_profiles", + "url": "https://platform.claude.com/docs/en/api/typescript/completions", "status": "success", - "path": "en/api/go/beta/user_profiles.md", - "sha256": "ae45ffe1a43d9094178b75bf0bce88779733e7fe7ad3356e1e0cfc8243d88d95", - "size": 77800 + "path": "en/api/typescript/completions.md", + "sha256": "c1e4b18ea783ad4426389abf2b02067c10c1edc005503c8873e96850b4fbb33c", + "size": 16698 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/models", + "url": "https://platform.claude.com/docs/en/api/typescript/models", "status": "success", - "path": "en/api/go/beta/models.md", - "sha256": "e7e117dd52ce2fc9fee8bf281969351c0d89e30862eecb47dfc961f66fc360d9", - "size": 47953 + "path": "en/api/typescript/models.md", + "sha256": "b0e8d60d0b15dd4ffc49466211e4f42511cc9b420518afe858724dbf85129645", + "size": 41389 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/vaults", + "url": "https://platform.claude.com/docs/en/api/java/beta", "status": "success", - "path": "en/api/go/beta/vaults.md", - "sha256": "5a306ecd8ddc72467f42964e4e2b3823e34b0fbad0a1515dc9df7beabdcb1af5", - "size": 127764 + "path": "en/api/java/beta.md", + "sha256": "c59cb47bd232d41c470dc26131af76296a750f79f616a8cbe66e57f59608912e", + "size": 3618970 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores", + "url": "https://platform.claude.com/docs/en/api/java/messages", "status": "success", - "path": "en/api/go/beta/memory_stores.md", - "sha256": "219d375e7f103fc6df962adb2834493279f15b3cd05a04497dc9dfe3012b5009", - "size": 144523 + "path": "en/api/java/messages.md", + "sha256": "bed58f557aa039c34c8413faa2db17c1145edc72ce5fa1af6bdcf002953b1cdb", + "size": 1148638 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels", + "url": "https://platform.claude.com/docs/en/api/java/completions", "status": "success", - "path": "en/api/go/beta/tunnels.md", - "sha256": "2a5bf8515d560026d2a36e7dd184760d3059358a47edbc039c0959fd5df0fb49", - "size": 78957 + "path": "en/api/java/completions.md", + "sha256": "bf3d2fa9dfbfe975b82eb12465199f67f1435c2d9e84282e7277ad466c2c19a5", + "size": 16243 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/environments", + "url": "https://platform.claude.com/docs/en/api/java/models", "status": "success", - "path": "en/api/go/beta/environments.md", - "sha256": "891eae4603ac9e9e1e8f38cc6a595e2aad661b16630db81c56b1c2e4f718e29d", - "size": 144331 + "path": "en/api/java/models.md", + "sha256": "8fbd1b08cff6ef01fc9f925df4c38449185385779d471bf16c0c1737920c35c4", + "size": 44613 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/files", + "url": "https://platform.claude.com/docs/en/api/java/models/retrieve", "status": "success", - "path": "en/api/go/beta/files.md", - "sha256": "79e8bba7001a094e7a5ce86145a736fdd842f44a30d773e59c1b12750a401e7f", - "size": 39378 + "path": "en/api/java/models/retrieve.md", + "sha256": "f7dedf1a650d99b12b6d51b1f5cd822bf1eaa99dd5f98f99bc02a29a76d00297", + "size": 13545 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/messages", + "url": "https://platform.claude.com/docs/en/api/java/models/list", "status": "success", - "path": "en/api/go/beta/messages.md", - "sha256": "9d03ba48fd1fc747163190286fef330b4a54f217e4ba65aac1789feeff9e2e8e", - "size": 3211471 + "path": "en/api/java/models/list.md", + "sha256": "dde378566d6c1c2ffc1e5d0c3fb32d54a4193eca6e83c12a4e50f12cee7a8aa6", + "size": 14850 }, { - "url": "https://platform.claude.com/docs/en/api/go/models/list", + "url": "https://platform.claude.com/docs/en/api/java/completions/create", "status": "success", - "path": "en/api/go/models/list.md", - "sha256": "9012bba651dd656610ca993853240c6ee49a725748b37b5cbbfd05ac5fb6a726", - "size": 16018 + "path": "en/api/java/completions/create.md", + "sha256": "4a3c4c7322448263caf49ab0a74b4b11e94a77cb5fadba42886b5b88ce6cbebf", + "size": 12591 }, { - "url": "https://platform.claude.com/docs/en/api/go/models/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/messages/batches", "status": "success", - "path": "en/api/go/models/retrieve.md", - "sha256": "71930c08f44b46a61cdc4c695984c96e8c8e61626798ab806ec58ff4f0dc8c9c", - "size": 14529 + "path": "en/api/java/messages/batches.md", + "sha256": "86eac7731489a22f879cf261320103d27f389738209838738204e3eb8fcf4b79", + "size": 269823 }, { - "url": "https://platform.claude.com/docs/en/api/go/completions/create", + "url": "https://platform.claude.com/docs/en/api/java/messages/create", "status": "success", - "path": "en/api/go/completions/create.md", - "sha256": "57044895d14c5c56f8b31cbd0ec6d4b09b09fa5ae7deffd9056a0b90daa9c3bd", - "size": 14302 + "path": "en/api/java/messages/create.md", + "sha256": "0d4b8558425dfbfee04a2e5d70badfb9e35129087d619d9003caf5363db7e311", + "size": 131301 }, { - "url": "https://platform.claude.com/docs/en/api/go/messages/create", + "url": "https://platform.claude.com/docs/en/api/java/messages/count_tokens", "status": "success", - "path": "en/api/go/messages/create.md", - "sha256": "d5b53da5469e7edaf9e35113e28be32f2cbe1f0e2e2b220c32a75f9b28557d3e", - "size": 145711 + "path": "en/api/java/messages/count_tokens.md", + "sha256": "ec2cc77e31301d237607f59c194cbf19cf155c27a11c2fdd2e32b708468f8a6d", + "size": 93234 }, { - "url": "https://platform.claude.com/docs/en/api/go/messages/count_tokens", + "url": "https://platform.claude.com/docs/en/api/java/beta/files", "status": "success", - "path": "en/api/go/messages/count_tokens.md", - "sha256": "fd2fddabbee8ab06bfdb7c35ed1797a0634f86ab94156603dbf0314a6053c04a", - "size": 102051 + "path": "en/api/java/beta/files.md", + "sha256": "7a378987767f2eaf05763cf8bc89091ec5232372faa41a14632fb7f18bcf635b", + "size": 31956 }, { - "url": "https://platform.claude.com/docs/en/api/go/messages/batches", + "url": "https://platform.claude.com/docs/en/api/java/beta/user_profiles", "status": "success", - "path": "en/api/go/messages/batches.md", - "sha256": "ce948620c05a275024c3f2e5258f2c8c72ab62c3d72aa38ac4e2213ca47c0114", - "size": 304933 + "path": "en/api/java/beta/user_profiles.md", + "sha256": "d876b4142b6c06d921cd58cd639db1444a4708ebb8ad06bb908e234bfea2eacb", + "size": 62580 }, { - "url": "https://platform.claude.com/docs/en/api/go/messages/batches/create", + "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels", "status": "success", - "path": "en/api/go/messages/batches/create.md", - "sha256": "7407c2868b6fb350db1bfd8abeb5ef11febcd827b72fc8e2441296eae5393e34", - "size": 126113 + "path": "en/api/java/beta/tunnels.md", + "sha256": "53b0a22b1eb5ce66747251492412acfd25808d9fcb826ab1bd84a806eaa19d46", + "size": 64950 }, { - "url": "https://platform.claude.com/docs/en/api/go/messages/batches/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/webhooks", "status": "success", - "path": "en/api/go/messages/batches/list.md", - "sha256": "ddcc7a670f3446f30bab414ea5023f9e2cc9c8f2d4071eae2db924fd3d3caf74", - "size": 5820 + "path": "en/api/java/beta/webhooks.md", + "sha256": "cc08d51b8443e0b8d76a372c6b6cff68802bb15dced3d3ccfa4dd38f4c699962", + "size": 34918 }, { - "url": "https://platform.claude.com/docs/en/api/go/messages/batches/cancel", + "url": "https://platform.claude.com/docs/en/api/java/beta/environments", "status": "success", - "path": "en/api/go/messages/batches/cancel.md", - "sha256": "bcde07f82ffe6a8ebd67f92c5ebb799085a1f366cdf3e6f4b43fa075f1848cb0", - "size": 5661 + "path": "en/api/java/beta/environments.md", + "sha256": "6ccfbde66867aa51385d59e0c475d0e296676710be8ba1598b6874d4bc7d78a9", + "size": 121443 }, { - "url": "https://platform.claude.com/docs/en/api/go/messages/batches/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/messages", "status": "success", - "path": "en/api/go/messages/batches/retrieve.md", - "sha256": "317e212972d4a10b02f8c3ea5fcc447f2d7f5791d1fd1696e05b0d5ecf0945a9", - "size": 5339 + "path": "en/api/java/beta/messages.md", + "sha256": "99a812a49da40b899e2366c96ea4813661dcbdd28d67d95a79658d18e5c00109", + "size": 2894666 }, { - "url": "https://platform.claude.com/docs/en/api/go/messages/batches/results", + "url": "https://platform.claude.com/docs/en/api/java/beta/agents", "status": "success", - "path": "en/api/go/messages/batches/results.md", - "sha256": "7da47b05070c9af75d8e63cbab9f63cbb7547bad6fcd33dab34d538f8f5cf308", - "size": 41569 + "path": "en/api/java/beta/agents.md", + "sha256": "865ca52ca19a0062d3d4b5e44a9a4846e503119c398dea3f26e927628adaa614", + "size": 448590 }, { - "url": "https://platform.claude.com/docs/en/api/go/messages/batches/delete", + "url": "https://platform.claude.com/docs/en/api/java/beta/deployment_runs", "status": "success", - "path": "en/api/go/messages/batches/delete.md", - "sha256": "c8fd9f328d4daf47510651f78f050cfb389a3145a47272346b13b46ab8b603a5", - "size": 1956 + "path": "en/api/java/beta/deployment_runs.md", + "sha256": "151b2016087c5d6786d0ad278a7ecc87c4e4d67f65949420f872bbdd29b62e54", + "size": 33676 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/environments/create", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions", "status": "success", - "path": "en/api/go/beta/environments/create.md", - "sha256": "4a43e851b95d8986e046c8890cc5e4c9778f3b60125fc0c86a33415552572a34", - "size": 13314 + "path": "en/api/java/beta/sessions.md", + "sha256": "95f367b1e6675abac0d2d1f7e5d000c922c373e3c94116bcb11a8d5f791fd934", + "size": 1180328 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/environments/update", + "url": "https://platform.claude.com/docs/en/api/java/beta/models", "status": "success", - "path": "en/api/go/beta/environments/update.md", - "sha256": "0150a6999a2f9504af270e6ac94313bed93aae3fe2f0f404c72e66e80a2f6677", - "size": 13453 + "path": "en/api/java/beta/models.md", + "sha256": "87c511ce7a77296fb23ce865d2713579e030a2ebaf4dfa6864a27e39b72b172d", + "size": 47866 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/environments/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores", "status": "success", - "path": "en/api/go/beta/environments/list.md", - "sha256": "acf7baaa01ed6be5980f4ee3876caa369642ff481267a34d917b0a083268a132", - "size": 10694 + "path": "en/api/java/beta/memory_stores.md", + "sha256": "5f854c0446a39ebba0d47f5654a158cacbe9f66255b03aa1680e845a4b42b3e2", + "size": 123275 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/environments/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/vaults", "status": "success", - "path": "en/api/go/beta/environments/retrieve.md", - "sha256": "62a2b8e3135a9be4cae69eec433b39afd40f1aa7b6e655ad83a05a3282e2e324", - "size": 10145 + "path": "en/api/java/beta/vaults.md", + "sha256": "75efea2d66a276b86972a3c3182cb6acbb204d10d493ccedeadbf805f1167f38", + "size": 108485 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/environments/delete", + "url": "https://platform.claude.com/docs/en/api/java/beta/deployments", "status": "success", - "path": "en/api/go/beta/environments/delete.md", - "sha256": "bd2c0b06e5e472f3f2b7522988d49fd2d4bb9d4f63e6b771afb445f7f5d45ab0", - "size": 6822 + "path": "en/api/java/beta/deployments.md", + "sha256": "727e2682781bbf6feeb9dfa34bc743d003c41323f99b4e4ba011c2582e49115a", + "size": 220894 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work", + "url": "https://platform.claude.com/docs/en/api/java/beta/skills", "status": "success", - "path": "en/api/go/beta/environments/work.md", - "sha256": "eecb53d9fb70175083a41cc7f34ba57cbf4ef4225f8c0858c014414eedcd040c", - "size": 77343 + "path": "en/api/java/beta/skills.md", + "sha256": "a309c0910a695754e875ee45327eee4adbd3ad0224f3b1bfdfc6b0d9deb6705f", + "size": 59113 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/environments/archive", + "url": "https://platform.claude.com/docs/en/api/java/beta/files/retrieve_metadata", "status": "success", - "path": "en/api/go/beta/environments/archive.md", - "sha256": "b2f46bfbe7e2cee3382defc04c5e77e15dadab97d0470a981b8a45d17053e556", - "size": 10227 + "path": "en/api/java/beta/files/retrieve_metadata.md", + "sha256": "fb722e989c5ba1301e08f0834d2a5a0aa95c7b8603b17a8bdae6ce7a07bddfcd", + "size": 6508 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/deployment_runs/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/files/download", "status": "success", - "path": "en/api/go/beta/deployment_runs/list.md", - "sha256": "bc2b765538f17f8e329ae98d55c746a56e29e825f336f9aacbf1f386a6ad7647", - "size": 14331 + "path": "en/api/java/beta/files/download.md", + "sha256": "9bdcec83b67c1d03110a1e21db79a1506b1e45839c6ebccb8ee7d58af56dea51", + "size": 4789 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/deployment_runs/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/files/delete", "status": "success", - "path": "en/api/go/beta/deployment_runs/retrieve.md", - "sha256": "4c4a60b7b9c9d3844ebd58ab44e6518b40684ecb92288b12360f86eaddcec8ac", - "size": 12963 + "path": "en/api/java/beta/files/delete.md", + "sha256": "2d3d0c9b979ceea5bbb15a6998000db228f2ed8403e41dcaaae4101a002a60a8", + "size": 5088 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/create", + "url": "https://platform.claude.com/docs/en/api/java/beta/files/list", "status": "success", - "path": "en/api/go/beta/vaults/create.md", - "sha256": "25d5a31b5e6fbba03bcd0ed3671dc9e13faae05301757713d5e95dfaa3851599", - "size": 7476 + "path": "en/api/java/beta/files/list.md", + "sha256": "043a8e38f86ac7b9e4d74fe78778d5965ae63f09380e48df5bf287cf70d352bf", + "size": 7241 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/update", + "url": "https://platform.claude.com/docs/en/api/java/beta/files/upload", "status": "success", - "path": "en/api/go/beta/vaults/update.md", - "sha256": "d067e65ecda3d6c809e2e9cc33e453831a0b90969a192d905a2b92b20fae8c64", - "size": 7615 + "path": "en/api/java/beta/files/upload.md", + "sha256": "3efbe627744c0b4514b8c47ce2d7dfbe0514d9179f46b2abcbc616e79367aa30", + "size": 6993 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/resources", "status": "success", - "path": "en/api/go/beta/vaults/list.md", - "sha256": "0d66fa61f4477b23ceb66931d9000c3d9f8ae8a59c823b1b1f3d96e33d2caf23", - "size": 7648 + "path": "en/api/java/beta/sessions/resources.md", + "sha256": "62ec35a58dc514b65edee2e5d71f5e9352d33216ea552da0935b5ae2497079b0", + "size": 40299 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/create", "status": "success", - "path": "en/api/go/beta/vaults/retrieve.md", - "sha256": "f76a2a5f0ac3c7d65534d5c6bb5dfa565d661e4d55f57274f60e63562daa151e", - "size": 7294 + "path": "en/api/java/beta/sessions/create.md", + "sha256": "d625ccb9d6f994ba0f516d6e544284ee1fab16fdcd530901612283b02bc93f93", + "size": 84597 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/update", "status": "success", - "path": "en/api/go/beta/vaults/credentials.md", - "sha256": "aba86e2dd0be4338e26252b27535d323a636b00a254f161bd561d193b064ee15", - "size": 115519 + "path": "en/api/java/beta/sessions/update.md", + "sha256": "dd58a7bb61a7fc0395c31ee02ab91793d875f7438a8a05321d982f236f0ce7df", + "size": 48034 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/delete", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/retrieve", "status": "success", - "path": "en/api/go/beta/vaults/delete.md", - "sha256": "8688833709ea104e39540cfead0e99cb1a564777bc68f15d708ba8d2a0e28ed0", - "size": 6714 + "path": "en/api/java/beta/sessions/retrieve.md", + "sha256": "9b2a3f03db47e7497a0a4eb2fd7849fac3a57c692a9b8e543ec6f1b0639776c0", + "size": 46717 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/archive", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/delete", "status": "success", - "path": "en/api/go/beta/vaults/archive.md", - "sha256": "2d304f039b32df75d8ef17c4df0b94bee8ad097a8aed09f6b0e59a9fc7b5d439", - "size": 7327 + "path": "en/api/java/beta/sessions/delete.md", + "sha256": "f876a40ecaa9a5a9efcaaa4741b57645b72ffc5b97814035713ee13b57459de3", + "size": 5180 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/user_profiles/create", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/list", "status": "success", - "path": "en/api/go/beta/user_profiles/create.md", - "sha256": "975a82a206f62fc9aa78462b50ed4a63a516515921ad67ef28b255e01c26e79b", - "size": 15341 + "path": "en/api/java/beta/sessions/list.md", + "sha256": "cceadadb90aee35e291b7198931c0d324903ebb7081515ff1f42e890f6bad84d", + "size": 49599 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/user_profiles/update", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/archive", "status": "success", - "path": "en/api/go/beta/user_profiles/update.md", - "sha256": "a26f8708bd941f3a0d98b5e408a08d5b693b66a949b1e07251753aeccfac0c56", - "size": 15340 + "path": "en/api/java/beta/sessions/archive.md", + "sha256": "4d7b0b5983be7faeea2ca89eee54ac589bb826f3e3fe0328af158edf6ffbac25", + "size": 46732 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/user_profiles/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/events", "status": "success", - "path": "en/api/go/beta/user_profiles/list.md", - "sha256": "33a650efe983d5b28a1ad6037dec3a89eb40345a0cef517595726d34627aa220", - "size": 14545 + "path": "en/api/java/beta/sessions/events.md", + "sha256": "95ecdf2b7e4d3f2766ca85dbf07c9f68f7328751a20ee92195f10d179fe181ac", + "size": 557847 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/user_profiles/create_enrollment_url", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads", "status": "success", - "path": "en/api/go/beta/user_profiles/create_enrollment_url.md", - "sha256": "71d6471eca9c8e65319d06c0c12363265599c672bd36d881ac73a871e68ddeeb", - "size": 7297 + "path": "en/api/java/beta/sessions/threads.md", + "sha256": "053cfdae20452e1dd7afdc2b87f50029bfd341cedd14f998a898343d5ef6b505", + "size": 442606 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/user_profiles/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/user_profiles/create_enrollment_url", "status": "success", - "path": "en/api/go/beta/user_profiles/retrieve.md", - "sha256": "5ac46453504aec42a4eda0dfd11ac7081f7086d7ec620adc53655aca2f8dcb50", - "size": 13065 + "path": "en/api/java/beta/user_profiles/create_enrollment_url.md", + "sha256": "0250f7d80e73a22ca8d9b7b46c312e82965cea87cbb4851dd56301eb370dd231", + "size": 5825 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/agents/create", + "url": "https://platform.claude.com/docs/en/api/java/beta/user_profiles/create", "status": "success", - "path": "en/api/go/beta/agents/create.md", - "sha256": "1f71ef19a689d767114eff541e156eec370a47e44dd0a33d6505ac8d8166160d", - "size": 65155 + "path": "en/api/java/beta/user_profiles/create.md", + "sha256": "f573bf289e4c1dd6c4b25b5b12d5a24a515c9469fe606eb48b87e6e284c3be55", + "size": 12608 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/agents/update", + "url": "https://platform.claude.com/docs/en/api/java/beta/user_profiles/update", "status": "success", - "path": "en/api/go/beta/agents/update.md", - "sha256": "e156ddb818b244d388d73b126b75cb9778a3bb37079ed7a6f0237d530b4a15ee", - "size": 66079 + "path": "en/api/java/beta/user_profiles/update.md", + "sha256": "7ac45369684cf5e6a7bf40ef6e1ac37fcf2286f08f0d183f3f147edfe0afd49a", + "size": 12567 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/agents/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/user_profiles/retrieve", "status": "success", - "path": "en/api/go/beta/agents/list.md", - "sha256": "b471005180d7b85e9e61cb8733344b75687c306534689104cb841e50a4284bc5", - "size": 35136 + "path": "en/api/java/beta/user_profiles/retrieve.md", + "sha256": "c19b042bc87a484f81c9348225b166176d5199c4ed2bbfd9cf7b36a94d48295c", + "size": 10536 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/agents/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/user_profiles/list", "status": "success", - "path": "en/api/go/beta/agents/retrieve.md", - "sha256": "fe8cba0750386be43035a5549ec8b6eccd0b623990fee3959aa8159a505e08f0", - "size": 34366 + "path": "en/api/java/beta/user_profiles/list.md", + "sha256": "162fb41eed801965c1efc80e9120b5303d91763590c15b671d7ef6c887539e16", + "size": 11669 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/agents/versions", + "url": "https://platform.claude.com/docs/en/api/java/beta/deployment_runs/retrieve", "status": "success", - "path": "en/api/go/beta/agents/versions.md", - "sha256": "4851b6f85626fda8c325e47fb01b387ada861491985d3bc67b941444ec9d112c", - "size": 34898 + "path": "en/api/java/beta/deployment_runs/retrieve.md", + "sha256": "9686ee687c7e495ddd2e2048e74a3a6d2be55c4e313922d47fd7be17d3447743", + "size": 10721 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/agents/archive", + "url": "https://platform.claude.com/docs/en/api/java/beta/deployment_runs/list", "status": "success", - "path": "en/api/go/beta/agents/archive.md", - "sha256": "e0517f3697be11628a28cfabbb8d7e068c02249a9b11b40c451faf11f5bfc870", - "size": 34232 + "path": "en/api/java/beta/deployment_runs/list.md", + "sha256": "75486c7888ddabe416a33e39fab2530435245f3b3852ee5afcab82acefe2556b", + "size": 12027 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/models/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memory_versions", "status": "success", - "path": "en/api/go/beta/models/list.md", - "sha256": "7b650d48c3c94ba21684b76270fcad2cd27f21dba0bd4ec430f8309ae3a5f9c7", - "size": 16814 + "path": "en/api/java/beta/memory_stores/memory_versions.md", + "sha256": "c63a8a46560a8d1ead00451217e6f3b22670236d7cf9074e536a541122c71e89", + "size": 44786 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/models/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/create", "status": "success", - "path": "en/api/go/beta/models/retrieve.md", - "sha256": "8e8a38b5ececdec0b41f0c96f2f971736b75c2feab984fb8c0980ca6fee3aa94", - "size": 15273 + "path": "en/api/java/beta/memory_stores/create.md", + "sha256": "f631583a6bf500cd299fed37f7d1a21f400b03f719ac9392e04048119e5643a3", + "size": 7704 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/create", + "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/update", "status": "success", - "path": "en/api/go/beta/tunnels/create.md", - "sha256": "1b72fed5e35cc7e9026f1754accb12dc4457320c67b72fdf93547f157df0c5c4", - "size": 7747 + "path": "en/api/java/beta/memory_stores/update.md", + "sha256": "73541521972d676f5959399d1e275e745c021b0c1ac2ff84f06151c6c2d5bc99", + "size": 7710 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/rotate_token", + "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/retrieve", "status": "success", - "path": "en/api/go/beta/tunnels/rotate_token.md", - "sha256": "e654cb78b8a3f1062030e45e7af96357f46388d5bebfed22c582017d20161c1c", - "size": 7420 + "path": "en/api/java/beta/memory_stores/retrieve.md", + "sha256": "27199ebbe24dc16f1253afd144ee4b134f3ea1476abf3e0b8676c434e010e50c", + "size": 7058 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/delete", "status": "success", - "path": "en/api/go/beta/tunnels/list.md", - "sha256": "39267d070647a22ffecc83a36ad8a42b0809609e56d6c89bc4bd157015b619fd", - "size": 8048 + "path": "en/api/java/beta/memory_stores/delete.md", + "sha256": "5337a94de5dde1b02abc77bf4a8e4bee99801886ee699ea513a280892064e205", + "size": 5567 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/certificates", + "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/list", "status": "success", - "path": "en/api/go/beta/tunnels/certificates.md", - "sha256": "06d62a45f6ac6ebfb516d9ab8a7045c6c17fcd9b261fcab0539bc824295fcd24", - "size": 33377 + "path": "en/api/java/beta/memory_stores/list.md", + "sha256": "eab2c05942e78210be5ef30fe1ced63ae9137014f04fc2adcc502733186627df", + "size": 7842 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memories", "status": "success", - "path": "en/api/go/beta/tunnels/retrieve.md", - "sha256": "c02882dd429832834c35d4eed04a7aeeeb812596bb2ada8ce17d44207de3b24e", - "size": 7549 + "path": "en/api/java/beta/memory_stores/memories.md", + "sha256": "f7b632b2dfac392c31d904550acdf2432e3109f584390ba27a51ecd08fb9cf36", + "size": 57805 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/reveal_token", + "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/archive", "status": "success", - "path": "en/api/go/beta/tunnels/reveal_token.md", - "sha256": "cf0562533726409e5c42a71c7affe1bfd209c0f0690c2f1178764a1c6cc4c560", - "size": 7305 + "path": "en/api/java/beta/memory_stores/archive.md", + "sha256": "18b4bc3f8095a7d3d44c7b7d33109fd2d9680abe4d5e36eb8d88201abbb6cc00", + "size": 7132 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/archive", + "url": "https://platform.claude.com/docs/en/api/java/beta/models/retrieve", "status": "success", - "path": "en/api/go/beta/tunnels/archive.md", - "sha256": "71db9b721557006ab593d7d5bb376bf7bea28c6aa6d17532d21662b982e8b36a", - "size": 7848 + "path": "en/api/java/beta/models/retrieve.md", + "sha256": "b79e82e3baf22e09b7c475f1ba1121a9ec4f8e84637e6dd19fbcce4b85458042", + "size": 14262 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/create", + "url": "https://platform.claude.com/docs/en/api/java/beta/models/list", "status": "success", - "path": "en/api/go/beta/sessions/create.md", - "sha256": "bbf807f2d9c4ff95d4ba8534d13e69716cc1a047a06faab241a6bb59c6129f65", - "size": 93175 + "path": "en/api/java/beta/models/list.md", + "sha256": "c06b0d91a7a6f7209fab5a9bbf44cef5c8c824a8a6f722aacea1cbd9797d904c", + "size": 15587 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/resources", + "url": "https://platform.claude.com/docs/en/api/java/beta/agents/create", "status": "success", - "path": "en/api/go/beta/sessions/resources.md", - "sha256": "43c24c457ed75db26da7953ea1845e63d2e99d8ee10c1b9c1c11cbce4ab13ea3", - "size": 49277 + "path": "en/api/java/beta/agents/create.md", + "sha256": "e3e69605c79ae60cdc459324f79e062434f15cc12b7ad7db194209628f932e62", + "size": 59466 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/update", + "url": "https://platform.claude.com/docs/en/api/java/beta/agents/update", "status": "success", - "path": "en/api/go/beta/sessions/update.md", - "sha256": "1a38b02caa16d912754ed81554dc9ac67b32f84ce7c8b95ada2272509827f329", - "size": 51929 + "path": "en/api/java/beta/agents/update.md", + "sha256": "6598a2ddfbfa17a8b508fd0f47abc85a9fe6692e41062a69bc6a59e7a4b62004", + "size": 60219 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/agents/retrieve", "status": "success", - "path": "en/api/go/beta/sessions/list.md", - "sha256": "6292cc7d3b9c34875f4115e9f10b07949dc2fcdcf0d5b684aaa517585c2b6c08", - "size": 53947 + "path": "en/api/java/beta/agents/retrieve.md", + "sha256": "6dc0526a8a01d4a2501fe4d7663da21730da5d5dd5a6714e7f6ddbcb77d061cb", + "size": 31457 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads", + "url": "https://platform.claude.com/docs/en/api/java/beta/agents/list", "status": "success", - "path": "en/api/go/beta/sessions/threads.md", - "sha256": "0bfc9083cf79bb95037d65fcf25dfde68d2d2929e247fd653e79c5ecad14b58f", - "size": 476065 + "path": "en/api/java/beta/agents/list.md", + "sha256": "a3a1d9d0cdf4356aef844bac5b4e7b64e4911090783d70b35be68a4e50f05124", + "size": 32173 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/agents/versions", "status": "success", - "path": "en/api/go/beta/sessions/retrieve.md", - "sha256": "4e75502d6b4df125ead978390008a8fd88d1d0a9f907e2823377a15c0b442707", - "size": 50565 + "path": "en/api/java/beta/agents/versions.md", + "sha256": "8fa1dd7e48e69ecd07cec8c0039e0e85bba6a16a3caf24621704e49266479953", + "size": 31957 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/events", + "url": "https://platform.claude.com/docs/en/api/java/beta/agents/archive", "status": "success", - "path": "en/api/go/beta/sessions/events.md", - "sha256": "05a727c08427b6bb370aedc3c65cb955d6cdafd1c8d93703156575d958c7d1d3", - "size": 609221 + "path": "en/api/java/beta/agents/archive.md", + "sha256": "5ff3334eebfd6fbf99b82fef3fb31f82ce885077132ccf89ef93c5e6dd12f2d6", + "size": 31317 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/delete", + "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work", "status": "success", - "path": "en/api/go/beta/sessions/delete.md", - "sha256": "f6db8c1f790deba6967966124facf6274c89bd7e56d466b09daebc76819d8aed", - "size": 6689 + "path": "en/api/java/beta/environments/work.md", + "sha256": "051648943ab9ba7d930a17d633f22c8904fb7a62c6fc0801dc71ce9dab3c8719", + "size": 63242 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/archive", + "url": "https://platform.claude.com/docs/en/api/java/beta/environments/create", "status": "success", - "path": "en/api/go/beta/sessions/archive.md", - "sha256": "4404ddf1783bc79533dd448501d482d03f75188f0d02e866c4c2c18bf6b0f2e1", - "size": 50599 + "path": "en/api/java/beta/environments/create.md", + "sha256": "fcf6f6a74c089a9e097792557827953f33ade3022e8acb8062d1494d42c10a82", + "size": 11662 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/unpause", + "url": "https://platform.claude.com/docs/en/api/java/beta/environments/update", "status": "success", - "path": "en/api/go/beta/deployments/unpause.md", - "sha256": "a061bf573ec6d97fd8f1b4c35e524ad0a1993542ba015bf9cba13e3abd4e63f5", - "size": 24128 + "path": "en/api/java/beta/environments/update.md", + "sha256": "1e2a98cce892534cbd2429273a6b5735f80fa6a3c5675e34c48900d2744164d6", + "size": 11668 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/create", + "url": "https://platform.claude.com/docs/en/api/java/beta/environments/retrieve", "status": "success", - "path": "en/api/go/beta/deployments/create.md", - "sha256": "d1a8dfff9b8191fd66de2025f17042408caa4d8edd5a96bd3055f37c3120ab03", - "size": 35547 + "path": "en/api/java/beta/environments/retrieve.md", + "sha256": "f52cb397e95581d351841cb39c18bac1e731bcdc05c09ac2ebb618bdf87a3b56", + "size": 8581 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/update", + "url": "https://platform.claude.com/docs/en/api/java/beta/environments/delete", "status": "success", - "path": "en/api/go/beta/deployments/update.md", - "sha256": "0460cb00fc92ac1815ef1de90336a76cec13e5491fdb7c7aa85e9d9a20b4dd7e", - "size": 35099 + "path": "en/api/java/beta/environments/delete.md", + "sha256": "bb0d6167958dba34c651dca000f37a31b5ba47ea37302c92a6a73407d78974e9", + "size": 5287 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/environments/list", "status": "success", - "path": "en/api/go/beta/deployments/list.md", - "sha256": "f99f538d3ffc4c62e9913741d6487bb48d837fb02aae90c24b7262e72e4c2840", - "size": 25207 + "path": "en/api/java/beta/environments/list.md", + "sha256": "7e478baa533e49e2bb5d444a7044efaf65082fdc5668dcf7780cd70001c15967", + "size": 9105 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/environments/archive", "status": "success", - "path": "en/api/go/beta/deployments/retrieve.md", - "sha256": "54a45e1644fb42862e07b2104ca40283a6e93f6e90e5943cfccced1761e08da9", - "size": 24083 + "path": "en/api/java/beta/environments/archive.md", + "sha256": "28e2dd1945842147d65dd7ec4e95e985a7a0c51c9dd9e9af6cd390a1e6bfc64f", + "size": 8644 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/run", + "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/certificates", "status": "success", - "path": "en/api/go/beta/deployments/run.md", - "sha256": "437ec7fbc0ccc8cf8b96fa58b7ab5fb22695c406d9b26817c4a99252b315f9d2", - "size": 12946 + "path": "en/api/java/beta/tunnels/certificates.md", + "sha256": "2197e3b0ce9387f6bc934ac906e762464e7e0d8d601f5263b3adfdd70e1da981", + "size": 28116 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/pause", + "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/create", "status": "success", - "path": "en/api/go/beta/deployments/pause.md", - "sha256": "6a828f0b60dded1f734a3ba3a949a1b29c8f6bcf595971b4402702f391b50267", - "size": 24108 + "path": "en/api/java/beta/tunnels/create.md", + "sha256": "1740baecd732d067f662be5242f2136fb364f2064638764ff74f400ef1d4b624", + "size": 6306 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/archive", + "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/retrieve", "status": "success", - "path": "en/api/go/beta/deployments/archive.md", - "sha256": "be5fd6dbf4df6d841da342ba9b52790d212d52e533e7ea8dcf28055d367dec59", - "size": 24128 + "path": "en/api/java/beta/tunnels/retrieve.md", + "sha256": "11e476220bd01093a68e0870dfcb1b903346a247877f1392c5eda10a5eb8964e", + "size": 6122 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/skills/create", + "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/reveal_token", "status": "success", - "path": "en/api/go/beta/skills/create.md", - "sha256": "08941dd054a35153f383f3b77d26c2f58d83913359fd3e6c1898a04788b3d5b1", - "size": 8814 + "path": "en/api/java/beta/tunnels/reveal_token.md", + "sha256": "3abb78cafd7e632d1c363f13f238064e5c209dfbff6d903401e96807d8deadc5", + "size": 5831 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/skills/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/list", "status": "success", - "path": "en/api/go/beta/skills/list.md", - "sha256": "3374c92ec844d2e8250512b17cab9842a3b6a211fdeeb129aa2226c85a2d5a85", - "size": 9079 + "path": "en/api/java/beta/tunnels/list.md", + "sha256": "bee9c3bb243a5acf810eaf3663d8986a1d18b6ccf7b5fbc8f6f30c04c621571b", + "size": 6584 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/skills/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/archive", "status": "success", - "path": "en/api/go/beta/skills/retrieve.md", - "sha256": "eabe3fe0583966d329c6b60eec38edecfe6634854f7f12eeb9d139717d8dafbd", - "size": 8478 + "path": "en/api/java/beta/tunnels/archive.md", + "sha256": "c8946c88707835c4d3d04de5b05ca6d36c3b47a23a6a66d2b56d02d3580bd913", + "size": 6402 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/skills/versions", + "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/rotate_token", "status": "success", - "path": "en/api/go/beta/skills/versions.md", - "sha256": "2ffb0816454cf131853be1c917dc0e2f2c8c20d392d50185095c84550d616745", - "size": 38809 + "path": "en/api/java/beta/tunnels/rotate_token.md", + "sha256": "eb2efff32dd04319b31fb89ebae1ef37f171778b266f03e96e9fb592c8773735", + "size": 5932 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/skills/delete", + "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches", "status": "success", - "path": "en/api/go/beta/skills/delete.md", - "sha256": "8f78bc23d24ce8182be984c677724f50b37c09eee35296b60038321f30932e9a", - "size": 6763 + "path": "en/api/java/beta/messages/batches.md", + "sha256": "570b7471951b49e9cc62ba0eb10235b7b559cc0f4f95a65f88a449e1509e167a", + "size": 792975 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memory_versions", + "url": "https://platform.claude.com/docs/en/api/java/beta/messages/create", "status": "success", - "path": "en/api/go/beta/memory_stores/memory_versions.md", - "sha256": "d544f576fc9812deeb50d109b028946b653cfa86f52dfd4dede66da67014e4b1", - "size": 50697 + "path": "en/api/java/beta/messages/create.md", + "sha256": "7804ad938a0bc80e4087ac69916b0a3a85138905ec92232119afb1f10d5f0a88", + "size": 298335 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/create", + "url": "https://platform.claude.com/docs/en/api/java/beta/messages/count_tokens", "status": "success", - "path": "en/api/go/beta/memory_stores/create.md", - "sha256": "ca56389120be704701fa4f4c71f5898a7402cc72c5cc7479fe5873a8142a6aff", - "size": 9098 + "path": "en/api/java/beta/messages/count_tokens.md", + "sha256": "9fa39b0e315b87ffe929d9077e955a90dcf86aa6c32d478dd78887af24ea9ad4", + "size": 143140 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/update", + "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/pause", "status": "success", - "path": "en/api/go/beta/memory_stores/update.md", - "sha256": "8eea3ae0b61b3e4f0aacf263f73ed4ebdcb68ee98e50cc704c30c25e378da52c", - "size": 9217 + "path": "en/api/java/beta/deployments/pause.md", + "sha256": "73a5a8defc535d16d74e956f8961b4eaf0a814347a06594aa4b805103e766f7e", + "size": 20282 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/create", "status": "success", - "path": "en/api/go/beta/memory_stores/list.md", - "sha256": "44a0c5303f8adb00d2f77246127e3d8f2e8015af1d418bc5a8b90899c3f9d5bb", - "size": 9350 + "path": "en/api/java/beta/deployments/create.md", + "sha256": "27d009023359b56b5607f23251e4fd6d90e493c2011fd0aeb4950fbf315225b9", + "size": 30287 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/update", "status": "success", - "path": "en/api/go/beta/memory_stores/retrieve.md", - "sha256": "d80ef80f32684e6b7b332eb8a72d0381ac6499302bc0e6d7517a6b3e6b348821", - "size": 8511 + "path": "en/api/java/beta/deployments/update.md", + "sha256": "825b6a185db956086f77114340b4a77c23b4b89f27c581e255c1435c30ce4306", + "size": 29918 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/delete", + "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/retrieve", "status": "success", - "path": "en/api/go/beta/memory_stores/delete.md", - "sha256": "7489d9dba64d288afb2294c665d206a3e0147d65dbbb30c9b5fc04cc059453a8", - "size": 7066 + "path": "en/api/java/beta/deployments/retrieve.md", + "sha256": "ba0626b3f5eadec23b1618a9d349e461d5a001a3743d50ab6fab2ab1434c6fbe", + "size": 20278 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memories", + "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/list", "status": "success", - "path": "en/api/go/beta/memory_stores/memories.md", - "sha256": "0e931db0bf2e3ed63626f7cc9904118166121033f3544398761264e4d03188f6", - "size": 65922 + "path": "en/api/java/beta/deployments/list.md", + "sha256": "0907da1412a0972ddf730ec4d9d37732a48d9a91e30693317130acf4a70d99b4", + "size": 21336 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/archive", + "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/unpause", "status": "success", - "path": "en/api/go/beta/memory_stores/archive.md", - "sha256": "54396015c66fe82c9524434770be879a6fbf5486252b5afefeee05ef8fcf87a2", - "size": 8604 + "path": "en/api/java/beta/deployments/unpause.md", + "sha256": "2d6f65871699214bda39e95fc8d9c763af2a1ebfca67449d8a337cfdbfa21eed", + "size": 20304 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/files/download", + "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/archive", "status": "success", - "path": "en/api/go/beta/files/download.md", - "sha256": "69cc2d61dfa940946cc96de298688338e240061b01afff959d2d4b5aed58aaae", - "size": 6350 + "path": "en/api/java/beta/deployments/archive.md", + "sha256": "4d2c8fa7862d72734adb1862e10dfc46c8a91ecfe38c069c124b48cfd8d4c2d4", + "size": 20304 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/files/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/run", "status": "success", - "path": "en/api/go/beta/files/list.md", - "sha256": "80b7d40c2e603f5e0720f07b71a33ac13fe2993c3b36a5a6b7f7f2fea40bf805", - "size": 8742 + "path": "en/api/java/beta/deployments/run.md", + "sha256": "8905190a2cf1dd248fa7bfdcc1877efe2ed51626e9bd1ef13642fea4104cc146", + "size": 10678 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/files/upload", + "url": "https://platform.claude.com/docs/en/api/java/beta/skills/create", "status": "success", - "path": "en/api/go/beta/files/upload.md", - "sha256": "df81b3b2a67905f8ea6ce3a15676518825b010e027a64e3fce99aaea0543bc7c", - "size": 8374 + "path": "en/api/java/beta/skills/create.md", + "sha256": "e91caf8c73f498516538b8e073c9996afd4c8861c43cfcc7cffd300d60909bb8", + "size": 7219 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/files/retrieve_metadata", + "url": "https://platform.claude.com/docs/en/api/java/beta/skills/retrieve", "status": "success", - "path": "en/api/go/beta/files/retrieve_metadata.md", - "sha256": "9eb002b0ab1358fdbe3ab16a69d344ac0269026283cd1b7e9a606881dfa74f4f", - "size": 7946 + "path": "en/api/java/beta/skills/retrieve.md", + "sha256": "00520e7fe8ec571d35f0e9f9ebcef312fd342abff0bb92f0ea182e99ffa6c8be", + "size": 6812 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/files/delete", + "url": "https://platform.claude.com/docs/en/api/java/beta/skills/delete", "status": "success", - "path": "en/api/go/beta/files/delete.md", - "sha256": "fa40d6a97fbc4d617995614cf9f653e7b5c36e50ad8c7a6e6855a4c6f2cbec9b", - "size": 6627 + "path": "en/api/java/beta/skills/delete.md", + "sha256": "2821c1163373f0db0bf2ac8caf910adfcf6df412e61668e2389949249966a3a9", + "size": 5257 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/messages/create", + "url": "https://platform.claude.com/docs/en/api/java/beta/skills/list", "status": "success", - "path": "en/api/go/beta/messages/create.md", - "sha256": "89dadda6fbdd6a07f5996cd98c9a1fa0034817c464c6c600847b529279d987c8", - "size": 329740 + "path": "en/api/java/beta/skills/list.md", + "sha256": "2290915da1748a37a86dbb08128da3f3bd258c69fa2e1f1127839d86cd95612e", + "size": 7369 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/messages/count_tokens", + "url": "https://platform.claude.com/docs/en/api/java/beta/skills/versions", "status": "success", - "path": "en/api/go/beta/messages/count_tokens.md", - "sha256": "2896e9d091c5d0e34d3689b8ad6119671495f14f36e923b9cf1b32f119a99c42", - "size": 157908 + "path": "en/api/java/beta/skills/versions.md", + "sha256": "6d1e175e5d8e255f2e7500ad4e233c821edd2c0128156060667c40437a0a775b", + "size": 31669 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches", + "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/create", "status": "success", - "path": "en/api/go/beta/messages/batches.md", - "sha256": "34b8b89bbb3ba5c18848dbc371c150e11a2062ff793cd5f4d0cd40ecad517e42", - "size": 889676 + "path": "en/api/java/beta/vaults/create.md", + "sha256": "2dbad48bdd8800d99e010d40304303063e6fe95bab3a989092eb2bb5bb88d29e", + "size": 6081 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches/create", + "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/update", "status": "success", - "path": "en/api/go/beta/messages/batches/create.md", - "sha256": "5fe34642e8ba82f79a76a28df8610a2bade60c49756e7916fe423e128573ceb6", - "size": 190393 + "path": "en/api/java/beta/vaults/update.md", + "sha256": "31eca2e4fa44bd164d994741df1744dfada2ab1536a7c3d6ebf441669b9439e8", + "size": 6119 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/retrieve", "status": "success", - "path": "en/api/go/beta/messages/batches/list.md", - "sha256": "9920aa81da2721aa2155bb6f3ff8b5ec20b7f52fbb092af063ea4161451904c2", - "size": 11003 + "path": "en/api/java/beta/vaults/retrieve.md", + "sha256": "7461ecd268d923f32506de1c799e6fdc136e7a185ca1a8b68ec7e8965cd329f1", + "size": 5857 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches/cancel", + "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/delete", "status": "success", - "path": "en/api/go/beta/messages/batches/cancel.md", - "sha256": "600d57ffa6cbfe83094044ccccaf5ab7b79ca48dbdd988962c89c94246253990", - "size": 10852 + "path": "en/api/java/beta/vaults/delete.md", + "sha256": "04a87288f18c5a3e61bc693d4080e4018ffebf4d6b3c153ef9b5554c9465e8f5", + "size": 5217 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/list", "status": "success", - "path": "en/api/go/beta/messages/batches/retrieve.md", - "sha256": "5361ac4a2c43718b614ea586565d52afe640218972deaed11285dc0495912a2a", - "size": 10530 + "path": "en/api/java/beta/vaults/list.md", + "sha256": "1fb1cf84f1d2eb8d3d720efce3811e63c6cce3369ef404cf07f7319f904f0e3e", + "size": 6279 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches/results", + "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/archive", "status": "success", - "path": "en/api/go/beta/messages/batches/results.md", - "sha256": "be5e0562fe8f5ccb75b02fe7eb26d2132407431f3ee98f395e8c13e7234a0999", - "size": 172490 + "path": "en/api/java/beta/vaults/archive.md", + "sha256": "97952effa175416253218cf64359f0304e4ac8f3da9a5e11fc7a27c594516109", + "size": 5856 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches/delete", + "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials", "status": "success", - "path": "en/api/go/beta/messages/batches/delete.md", - "sha256": "3021210059865164946954fd86fb6d83a146c1a660a94500f264e87a28129f64", - "size": 7115 + "path": "en/api/java/beta/vaults/credentials.md", + "sha256": "a69ce1dd5d63f0bef5dcc35aee11a3e73ed88a6463175ee5f9d529ba6d16f7f4", + "size": 105124 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memories/create", + "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/create", "status": "success", - "path": "en/api/go/beta/memory_stores/memories/create.md", - "sha256": "c681dca0a33111deb866dd4c24db5d7ee4e02a17153139cc2278725ba585869e", - "size": 10395 + "path": "en/api/java/beta/vaults/credentials/create.md", + "sha256": "91ac20d0f62575cf6f85298daa38d3e852d2505d6e16fa05f5ac83ca8468a9d7", + "size": 14919 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memories/update", + "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/update", "status": "success", - "path": "en/api/go/beta/memory_stores/memories/update.md", - "sha256": "f6ed0f5bfe4fd49b63ac4b5603201463dc7aaa4a55b6399b0bdb650164903a99", - "size": 10877 + "path": "en/api/java/beta/vaults/credentials/update.md", + "sha256": "a2b4462f7ddfaceb6f135a2b588c370c1d11981da84b8344d7f78f456d0012af", + "size": 14314 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memories/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/retrieve", "status": "success", - "path": "en/api/go/beta/memory_stores/memories/list.md", - "sha256": "30712fa4cf6dd88acad0fb1e1a00714ef551b24f42254bff752d970cfbc8276f", - "size": 11907 + "path": "en/api/java/beta/vaults/credentials/retrieve.md", + "sha256": "f67c050089cc79171b51944a40c271c9925373fbe7a6ad4b253a268c55afc1cf", + "size": 9728 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memories/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/delete", "status": "success", - "path": "en/api/go/beta/memory_stores/memories/retrieve.md", - "sha256": "19e7c73e96e96120dfe5145698779b547a25b1e52e3a4d76d784ffdd503d1c64", - "size": 9884 + "path": "en/api/java/beta/vaults/credentials/delete.md", + "sha256": "fe25eb9724f06077a3d75187e551141d88c85542b9fa40795c28538436fb84d1", + "size": 5643 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memories/delete", + "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/list", "status": "success", - "path": "en/api/go/beta/memory_stores/memories/delete.md", - "sha256": "c7ab4f82a611ec21f1ad0932e9e67ca528afd891d562e8e65f53461fb7011121", - "size": 7769 + "path": "en/api/java/beta/vaults/credentials/list.md", + "sha256": "56b6bd840da2c391c29765d96ecee6dd62d8880139180a3d3f7baaaa435432d6", + "size": 10062 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memory_versions/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/archive", "status": "success", - "path": "en/api/go/beta/memory_stores/memory_versions/list.md", - "sha256": "42743fd48b7163ecde81fa4ab01acbdd7defe23516a230395211fa986656de33", - "size": 14846 + "path": "en/api/java/beta/vaults/credentials/archive.md", + "sha256": "e9bbd707b26c30fd410a5c6b641e3760a9f3f5d7eae151ce987f08cda132d79c", + "size": 9726 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memory_versions/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/mcp_oauth_validate", "status": "success", - "path": "en/api/go/beta/memory_stores/memory_versions/retrieve.md", - "sha256": "ad3a1ac372381c84ba3e4044cdc2a6745e9659dfdd3f88b4932fb0b8f8bb4700", - "size": 13362 + "path": "en/api/java/beta/vaults/credentials/mcp_oauth_validate.md", + "sha256": "142ffa36cea0987376018a46400c759759ca088503a27c7ca1010e934197427c", + "size": 9013 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memory_versions/redact", + "url": "https://platform.claude.com/docs/en/api/java/beta/skills/versions/create", "status": "success", - "path": "en/api/go/beta/memory_stores/memory_versions/redact.md", - "sha256": "0af1804d974176c52d0b7d6c1cafc34775c8f19023b165ab875ee14cbf77fa45", - "size": 12948 + "path": "en/api/java/beta/skills/versions/create.md", + "sha256": "1d7c853251beef14398066f22be48d3d4063895df20b6814432221d0ef578e10", + "size": 6545 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/skills/versions/create", + "url": "https://platform.claude.com/docs/en/api/java/beta/skills/versions/download", "status": "success", - "path": "en/api/go/beta/skills/versions/create.md", - "sha256": "18250ff40a3cc7a178f40a47f7906483b6e2d1b93939299d497a74faa00a91db", - "size": 7909 + "path": "en/api/java/beta/skills/versions/download.md", + "sha256": "d6434b8025ee5d0f149846c93b0788b01ea366dbfcefce028726dc670467104f", + "size": 5368 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/skills/versions/download", + "url": "https://platform.claude.com/docs/en/api/java/beta/skills/versions/retrieve", "status": "success", - "path": "en/api/go/beta/skills/versions/download.md", - "sha256": "209739cd1c3b97f71c1808a7910e28117093c8b2f2ae759268e2da94751fb802", - "size": 6834 + "path": "en/api/java/beta/skills/versions/retrieve.md", + "sha256": "d9b107f6be6aab41ea14ff43691fe9d3bf4a0a97faaa9441ed307da9f231433b", + "size": 6590 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/skills/versions/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/skills/versions/delete", "status": "success", - "path": "en/api/go/beta/skills/versions/list.md", - "sha256": "a17e9b7a03d9e8d59ecb8fe2a2d3dcb16f9bf28f9ef32a547fecdd969a077ac8", - "size": 8013 + "path": "en/api/java/beta/skills/versions/delete.md", + "sha256": "65fa926375ecf761583c2deab2bf6dc3e1eedc02a77d004bd587b0fad360a39a", + "size": 5769 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/skills/versions/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/skills/versions/list", "status": "success", - "path": "en/api/go/beta/skills/versions/retrieve.md", - "sha256": "fa11bd5270423100df89d36556f4dc44f86728f6fd1721cb4b62318ec562921a", - "size": 7958 + "path": "en/api/java/beta/skills/versions/list.md", + "sha256": "b7fa4f9bf781a32510337b1223b5c7719b3322cfb11726a0fdd4277dfbdfbcb1", + "size": 6503 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/skills/versions/delete", + "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches/cancel", "status": "success", - "path": "en/api/go/beta/skills/versions/delete.md", - "sha256": "5b3cb30cfdd377ade1d246b327d333e4de44845b2a2f3807ddeb4cf7a5bd263d", - "size": 7170 + "path": "en/api/java/beta/messages/batches/cancel.md", + "sha256": "4e464bb7dffffec878d1c41fa3d8048d75fb24e20ca7a877793d04a8b3957a4e", + "size": 9108 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches/create", "status": "success", - "path": "en/api/go/beta/sessions/threads/list.md", - "sha256": "297a10448039a7bd339891d5680843de215ec915b1a97ad8e0b93927c5f5025d", - "size": 39031 + "path": "en/api/java/beta/messages/batches/create.md", + "sha256": "3019ce9553f4acbb95febf3e94b6c701d7825b48076b8e6031af51be298f0e4b", + "size": 173900 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches/retrieve", "status": "success", - "path": "en/api/go/beta/sessions/threads/retrieve.md", - "sha256": "10cbd52578405fa6923f74d15d578f9ccf9b1752dae679f59446aba612b97d6e", - "size": 37793 + "path": "en/api/java/beta/messages/batches/retrieve.md", + "sha256": "5b60ee927217000f42ff0a75f82d47c8d7a6eb555d234651120c9ed653dd31c4", + "size": 8806 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads/events", + "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches/delete", "status": "success", - "path": "en/api/go/beta/sessions/threads/events.md", - "sha256": "bf12a99799ed585225c27d7453a2022c00bbb86a070f5b20e5c7e92e304b5aa2", - "size": 208898 + "path": "en/api/java/beta/messages/batches/delete.md", + "sha256": "ae59cecee1c2a50cbe6a3ffc0614d32e5aaaa771ecfd25ac92a60305e7485811", + "size": 5612 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads/archive", + "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches/list", "status": "success", - "path": "en/api/go/beta/sessions/threads/archive.md", - "sha256": "e6210f5932299b963ee476a45c7e3c6aacd82ac5a13a6b35eecfa837a4d289da", - "size": 37829 + "path": "en/api/java/beta/messages/batches/list.md", + "sha256": "71605ba82fbcc4a31304f9f715110aafc8404bca29654bd9091af5a1b25dac90", + "size": 9236 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/resources/update", + "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches/results", "status": "success", - "path": "en/api/go/beta/sessions/resources/update.md", - "sha256": "41c55c041987ddb62f6bda8d64f5a5e5a9b1e968c0c6ef816af7145c064ff776", - "size": 9906 + "path": "en/api/java/beta/messages/batches/results.md", + "sha256": "4b217d42a53984c75737ee3eba930ffff3d700cc54cfbf48636fa1c25b5143ee", + "size": 153024 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/resources/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/certificates/create", "status": "success", - "path": "en/api/go/beta/sessions/resources/list.md", - "sha256": "b8253ed4a293e281355e049efc7f0fd15102587dc13dfdfed22ae0ca93023c07", - "size": 10196 + "path": "en/api/java/beta/tunnels/certificates/create.md", + "sha256": "c133d3f3cb0487c437d4c0d96c4a60f6b62216f402181300b96a257af45190e6", + "size": 6938 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/resources/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/certificates/retrieve", "status": "success", - "path": "en/api/go/beta/sessions/resources/retrieve.md", - "sha256": "2ad83a34d8f64e938982a5868e0bc89f3263252a142144b1e36766b9d9df4133", - "size": 9646 + "path": "en/api/java/beta/tunnels/certificates/retrieve.md", + "sha256": "7bb8c6378c00690adacd621ca93d708fac76f9b07e47e10d4d3c1e326e108767", + "size": 6696 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/resources/add", + "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/certificates/list", "status": "success", - "path": "en/api/go/beta/sessions/resources/add.md", - "sha256": "542d805e1a3287fe50bc294d6c21d380e1e68e2d2cb749636ab11c38787d77c7", - "size": 7388 + "path": "en/api/java/beta/tunnels/certificates/list.md", + "sha256": "a27564bed0d386407c2733a667281f9ed0aa57da0cdd7141c0910a1fb50b3fdc", + "size": 6992 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/resources/delete", + "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/certificates/archive", "status": "success", - "path": "en/api/go/beta/sessions/resources/delete.md", - "sha256": "d20f6c181a854e91aca5032efac1df26a289972ff2b7b0111b519f775852e258", - "size": 6906 + "path": "en/api/java/beta/tunnels/certificates/archive.md", + "sha256": "7d48206c34d3a9c361be047fa8a3debbab303278baa727a11abb03e2cccada44", + "size": 6929 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/events/send", + "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/poll", "status": "success", - "path": "en/api/go/beta/sessions/events/send.md", - "sha256": "c29ff495bbb777409ea49f53b3b2067a16302a0051ae7a3c5089022f8af6e654", - "size": 30819 + "path": "en/api/java/beta/environments/work/poll.md", + "sha256": "29b227da73e161a216fdc5e253b9e41c946dca9fe2843cae4a13a11a4522aeae", + "size": 7667 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/events/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/update", "status": "success", - "path": "en/api/go/beta/sessions/events/list.md", - "sha256": "75d253cadd775474afcf502359b8dc3e5eff040fc9e75e3ed985c823439f7670", - "size": 109373 + "path": "en/api/java/beta/environments/work/update.md", + "sha256": "e457c06a2637c0cee4c98f2f4125de1a5e83ebbe154bf02933f4c0130c031502", + "size": 8063 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/events/stream", + "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/stop", "status": "success", - "path": "en/api/go/beta/sessions/events/stream.md", - "sha256": "bff9f9c790892a1bb58e14cbb6b6511b3fc6c33fbcdd23ca206db028ac93f652", - "size": 106018 + "path": "en/api/java/beta/environments/work/stop.md", + "sha256": "ce67c6a2681281ecee211510f42fea51ee29c50da1a79d7a5c24435ab0ae2f9a", + "size": 7860 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads/events/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/retrieve", "status": "success", - "path": "en/api/go/beta/sessions/threads/events/list.md", - "sha256": "1a2724ad608ad4106f9bb0739c534c22548479d7e28b451cc147442d1c801db4", - "size": 102812 + "path": "en/api/java/beta/environments/work/retrieve.md", + "sha256": "e067a782f8ab9bee7a7c9f70084700a2d57effbd64b508b271bd384fb8772085", + "size": 7615 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads/events/stream", + "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/heartbeat", "status": "success", - "path": "en/api/go/beta/sessions/threads/events/stream.md", - "sha256": "f9263948d52c950e08adb0885372292fd2bc4bab937835aaa740080fee2550f9", - "size": 106219 + "path": "en/api/java/beta/environments/work/heartbeat.md", + "sha256": "1065cd6a85045827f753db93a57cda7ed4ac9f2f2d733c0a69ee25456ea3683b", + "size": 6366 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/certificates/create", + "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/list", "status": "success", - "path": "en/api/go/beta/tunnels/certificates/create.md", - "sha256": "ff8ea46dd1aaae3ab6b0a788a9b6f3a8564073d50795d8aed7f8e1bbf1a82b7b", - "size": 8233 + "path": "en/api/java/beta/environments/work/list.md", + "sha256": "ca245eaed630a0fc86bc6991885b5337d798c8cc2bfcd18eeaf85c17495cd5e2", + "size": 7348 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/certificates/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/stats", "status": "success", - "path": "en/api/go/beta/tunnels/certificates/list.md", - "sha256": "fd05ab3c8d0826d12061ba64a051d443f39ceded8afc46681f1f7e378eaa79e9", - "size": 8427 + "path": "en/api/java/beta/environments/work/stats.md", + "sha256": "acb04c984d00c88066f96256c667a9191af690bd7fe5b7f283af0ce8b615006e", + "size": 5895 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/certificates/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/ack", "status": "success", - "path": "en/api/go/beta/tunnels/certificates/retrieve.md", - "sha256": "1afaa0922e95f51c8ee5ba0a08eb655289ac882e8aeed145d9d027001f235782", - "size": 7979 + "path": "en/api/java/beta/environments/work/ack.md", + "sha256": "8069b8b8d0094764180811fa5b800d475778d5c3c987f57eb6fd04a81215459b", + "size": 7274 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/certificates/archive", + "url": "https://platform.claude.com/docs/en/api/java/beta/agents/versions/list", "status": "success", - "path": "en/api/go/beta/tunnels/certificates/archive.md", - "sha256": "a07f02e4d021fd98c15c220b52594b43765d4eb88c42b2a9be48223fa64156cf", - "size": 8234 + "path": "en/api/java/beta/agents/versions/list.md", + "sha256": "7ebc48898df9b76ade0db25752a1af53a489b495850356a2d0f72416a0985071", + "size": 31956 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/agents/versions/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memories/create", "status": "success", - "path": "en/api/go/beta/agents/versions/list.md", - "sha256": "f4583aa956678e579cd46d2bbfa3c6da7693f734da48d9b11dbf6f485dffa1dd", - "size": 34897 + "path": "en/api/java/beta/memory_stores/memories/create.md", + "sha256": "9236259bada3afb565c2132b9210abe448c3c5dc639bb73a5d4f8db233d9a7c3", + "size": 9009 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/create", + "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memories/update", "status": "success", - "path": "en/api/go/beta/vaults/credentials/create.md", - "sha256": "404278cf39ac9c507e1d92cf34961478c73f5de637309d60731e8f33f870821b", - "size": 16397 + "path": "en/api/java/beta/memory_stores/memories/update.md", + "sha256": "321208717097a1a7888f049aed6bceba3842e18e1e7780ba83ff298950816fd3", + "size": 9468 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/update", + "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memories/retrieve", "status": "success", - "path": "en/api/go/beta/vaults/credentials/update.md", - "sha256": "731e1661bc1d4a4cad6721f3612a9499fffa852f0e169a6ced4bccc643f054ac", - "size": 15472 + "path": "en/api/java/beta/memory_stores/memories/retrieve.md", + "sha256": "f08bcb27cfa27e210bcae67690de69a9b47ef8103d97c927d3147952d9a17824", + "size": 8523 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memories/delete", "status": "success", - "path": "en/api/go/beta/vaults/credentials/list.md", - "sha256": "85cfb60f9279c6fe1aebb019219fe1b13630038d88afdd5ac99d19ed84f65eba", - "size": 11697 + "path": "en/api/java/beta/memory_stores/memories/delete.md", + "sha256": "474d53b098ff4135d4d4bd1da5415bf7d4e486cb095b01e066f41a8ce5232b1e", + "size": 6355 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/mcp_oauth_validate", + "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memories/list", "status": "success", - "path": "en/api/go/beta/vaults/credentials/mcp_oauth_validate.md", - "sha256": "b28b12a4f3e102b82eedffdcd0875b9faf5ff564f582e47594a54d45bdcda073", - "size": 10635 + "path": "en/api/java/beta/memory_stores/memories/list.md", + "sha256": "fc453cd8e2cfc1bf5011dce35aa0fa1cec4f028c6e356d0050035a011f96b9ae", + "size": 10312 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memory_versions/retrieve", "status": "success", - "path": "en/api/go/beta/vaults/credentials/retrieve.md", - "sha256": "a026fcdc1c858ff852d07817a02b2e856f56b7df21c445c5f375c8b00b0df78f", - "size": 11343 + "path": "en/api/java/beta/memory_stores/memory_versions/retrieve.md", + "sha256": "9a681c70cc04487d9e26b215d7afb372c3826ede8f674ed91a87a0f338877317", + "size": 11709 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/delete", + "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memory_versions/list", "status": "success", - "path": "en/api/go/beta/vaults/credentials/delete.md", - "sha256": "03c727d041a55d904e7df492c801f3da4a3485d2204ab6e054755f3e5cc58325", - "size": 7022 + "path": "en/api/java/beta/memory_stores/memory_versions/list.md", + "sha256": "1b00a71f23ed7f8dbdeef584c8e8f328b03f806a6ca780da3198dc674e77366a", + "size": 12988 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/archive", + "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memory_versions/redact", "status": "success", - "path": "en/api/go/beta/vaults/credentials/archive.md", - "sha256": "c37a0fecde2763fdbfeeacc9331169797aee9d2586132731e4783bd0e65510a7", - "size": 11378 + "path": "en/api/java/beta/memory_stores/memory_versions/redact.md", + "sha256": "7ca19d493e5df9365a7ee79bc09f35d15ff9bfb585d69d4f74912fa7f18bc59b", + "size": 11270 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/update", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads/retrieve", "status": "success", - "path": "en/api/go/beta/environments/work/update.md", - "sha256": "4e53b3461b2ab12cab30bfbaaa9840ad4c52c77c4814802e352cca630a6e9150", - "size": 9503 + "path": "en/api/java/beta/sessions/threads/retrieve.md", + "sha256": "891a0dab3491eca30a894dd33eb48dd4c12138ce69fdfb0cd8041ae401d420fb", + "size": 34628 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/list", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads/list", "status": "success", - "path": "en/api/go/beta/environments/work/list.md", - "sha256": "babd951b166d402e3eb197c03700a826dce66772e1c5fee9da7b35d0bf62aacf", - "size": 9106 + "path": "en/api/java/beta/sessions/threads/list.md", + "sha256": "288af68ef94168a81d25c3287248072374c04ecf370a337f260ba30d40240514", + "size": 35377 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/stop", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads/archive", "status": "success", - "path": "en/api/go/beta/environments/work/stop.md", - "sha256": "761052deb5dc157da6ffb3bedd2491cd6e2bdb22e9b78386fed4f657758383ba", - "size": 9427 + "path": "en/api/java/beta/sessions/threads/archive.md", + "sha256": "971002f96c69b8c57ef2fb3f34da54f508c3017967ca397fd98de2fe17ef19c3", + "size": 34642 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/retrieve", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads/events", "status": "success", - "path": "en/api/go/beta/environments/work/retrieve.md", - "sha256": "6273d1b1694e26811e652562ac15c060d534a7d801ebf4e0e97b29c23d8d73cd", - "size": 9225 + "path": "en/api/java/beta/sessions/threads/events.md", + "sha256": "bf5bbadefc650be8e7e5790ed8d7d13bd949ef4a1703f77d8d052260e82227cb", + "size": 194697 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/ack", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/events/send", "status": "success", - "path": "en/api/go/beta/environments/work/ack.md", - "sha256": "f953d1a2dce4ec2432f18a655a840b9350c528b11460b941b249616a25f1155d", - "size": 8904 + "path": "en/api/java/beta/sessions/events/send.md", + "sha256": "aa98290c208fea89376fb2b5f94704bab65940174891a78bbc736264b9176ebc", + "size": 26769 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/stats", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/events/stream", "status": "success", - "path": "en/api/go/beta/environments/work/stats.md", - "sha256": "90ef6198c3d1400088f8315d18e1b6a3eae1c073e2eca89d31fd1bf3e8256086", - "size": 7403 + "path": "en/api/java/beta/sessions/events/stream.md", + "sha256": "6f394c884ea00ac41bfead0888489eaf4a4781b3e9eba953714c0e32427686b9", + "size": 98751 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/heartbeat", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/events/list", "status": "success", - "path": "en/api/go/beta/environments/work/heartbeat.md", - "sha256": "13851fb51ae1e69eda3c82717bb1bdd5dfcf8ee16be79b819132444ef8752ca7", - "size": 8256 + "path": "en/api/java/beta/sessions/events/list.md", + "sha256": "339b38aca20b2c163e551fa498f16d205a670d6190d0688b3532a4351acbc872", + "size": 99123 }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/poll", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/resources/update", "status": "success", - "path": "en/api/go/beta/environments/work/poll.md", - "sha256": "c91fec2e6d96d711b2e0fbfb62d070d4deb0c701fde2b65225f4fd06b4149bb7", - "size": 9386 + "path": "en/api/java/beta/sessions/resources/update.md", + "sha256": "694792d4bd6dbe4e4740387fd8dd0b9c77cd157ed0d42d393009705b5deb9f40", + "size": 8116 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/resources/add", "status": "success", - "path": "en/api/cli/beta/sessions.md", - "sha256": "120957df5ee1e55dcf4ead8ff1354f093a3c4207dcae541ad1410e1af89768f8", - "size": 1196982 + "path": "en/api/java/beta/sessions/resources/add.md", + "sha256": "ac81c6bc4594ba60a26a033288f86214de5961cc661fbaeddabe6b78afe8d4a9", + "size": 6108 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/webhooks", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/resources/retrieve", "status": "success", - "path": "en/api/cli/beta/webhooks.md", - "sha256": "df9bcb8f628a772e72e5032b056f847e653cfdb94008f0631bccd8dc201b8fe5", - "size": 35371 + "path": "en/api/java/beta/sessions/resources/retrieve.md", + "sha256": "8d5637eda5c7fe16f7e50a1fe90c1a23c2640592f7c7e400da10c8f4d4c66490", + "size": 7894 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/skills", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/resources/delete", "status": "success", - "path": "en/api/cli/beta/skills.md", - "sha256": "669c8c2890e553457c8d4376f30ba93e58d84871d1c1568849cf53757c64cf8c", - "size": 23606 + "path": "en/api/java/beta/sessions/resources/delete.md", + "sha256": "6e8097ba8c834e14946e2c4d0b26daafef6cfcf4c0c45409888168877d2ba1b2", + "size": 5502 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/agents", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/resources/list", "status": "success", - "path": "en/api/cli/beta/agents.md", - "sha256": "7a656b34ac7e0cbe35f713258210e437cde86aba5d2943b47bf9687b14154031", - "size": 410572 + "path": "en/api/java/beta/sessions/resources/list.md", + "sha256": "ae94acd15ccbe860aa9f68bc4ecad9c1ee6509011bef781f1828a8c4d9b4259d", + "size": 8271 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/deployments", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads/events/stream", "status": "success", - "path": "en/api/cli/beta/deployments.md", - "sha256": "a88388dc7208ab58e8054cdd0af5057a427c5ec71ad1b6a331422ba4028cd645", - "size": 190892 + "path": "en/api/java/beta/sessions/threads/events/stream.md", + "sha256": "397e402023b1d88fe594c5f53b7eaae19f02fb32d25893c3a545791a44b0786d", + "size": 99066 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/deployment_runs", + "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads/events/list", "status": "success", - "path": "en/api/cli/beta/deployment_runs.md", - "sha256": "7ccf879197326e2a01460a3533f97275cb99c5b256cbee887c224ad363379008", - "size": 28830 + "path": "en/api/java/beta/sessions/threads/events/list.md", + "sha256": "91ae853933487f2efa7813f58f06d0505bd8ceb540921221cfc64574dcd5d408", + "size": 95766 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/user_profiles", + "url": "https://platform.claude.com/docs/en/api/java/messages/batches/cancel", "status": "success", - "path": "en/api/cli/beta/user_profiles.md", - "sha256": "19731959a31be821d98cb686d55e1b67e5cfb7804b62cc55514ce49f81084339", - "size": 41211 + "path": "en/api/java/messages/batches/cancel.md", + "sha256": "d0e8a5cdd35d81643166c690ac64ad2e1926ee7202eff2a18032968b4ce8bb76", + "size": 5548 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/models", + "url": "https://platform.claude.com/docs/en/api/java/messages/batches/create", "status": "success", - "path": "en/api/cli/beta/models.md", - "sha256": "c7c3bd1a1cb39dbb56ddf12bd97a1e07d9714d8aa3faba6f87c6537c269a23cb", - "size": 42720 + "path": "en/api/java/messages/batches/create.md", + "sha256": "1d185ab71ea98f7c6463fd4a422a9ba3e8ba3ddef9fc009e6f602ca010e3c3b1", + "size": 116112 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults", + "url": "https://platform.claude.com/docs/en/api/java/messages/batches/retrieve", "status": "success", - "path": "en/api/cli/beta/vaults.md", - "sha256": "15008f5f84471b1fd45d2cfc5ee0827533c1ea866be17ab3827edfc221dd0499", - "size": 48486 + "path": "en/api/java/messages/batches/retrieve.md", + "sha256": "2b907b2fa12853f98573977bfd463fb17436d366cca93aa1768a449b1febeccd", + "size": 5246 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores", + "url": "https://platform.claude.com/docs/en/api/java/messages/batches/delete", "status": "success", - "path": "en/api/cli/beta/memory_stores.md", - "sha256": "2756c3950f1f0d0455261adbb30a909f94ebc1d827e650b42eab21759d33cc5a", - "size": 69887 + "path": "en/api/java/messages/batches/delete.md", + "sha256": "0500b9264cefa010edd185d95b54f5d058babd782dffa108c6159f4bedf23ae1", + "size": 2056 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels", + "url": "https://platform.claude.com/docs/en/api/java/messages/batches/list", "status": "success", - "path": "en/api/cli/beta/tunnels.md", - "sha256": "a6505a8e3b10e44261bf779b15788a80c1c3cc4a5fd67c40923551e2d6e5ebf8", - "size": 25172 + "path": "en/api/java/messages/batches/list.md", + "sha256": "7028a924b5213d1700667d3cac922db45d0aa464402488b71b714e707966a5a6", + "size": 5692 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/environments", + "url": "https://platform.claude.com/docs/en/api/java/messages/batches/results", "status": "success", - "path": "en/api/cli/beta/environments.md", - "sha256": "11b0e93a93e9ccbce8b912af2e02d0e70a18deb4c9c48f27572d5b28b16a290e", - "size": 60825 + "path": "en/api/java/messages/batches/results.md", + "sha256": "1453879d1fd46bb5f8047c5f8bfb318235de4da2940f6cdee17e61c57ff5e7bd", + "size": 35477 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/files", + "url": "https://platform.claude.com/docs/en/api/typescript/models/retrieve", "status": "success", - "path": "en/api/cli/beta/files.md", - "sha256": "ec00adeb9fe8c4ded12ade8e60ca81045cff2820c6b3d5393840f1d26384a01d", - "size": 12411 + "path": "en/api/typescript/models/retrieve.md", + "sha256": "45f858cbea8705e84f5b386d8e2d49cdc68069734bc7b6698dc907f07e7bc602", + "size": 11866 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/messages", + "url": "https://platform.claude.com/docs/en/api/typescript/models/list", "status": "success", - "path": "en/api/cli/beta/messages.md", - "sha256": "3e13968e499cd5c8cd0ec350bbf7c24c7388f4cd47a91007f79837148b29119f", - "size": 2912320 + "path": "en/api/typescript/models/list.md", + "sha256": "a75958f1b0ed6249008cd05ec5bab241ef251e1fd42d4446822d3b3aed55b136", + "size": 13210 }, { - "url": "https://platform.claude.com/docs/en/api/cli/models/list", + "url": "https://platform.claude.com/docs/en/api/typescript/completions/create", "status": "success", - "path": "en/api/cli/models/list.md", - "sha256": "7d33c81cddf00ab1994967aee12cda3ca97614fd32e588542c970b0f0d015bd7", - "size": 12157 + "path": "en/api/typescript/completions/create.md", + "sha256": "ae16ade133f495852f9b3ec892a48a1fd00f35cd736f0a374acfdefa639f043d", + "size": 13387 }, { - "url": "https://platform.claude.com/docs/en/api/cli/models/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/messages/batches", "status": "success", - "path": "en/api/cli/models/retrieve.md", - "sha256": "e809935a8d487c8260199bb265785d8e23cd36df7e6f6680c7f05ea22cf851ae", - "size": 10307 + "path": "en/api/typescript/messages/batches.md", + "sha256": "7e351c4fa906d140b5343d6a5e9cf1326a139a62512dbf3e8e1acde35ad354b3", + "size": 276858 }, { - "url": "https://platform.claude.com/docs/en/api/cli/completions/create", + "url": "https://platform.claude.com/docs/en/api/typescript/messages/create", "status": "success", - "path": "en/api/cli/completions/create.md", - "sha256": "06d06560c4a36c8f222b3fe5e4f07c9bb2bf83360bd52357d2700f55e166c1eb", - "size": 8211 + "path": "en/api/typescript/messages/create.md", + "sha256": "de2b96852224f07c4b2f180de16075f8446b7bb654da287ccadb84671b7c87f5", + "size": 139969 }, { - "url": "https://platform.claude.com/docs/en/api/cli/messages/create", + "url": "https://platform.claude.com/docs/en/api/typescript/messages/count_tokens", "status": "success", - "path": "en/api/cli/messages/create.md", - "sha256": "472ca49be9354574ff7379f51ec03dae5700b2195f7056049a838a73233af30d", - "size": 59240 + "path": "en/api/typescript/messages/count_tokens.md", + "sha256": "abf56d5b392ace71bfd531fe4288e062757bda8b694f9a6a54cff3709804d80b", + "size": 98021 }, { - "url": "https://platform.claude.com/docs/en/api/cli/messages/count_tokens", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/files", "status": "success", - "path": "en/api/cli/messages/count_tokens.md", - "sha256": "389e51224e9f9517b5f5b43e6c30e536c895c896c475bce3b07a6443c030788e", - "size": 8856 + "path": "en/api/typescript/beta/files.md", + "sha256": "30efe401ea0e3a331e1f2f7bff87a5aac21ddf8edb020d8ed85dcaa639adee9d", + "size": 23521 }, { - "url": "https://platform.claude.com/docs/en/api/cli/messages/batches", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/user_profiles", "status": "success", - "path": "en/api/cli/messages/batches.md", - "sha256": "f01cdba56c44be95913994ae2872bac5817f0ef25b2aca65bf54c8c0196e58f1", - "size": 154097 + "path": "en/api/typescript/beta/user_profiles.md", + "sha256": "12cb16c86cfbd295967d1a324b0db1cc595531dac94b7da09d395c52ee54185f", + "size": 58257 }, { - "url": "https://platform.claude.com/docs/en/api/cli/messages/batches/create", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels", "status": "success", - "path": "en/api/cli/messages/batches/create.md", - "sha256": "0f9833678a0ee47eea08f972521c7c0767fc0c5068cfa4b2e7a8575f89bbe55b", - "size": 5216 + "path": "en/api/typescript/beta/tunnels.md", + "sha256": "e6714933c8334ab2711e5649c4e58fa950d1d2106df7dd66f20cba151c766424", + "size": 47256 }, { - "url": "https://platform.claude.com/docs/en/api/cli/messages/batches/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/webhooks", "status": "success", - "path": "en/api/cli/messages/batches/list.md", - "sha256": "19125d83ad70a6f6085e5167e2052cb8d738a3566f61df198f7ddaa988ba9087", - "size": 5518 + "path": "en/api/typescript/beta/webhooks.md", + "sha256": "fb577fcb141e2404839fa4c6a493f12396f1a96acb5c05ac5f3e96fda84cff12", + "size": 34812 }, { - "url": "https://platform.claude.com/docs/en/api/cli/messages/batches/cancel", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments", "status": "success", - "path": "en/api/cli/messages/batches/cancel.md", - "sha256": "b388420b49cd5bbe7430fe75bd1dbc5f1ee4b5914fe7db9c06bb9dcdc4ccd004", - "size": 4924 + "path": "en/api/typescript/beta/environments.md", + "sha256": "9e366b8248cf73488871b214f30c26a5f81575711613da07c6d580d6969c090a", + "size": 97387 }, { - "url": "https://platform.claude.com/docs/en/api/cli/messages/batches/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages", "status": "success", - "path": "en/api/cli/messages/batches/retrieve.md", - "sha256": "b111c11e3f83bb31e1bd35200739fbdca845a7008bd8a64fff0b44746b8c8f8d", - "size": 4616 + "path": "en/api/typescript/beta/messages.md", + "sha256": "afb305028d3c341fed54482ef5d0b510678f480d3737d21d64d9cee653a9c4ae", + "size": 2910591 }, { - "url": "https://platform.claude.com/docs/en/api/cli/messages/batches/results", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents", "status": "success", - "path": "en/api/cli/messages/batches/results.md", - "sha256": "dc765b6c744cf283b777fe102a8c74ae6203b488f70e4e53098b9ec17ab99ff0", - "size": 34273 + "path": "en/api/typescript/beta/agents.md", + "sha256": "659d1baee43d073fb7c9414e87fb2325eac39afbc80ba67b3cbb9e98a689437b", + "size": 470263 }, { - "url": "https://platform.claude.com/docs/en/api/cli/messages/batches/delete", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployment_runs", "status": "success", - "path": "en/api/cli/messages/batches/delete.md", - "sha256": "22c0d47301b6e5d99a2011d16ec197483a331e8acd537d49004041296abbc499", - "size": 1475 + "path": "en/api/typescript/beta/deployment_runs.md", + "sha256": "903251e6505d5eee98e785b341d96c2abb0490bea7cdc50f3054529e18ddee3b", + "size": 32902 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/create", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions", "status": "success", - "path": "en/api/cli/beta/environments/create.md", - "sha256": "4ccba80505e0f2a36856d33af468f6c18c808ce500868762519979dfad826dd2", - "size": 5343 + "path": "en/api/typescript/beta/sessions.md", + "sha256": "3e66f1504363fd5031d54f3a3ef0a2f1a0349974d3c8879195232f32e0f1955b", + "size": 1224224 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/update", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/models", "status": "success", - "path": "en/api/cli/beta/environments/update.md", - "sha256": "7d6286beaaaf40e2bc49fbd280926f5ceb551a3535dacac2e8b68de99b178dd8", - "size": 5440 + "path": "en/api/typescript/beta/models.md", + "sha256": "52bf8d6e526d166cf9b57ed183d938650a960693e3cc45a9529d863aeeda55b7", + "size": 44632 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores", "status": "success", - "path": "en/api/cli/beta/environments/list.md", - "sha256": "fb388e18ec683c878930062e016c8c471905e058dbe4e40d5f23e3e03520a949", - "size": 5696 + "path": "en/api/typescript/beta/memory_stores.md", + "sha256": "49c684acde92d26ca91bdab0531710fc92e39fa3e9b9e1117c1a83d76079c1d7", + "size": 101449 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults", "status": "success", - "path": "en/api/cli/beta/environments/retrieve.md", - "sha256": "d3f4c90279254e32b059aa1d9aaec3b90e7ffbbb9ef9f2db617bc69b4aa4345b", - "size": 4683 + "path": "en/api/typescript/beta/vaults.md", + "sha256": "ecc6c3ef37b67d4102c7118fbf26610b08e13565f09f42984a096f69fa473e8d", + "size": 88601 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/delete", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments", "status": "success", - "path": "en/api/cli/beta/environments/delete.md", - "sha256": "fcafe14bbcf3676688caf4ebaee527c7053d126a4ddd2a14ae9bccf86c948210", - "size": 1300 + "path": "en/api/typescript/beta/deployments.md", + "sha256": "9eb98ea37a741938db6cda182db2089f619358311cfb0e515c6542b9f974813a", + "size": 225095 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/work", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills", "status": "success", - "path": "en/api/cli/beta/environments/work.md", - "sha256": "9553d9d8c442f8aa90dd1c9a56099595b9a42b81eb3210cab956f41f814ad350", - "size": 29982 + "path": "en/api/typescript/beta/skills.md", + "sha256": "5b954e1912201ae47da2047cd8c68e647abc7e9e63c78662dc84e98d52c80963", + "size": 43515 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/archive", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/files/retrieve_metadata", "status": "success", - "path": "en/api/cli/beta/environments/archive.md", - "sha256": "dc854608f908ccf61fd1d78f831e26d36a2ecfcc48eaf3226db2593fdf05336a", - "size": 4749 + "path": "en/api/typescript/beta/files/retrieve_metadata.md", + "sha256": "301edf4b3b79074abc795cd6c8080dec0084dfb879980180d5ea6abae76e0e36", + "size": 4775 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/deployment_runs/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/files/download", "status": "success", - "path": "en/api/cli/beta/deployment_runs/list.md", - "sha256": "e35f7e144d34d3927cf7a88c00f39edc0675a1e72894f8b16d1072bca1f64dc2", - "size": 9084 + "path": "en/api/typescript/beta/files/download.md", + "sha256": "237a3bfee20f3e171df638037606cd2b8069436f27031bc8a2d9287f60338a10", + "size": 3195 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/deployment_runs/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/files/delete", "status": "success", - "path": "en/api/cli/beta/deployment_runs/retrieve.md", - "sha256": "f1e3ad3e09096f9ae7cfd45ef65b520ba795c508d9f3948554fcaef45a5951f1", - "size": 7427 + "path": "en/api/typescript/beta/files/delete.md", + "sha256": "2468d2e85dc011531d57b0a33f588c7d833c5a86cff9b1bdc298aa3fdd3432b1", + "size": 3420 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/create", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/files/list", "status": "success", - "path": "en/api/cli/beta/vaults/create.md", - "sha256": "9bbd8ea54d07735f1b68fac20cec198bcb05216b4cd5d3e06388f9882aa2d9df", - "size": 2022 + "path": "en/api/typescript/beta/files/list.md", + "sha256": "41187573978197ee7611b719cc7bbe8e91945a8a9ad4a448448764315f65d0dc", + "size": 5617 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/update", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/files/upload", "status": "success", - "path": "en/api/cli/beta/vaults/update.md", - "sha256": "8bc02c065e9fdc59a60cace1be96ad9e16e22a2bc5bce629cba1cfc25144f665", - "size": 2134 + "path": "en/api/typescript/beta/files/upload.md", + "sha256": "603a761c00a982368f3253c707b0414630e38e96bf4f0779fd8daeba9921b52a", + "size": 5182 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/resources", "status": "success", - "path": "en/api/cli/beta/vaults/list.md", - "sha256": "5e9e5b188abc09ea69ef472a6631866ac3c38c0563bb5ae7bcf238caf273f324", - "size": 2391 + "path": "en/api/typescript/beta/sessions/resources.md", + "sha256": "aaa634079802bcb5e58a6326a9244bd62f71991e8cacca603a72d29e1587dae5", + "size": 37252 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/create", "status": "success", - "path": "en/api/cli/beta/vaults/retrieve.md", - "sha256": "533cc80523586e9662dcfdc1d3fa0c77db33d6bd2701648848de061eada2483d", - "size": 1853 + "path": "en/api/typescript/beta/sessions/create.md", + "sha256": "16ceaf2f43748ae284108da6f4a1eeca0ec5c0be7eb62c19e97027b346eecc1b", + "size": 87090 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/update", "status": "success", - "path": "en/api/cli/beta/vaults/credentials.md", - "sha256": "8de9d2f13481a59a3aa106e25035601d80aef6b21788916c4ea36bc0182d4cf2", - "size": 67422 + "path": "en/api/typescript/beta/sessions/update.md", + "sha256": "8cc994e2ee47214118033accc38af3ab396945b9c1759bcd783a4c3535c019c3", + "size": 71740 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/delete", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/retrieve", "status": "success", - "path": "en/api/cli/beta/vaults/delete.md", - "sha256": "c1d483672a3948a6d9eb85113d7c5c2ea6e9419589528cccdffb5e642bf2cacd", - "size": 1233 + "path": "en/api/typescript/beta/sessions/retrieve.md", + "sha256": "ccf75387e7b41f5cb92051f4fd011c0fc0ca92323ea42c6b7faecb353208ab45", + "size": 46564 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/archive", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/delete", "status": "success", - "path": "en/api/cli/beta/vaults/archive.md", - "sha256": "66394c5f550a4387be09e3bbb2a6606d552860dfebf13755a6107498de908c0e", - "size": 1870 + "path": "en/api/typescript/beta/sessions/delete.md", + "sha256": "dc748eeb10e5343172713347f40ba02b1612a7a776a305933d4628aed6f3b0ff", + "size": 3478 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/user_profiles/create", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/list", "status": "success", - "path": "en/api/cli/beta/user_profiles/create.md", - "sha256": "7b9014afb33e1d82421d81542e60a9e4c393f7f07af5dc8be9ad4adda5cd454f", - "size": 8238 + "path": "en/api/typescript/beta/sessions/list.md", + "sha256": "fd61dcb87dbd30659326d3c4210531389a120c45f743026792f9c6581282c553", + "size": 49480 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/user_profiles/update", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/archive", "status": "success", - "path": "en/api/cli/beta/user_profiles/update.md", - "sha256": "b5050643d6dfc506090100979caebfdcae5720839373c0ef2a312c8f7dcc2a64", - "size": 8209 + "path": "en/api/typescript/beta/sessions/archive.md", + "sha256": "c478002f99e92f9ed26ba4568789f0a17396e9dbdcb85f87e8c1a36ba79f5527", + "size": 46581 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/user_profiles/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/events", "status": "success", - "path": "en/api/cli/beta/user_profiles/list.md", - "sha256": "4624f1db068882fd4d166390db630559824e031c5157bc4de6a32203225b817a", - "size": 7174 + "path": "en/api/typescript/beta/sessions/events.md", + "sha256": "f8cdadfc9a99c1d283e91b6eb256e50d5dd7929cbabbcd5d1ba87ee83c6f2d5d", + "size": 588196 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/user_profiles/create_enrollment_url", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads", "status": "success", - "path": "en/api/cli/beta/user_profiles/create_enrollment_url.md", - "sha256": "f1aa48cc01d21588913bf907a70f262f543867e95e3460f19543479d669a192f", - "size": 1800 + "path": "en/api/typescript/beta/sessions/threads.md", + "sha256": "7d004f11263c344ebc6a7c0ddb62491ae4cc307aacd7b45167d3517128c4e3e7", + "size": 456446 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/user_profiles/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/user_profiles/create_enrollment_url", "status": "success", - "path": "en/api/cli/beta/user_profiles/retrieve.md", - "sha256": "984634d0cec7d5c7cdcbb3822d062022c1203e1ba222b8f9923b7e51f0370155", - "size": 6510 + "path": "en/api/typescript/beta/user_profiles/create_enrollment_url.md", + "sha256": "8367bae87b2dcbe5eea518365c4b52b22ec1cd12a01d22699288b12933cc811e", + "size": 4088 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/agents/create", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/user_profiles/create", "status": "success", - "path": "en/api/cli/beta/agents/create.md", - "sha256": "a4f01df4f5b91110c478599229baa06d569b21f0cebe2ee9fec9058e76512d26", - "size": 31851 + "path": "en/api/typescript/beta/user_profiles/create.md", + "sha256": "6b1e3417c266deec93403063c7f34ee2ff3f743cc9cc09866c55e77789e1ed64", + "size": 13028 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/agents/update", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/user_profiles/update", "status": "success", - "path": "en/api/cli/beta/agents/update.md", - "sha256": "166db44731787c55856ed762a1ebb558df524357cbe00a57a7e30f294f3d7b15", - "size": 32771 + "path": "en/api/typescript/beta/user_profiles/update.md", + "sha256": "f9310ad20e095c9b6cf7a4fd070ece3609ced03fb972c42d54473b45b4929a2d", + "size": 13000 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/agents/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/user_profiles/retrieve", "status": "success", - "path": "en/api/cli/beta/agents/list.md", - "sha256": "9227f5e87355d0d65cd82c1ef03e973b448c11665f9ed2fd80cb3f7807c1e988", - "size": 31932 + "path": "en/api/typescript/beta/user_profiles/retrieve.md", + "sha256": "7f6bbec2dd70038f273861efce52218870a1f238abc06daaa3959f25a5a00f56", + "size": 8818 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/agents/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/user_profiles/list", "status": "success", - "path": "en/api/cli/beta/agents/retrieve.md", - "sha256": "11ae529c871903cdf4bba847523d439dff51c7e41a52150eccdfae4cf7bce492", - "size": 30209 + "path": "en/api/typescript/beta/user_profiles/list.md", + "sha256": "dba7789d2171279350f1839276eda504ff9de0d9620591daf929dfaf7fb8a4ae", + "size": 9987 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/agents/versions", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployment_runs/retrieve", "status": "success", - "path": "en/api/cli/beta/agents/versions.md", - "sha256": "b14109c12599447bd351687540fdf47e339ea5b92cedaf4ea92882787961dc5d", - "size": 31720 + "path": "en/api/typescript/beta/deployment_runs/retrieve.md", + "sha256": "def8cd5ed851e5fd5d1a43d7f1d3f4043aa4a05825134b10639f7677cf36d670", + "size": 9614 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/agents/archive", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployment_runs/list", "status": "success", - "path": "en/api/cli/beta/agents/archive.md", - "sha256": "10afc3f0cc9480018d92070e7148703e47396466233f50097e2352c395eaf716", - "size": 30074 + "path": "en/api/typescript/beta/deployment_runs/list.md", + "sha256": "92c8a9dc3a59cfd62241cd9014131f26c34b8b30e6ad4a372610b44a3167dd4c", + "size": 11157 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/models/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memory_versions", "status": "success", - "path": "en/api/cli/beta/models/list.md", - "sha256": "e1cba9f4746910a3d51f83938828ae7c135d5f9661b512fc9577dc54f3b3b1a7", - "size": 12848 + "path": "en/api/typescript/beta/memory_stores/memory_versions.md", + "sha256": "78cff62b4e35f3eee0909fa9e366d66674cba13a9e5f39fec22cdf01bf777940", + "size": 40795 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/models/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/create", "status": "success", - "path": "en/api/cli/beta/models/retrieve.md", - "sha256": "00cda9c49a11ed50661cf7267a75dcdffa2395655749c03ed80cbe250f7e4b58", - "size": 10939 + "path": "en/api/typescript/beta/memory_stores/create.md", + "sha256": "228f726d020c492f3f8557a2202ac14fa5eb6bbe8aab2b6f8ed15f769affc2a0", + "size": 5899 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/create", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/update", "status": "success", - "path": "en/api/cli/beta/tunnels/create.md", - "sha256": "01f6dfe64346985be69fd4256a41b7f96d73a725a6f3fafd1bfea94419ebd054", - "size": 2347 + "path": "en/api/typescript/beta/memory_stores/update.md", + "sha256": "72354c17c5924537f23ff521cbd5eaffd2c29d5bfc029e30af9b312c4a761a37", + "size": 6006 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/rotate_token", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/retrieve", "status": "success", - "path": "en/api/cli/beta/tunnels/rotate_token.md", - "sha256": "ea6d83a6a8b2da96bd5dcf28188b03031cc324e2aeb3fc3fa3544e8d65c7b25e", - "size": 1974 + "path": "en/api/typescript/beta/memory_stores/retrieve.md", + "sha256": "ab719814108b7716eef58a12ce1a19e6c6516bf38a2aacae47701f3cffe004a7", + "size": 5337 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/delete", "status": "success", - "path": "en/api/cli/beta/tunnels/list.md", - "sha256": "fe913f5afefa321503b0845f269369aab8c36934d8c22d3668c9456d5de706b8", - "size": 2859 - }, - { - "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/certificates", - "status": "success", - "path": "en/api/cli/beta/tunnels/certificates.md", - "sha256": "b4db2d59e24427c3b16bdc9dabafd9f99a5a2f64074e8a6f82ca83b755c4bb00", - "size": 11839 - }, - { - "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/retrieve", - "status": "success", - "path": "en/api/cli/beta/tunnels/retrieve.md", - "sha256": "d194fbc7748729d25da77e1c4288fdad7204cddc511a2ca3d64421aa2f6d788a", - "size": 2165 - }, - { - "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/reveal_token", - "status": "success", - "path": "en/api/cli/beta/tunnels/reveal_token.md", - "sha256": "c903dd32902376e823a63e43b47ad1a17d909d0559321f8cdbf97f62aac05ae2", - "size": 1877 - }, - { - "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/archive", - "status": "success", - "path": "en/api/cli/beta/tunnels/archive.md", - "sha256": "be860956fbb3e0ef6a94bd26ce35314029fa420ba934caf98e1ccbf8391ca2ec", - "size": 2448 - }, - { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/create", - "status": "success", - "path": "en/api/cli/beta/sessions/create.md", - "sha256": "c1cefe83ec9868f8e2076fa5665e8a8c6fd4553685506217c5e523ae7ddae88c", - "size": 49573 - }, - { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/resources", - "status": "success", - "path": "en/api/cli/beta/sessions/resources.md", - "sha256": "36d0935a07126ce2babf00c41914debb8b775b78ed9df4fa542b81843b0e9c7a", - "size": 21136 - }, - { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/update", - "status": "success", - "path": "en/api/cli/beta/sessions/update.md", - "sha256": "2d27d017a2ca1f882d7ad702698d5f214bbd9961c44519e63f9f829e2b541633", - "size": 49270 + "path": "en/api/typescript/beta/memory_stores/delete.md", + "sha256": "f15f4173158296c7a8f62b0719f27591954242104e69853d369767fe8cf854e7", + "size": 3852 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/list", "status": "success", - "path": "en/api/cli/beta/sessions/list.md", - "sha256": "4b6f59e997cfd210c2e44bd29c1f10bdcbd6753b01e5355506d0da919b1c0186", - "size": 52052 + "path": "en/api/typescript/beta/memory_stores/list.md", + "sha256": "0332c560646a256dcefade2bf937f6db2b0fc7c8914f7e69daaa4f199926ae72", + "size": 6203 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/threads", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memories", "status": "success", - "path": "en/api/cli/beta/sessions/threads.md", - "sha256": "8bd4e8ce912f962282b6ae30a8a715d75b6692d5100a16142bdbc44906bf2403", - "size": 482366 + "path": "en/api/typescript/beta/memory_stores/memories.md", + "sha256": "35528f44266c2803dd0bac60e8c408b487b088992356f78aea6fa801ad630bfd", + "size": 51451 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/archive", "status": "success", - "path": "en/api/cli/beta/sessions/retrieve.md", - "sha256": "b9606e28743233437bc6e3a44d38dd2d856c021b0fe34b7327f9b923f652c64f", - "size": 48004 + "path": "en/api/typescript/beta/memory_stores/archive.md", + "sha256": "45ed4372786b91e182e84760b5844fdf273bde7be9af80b728e0c21e6084756f", + "size": 5409 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/events", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/models/retrieve", "status": "success", - "path": "en/api/cli/beta/sessions/events.md", - "sha256": "cb3fa2222c401dd1efc4cee63b483f9d17892e8aab9b85d65287fd9b73773e81", - "size": 604489 + "path": "en/api/typescript/beta/models/retrieve.md", + "sha256": "9544b29b859593ac118fe1522da39693f0114d0e23cc88f8c9e3a8e39374d187", + "size": 12566 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/delete", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/models/list", "status": "success", - "path": "en/api/cli/beta/sessions/delete.md", - "sha256": "2f3dccf59fa198b5db837444bebd0f3ffb2edbe7b26a7b7eb531c8fb7600346f", - "size": 1198 + "path": "en/api/typescript/beta/models/list.md", + "sha256": "35a7b220b713571f870ebac7e2c1715f4f192342a314b2bfc3d4112f3d5fe773", + "size": 13946 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/archive", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/create", "status": "success", - "path": "en/api/cli/beta/sessions/archive.md", - "sha256": "fc1a60bb1b45e5364ab2b4933eacf288a391b09c5b1c1c2ea1b2657cf3e497d1", - "size": 48022 + "path": "en/api/typescript/beta/agents/create.md", + "sha256": "c7ffc2921b9cd3072b9657713f384fef05a9698f283345af7eb8a0a7e90b20cc", + "size": 67247 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/deployments/unpause", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/update", "status": "success", - "path": "en/api/cli/beta/deployments/unpause.md", - "sha256": "5406d1bb89ff06946d5e35638188eb624e95281a9d681f7e665b3cc89cf2ded4", - "size": 17708 + "path": "en/api/typescript/beta/agents/update.md", + "sha256": "ae9eb4ae712fcc84b79824e34d11b9b2cbcf4415a7859b59e5fe2c61586d41f7", + "size": 68208 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/deployments/create", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/retrieve", "status": "success", - "path": "en/api/cli/beta/deployments/create.md", - "sha256": "e156e016d6e4d0d97125c74352df45a2035ae8f055c98afefb4762c13ccc6135", - "size": 19561 + "path": "en/api/typescript/beta/agents/retrieve.md", + "sha256": "563c79d40e0b34c0c7ef38ce6608c9ce33a7359a30424c610c38dedf18c6e092", + "size": 30718 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/deployments/update", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/list", "status": "success", - "path": "en/api/cli/beta/deployments/update.md", - "sha256": "c49efb319189fce69f7a9e4536d82a2a49218bb0114d91d09a1361035ebd5b22", - "size": 19655 + "path": "en/api/typescript/beta/agents/list.md", + "sha256": "304cd6cd25bf07015bf622496fcb1d362ce34d4c8397a0690e42c52dd402dbc5", + "size": 31522 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/deployments/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/versions", "status": "success", - "path": "en/api/cli/beta/deployments/list.md", - "sha256": "9c643a7f3ae2c0c978e94575f5d924e079a85af888e26ba01ecca5cfd331d959", - "size": 19288 + "path": "en/api/typescript/beta/agents/versions.md", + "sha256": "2ef8baa9ed0e8b462a67b7b68f8b55cfdb87425bcaa98061b935365412827e61", + "size": 31301 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/deployments/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/archive", "status": "success", - "path": "en/api/cli/beta/deployments/retrieve.md", - "sha256": "147d6306aa5319eac52ba9268ad44be63902a5840ed531c0e49d1ade46be4b75", - "size": 17679 + "path": "en/api/typescript/beta/agents/archive.md", + "sha256": "ece202beb15d1e000a7cd3cb14548b4d096f25e5598679b42daa7295e12fe94b", + "size": 30586 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/deployments/run", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work", "status": "success", - "path": "en/api/cli/beta/deployments/run.md", - "sha256": "d13e2244b05d452e2e1fde249d0edbcd1e6bb1cea1ea0852e4583c87bc178004", - "size": 7404 + "path": "en/api/typescript/beta/environments/work.md", + "sha256": "3223e67868103f0117ed2b253cc1467c13e1e4da1fcdae1820c72b1ac0c604cf", + "size": 48589 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/deployments/pause", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/create", "status": "success", - "path": "en/api/cli/beta/deployments/pause.md", - "sha256": "fd9a3e6f6ce6ac5e3bff1565068550b23127d2ecc10f16e3ca973f759d3cd47e", - "size": 17692 + "path": "en/api/typescript/beta/environments/create.md", + "sha256": "3d9a9b968c031f9fab11b72036ae54b5304afe7895f4d81a74cc80f0be7c5d7c", + "size": 10060 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/deployments/archive", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/update", "status": "success", - "path": "en/api/cli/beta/deployments/archive.md", - "sha256": "52c57ab49a246895892bfaf26a60c211d7152ffb5580d51e8e7995e0fe4419db", - "size": 17708 + "path": "en/api/typescript/beta/environments/update.md", + "sha256": "32c766201976ac449fb48e71c8c573ed67ea1acc5da3f7b1df179f0bdbc8abd2", + "size": 10153 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/create", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/retrieve", "status": "success", - "path": "en/api/cli/beta/skills/create.md", - "sha256": "1df4080a26aeeda47e17c34089d45de2044f07ce64d7326c0ff4041276de5082", - "size": 3140 + "path": "en/api/typescript/beta/environments/retrieve.md", + "sha256": "7ea77ed38b2cde0cdecfebad15056faa48727d0668b5bca4311460e2aa6c844e", + "size": 6976 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/delete", "status": "success", - "path": "en/api/cli/beta/skills/list.md", - "sha256": "e03cc2600c9597105c27ee60cd08788047ceb336d58b4ebb308cf4250567a8cc", - "size": 3775 + "path": "en/api/typescript/beta/environments/delete.md", + "sha256": "7d154bb8525ac9e31034f2548554725429ade24c7ce7fb9fb321d9d2c6ca0047", + "size": 3613 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/list", "status": "success", - "path": "en/api/cli/beta/skills/retrieve.md", - "sha256": "c71bcc1cda4bf2b6db05c6a7d618457eba83eb660b7df1a2ba58bb9457248276", - "size": 2884 + "path": "en/api/typescript/beta/environments/list.md", + "sha256": "d913679d95fedf62fd7ae91523c0b54dd99e46f7a6736b6c748d180d768ef249", + "size": 7555 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/versions", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/archive", "status": "success", - "path": "en/api/cli/beta/skills/versions.md", - "sha256": "816beec131ea84fe66bb2198c0044416b10a7a950e815ea9a38c6cc28fae86c5", - "size": 11695 + "path": "en/api/typescript/beta/environments/archive.md", + "sha256": "a420b503a8da685d66e53ffe55f4084007c353685cb9f8534744572eed615b3f", + "size": 7037 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/delete", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/certificates", "status": "success", - "path": "en/api/cli/beta/skills/delete.md", - "sha256": "38343440f497c7a9016d79c91da531a65d87a47379095da8b43997c6adf6843a", - "size": 1312 + "path": "en/api/typescript/beta/tunnels/certificates.md", + "sha256": "c83014f4e03a051b9a74824d60e03a572680ca14e9d0dc25d3a967db4d67a4a1", + "size": 20745 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memory_versions", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/create", "status": "success", - "path": "en/api/cli/beta/memory_stores/memory_versions.md", - "sha256": "8b87dd8ef805141143a7306a57a628cf3c978e4473c6395e09534382e976df7a", - "size": 36350 + "path": "en/api/typescript/beta/tunnels/create.md", + "sha256": "3631a8bb4355c14ed961a72febf3d507cb3fc526e4efdca60daee6ebd610e3b6", + "size": 4586 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/create", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/retrieve", "status": "success", - "path": "en/api/cli/beta/memory_stores/create.md", - "sha256": "094e9068e93d13246dff2c18f1240ad58d6d6584664556b95ee5c2b691af405b", - "size": 3600 + "path": "en/api/typescript/beta/tunnels/retrieve.md", + "sha256": "098de0d45d398b65c18fc077c9cf577ea72d5414d8ae63cfaccf2f653e940ba3", + "size": 4396 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/update", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/reveal_token", "status": "success", - "path": "en/api/cli/beta/memory_stores/update.md", - "sha256": "abf0837d52d2ba0b97702313fb60af8676ff5fccf9f7d96110eb403f995b42e4", - "size": 3697 + "path": "en/api/typescript/beta/tunnels/reveal_token.md", + "sha256": "7cfc36a78d5aa87532284aca755dfbd6f6ef21cd4108890209bf8e97ec494e43", + "size": 4109 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/list", "status": "success", - "path": "en/api/cli/beta/memory_stores/list.md", - "sha256": "933354a5aedf3b7a67bac21673b9c4c41da4b61410483808e79dff8fc562de3c", - "size": 4134 + "path": "en/api/typescript/beta/tunnels/list.md", + "sha256": "92cadf2720436a1812a8fa8a8c998cd6a800935612223331bd3031368609bf05", + "size": 4912 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/archive", "status": "success", - "path": "en/api/cli/beta/memory_stores/retrieve.md", - "sha256": "6db8ee4663204b1b74cc4df14cf95ef27a12b796eb258099f2f453c662a592d7", - "size": 3046 + "path": "en/api/typescript/beta/tunnels/archive.md", + "sha256": "c12dc0d3ac296bd945b2093e3feda7ee70e1bbfe67743d400afc3dda1577acf1", + "size": 4678 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/delete", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/rotate_token", "status": "success", - "path": "en/api/cli/beta/memory_stores/delete.md", - "sha256": "dd5fb06517fcd013f3e6bcb8362c0a61e82cb320334a6e0031fe029e5ab2222e", - "size": 1561 + "path": "en/api/typescript/beta/tunnels/rotate_token.md", + "sha256": "a667c75c0d78f1c95e47f37228c88d5c2caa454b6984545b8a4752430b8920f6", + "size": 4208 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memories", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches", "status": "success", - "path": "en/api/cli/beta/memory_stores/memories.md", - "sha256": "1c5b9b09c4b3c86a80f17c7e3f8726f2ce9ef25707011d91cbfa5f117aca1d20", - "size": 38190 + "path": "en/api/typescript/beta/messages/batches.md", + "sha256": "122b70222061ccf44fbfc7103be6ea54f77d196101c1d4e39d4fa800ffac34b0", + "size": 794990 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/archive", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/create", "status": "success", - "path": "en/api/cli/beta/memory_stores/archive.md", - "sha256": "baccbc206dfea6b1ea5066042a8a4ec6899121cb8751e0f9546f67f026085ad2", - "size": 3123 + "path": "en/api/typescript/beta/messages/create.md", + "sha256": "ea7ae85cc2af4b55f8dc879d0b979aa124212519558d6f796d32f0cb7dbfa950", + "size": 308043 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/files/download", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/count_tokens", "status": "success", - "path": "en/api/cli/beta/files/download.md", - "sha256": "2d5351fb363576db620395a6102d124f4b123e3739ccacda231ad7ef1013b8a9", - "size": 923 + "path": "en/api/typescript/beta/messages/count_tokens.md", + "sha256": "ef9de7f2f0868ea606f725b954a5c4830ad7712499b7f5d449484992d7661406", + "size": 148732 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/files/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/pause", "status": "success", - "path": "en/api/cli/beta/files/list.md", - "sha256": "b132bace0aec284fb5c90947a0e666f6b3fdba320cc7b1da949569af48758db8", - "size": 3588 + "path": "en/api/typescript/beta/deployments/pause.md", + "sha256": "f7b8500fc951cd413fe95f327f57c170422b09b53c807a00003e06e20206d176", + "size": 19684 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/files/upload", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/create", "status": "success", - "path": "en/api/cli/beta/files/upload.md", - "sha256": "950c65abebd6cb45b1d0d0303d99f0f8a3b85060b004db8c514fe8ca1b53a699", - "size": 2882 + "path": "en/api/typescript/beta/deployments/create.md", + "sha256": "fb8653ecd9cf2f69b10f3a4e106fff21cdb8351d36e0fa7ccd201868e15f1db2", + "size": 31350 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/files/retrieve_metadata", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/update", "status": "success", - "path": "en/api/cli/beta/files/retrieve_metadata.md", - "sha256": "5f6eb08253f83f080128d0db41eb54e6f4cb0ff1fb6794dd1db28895d6e10ac7", - "size": 2520 + "path": "en/api/typescript/beta/deployments/update.md", + "sha256": "dd72ec3035337fbec20be944e7ee4798abaa28816c7af68dd8c40cc275518c3f", + "size": 31425 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/files/delete", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/retrieve", "status": "success", - "path": "en/api/cli/beta/files/delete.md", - "sha256": "fb3e11e605807ceef4c2176f4ac603b2723794821566314151d37ed455f83096", - "size": 1174 + "path": "en/api/typescript/beta/deployments/retrieve.md", + "sha256": "8f05455ebe066e5721a8671a045dadda602f29acfb639570affdc539cd178bc7", + "size": 19674 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/messages/create", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/list", "status": "success", - "path": "en/api/cli/beta/messages/create.md", - "sha256": "3a485a62e0379ee2ac60e89997409adda100bcfcc5c8bd0b71582e80274376f0", - "size": 215415 + "path": "en/api/typescript/beta/deployments/list.md", + "sha256": "e463bb4e3ddd866d1a80e7f57ec44f0e42885be41fee97c00fdcfbe56d2dc9d3", + "size": 21078 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/messages/count_tokens", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/unpause", "status": "success", - "path": "en/api/cli/beta/messages/count_tokens.md", - "sha256": "b26ece42c146e38e05c84e707ea9735a30c8c71632a0e23a993941c4159de7a5", - "size": 10574 + "path": "en/api/typescript/beta/deployments/unpause.md", + "sha256": "131223f8a3d3835fdc5883e9462027e9fe4a59c6bda2103db4895682ee2cc46c", + "size": 19702 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/messages/batches", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/archive", "status": "success", - "path": "en/api/cli/beta/messages/batches.md", - "sha256": "85f9cae2098d5114d1924bd80db9787a2e83b8c823bf010198efdd87f99cc493", - "size": 735359 + "path": "en/api/typescript/beta/deployments/archive.md", + "sha256": "87b80575ae505dbac6a7b633cc0f6d267378603fd3ed64a502a7f86f2eee6b00", + "size": 19702 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/messages/batches/create", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/run", "status": "success", - "path": "en/api/cli/beta/messages/batches/create.md", - "sha256": "276018b5b6db1edd5ca6998ede662b2538679c1003a61640a943112db516ae8f", - "size": 5367 + "path": "en/api/typescript/beta/deployments/run.md", + "sha256": "cd374e07b5513644c5a1723145b3d6b6c8ce1f26a2f035414f572c712a485624", + "size": 9587 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/messages/batches/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/create", "status": "success", - "path": "en/api/cli/beta/messages/batches/list.md", - "sha256": "4229a6a7add01d69478ba1202c766ac611ad9a87a2ccfbfe35d59096dbd6b473", - "size": 5672 + "path": "en/api/typescript/beta/skills/create.md", + "sha256": "ab6d32bfb7b1bc302411f7eae5e562eed20c95b8885b6c5ffb057e4933e34038", + "size": 5420 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/messages/batches/cancel", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/retrieve", "status": "success", - "path": "en/api/cli/beta/messages/batches/cancel.md", - "sha256": "12fb7f02e5a0f127e7f90b3abc28ea67012c5d7f9a16a43922bdadb6967d5451", - "size": 5075 + "path": "en/api/typescript/beta/skills/retrieve.md", + "sha256": "d6e3bae98585b2a31199c2c349d96b311f31533beedb1563a47b059a675ca434", + "size": 5123 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/messages/batches/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/delete", "status": "success", - "path": "en/api/cli/beta/messages/batches/retrieve.md", - "sha256": "23f2641f9b081ffc1cf12eda4f7d90e3ba036cde8eebb31b06238aa4d3e72655", - "size": 4767 + "path": "en/api/typescript/beta/skills/delete.md", + "sha256": "d0565a7e8b9c59f65c441077806dcdb6352285cd034da3019ab316a2decd13f5", + "size": 3571 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/messages/batches/results", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/list", "status": "success", - "path": "en/api/cli/beta/messages/batches/results.md", - "sha256": "7991ffea34f7ebce4857373436b934536f2da4317ed3d491146c9425c88feb79", - "size": 182310 + "path": "en/api/typescript/beta/skills/list.md", + "sha256": "43eb96021a74daf6dd5bc84b2f5e137c62b65edbedb7d53047a8ad853af5daf2", + "size": 5749 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/messages/batches/delete", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/versions", "status": "success", - "path": "en/api/cli/beta/messages/batches/delete.md", - "sha256": "62c08e9a0b1822a76eb28a40516183cf3296366cc4e5c9484fd8051896fc13d5", - "size": 1626 + "path": "en/api/typescript/beta/skills/versions.md", + "sha256": "6c0723f52c148a2906f18b32ae63f73c38ce55ed1931a921d8cd8b7ad85167d7", + "size": 22891 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memories/create", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/create", "status": "success", - "path": "en/api/cli/beta/memory_stores/memories/create.md", - "sha256": "0c3e10e11b0e73a3cc8f151977c3ea0e6f23880189ad9d87bf2069c7dbecc4d6", - "size": 4890 + "path": "en/api/typescript/beta/vaults/create.md", + "sha256": "6847177a327d533c93d181dba4bed13c8f36db82ebf29cc83b857a30ca96ea11", + "size": 4317 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memories/update", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/update", "status": "success", - "path": "en/api/cli/beta/memory_stores/memories/update.md", - "sha256": "d3970beeb9408575eb72e325e9842879700ab3ed49dcb07780b4c8dd37ed3384", - "size": 5343 + "path": "en/api/typescript/beta/vaults/update.md", + "sha256": "f1f63cce73ebc2288de134239a924008c1d769b3bbe67028e39f759dbe3cd609", + "size": 4434 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memories/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/retrieve", "status": "success", - "path": "en/api/cli/beta/memory_stores/memories/list.md", - "sha256": "ab21e68e04a09ffce5892a63b57b83506098c743a69318ff4ef1266fdf410a1c", - "size": 6764 + "path": "en/api/typescript/beta/vaults/retrieve.md", + "sha256": "ca4226ef4b7f2cda625372e0cd0840b5e8fc15118aeb768c8be227d99d0a6cab", + "size": 4153 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memories/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/delete", "status": "success", - "path": "en/api/cli/beta/memory_stores/memories/retrieve.md", - "sha256": "317ba8e4140206d0c44c4c7c4596ae32a09acd8effbad28e923665808b5ee59e", - "size": 4421 + "path": "en/api/typescript/beta/vaults/delete.md", + "sha256": "5671e1601a3ac853246fd276ec6e1c35b5bf1992e555ff4ce170ca0ff6800b6a", + "size": 3519 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memories/delete", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/list", "status": "success", - "path": "en/api/cli/beta/memory_stores/memories/delete.md", - "sha256": "ff3a63fb0d5eb91c74327bb683b0edc8e45c9eeebe91d708ee3ea50a8c32cc51", - "size": 2248 + "path": "en/api/typescript/beta/vaults/list.md", + "sha256": "c3e598b1cd9450871d8aee7c05aea5adf243760604f3e9d517a83b1d6837a78d", + "size": 4683 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memory_versions/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/archive", "status": "success", - "path": "en/api/cli/beta/memory_stores/memory_versions/list.md", - "sha256": "c1c3ce03dec8febd6fd1eaff9aade781b8fc96d7b8c04fc791f903a8596229c9", - "size": 9948 + "path": "en/api/typescript/beta/vaults/archive.md", + "sha256": "e14b04dfcf4eb1dba57ffe78126cce03431805523a139c81aa6b2e245aa37779", + "size": 4154 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memory_versions/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials", "status": "success", - "path": "en/api/cli/beta/memory_stores/memory_versions/retrieve.md", - "sha256": "911f6c5a4f730887ebad7dc8a50dec7e5d3e066d0f334e5cef5284a3b31fe86e", - "size": 8432 + "path": "en/api/typescript/beta/vaults/credentials.md", + "sha256": "349a68a5464b7f858856a7d0ff22fbd4ca91fa135c33352865af734173f85f19", + "size": 97609 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memory_versions/redact", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/create", "status": "success", - "path": "en/api/cli/beta/memory_stores/memory_versions/redact.md", - "sha256": "05eb36b3cb0438547bf7c05a61eee3c1dd52c35759b6de955a3e1f013ddf4c72", - "size": 8013 + "path": "en/api/typescript/beta/vaults/credentials/create.md", + "sha256": "2f0db059e34dc8b2468e072d669ebf6902c4971e0634df6c694c524eb022b903", + "size": 13731 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/versions/create", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/update", "status": "success", - "path": "en/api/cli/beta/skills/versions/create.md", - "sha256": "a817820864a052a85a52dcf90d321e74fef95d807516a175dbdc5b162a243e04", - "size": 2396 + "path": "en/api/typescript/beta/vaults/credentials/update.md", + "sha256": "8a09ee095b229e6edfb31920cc72a0bfcc0b7a2f283f6f9e6a49e07129bbe56c", + "size": 13291 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/versions/download", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/retrieve", "status": "success", - "path": "en/api/cli/beta/skills/versions/download.md", - "sha256": "31e27f79e9d2afb50d4e7d62066aca25609ad63ee5db2e6d2aa74a85c748ac91", - "size": 1374 + "path": "en/api/typescript/beta/vaults/credentials/retrieve.md", + "sha256": "0ad4dc4fb2c912d3e7e04c98ee511556facfaa45294114bf59c47999bff8adda", + "size": 8392 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/versions/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/delete", "status": "success", - "path": "en/api/cli/beta/skills/versions/list.md", - "sha256": "18c3f54776b541cd4611ce1adcd4f788a6332a988b72582195bba4e84bfcba61", - "size": 2865 + "path": "en/api/typescript/beta/vaults/credentials/delete.md", + "sha256": "c23727fb0611b55ddf20769b1d6b93715351aa1949fd2670db550317c9277420", + "size": 3817 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/versions/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/list", "status": "success", - "path": "en/api/cli/beta/skills/versions/retrieve.md", - "sha256": "03f707ccaf033507dc314928cf0d79580b8cd9e081ad02f82edc7bd2723e3b76", - "size": 2506 + "path": "en/api/typescript/beta/vaults/credentials/list.md", + "sha256": "2a26eca2e232bb952c20d9b0022c17ead014b8da3674f71140fb9ce3d82c1f10", + "size": 8937 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/versions/delete", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/archive", "status": "success", - "path": "en/api/cli/beta/skills/versions/delete.md", - "sha256": "01c99eb3d1d6af29a06749927f3e9089c899d9d700c3366f8247472bafa3bc15", - "size": 1667 + "path": "en/api/typescript/beta/vaults/credentials/archive.md", + "sha256": "79560fbd8ba49abfbd6eefa74359cf9613eb70e0da797eb207cab066f01b23a5", + "size": 8393 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/threads/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/mcp_oauth_validate", "status": "success", - "path": "en/api/cli/beta/sessions/threads/list.md", - "sha256": "0b36f7d3b02fae854555bec19a1902a9a71e61d504e9f5351ab4f62aae824124", - "size": 35944 + "path": "en/api/typescript/beta/vaults/credentials/mcp_oauth_validate.md", + "sha256": "a90df73d3d18ed9d5901d7937cb4125ab0dc62c49476bddf9021a724abceb6c9", + "size": 7156 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/threads/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/versions/create", "status": "success", - "path": "en/api/cli/beta/sessions/threads/retrieve.md", - "sha256": "52a909e2bca74ee68b7ce3d59ad3ff88457baf852f4aade5d9b25602c37ed5b0", - "size": 34091 + "path": "en/api/typescript/beta/skills/versions/create.md", + "sha256": "ced6fc8ef834298f198c8b81f7047427d2d5b620f8f73083c1a8240e9472cf88", + "size": 4689 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/threads/events", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/versions/download", "status": "success", - "path": "en/api/cli/beta/sessions/threads/events.md", - "sha256": "fb0fb4885ec9042df002c6e8dbee73f04e10af9592917efb729991216ba28cdb", - "size": 215988 + "path": "en/api/typescript/beta/skills/versions/download.md", + "sha256": "ad9f0b1da0de96edbb41637800db09c177db21229b5a4f3cc410b3d907151518", + "size": 3658 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/threads/archive", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/versions/retrieve", "status": "success", - "path": "en/api/cli/beta/sessions/threads/archive.md", - "sha256": "0b6fdf583c501b63b2dde3042233b91200ed76e8a689ef9375e470b97cbe2519", - "size": 34109 + "path": "en/api/typescript/beta/skills/versions/retrieve.md", + "sha256": "62c2a852f5f8d8b02e255d79bc29b4d018b45955b2b82a9a97c40dc300d523f6", + "size": 4778 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/resources/update", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/versions/delete", "status": "success", - "path": "en/api/cli/beta/sessions/resources/update.md", - "sha256": "29686d6daeba5e81c3f0105a2522b38fc003bc0ebcb5a2f7e5ca82b5275cbe26", - "size": 4263 + "path": "en/api/typescript/beta/skills/versions/delete.md", + "sha256": "b23dbfc4fd458a045a3bf3ce78eb91e28f1d63a4710b736eabf5eea5023a68cd", + "size": 3965 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/resources/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/versions/list", "status": "success", - "path": "en/api/cli/beta/sessions/resources/list.md", - "sha256": "db76dd22fed048008c84f0cb9d85ed563a39775fed72531657c39b14da559ed1", - "size": 4805 + "path": "en/api/typescript/beta/skills/versions/list.md", + "sha256": "ae75e0095b988bc1f7ecf4b6fff2c9199ea0c7e49747959c6f0c2a204ff1a4c4", + "size": 4879 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/resources/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches/cancel", "status": "success", - "path": "en/api/cli/beta/sessions/resources/retrieve.md", - "sha256": "d985e7b204668d1deb37ed2528516a530455bebd942cf75d7f15ecfbead76daa", - "size": 4033 + "path": "en/api/typescript/beta/messages/batches/cancel.md", + "sha256": "7d44be9c353d027eb2c653210750093bb71d559753a0cd2d4bdf0737574561d8", + "size": 7478 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/resources/add", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches/create", "status": "success", - "path": "en/api/cli/beta/sessions/resources/add.md", - "sha256": "56b3df2890d874b9a72c336c62c05b409cd0a318e307550a8a17098a7e035a71", - "size": 1863 + "path": "en/api/typescript/beta/messages/batches/create.md", + "sha256": "928a5e2b22cf35bb8c871427a44f60b6fd5fdff368b48205645d7cc447c7d84e", + "size": 171553 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/resources/delete", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches/retrieve", "status": "success", - "path": "en/api/cli/beta/sessions/resources/delete.md", - "sha256": "3bde61a29b0739cfb1983faa82dc866569cb25d2432911a6782a03c3533adda7", - "size": 1376 + "path": "en/api/typescript/beta/messages/batches/retrieve.md", + "sha256": "8ea57905f6edd83954e29d3cdb718625ae1181c7c5e116b75158e87c00c2e58d", + "size": 7172 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/events/send", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches/delete", "status": "success", - "path": "en/api/cli/beta/sessions/events/send.md", - "sha256": "08cf5a9452895c58efa9bb3c2b000e10cd9a2dbf962c8b279e500a7156077c0a", - "size": 13958 + "path": "en/api/typescript/beta/messages/batches/delete.md", + "sha256": "d07010441362dd537624c6a7d3da2a96de0f6232e7a6085c2d22224515dde582", + "size": 3918 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/events/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches/list", "status": "success", - "path": "en/api/cli/beta/sessions/events/list.md", - "sha256": "29d00eaf02933693757ff9512201a93358a64856e6b61f84e390f3badd844e7c", - "size": 109063 + "path": "en/api/typescript/beta/messages/batches/list.md", + "sha256": "c7fba119c6aed1e1a55e35d546644e5be147607c03af222b7ae96ec3ea95d5f5", + "size": 7672 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/events/stream", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches/results", "status": "success", - "path": "en/api/cli/beta/sessions/events/stream.md", - "sha256": "9fee1c9170cd76261b7b15250d7f981f6f6539f565db262b30d0e1ccb08760f0", - "size": 107885 + "path": "en/api/typescript/beta/messages/batches/results.md", + "sha256": "67e7a266345fca3a480526ec643f2dbcfd739ccda9caf64628bcbba96ddcf0cc", + "size": 154490 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/threads/events/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/certificates/create", "status": "success", - "path": "en/api/cli/beta/sessions/threads/events/list.md", - "sha256": "242d056d1909ddf7679762d3616d3ed8ce7c84d266cae3c40835dbaba2481c64", - "size": 108054 + "path": "en/api/typescript/beta/tunnels/certificates/create.md", + "sha256": "7dd368285250aae653d0e10c4eda3ac841608bd5848f14b25955bfab92c2e92d", + "size": 5064 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/threads/events/stream", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/certificates/retrieve", "status": "success", - "path": "en/api/cli/beta/sessions/threads/events/stream.md", - "sha256": "0562c3ff3113ed747d027e6fa9456073d36e1e3233d36baf0ceb4b7e1fe18536", - "size": 108068 + "path": "en/api/typescript/beta/tunnels/certificates/retrieve.md", + "sha256": "1bd4edbdfd985feb808662906cd5a8b3cc3eaf6383acec1721cfed4f5a75b47c", + "size": 4818 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/certificates/create", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/certificates/list", "status": "success", - "path": "en/api/cli/beta/tunnels/certificates/create.md", - "sha256": "a2f2fd8f4d8196b71cfd12715232b611e5fd4d7e2c66c28586b2c6f9cbaa5373", - "size": 2791 + "path": "en/api/typescript/beta/tunnels/certificates/list.md", + "sha256": "c042c6bd2f3432ac2151daf494d8571db881a7c6836573340f3e7baf6bc3d4fb", + "size": 5290 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/certificates/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/certificates/archive", "status": "success", - "path": "en/api/cli/beta/tunnels/certificates/list.md", - "sha256": "e3d394dd2f3c85afbca59b5be8aefc29137626f17e20bbd7e3598c8004ba5ab3", - "size": 3203 + "path": "en/api/typescript/beta/tunnels/certificates/archive.md", + "sha256": "ea8bd538c283f4b4cb391cd7cd1a5f96a74682ff4a2da706f9924c697494cc3c", + "size": 5054 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/certificates/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/poll", "status": "success", - "path": "en/api/cli/beta/tunnels/certificates/retrieve.md", - "sha256": "0bd406317b91376c452c518b1df2ade60fc0c57e623e3a7aed1d4c15644a849b", - "size": 2541 + "path": "en/api/typescript/beta/environments/work/poll.md", + "sha256": "0ca2c1369996d9d3150b07cdb9d0e9ee349232ddfd9b24a348d2ee9b47c4d2b7", + "size": 5680 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/certificates/archive", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/update", "status": "success", - "path": "en/api/cli/beta/tunnels/certificates/archive.md", - "sha256": "743fbf139513366a9c41de11e197c5cbd3f53ad33859df85731e6d6db6d8e5fd", - "size": 2778 + "path": "en/api/typescript/beta/environments/work/update.md", + "sha256": "0a160285f049f7d9d0f235e3e85723338286f0a5fec60e80fc3f7f72b8665fb2", + "size": 5994 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/agents/versions/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/stop", "status": "success", - "path": "en/api/cli/beta/agents/versions/list.md", - "sha256": "a815bd807579c95506c28b273e53daf00ef5f2e9b9548ebef7f0542f5a906bce", - "size": 31719 + "path": "en/api/typescript/beta/environments/work/stop.md", + "sha256": "b015200507b5809e5d9797ca4c0dc2daa948e41a7116592aa0dfe24e33d44848", + "size": 5866 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/create", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/retrieve", "status": "success", - "path": "en/api/cli/beta/vaults/credentials/create.md", - "sha256": "2c9f37035a9997624b81f54aaae63db38adae0cb659d568cb27a05ac75bcd184", - "size": 6326 + "path": "en/api/typescript/beta/environments/work/retrieve.md", + "sha256": "5dabdd818002b780fd4ecf89ba10b41dd939e9a4758ae5bc4934dcb17d6ef9fa", + "size": 5799 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/update", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/heartbeat", "status": "success", - "path": "en/api/cli/beta/vaults/credentials/update.md", - "sha256": "1845e7ff06cad4eb45b9ec80dc251257680d95eeead255a5835017434c48aad6", - "size": 6438 + "path": "en/api/typescript/beta/environments/work/heartbeat.md", + "sha256": "f2f7cc94e0e4b37b7df058e1f53acaa90407aca82b7f884877793fc2af47403f", + "size": 4569 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/list", "status": "success", - "path": "en/api/cli/beta/vaults/credentials/list.md", - "sha256": "eff0299d1a691820209f93aa0869f9f46ba4ac076740ded56742d5cb6d9841e1", - "size": 6537 + "path": "en/api/typescript/beta/environments/work/list.md", + "sha256": "cfa4f46c27a67c424eb491608794e48bec53357f084bdc0c90b3e728084fcefe", + "size": 5744 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/mcp_oauth_validate", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/stats", "status": "success", - "path": "en/api/cli/beta/vaults/credentials/mcp_oauth_validate.md", - "sha256": "2a821f5d30a62c23047af01837e7b328f376e90b2f6b685620294433a95e70ea", - "size": 4697 + "path": "en/api/typescript/beta/environments/work/stats.md", + "sha256": "88d55b39c3217743b251621b0343628fd9aa55c945f1494239129ae56dfe059b", + "size": 4217 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/ack", "status": "success", - "path": "en/api/cli/beta/vaults/credentials/retrieve.md", - "sha256": "8ef44ef0ffd2a9f496d2c28934175ef387499ba259aa3073424ecb175d877d84", - "size": 5871 + "path": "en/api/typescript/beta/environments/work/ack.md", + "sha256": "142be354ba7822c2b1048edbdec109bc969eb352e5af43cc2cf563a315e24610", + "size": 5480 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/delete", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/versions/list", "status": "success", - "path": "en/api/cli/beta/vaults/credentials/delete.md", - "sha256": "8bdd9d5806971fd191b17402305928480db7e08af379e51681bed644e2de4697", - "size": 1505 + "path": "en/api/typescript/beta/agents/versions/list.md", + "sha256": "29c386ac7d1fc4cfd1cf6304774d95e9d9eca63f4ade4b78bb3865d3fd7324ac", + "size": 31300 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/archive", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memories/create", "status": "success", - "path": "en/api/cli/beta/vaults/credentials/archive.md", - "sha256": "1ce20c7215ad9221ceccc887d9aecd1220d8434f834711a961f4492c62d2e098", - "size": 5888 + "path": "en/api/typescript/beta/memory_stores/memories/create.md", + "sha256": "79b87b48ec749b2719d2c7a9fbb39cecc953722276f04e1e5b0ebcb41a11b4a1", + "size": 7485 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/work/update", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memories/update", "status": "success", - "path": "en/api/cli/beta/environments/work/update.md", - "sha256": "ece6e7e6e0d577319ca5b113ed6202a94896de294df2afb1e059e82a283067c4", - "size": 3654 + "path": "en/api/typescript/beta/memory_stores/memories/update.md", + "sha256": "97274872a8d4a672c50cd6d01feee0552ac4a15f20467f1341320c68eb3bd397", + "size": 8310 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/work/list", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memories/retrieve", "status": "success", - "path": "en/api/cli/beta/environments/work/list.md", - "sha256": "3886a008af273e24b289047b4a524b675cec77849f09e0821a79e04a587d4246", - "size": 3394 + "path": "en/api/typescript/beta/memory_stores/memories/retrieve.md", + "sha256": "7b875faa99161c5efc85662f85ff03f1b3d1cbe7595fc9172c4c738fca302afb", + "size": 7007 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/work/stop", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memories/delete", "status": "success", - "path": "en/api/cli/beta/environments/work/stop.md", - "sha256": "51d3c0e4b8b00afe39e150d3a1f79f013a4ee2d16de070c284507d1caf76a3b3", - "size": 3554 + "path": "en/api/typescript/beta/memory_stores/memories/delete.md", + "sha256": "3a83dc0fe7b77ad6c2ba48b5c4b273f9eaa92b29d94ed3f57c1d570b5b67168a", + "size": 4537 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/work/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memories/list", "status": "success", - "path": "en/api/cli/beta/environments/work/retrieve.md", - "sha256": "7373d973da1b73c94aab8c5a01e2a138ad2b6497531db9beeff756e057a9fa55", - "size": 3477 + "path": "en/api/typescript/beta/memory_stores/memories/list.md", + "sha256": "8d1e05873890d384e38a6868567bc0fdd8791056a5411a9d91bda9bf3e35569c", + "size": 9095 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/work/ack", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memory_versions/retrieve", "status": "success", - "path": "en/api/cli/beta/environments/work/ack.md", - "sha256": "347d7f3248309a90c16eab13bb98dba36bbc6775a16138949e857d25642a34d7", - "size": 3159 + "path": "en/api/typescript/beta/memory_stores/memory_versions/retrieve.md", + "sha256": "3ad79e923413449319d8806dca3fb54a03f322ea3abdb973794e2aafa2471dca", + "size": 10171 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/work/stats", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memory_versions/list", "status": "success", - "path": "en/api/cli/beta/environments/work/stats.md", - "sha256": "8a299d0e8e08334644ba66d4b12a32d742fe53f4689f7eef8b582858faec4553", - "size": 1887 + "path": "en/api/typescript/beta/memory_stores/memory_versions/list.md", + "sha256": "9f468126bf1631983637aa5139ac182c07d8bba8aba1cf929e91923add5f11ae", + "size": 12115 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/work/heartbeat", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memory_versions/redact", "status": "success", - "path": "en/api/cli/beta/environments/work/heartbeat.md", - "sha256": "e09c6c9b61eeac10a1353ce5089e945740b51acdbaa03d79bbe5a320fec761c2", - "size": 2231 + "path": "en/api/typescript/beta/memory_stores/memory_versions/redact.md", + "sha256": "faea2824910aebe9c2704076eba913369667b1e5dd50c7775a4347955bdf647e", + "size": 9434 }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/work/poll", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads/retrieve", "status": "success", - "path": "en/api/cli/beta/environments/work/poll.md", - "sha256": "5648b8288bb8f6a7b52b9bc688bd2ccab0e5ad1b36f48579b07397fc089465b5", - "size": 3608 + "path": "en/api/typescript/beta/sessions/threads/retrieve.md", + "sha256": "f3980692739e5c9dee2b71bdc9325168e39563ab1ad8606e42e23331d4801789", + "size": 33892 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads/list", "status": "success", - "path": "en/api/php/beta/sessions.md", - "sha256": "2fe44d1bae4a75c48ceb7f67baaf00945fda95a8a928a4408456307a270159a5", - "size": 197873 + "path": "en/api/typescript/beta/sessions/threads/list.md", + "sha256": "0e67c19ee8254225a5ca908e85ab048807d876bdc09b029ba5292e1beff5e805", + "size": 34827 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/webhooks", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads/archive", "status": "success", - "path": "en/api/php/beta/webhooks.md", - "sha256": "4bd4b80b2c42b0ce435fa8eaf3e230f5de4f4294b9fe1f2766ccf71152d6c7ac", - "size": 22518 + "path": "en/api/typescript/beta/sessions/threads/archive.md", + "sha256": "6eb6aeb83f70e9d0f539e0976dd93b225bf7ba2f39425ecf0c61ae5df471557e", + "size": 33909 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/skills", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads/events", "status": "success", - "path": "en/api/php/beta/skills.md", - "sha256": "64d5d4f4ba1106e183b4e0ad120bbf2837e5c1b424db1fe1c75a88ed0afd842b", - "size": 23613 + "path": "en/api/typescript/beta/sessions/threads/events.md", + "sha256": "8b68e3a03448bde47dd37e797b11fba0811af9537a040c81d3d9362cecc49827", + "size": 202724 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/agents", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/events/send", "status": "success", - "path": "en/api/php/beta/agents.md", - "sha256": "ab7fd019dd824bd152972719d6c53f48092a2cbed3d1761ccd4ef7e0241340fb", - "size": 81651 + "path": "en/api/typescript/beta/sessions/events/send.md", + "sha256": "41a612324e0c2f1e0a464bc8208f444f3f6fce42d3f8c18066bc4ffa950ebbb0", + "size": 26695 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/deployments", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/events/stream", "status": "success", - "path": "en/api/php/beta/deployments.md", - "sha256": "bc69a6b6cb3c558a6e73d6d3369706c5502cb9f5ab13a625906b3c707fc8dc15", - "size": 55759 + "path": "en/api/typescript/beta/sessions/events/stream.md", + "sha256": "f5490d11c8f78544be0526dcb7d0c243ff3c1b2fa4e6242ff54f8c23c197916f", + "size": 102799 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/deployment_runs", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/events/list", "status": "success", - "path": "en/api/php/beta/deployment_runs.md", - "sha256": "55e1a1eb994cb47b688e4b496a7b3edd81d2a068c2adeaad25f9361c9f59d098", - "size": 11921 + "path": "en/api/typescript/beta/sessions/events/list.md", + "sha256": "20a80681a176f370d178d0ac38ad160da238f5adf8e5746ed63bed6bf62439ab", + "size": 102294 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/user_profiles", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/resources/update", "status": "success", - "path": "en/api/php/beta/user_profiles.md", - "sha256": "66a31296f3e90f012860a75b212c9c34dc6f5bdf5237fc8d956d5b4f8856f678", - "size": 29283 + "path": "en/api/typescript/beta/sessions/resources/update.md", + "sha256": "9de2a65c6ad4014477e47fa356a7f799ee2a3ce38073a7b3b38501d8e2fea9f6", + "size": 6459 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/models", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/resources/add", "status": "success", - "path": "en/api/php/beta/models.md", - "sha256": "232fd3935ce7b33bd0da4da986dda03b31f8e39b0aecda01489fea30ec938040", - "size": 18908 + "path": "en/api/typescript/beta/sessions/resources/add.md", + "sha256": "b9f41c2d832391c957ed5c5774fa96ac479f927cd89ba34fcba0025656b1eddf", + "size": 4143 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/vaults", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/resources/retrieve", "status": "success", - "path": "en/api/php/beta/vaults.md", - "sha256": "4d73f53470369d2099e16a14d72a2a5342a388fdb406849d11d052ce7f879904", - "size": 32235 + "path": "en/api/typescript/beta/sessions/resources/retrieve.md", + "sha256": "8e60f2a49a922e7b3f0aa5100a52c63f63b1d1100f2c39650b1e57e2955dc4e3", + "size": 6236 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/resources/delete", "status": "success", - "path": "en/api/php/beta/memory_stores.md", - "sha256": "def07f847ebf3e1122f7f84d78e825233e79916df5aeacbae3ed6da9c82459ed", - "size": 60268 + "path": "en/api/typescript/beta/sessions/resources/delete.md", + "sha256": "08904eae0d35a3c61d9d2007489cdef8ea2d4b5048a664c222c4911319f372c4", + "size": 3680 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/resources/list", "status": "success", - "path": "en/api/php/beta/tunnels.md", - "sha256": "387a7ca5afdc78164375ba7ee95557cca5f0d0ce01243fec50317b36274fa02b", - "size": 27065 + "path": "en/api/typescript/beta/sessions/resources/list.md", + "sha256": "a1e170c2000eec5d2b6fa309f2266c9fda8887cb180384f66fcc142a3c245610", + "size": 6859 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/environments", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads/events/stream", "status": "success", - "path": "en/api/php/beta/environments.md", - "sha256": "1e1f57d627d74701062d5227c8a2f6d91453e5272a2f808af833bbcda4a78cb8", - "size": 47301 + "path": "en/api/typescript/beta/sessions/threads/events/stream.md", + "sha256": "f24a081344939cda3d087cf558caa7bf49a0ab5314fc3f1eb97df5e2afb0bc2c", + "size": 103006 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/files", + "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads/events/list", "status": "success", - "path": "en/api/php/beta/files.md", - "sha256": "e7c1f2413d11d443e1823acb7cd1dd67092527fe22811e7d4cfd89ab4609f03b", - "size": 12478 + "path": "en/api/typescript/beta/sessions/threads/events/list.md", + "sha256": "99488275bef92b823625d39f754156b5101562cf916de66f87719af2d698bdc0", + "size": 99859 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/messages", + "url": "https://platform.claude.com/docs/en/api/typescript/messages/batches/cancel", "status": "success", - "path": "en/api/php/beta/messages.md", - "sha256": "c45f3207c1e9e1eda4d20e930480a0c7d3015888e2bcee24247ee0dc09e38a76", - "size": 376848 + "path": "en/api/typescript/messages/batches/cancel.md", + "sha256": "5e3fa4682a36c98833b368ec01b063eec5838dbd359e8d43a2bc39d4f7b9c3c2", + "size": 5353 }, { - "url": "https://platform.claude.com/docs/en/api/php/models/list", + "url": "https://platform.claude.com/docs/en/api/typescript/messages/batches/create", "status": "success", - "path": "en/api/php/models/list.md", - "sha256": "8051d98c14a376ae6bee46a53eb259df7d4e3662120df1d5babe2e79048c6de8", - "size": 6491 + "path": "en/api/typescript/messages/batches/create.md", + "sha256": "09a01853fb0313f3ff7a10b13c97cfc813faacbcaab438e338669f7fd9bf31aa", + "size": 114442 }, { - "url": "https://platform.claude.com/docs/en/api/php/models/retrieve", + "url": "https://platform.claude.com/docs/en/api/typescript/messages/batches/retrieve", "status": "success", - "path": "en/api/php/models/retrieve.md", - "sha256": "b6372fd2ea455f95f47458de7f16acd6f356ccdb47228bbd610256f825fb5270", - "size": 5184 + "path": "en/api/typescript/messages/batches/retrieve.md", + "sha256": "c6525f32b5eafb682fd0d5c0be579f4ed869e9e5db35bf468ca069ec133818ea", + "size": 5047 }, { - "url": "https://platform.claude.com/docs/en/api/php/completions/create", + "url": "https://platform.claude.com/docs/en/api/typescript/messages/batches/delete", "status": "success", - "path": "en/api/php/completions/create.md", - "sha256": "4d9eef8d81a69fde10bbc520c0444ec55568509b8c31822ad1b26706e2b80950", - "size": 13269 + "path": "en/api/typescript/messages/batches/delete.md", + "sha256": "46fdfd0b33adef988d5799146b8c7abc9e63aa70ea38db05f199ab7a229d7567", + "size": 1797 }, { - "url": "https://platform.claude.com/docs/en/api/php/messages/create", + "url": "https://platform.claude.com/docs/en/api/typescript/messages/batches/list", "status": "success", - "path": "en/api/php/messages/create.md", - "sha256": "3af797f3522c8af3338bab35e5dbff06950237bdbf46e40ef4a6a7c01c0840fa", - "size": 21454 + "path": "en/api/typescript/messages/batches/list.md", + "sha256": "9b99d48fa39b850f6e9475695438b9b659a772e7e3badf3faf29649284f11fc8", + "size": 5547 }, { - "url": "https://platform.claude.com/docs/en/api/php/messages/count_tokens", + "url": "https://platform.claude.com/docs/en/api/typescript/messages/batches/results", "status": "success", - "path": "en/api/php/messages/count_tokens.md", - "sha256": "4e5455caa3d5e6ee20010fa6cac38c1acf1353dbdc2927a68fcce319518fcfd2", - "size": 10444 + "path": "en/api/typescript/messages/batches/results.md", + "sha256": "bd214cad3c62291b03af12560e61a4c4181f7bd953b2226115d6cfc822359b70", + "size": 37642 }, { - "url": "https://platform.claude.com/docs/en/api/php/messages/batches", + "url": "https://platform.claude.com/docs/en/api/cli/models/retrieve", "status": "success", - "path": "en/api/php/messages/batches.md", - "sha256": "2ab5fbab26121e328c5131f53e20e5064a0248328b168c5e11fc870987b04d08", - "size": 26766 + "path": "en/api/cli/models/retrieve.md", + "sha256": "9fe2e7aad7d53c10ac5af92be59ce436d4970b6faf111e3f6f817d67b48f999c", + "size": 11058 }, { - "url": "https://platform.claude.com/docs/en/api/php/messages/batches/create", + "url": "https://platform.claude.com/docs/en/api/cli/models/list", "status": "success", - "path": "en/api/php/messages/batches/create.md", - "sha256": "ec3ba6b662b9d68420f00e1339a0b89627102ec0d196b78053cb46a102e0ade5", - "size": 6753 + "path": "en/api/cli/models/list.md", + "sha256": "b33e822b4b85d34f6dab30b7419f43972a4323caa9e4b17635d6da820c217e0b", + "size": 12928 }, { - "url": "https://platform.claude.com/docs/en/api/php/messages/batches/list", + "url": "https://platform.claude.com/docs/en/api/cli/completions/create", "status": "success", - "path": "en/api/php/messages/batches/list.md", - "sha256": "43f301d93d43e2e14ea8bc90f19abf2627486df5f424cc282a52fe26f973d791", - "size": 4376 + "path": "en/api/cli/completions/create.md", + "sha256": "06d06560c4a36c8f222b3fe5e4f07c9bb2bf83360bd52357d2700f55e166c1eb", + "size": 8211 }, { - "url": "https://platform.claude.com/docs/en/api/php/messages/batches/cancel", + "url": "https://platform.claude.com/docs/en/api/cli/messages/batches", "status": "success", - "path": "en/api/php/messages/batches/cancel.md", - "sha256": "dd33f259cdd1540dd914257751baf7a4e02fdaeadc0426cfe2a045e33b3a3367", - "size": 4166 + "path": "en/api/cli/messages/batches.md", + "sha256": "f01cdba56c44be95913994ae2872bac5817f0ef25b2aca65bf54c8c0196e58f1", + "size": 154097 }, { - "url": "https://platform.claude.com/docs/en/api/php/messages/batches/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/messages/create", "status": "success", - "path": "en/api/php/messages/batches/retrieve.md", - "sha256": "e05b456bdcb82fb39ba14ac44dd71b37810e6cbc0a3649cc7435fe8938581d0e", - "size": 3858 + "path": "en/api/cli/messages/create.md", + "sha256": "472ca49be9354574ff7379f51ec03dae5700b2195f7056049a838a73233af30d", + "size": 59240 }, { - "url": "https://platform.claude.com/docs/en/api/php/messages/batches/results", + "url": "https://platform.claude.com/docs/en/api/cli/messages/count_tokens", "status": "success", - "path": "en/api/php/messages/batches/results.md", - "sha256": "2392f0bcdb95095320681e208130894a195b368a3b44a1fd8f78194f0413cd2b", - "size": 2130 + "path": "en/api/cli/messages/count_tokens.md", + "sha256": "389e51224e9f9517b5f5b43e6c30e536c895c896c475bce3b07a6443c030788e", + "size": 8856 }, { - "url": "https://platform.claude.com/docs/en/api/php/messages/batches/delete", + "url": "https://platform.claude.com/docs/en/api/cli/beta/files", "status": "success", - "path": "en/api/php/messages/batches/delete.md", - "sha256": "f3def6afeaa36586102f4608908a46267a507d0e3abb8af364ecb1fa9bb7cae3", - "size": 1711 + "path": "en/api/cli/beta/files.md", + "sha256": "ec00adeb9fe8c4ded12ade8e60ca81045cff2820c6b3d5393840f1d26384a01d", + "size": 12411 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/environments/create", + "url": "https://platform.claude.com/docs/en/api/cli/beta/user_profiles", "status": "success", - "path": "en/api/php/beta/environments/create.md", - "sha256": "e3da601ebeea767a6c213bc91acc3cc7746451925d4a3bb7148c5664f72c7ba5", - "size": 4284 + "path": "en/api/cli/beta/user_profiles.md", + "sha256": "19731959a31be821d98cb686d55e1b67e5cfb7804b62cc55514ce49f81084339", + "size": 41211 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/environments/update", + "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels", "status": "success", - "path": "en/api/php/beta/environments/update.md", - "sha256": "6849d5c604cf2d878a06772db307193b3433349a1e88a7594d6a834dad1f7bb6", - "size": 4398 + "path": "en/api/cli/beta/tunnels.md", + "sha256": "a6505a8e3b10e44261bf779b15788a80c1c3cc4a5fd67c40923551e2d6e5ebf8", + "size": 25172 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/environments/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/webhooks", "status": "success", - "path": "en/api/php/beta/environments/list.md", - "sha256": "ac07cf28734c6ca18d3f47f458469641bc88b068594b58f5b749d52b1a0fef7b", - "size": 3685 + "path": "en/api/cli/beta/webhooks.md", + "sha256": "df9bcb8f628a772e72e5032b056f847e653cfdb94008f0631bccd8dc201b8fe5", + "size": 35371 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/environments/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/environments", "status": "success", - "path": "en/api/php/beta/environments/retrieve.md", - "sha256": "86a40715a232028fe4c7557745d167fab93524947696b24cf20a253351727276", - "size": 3087 + "path": "en/api/cli/beta/environments.md", + "sha256": "11b0e93a93e9ccbce8b912af2e02d0e70a18deb4c9c48f27572d5b28b16a290e", + "size": 60825 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/environments/delete", + "url": "https://platform.claude.com/docs/en/api/cli/beta/messages", "status": "success", - "path": "en/api/php/beta/environments/delete.md", - "sha256": "541e4204b0099af0f141293be5348bbf9f19df27850bc2e42a21d9ab7eac8c6f", - "size": 1588 + "path": "en/api/cli/beta/messages.md", + "sha256": "3e13968e499cd5c8cd0ec350bbf7c24c7388f4cd47a91007f79837148b29119f", + "size": 2912320 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/environments/work", + "url": "https://platform.claude.com/docs/en/api/cli/beta/agents", "status": "success", - "path": "en/api/php/beta/environments/work.md", - "sha256": "46c5126c382d3979ac5a6f5034a229a72b967dcef54884e5247d54a2fa52359c", - "size": 26593 + "path": "en/api/cli/beta/agents.md", + "sha256": "7a656b34ac7e0cbe35f713258210e437cde86aba5d2943b47bf9687b14154031", + "size": 410572 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/environments/archive", + "url": "https://platform.claude.com/docs/en/api/cli/beta/deployment_runs", "status": "success", - "path": "en/api/php/beta/environments/archive.md", - "sha256": "f7fa3d9dbe0bba34704973b79f00b9150c6450013b5819042323ce094d3bbef6", - "size": 3153 + "path": "en/api/cli/beta/deployment_runs.md", + "sha256": "7ccf879197326e2a01460a3533f97275cb99c5b256cbee887c224ad363379008", + "size": 28830 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/deployment_runs/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions", "status": "success", - "path": "en/api/php/beta/deployment_runs/list.md", - "sha256": "54b29b365ac05e589c64fb90b37a482a46ce856109169d8d3fad40ff79dc7d76", - "size": 4396 + "path": "en/api/cli/beta/sessions.md", + "sha256": "120957df5ee1e55dcf4ead8ff1354f093a3c4207dcae541ad1410e1af89768f8", + "size": 1196982 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/deployment_runs/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/models", "status": "success", - "path": "en/api/php/beta/deployment_runs/retrieve.md", - "sha256": "d6d222c4aff78cc3f28cff7da5fc1918c7fb2ca849e31c76df1df80c3cec13d6", - "size": 2638 + "path": "en/api/cli/beta/models.md", + "sha256": "262e9456eebb56fcf3ceb660183559400712c6ecba9879b09002f2bfcf8eb7d1", + "size": 46934 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/create", + "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores", "status": "success", - "path": "en/api/php/beta/vaults/create.md", - "sha256": "2aabc2dc8f09a0787c80d12971a6857c1db81b45a25085755b9bcb497c8b4c6f", - "size": 2280 + "path": "en/api/cli/beta/memory_stores.md", + "sha256": "2756c3950f1f0d0455261adbb30a909f94ebc1d827e650b42eab21759d33cc5a", + "size": 69887 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/update", + "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults", "status": "success", - "path": "en/api/php/beta/vaults/update.md", - "sha256": "85b319e0c39016f6135b2c3a4398c18239d09c84700240c9e93b41ab78868ff8", - "size": 2431 + "path": "en/api/cli/beta/vaults.md", + "sha256": "4d8f5500ac97c83f196531d6d5a72e78bb11bc6c08b05ebcac9b8491ff84f3f7", + "size": 50207 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/deployments", "status": "success", - "path": "en/api/php/beta/vaults/list.md", - "sha256": "b4312a60a929277adaae8ddd22a9619d4051c911f6f456c89db8d014a764b86d", - "size": 2430 + "path": "en/api/cli/beta/deployments.md", + "sha256": "a88388dc7208ab58e8054cdd0af5057a427c5ec71ad1b6a331422ba4028cd645", + "size": 190892 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/skills", "status": "success", - "path": "en/api/php/beta/vaults/retrieve.md", - "sha256": "d81dd60d6de8673796b1cdb2ea30c1b1cf313a91337190f8ed0d1e4345cc6802", - "size": 2048 + "path": "en/api/cli/beta/skills.md", + "sha256": "669c8c2890e553457c8d4376f30ba93e58d84871d1c1568849cf53757c64cf8c", + "size": 23606 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/credentials", + "url": "https://platform.claude.com/docs/en/api/cli/beta/files/retrieve_metadata", "status": "success", - "path": "en/api/php/beta/vaults/credentials.md", - "sha256": "193788b1bc990ef730f6a5c785767063e450190b57e5af7501de5191e700b0b9", - "size": 30458 + "path": "en/api/cli/beta/files/retrieve_metadata.md", + "sha256": "5f6eb08253f83f080128d0db41eb54e6f4cb0ff1fb6794dd1db28895d6e10ac7", + "size": 2520 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/delete", + "url": "https://platform.claude.com/docs/en/api/cli/beta/files/download", "status": "success", - "path": "en/api/php/beta/vaults/delete.md", - "sha256": "b6170234c6df65b179755b505fa68abcda3a35deedc8cda9d7c902885f2ac6f4", - "size": 1533 + "path": "en/api/cli/beta/files/download.md", + "sha256": "2d5351fb363576db620395a6102d124f4b123e3739ccacda231ad7ef1013b8a9", + "size": 923 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/archive", + "url": "https://platform.claude.com/docs/en/api/cli/beta/files/delete", "status": "success", - "path": "en/api/php/beta/vaults/archive.md", - "sha256": "00411dbe5cdfc06a5ced370a19130244855094020bc49f8ca4b2849f66b35206", - "size": 2065 + "path": "en/api/cli/beta/files/delete.md", + "sha256": "fb3e11e605807ceef4c2176f4ac603b2723794821566314151d37ed455f83096", + "size": 1174 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/user_profiles/create", + "url": "https://platform.claude.com/docs/en/api/cli/beta/files/list", "status": "success", - "path": "en/api/php/beta/user_profiles/create.md", - "sha256": "cd877a1a23285c0e9559280e58e86ff19451dd29f0727583fe9be0357ba3fc2b", - "size": 6560 + "path": "en/api/cli/beta/files/list.md", + "sha256": "b132bace0aec284fb5c90947a0e666f6b3fdba320cc7b1da949569af48758db8", + "size": 3588 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/user_profiles/update", + "url": "https://platform.claude.com/docs/en/api/cli/beta/files/upload", "status": "success", - "path": "en/api/php/beta/user_profiles/update.md", - "sha256": "a31118c1eba098573c62ad54126c5b6bfb456b971c305050446497b24e533398", - "size": 6553 + "path": "en/api/cli/beta/files/upload.md", + "sha256": "950c65abebd6cb45b1d0d0303d99f0f8a3b85060b004db8c514fe8ca1b53a699", + "size": 2882 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/user_profiles/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/resources", "status": "success", - "path": "en/api/php/beta/user_profiles/list.md", - "sha256": "5c198327472f16b7b9e7f70ae534fbf945a620a3d4004a448110ea13baa25eb3", - "size": 4978 + "path": "en/api/cli/beta/sessions/resources.md", + "sha256": "36d0935a07126ce2babf00c41914debb8b775b78ed9df4fa542b81843b0e9c7a", + "size": 21136 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/user_profiles/create_enrollment_url", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/create", "status": "success", - "path": "en/api/php/beta/user_profiles/create_enrollment_url.md", - "sha256": "9ab8ed387c65bef66dfa9cc88cad7e78eaede7374f17db3431a7d52aa1dff079", - "size": 1999 + "path": "en/api/cli/beta/sessions/create.md", + "sha256": "c1cefe83ec9868f8e2076fa5665e8a8c6fd4553685506217c5e523ae7ddae88c", + "size": 49573 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/user_profiles/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/update", "status": "success", - "path": "en/api/php/beta/user_profiles/retrieve.md", - "sha256": "e7b0305e1b645b2eec8d60a145b7efc642786d189a1b46cc81073b2b5e0f639f", - "size": 4290 + "path": "en/api/cli/beta/sessions/update.md", + "sha256": "2d27d017a2ca1f882d7ad702698d5f214bbd9961c44519e63f9f829e2b541633", + "size": 49270 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/agents/create", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/retrieve", "status": "success", - "path": "en/api/php/beta/agents/create.md", - "sha256": "82aeeac60d9c5e64eb8ce5ff0eb51a9804c990c0958fde657d4352da1e01473a", - "size": 7221 + "path": "en/api/cli/beta/sessions/retrieve.md", + "sha256": "b9606e28743233437bc6e3a44d38dd2d856c021b0fe34b7327f9b923f652c64f", + "size": 48004 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/agents/update", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/delete", "status": "success", - "path": "en/api/php/beta/agents/update.md", - "sha256": "ef813d05abeb5760ebd364a0d813bc849d10727993effadd1195cab34aaa75fa", - "size": 8298 + "path": "en/api/cli/beta/sessions/delete.md", + "sha256": "2f3dccf59fa198b5db837444bebd0f3ffb2edbe7b26a7b7eb531c8fb7600346f", + "size": 1198 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/agents/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/list", "status": "success", - "path": "en/api/php/beta/agents/list.md", - "sha256": "c91df664312892622b6545ab6951a6829c1988d0701c1e259899eead8e7dfbd1", - "size": 5516 + "path": "en/api/cli/beta/sessions/list.md", + "sha256": "4b6f59e997cfd210c2e44bd29c1f10bdcbd6753b01e5355506d0da919b1c0186", + "size": 52052 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/agents/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/archive", "status": "success", - "path": "en/api/php/beta/agents/retrieve.md", - "sha256": "cf36a3dd4351c0e5387003e8228f8b31f45f67048ea17a76084494fb68415268", - "size": 4587 + "path": "en/api/cli/beta/sessions/archive.md", + "sha256": "fc1a60bb1b45e5364ab2b4933eacf288a391b09c5b1c1c2ea1b2657cf3e497d1", + "size": 48022 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/agents/versions", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/events", "status": "success", - "path": "en/api/php/beta/agents/versions.md", - "sha256": "7d561b0b4bc362f144b066492c3018c09d3a6f52fab115ecbfb0f9e223322fcc", - "size": 5110 + "path": "en/api/cli/beta/sessions/events.md", + "sha256": "cb3fa2222c401dd1efc4cee63b483f9d17892e8aab9b85d65287fd9b73773e81", + "size": 604489 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/agents/archive", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/threads", "status": "success", - "path": "en/api/php/beta/agents/archive.md", - "sha256": "e25d066e648c4118079df3dbc5f476a80994d66e07cbf9431fd3079e09e0e50b", - "size": 4446 + "path": "en/api/cli/beta/sessions/threads.md", + "sha256": "8bd4e8ce912f962282b6ae30a8a715d75b6692d5100a16142bdbc44906bf2403", + "size": 482366 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/models/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/user_profiles/create_enrollment_url", "status": "success", - "path": "en/api/php/beta/models/list.md", - "sha256": "afb1af151e495e3bef92955d98c1b1939ae4fdfd755036e157737017a3c89b68", - "size": 6745 + "path": "en/api/cli/beta/user_profiles/create_enrollment_url.md", + "sha256": "f1aa48cc01d21588913bf907a70f262f543867e95e3460f19543479d669a192f", + "size": 1800 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/models/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/user_profiles/create", "status": "success", - "path": "en/api/php/beta/models/retrieve.md", - "sha256": "4780eb424404710ee8f92924a0e155890c7921405e9ac86f4ce7deaf03f568cd", - "size": 5410 + "path": "en/api/cli/beta/user_profiles/create.md", + "sha256": "7b9014afb33e1d82421d81542e60a9e4c393f7f07af5dc8be9ad4adda5cd454f", + "size": 8238 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/create", + "url": "https://platform.claude.com/docs/en/api/cli/beta/user_profiles/update", "status": "success", - "path": "en/api/php/beta/tunnels/create.md", - "sha256": "2168d767ab874ee2f708d9a7099b34b7c2119579712211f3b57ad5dc4f6a60d1", - "size": 2580 + "path": "en/api/cli/beta/user_profiles/update.md", + "sha256": "b5050643d6dfc506090100979caebfdcae5720839373c0ef2a312c8f7dcc2a64", + "size": 8209 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/rotate_token", + "url": "https://platform.claude.com/docs/en/api/cli/beta/user_profiles/retrieve", "status": "success", - "path": "en/api/php/beta/tunnels/rotate_token.md", - "sha256": "fa052d7ef8efe6bc7a73105f9c39e3dcbf56c8f17975aa427b23371f3a3eb998", - "size": 2261 + "path": "en/api/cli/beta/user_profiles/retrieve.md", + "sha256": "984634d0cec7d5c7cdcbb3822d062022c1203e1ba222b8f9923b7e51f0370155", + "size": 6510 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/user_profiles/list", "status": "success", - "path": "en/api/php/beta/tunnels/list.md", - "sha256": "26a66d2e18210001fc18a16b0e46574fd8bcd31463f67045e95cbe33a42db4f2", - "size": 2922 + "path": "en/api/cli/beta/user_profiles/list.md", + "sha256": "4624f1db068882fd4d166390db630559824e031c5157bc4de6a32203225b817a", + "size": 7174 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/certificates", + "url": "https://platform.claude.com/docs/en/api/cli/beta/deployment_runs/retrieve", "status": "success", - "path": "en/api/php/beta/tunnels/certificates.md", - "sha256": "f216df5452740be81c2d77f7dff0e6519ae8456c0ef903c3c96e7595b92d6e71", - "size": 12405 + "path": "en/api/cli/beta/deployment_runs/retrieve.md", + "sha256": "f1e3ad3e09096f9ae7cfd45ef65b520ba795c508d9f3948554fcaef45a5951f1", + "size": 7427 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/deployment_runs/list", "status": "success", - "path": "en/api/php/beta/tunnels/retrieve.md", - "sha256": "111260ff651e8217c7f0b7225b0ddb083f57cad5cc3e16e7ae0f64b465657b7c", - "size": 2395 + "path": "en/api/cli/beta/deployment_runs/list.md", + "sha256": "e35f7e144d34d3927cf7a88c00f39edc0675a1e72894f8b16d1072bca1f64dc2", + "size": 9084 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/reveal_token", + "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memory_versions", "status": "success", - "path": "en/api/php/beta/tunnels/reveal_token.md", - "sha256": "7623f7ea58bd92bf493ca8e0ab6ca9feeb06216ebc528c98c9097064a6974668", - "size": 2149 + "path": "en/api/cli/beta/memory_stores/memory_versions.md", + "sha256": "8b87dd8ef805141143a7306a57a628cf3c978e4473c6395e09534382e976df7a", + "size": 36350 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/archive", + "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/create", "status": "success", - "path": "en/api/php/beta/tunnels/archive.md", - "sha256": "21680abd46895a61763aa819f8ad1d16581071521068d21bd569dcba21ca30a4", - "size": 2678 + "path": "en/api/cli/beta/memory_stores/create.md", + "sha256": "094e9068e93d13246dff2c18f1240ad58d6d6584664556b95ee5c2b691af405b", + "size": 3600 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/create", + "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/update", "status": "success", - "path": "en/api/php/beta/sessions/create.md", - "sha256": "95793d40dc2743eb1a57752b297792edbbd5b767f2eb35c07de616888508e566", - "size": 9605 + "path": "en/api/cli/beta/memory_stores/update.md", + "sha256": "abf0837d52d2ba0b97702313fb60af8676ff5fccf9f7d96110eb403f995b42e4", + "size": 3697 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/resources", + "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/retrieve", "status": "success", - "path": "en/api/php/beta/sessions/resources.md", - "sha256": "1751892e37ea921d99b5b777d39ab65407982940beabba8a2efabcf794ab34ea", - "size": 17912 + "path": "en/api/cli/beta/memory_stores/retrieve.md", + "sha256": "6db8ee4663204b1b74cc4df14cf95ef27a12b796eb258099f2f453c662a592d7", + "size": 3046 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/update", + "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/delete", "status": "success", - "path": "en/api/php/beta/sessions/update.md", - "sha256": "d700300f8e68322edee6622c3565aea670f03f9b08c993a6c4ef1ecd0387535a", - "size": 9894 + "path": "en/api/cli/beta/memory_stores/delete.md", + "sha256": "dd5fb06517fcd013f3e6bcb8362c0a61e82cb320334a6e0031fe029e5ab2222e", + "size": 1561 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/list", "status": "success", - "path": "en/api/php/beta/sessions/list.md", - "sha256": "7240b4a6221f9772dda08971deadc06dd64113b4996b187ab72ed8e38b3bdc79", - "size": 10680 + "path": "en/api/cli/beta/memory_stores/list.md", + "sha256": "933354a5aedf3b7a67bac21673b9c4c41da4b61410483808e79dff8fc562de3c", + "size": 4134 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/threads", + "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memories", "status": "success", - "path": "en/api/php/beta/sessions/threads.md", - "sha256": "b37b1a5646081c41d9c812b34b25b8e135add56a78172da658df67cbd500b9c6", - "size": 90357 + "path": "en/api/cli/beta/memory_stores/memories.md", + "sha256": "1c5b9b09c4b3c86a80f17c7e3f8726f2ce9ef25707011d91cbfa5f117aca1d20", + "size": 38190 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/archive", "status": "success", - "path": "en/api/php/beta/sessions/retrieve.md", - "sha256": "d3f4141af33efd8a3710793c8c8a77b6e83448ae35c892328ec4a1221a83a640", - "size": 7649 + "path": "en/api/cli/beta/memory_stores/archive.md", + "sha256": "baccbc206dfea6b1ea5066042a8a4ec6899121cb8751e0f9546f67f026085ad2", + "size": 3123 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/events", + "url": "https://platform.claude.com/docs/en/api/cli/beta/models/retrieve", "status": "success", - "path": "en/api/php/beta/sessions/events.md", - "sha256": "95d463083ee75f7cec960966dfa0982eb2f89a72d44a150d6217de3f2b6383d3", - "size": 142573 + "path": "en/api/cli/beta/models/retrieve.md", + "sha256": "bc9eea3423dcbf1b40f937dbf24b217ab1f607450627ca05a6cbfa04722789a3", + "size": 11690 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/delete", + "url": "https://platform.claude.com/docs/en/api/cli/beta/models/list", "status": "success", - "path": "en/api/php/beta/sessions/delete.md", - "sha256": "2c488b81da9c513fb6f3ac63e8dd86aa817c25960518b98f3c7763db8993152a", - "size": 1475 + "path": "en/api/cli/beta/models/list.md", + "sha256": "7d91a3252c7a8a1c29baaa97ad6daa1243eab8b462f838adca4cc5d83c213d31", + "size": 13619 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/archive", + "url": "https://platform.claude.com/docs/en/api/cli/beta/agents/create", "status": "success", - "path": "en/api/php/beta/sessions/archive.md", - "sha256": "d8906056985b99a98d61574988b5ba7297cbce92ef48d62216eb796b211f4940", - "size": 7667 + "path": "en/api/cli/beta/agents/create.md", + "sha256": "a4f01df4f5b91110c478599229baa06d569b21f0cebe2ee9fec9058e76512d26", + "size": 31851 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/deployments/unpause", + "url": "https://platform.claude.com/docs/en/api/cli/beta/agents/update", "status": "success", - "path": "en/api/php/beta/deployments/unpause.md", - "sha256": "67e2dbdfbabf2f58fb31d3283d69460cbc0c5ce773f5d16cc494a5fe001bf73c", - "size": 4623 + "path": "en/api/cli/beta/agents/update.md", + "sha256": "166db44731787c55856ed762a1ebb558df524357cbe00a57a7e30f294f3d7b15", + "size": 32771 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/deployments/create", + "url": "https://platform.claude.com/docs/en/api/cli/beta/agents/retrieve", "status": "success", - "path": "en/api/php/beta/deployments/create.md", - "sha256": "c7cbd0c3a2cd6c8b006ccff24c25aef82715a9311ae23f6e9530a3dc6e768267", - "size": 7073 + "path": "en/api/cli/beta/agents/retrieve.md", + "sha256": "11ae529c871903cdf4bba847523d439dff51c7e41a52150eccdfae4cf7bce492", + "size": 30209 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/deployments/update", + "url": "https://platform.claude.com/docs/en/api/cli/beta/agents/list", "status": "success", - "path": "en/api/php/beta/deployments/update.md", - "sha256": "7e68020003f48244ef11f6f0a25595247a37598797825d58f7a4bc7ec4f92a86", - "size": 7381 + "path": "en/api/cli/beta/agents/list.md", + "sha256": "9227f5e87355d0d65cd82c1ef03e973b448c11665f9ed2fd80cb3f7807c1e988", + "size": 31932 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/deployments/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/agents/versions", "status": "success", - "path": "en/api/php/beta/deployments/list.md", - "sha256": "f48bb302e6ad2b882fdd1ecadd907aad38d336182e15e5232bc984f49e232f3c", - "size": 5987 + "path": "en/api/cli/beta/agents/versions.md", + "sha256": "b14109c12599447bd351687540fdf47e339ea5b92cedaf4ea92882787961dc5d", + "size": 31720 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/deployments/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/agents/archive", "status": "success", - "path": "en/api/php/beta/deployments/retrieve.md", - "sha256": "934b6f4268ba1d03b6c187a10587c42f98d77939c57d4ca5e3919cd1ab1fee27", - "size": 4594 + "path": "en/api/cli/beta/agents/archive.md", + "sha256": "10afc3f0cc9480018d92070e7148703e47396466233f50097e2352c395eaf716", + "size": 30074 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/deployments/run", + "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/work", "status": "success", - "path": "en/api/php/beta/deployments/run.md", - "sha256": "7977bcbb5316d304112dbc3dc25f65835ca6719fa375fc47af8c233656fc0183", - "size": 2619 + "path": "en/api/cli/beta/environments/work.md", + "sha256": "9553d9d8c442f8aa90dd1c9a56099595b9a42b81eb3210cab956f41f814ad350", + "size": 29982 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/deployments/pause", + "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/create", "status": "success", - "path": "en/api/php/beta/deployments/pause.md", - "sha256": "ec118ece87e7ccd824ae38c392bffaf5cdd30905f79642e263629fd7e3c5902f", - "size": 4607 + "path": "en/api/cli/beta/environments/create.md", + "sha256": "4ccba80505e0f2a36856d33af468f6c18c808ce500868762519979dfad826dd2", + "size": 5343 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/deployments/archive", + "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/update", "status": "success", - "path": "en/api/php/beta/deployments/archive.md", - "sha256": "d111c6acb04f0c0417b6b2e9dce84a6a242855dc5e1a22bbfe7ddca9f5da5759", - "size": 4623 + "path": "en/api/cli/beta/environments/update.md", + "sha256": "7d6286beaaaf40e2bc49fbd280926f5ceb551a3535dacac2e8b68de99b178dd8", + "size": 5440 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/skills/create", + "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/retrieve", "status": "success", - "path": "en/api/php/beta/skills/create.md", - "sha256": "ad81d32baf221e9333d487462999e24d73e5fcf2382261d72d3fda08ea15c34e", - "size": 3032 + "path": "en/api/cli/beta/environments/retrieve.md", + "sha256": "d3f4c90279254e32b059aa1d9aaec3b90e7ffbbb9ef9f2db617bc69b4aa4345b", + "size": 4683 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/skills/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/delete", "status": "success", - "path": "en/api/php/beta/skills/list.md", - "sha256": "5bfc3c35548e9338f09f12aa0f195e565c08bdbdd260be917e6dcb1d9c677925", - "size": 3251 + "path": "en/api/cli/beta/environments/delete.md", + "sha256": "fcafe14bbcf3676688caf4ebaee527c7053d126a4ddd2a14ae9bccf86c948210", + "size": 1300 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/skills/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/list", "status": "success", - "path": "en/api/php/beta/skills/retrieve.md", - "sha256": "2745770afe41f391cafb5ca84707ec89c651c0d50bddca84b3651f0493d2810b", - "size": 2641 + "path": "en/api/cli/beta/environments/list.md", + "sha256": "fb388e18ec683c878930062e016c8c471905e058dbe4e40d5f23e3e03520a949", + "size": 5696 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/skills/versions", + "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/archive", "status": "success", - "path": "en/api/php/beta/skills/versions.md", - "sha256": "1784b4777f42d514370c85022933c749f7e9ea15369a336b813a5629a2a2ad1f", - "size": 12909 + "path": "en/api/cli/beta/environments/archive.md", + "sha256": "dc854608f908ccf61fd1d78f831e26d36a2ecfcc48eaf3226db2593fdf05336a", + "size": 4749 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/skills/delete", + "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/certificates", "status": "success", - "path": "en/api/php/beta/skills/delete.md", - "sha256": "4f77798e4ee00797074b27ee6a39cfd071c5dc68a3a732ede710285597def917", - "size": 1622 + "path": "en/api/cli/beta/tunnels/certificates.md", + "sha256": "b4db2d59e24427c3b16bdc9dabafd9f99a5a2f64074e8a6f82ca83b755c4bb00", + "size": 11839 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memory_versions", + "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/create", "status": "success", - "path": "en/api/php/beta/memory_stores/memory_versions.md", - "sha256": "7370513d4d65a1d630fae627e75e847b3539020181620ca7b2f5d40ca4b59e91", - "size": 22377 + "path": "en/api/cli/beta/tunnels/create.md", + "sha256": "01f6dfe64346985be69fd4256a41b7f96d73a725a6f3fafd1bfea94419ebd054", + "size": 2347 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/create", + "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/retrieve", "status": "success", - "path": "en/api/php/beta/memory_stores/create.md", - "sha256": "37383f4dfb189bf74a80450e5a1ba49b18d3c37ce7d052f93072f4034dc374a7", - "size": 3766 + "path": "en/api/cli/beta/tunnels/retrieve.md", + "sha256": "d194fbc7748729d25da77e1c4288fdad7204cddc511a2ca3d64421aa2f6d788a", + "size": 2165 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/update", + "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/reveal_token", "status": "success", - "path": "en/api/php/beta/memory_stores/update.md", - "sha256": "52bf532857c6796b843f159b759169fb166c76494ada2a38561fec7a0b54982d", - "size": 3878 + "path": "en/api/cli/beta/tunnels/reveal_token.md", + "sha256": "c903dd32902376e823a63e43b47ad1a17d909d0559321f8cdbf97f62aac05ae2", + "size": 1877 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/list", "status": "success", - "path": "en/api/php/beta/memory_stores/list.md", - "sha256": "a9824abe01e21180bbb9d3bf1656a4aef19b7d56e35bc2928b2696bb4ef2fe5b", - "size": 4121 + "path": "en/api/cli/beta/tunnels/list.md", + "sha256": "fe913f5afefa321503b0845f269369aab8c36934d8c22d3668c9456d5de706b8", + "size": 2859 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/archive", "status": "success", - "path": "en/api/php/beta/memory_stores/retrieve.md", - "sha256": "0b8b887c95330e5292cce7350448b6215911dc018f05b861e737574c37ac95d1", - "size": 3132 + "path": "en/api/cli/beta/tunnels/archive.md", + "sha256": "be860956fbb3e0ef6a94bd26ce35314029fa420ba934caf98e1ccbf8391ca2ec", + "size": 2448 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/delete", + "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/rotate_token", "status": "success", - "path": "en/api/php/beta/memory_stores/delete.md", - "sha256": "a5a86c198b9b503f3ed08569b11a2c6da5553f2d0df7af372ab1a7599f0c5592", - "size": 1852 + "path": "en/api/cli/beta/tunnels/rotate_token.md", + "sha256": "ea6d83a6a8b2da96bd5dcf28188b03031cc324e2aeb3fc3fa3544e8d65c7b25e", + "size": 1974 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memories", + "url": "https://platform.claude.com/docs/en/api/cli/beta/messages/batches", "status": "success", - "path": "en/api/php/beta/memory_stores/memories.md", - "sha256": "345a71b7fed78c97ba8bfd40cbe7ca3f0dd65a5d694aece752f0c198e019a4f7", - "size": 30591 + "path": "en/api/cli/beta/messages/batches.md", + "sha256": "85f9cae2098d5114d1924bd80db9787a2e83b8c823bf010198efdd87f99cc493", + "size": 735359 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/archive", + "url": "https://platform.claude.com/docs/en/api/cli/beta/messages/create", "status": "success", - "path": "en/api/php/beta/memory_stores/archive.md", - "sha256": "0e3ff612c581e508b3e85327bcfb42cea64e3a904d41df12598b2a0b0175fabb", - "size": 3209 + "path": "en/api/cli/beta/messages/create.md", + "sha256": "3a485a62e0379ee2ac60e89997409adda100bcfcc5c8bd0b71582e80274376f0", + "size": 215415 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/files/download", + "url": "https://platform.claude.com/docs/en/api/cli/beta/messages/count_tokens", "status": "success", - "path": "en/api/php/beta/files/download.md", - "sha256": "9445d9cc20c53697e937cf56cb2b1a41d80d8e3c10e286d56ec8ad1c6bc76c1a", - "size": 1193 + "path": "en/api/cli/beta/messages/count_tokens.md", + "sha256": "b26ece42c146e38e05c84e707ea9735a30c8c71632a0e23a993941c4159de7a5", + "size": 10574 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/files/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/deployments/pause", "status": "success", - "path": "en/api/php/beta/files/list.md", - "sha256": "f30210224923a8cd2ed036b068f7a8f112f1bb6716be7668dee5f8c12528c3f2", - "size": 3389 + "path": "en/api/cli/beta/deployments/pause.md", + "sha256": "fd9a3e6f6ce6ac5e3bff1565068550b23127d2ecc10f16e3ca973f759d3cd47e", + "size": 17692 + }, + { + "url": "https://platform.claude.com/docs/en/api/cli/beta/deployments/create", + "status": "success", + "path": "en/api/cli/beta/deployments/create.md", + "sha256": "e156e016d6e4d0d97125c74352df45a2035ae8f055c98afefb4762c13ccc6135", + "size": 19561 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/files/upload", + "url": "https://platform.claude.com/docs/en/api/cli/beta/deployments/update", "status": "success", - "path": "en/api/php/beta/files/upload.md", - "sha256": "7ce9ef9e2303eecb5c70ada5faad90d55a20521b2214b2a51e346312e90fb0bc", - "size": 2939 + "path": "en/api/cli/beta/deployments/update.md", + "sha256": "c49efb319189fce69f7a9e4536d82a2a49218bb0114d91d09a1361035ebd5b22", + "size": 19655 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/files/retrieve_metadata", + "url": "https://platform.claude.com/docs/en/api/cli/beta/deployments/retrieve", "status": "success", - "path": "en/api/php/beta/files/retrieve_metadata.md", - "sha256": "bb087b264f81ce16dd49416cbe482e99eead26482635df9da46d3ca11000bce6", - "size": 2517 + "path": "en/api/cli/beta/deployments/retrieve.md", + "sha256": "147d6306aa5319eac52ba9268ad44be63902a5840ed531c0e49d1ade46be4b75", + "size": 17679 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/files/delete", + "url": "https://platform.claude.com/docs/en/api/cli/beta/deployments/list", "status": "success", - "path": "en/api/php/beta/files/delete.md", - "sha256": "a81aa64e3359032e79e5e83cccac80bb265e9f4f483ddf664a8a03203acfbc8f", - "size": 1463 + "path": "en/api/cli/beta/deployments/list.md", + "sha256": "9c643a7f3ae2c0c978e94575f5d924e079a85af888e26ba01ecca5cfd331d959", + "size": 19288 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/messages/create", + "url": "https://platform.claude.com/docs/en/api/cli/beta/deployments/unpause", "status": "success", - "path": "en/api/php/beta/messages/create.md", - "sha256": "1f0c0d7f26bfe9b82bfd22cbc7ab42d00f2392bd0c14630a2a5f4b79a8646f3f", - "size": 30921 + "path": "en/api/cli/beta/deployments/unpause.md", + "sha256": "5406d1bb89ff06946d5e35638188eb624e95281a9d681f7e665b3cc89cf2ded4", + "size": 17708 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/messages/count_tokens", + "url": "https://platform.claude.com/docs/en/api/cli/beta/deployments/archive", "status": "success", - "path": "en/api/php/beta/messages/count_tokens.md", - "sha256": "78cedc9922dccefe6c36d21d1519629ad1c2a2ca7e8f374ef11b62ed1d13a588", - "size": 13373 + "path": "en/api/cli/beta/deployments/archive.md", + "sha256": "52c57ab49a246895892bfaf26a60c211d7152ffb5580d51e8e7995e0fe4419db", + "size": 17708 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/messages/batches", + "url": "https://platform.claude.com/docs/en/api/cli/beta/deployments/run", "status": "success", - "path": "en/api/php/beta/messages/batches.md", - "sha256": "f87db846416aa26cf0a0682bbacb8dccde8ea0917412b4cecc58700c1b4b59d7", - "size": 29693 + "path": "en/api/cli/beta/deployments/run.md", + "sha256": "d13e2244b05d452e2e1fde249d0edbcd1e6bb1cea1ea0852e4583c87bc178004", + "size": 7404 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/messages/batches/create", + "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/create", "status": "success", - "path": "en/api/php/beta/messages/batches/create.md", - "sha256": "3708cc937f2b6a4829e36c5286936400a0caaf94b37b644663bc76a3b3ed4cea", - "size": 8458 + "path": "en/api/cli/beta/skills/create.md", + "sha256": "1df4080a26aeeda47e17c34089d45de2044f07ce64d7326c0ff4041276de5082", + "size": 3140 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/messages/batches/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/retrieve", "status": "success", - "path": "en/api/php/beta/messages/batches/list.md", - "sha256": "2b06f83ff13cd4129002a286ebbbfbd863a21899b44ae6475f8485b4cf83b2c7", - "size": 4602 + "path": "en/api/cli/beta/skills/retrieve.md", + "sha256": "c71bcc1cda4bf2b6db05c6a7d618457eba83eb660b7df1a2ba58bb9457248276", + "size": 2884 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/messages/batches/cancel", + "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/delete", "status": "success", - "path": "en/api/php/beta/messages/batches/cancel.md", - "sha256": "354eccfac8eab3c116e6afa35111f13120846ed3826074b2732f7d591aad1024", - "size": 4403 + "path": "en/api/cli/beta/skills/delete.md", + "sha256": "38343440f497c7a9016d79c91da531a65d87a47379095da8b43997c6adf6843a", + "size": 1312 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/messages/batches/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/list", "status": "success", - "path": "en/api/php/beta/messages/batches/retrieve.md", - "sha256": "ac3a9c5347244532c4947a424c6ee0548e192d5a92c7831279bf9f39600b6637", - "size": 4095 + "path": "en/api/cli/beta/skills/list.md", + "sha256": "e03cc2600c9597105c27ee60cd08788047ceb336d58b4ebb308cf4250567a8cc", + "size": 3775 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/messages/batches/results", + "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/versions", "status": "success", - "path": "en/api/php/beta/messages/batches/results.md", - "sha256": "6377b599d416c02987381c15baae9ebdf8bb8ae9ae6dd63a9c998571db844971", - "size": 2379 + "path": "en/api/cli/beta/skills/versions.md", + "sha256": "816beec131ea84fe66bb2198c0044416b10a7a950e815ea9a38c6cc28fae86c5", + "size": 11695 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/messages/batches/delete", + "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/create", "status": "success", - "path": "en/api/php/beta/messages/batches/delete.md", - "sha256": "06d440ae38c9dae71b65b12de42dd4288bac9d1b69ea8ba0d9179b7314d5316b", - "size": 1948 + "path": "en/api/cli/beta/vaults/create.md", + "sha256": "9d669784ab68caa3c042263d4c12e2428c29d851f3a9c14e53eb3b01d2bbb3ab", + "size": 2035 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memories/create", + "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/update", "status": "success", - "path": "en/api/php/beta/memory_stores/memories/create.md", - "sha256": "f82defe45a65f20cea50e43d756ef21d93858f34540dd050f17bcbc92a4a73af", - "size": 4787 + "path": "en/api/cli/beta/vaults/update.md", + "sha256": "b51a2e2e12115267e93c7ddf9b7e2db9bc72e95eef927336b16555eb98cf1bc2", + "size": 2147 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memories/update", + "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/retrieve", "status": "success", - "path": "en/api/php/beta/memory_stores/memories/update.md", - "sha256": "43b4cf58be76c0c61c8e803cf272ec95fbb10e13f4e2eb2a0da8eaae21fdb3fb", - "size": 5444 + "path": "en/api/cli/beta/vaults/retrieve.md", + "sha256": "14f0f8cefee33115f1793220a5d4e41c65ac405bcf79088c83a8f1e09046c5c9", + "size": 1881 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memories/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/delete", "status": "success", - "path": "en/api/php/beta/memory_stores/memories/list.md", - "sha256": "b60a7eeb6e0f474b75e81b651691d7894f22f3290a6b9a4d36677aad47bb5a8a", - "size": 5643 + "path": "en/api/cli/beta/vaults/delete.md", + "sha256": "208f0936d9b6533111a5b4b7c61556052e95f933a1b27a3eb0cbaf24a8918117", + "size": 1247 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memories/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/list", "status": "success", - "path": "en/api/php/beta/memory_stores/memories/retrieve.md", - "sha256": "83aec4a8dadc7ea571103012c8e7f5d07b3664765f70553478fcb0773c95cc1e", - "size": 4343 + "path": "en/api/cli/beta/vaults/list.md", + "sha256": "0be2556a61a43a93ef065c075bf526d08b160059da0b1eb53b05618338b587d9", + "size": 2574 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memories/delete", + "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/archive", "status": "success", - "path": "en/api/php/beta/memory_stores/memories/delete.md", - "sha256": "9da660843b3c3638d4d88d580eb9afc2ebd21a932b537c95484fdf0c906a90e8", - "size": 2179 + "path": "en/api/cli/beta/vaults/archive.md", + "sha256": "6d96648e442d3d47a74dac68f6fd9d485c5adcedae9e939733cabac58e4ed5f5", + "size": 1883 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memory_versions/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials", "status": "success", - "path": "en/api/php/beta/memory_stores/memory_versions/list.md", - "sha256": "1063ba66f36bba9f06a86728af0e8fe5eddb00c7ed5b1abb68b5374adeed922a", - "size": 7239 + "path": "en/api/cli/beta/vaults/credentials.md", + "sha256": "adedc0cd0a43d0a31371010c38be3eebbeb10af49cec75bfea466d6720be3829", + "size": 73076 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memory_versions/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/create", "status": "success", - "path": "en/api/php/beta/memory_stores/memory_versions/retrieve.md", - "sha256": "f04b207199e472362244b2ba081d5726e1e09406fdc87713d712b968044e1a28", - "size": 5421 + "path": "en/api/cli/beta/vaults/credentials/create.md", + "sha256": "a7c01211c070a77801aae2a238f9e029cd140af75d277cf16e2175d31f2b631d", + "size": 6512 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memory_versions/redact", + "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/update", "status": "success", - "path": "en/api/php/beta/memory_stores/memory_versions/redact.md", - "sha256": "cd8ea456299fbc9cb34b8f324f8b82816c2d237656f9858462a62b3a4b7983f2", - "size": 4927 + "path": "en/api/cli/beta/vaults/credentials/update.md", + "sha256": "7fe209bfe607a8a7385290e1c21d48fbde7af105106c818438e5cd51e0d18153", + "size": 6628 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/skills/versions/create", + "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/retrieve", "status": "success", - "path": "en/api/php/beta/skills/versions/create.md", - "sha256": "034d2b50d8b9178fc2b2d4c37e1e2d87a74c111469aa9dcf734c0c29daf70251", - "size": 2763 + "path": "en/api/cli/beta/vaults/credentials/retrieve.md", + "sha256": "45f3ba1bee4c0b2d6bb274e427a9437485372e9a0d3787a875f34525c48c6c08", + "size": 6072 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/skills/versions/download", + "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/delete", "status": "success", - "path": "en/api/php/beta/skills/versions/download.md", - "sha256": "025528cab31dd8ebbc583683cc7aa7aeadf1beb5102baa27c83889a39f3672bf", - "size": 1660 + "path": "en/api/cli/beta/vaults/credentials/delete.md", + "sha256": "3ad0fe8ade52e21bed65f7cf5416f852f3ea65a98fa8a638f5efe9f89893af4c", + "size": 1520 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/skills/versions/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/list", "status": "success", - "path": "en/api/php/beta/skills/versions/list.md", - "sha256": "b888603246bb90dc3dacc3e7da2117b4e2fe98fbb604004b602c78fcc8112215", - "size": 2843 + "path": "en/api/cli/beta/vaults/credentials/list.md", + "sha256": "9bf2a9c947c667689ac9e4475c36a901d3ba537fa79cbf226748586e18300430", + "size": 6907 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/skills/versions/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/archive", "status": "success", - "path": "en/api/php/beta/skills/versions/retrieve.md", - "sha256": "74e58790c44ca5cd637d2c60cf250f5a68febe6ee55c5e9787fae4e5e80af102", - "size": 2798 + "path": "en/api/cli/beta/vaults/credentials/archive.md", + "sha256": "2895f8704922e6aa634efed1a5f6ca01894444fa561367be4621c5fe660f0289", + "size": 6074 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/skills/versions/delete", + "url": "https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/mcp_oauth_validate", "status": "success", - "path": "en/api/php/beta/skills/versions/delete.md", - "sha256": "0f7c1c183d8672aa34d9daf957bbb05d1161f04c8ec3b7bc45f2706ad4331a2e", - "size": 2005 + "path": "en/api/cli/beta/vaults/credentials/mcp_oauth_validate.md", + "sha256": "a389a392bcff0c25b74bb99f055fb3e63d6a4b7c60062cf6936634827efb45b6", + "size": 5034 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/threads/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/versions/create", "status": "success", - "path": "en/api/php/beta/sessions/threads/list.md", - "sha256": "814b055940dd2eeece3b3916a2145d22faa92292b04f94368db9679316252c69", - "size": 5504 + "path": "en/api/cli/beta/skills/versions/create.md", + "sha256": "a817820864a052a85a52dcf90d321e74fef95d807516a175dbdc5b162a243e04", + "size": 2396 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/threads/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/versions/download", "status": "success", - "path": "en/api/php/beta/sessions/threads/retrieve.md", - "sha256": "53e035c12d4005b8c30cb9c6145bfb9616e569b05d8b8632ba5eb5f157b6e755", - "size": 4623 + "path": "en/api/cli/beta/skills/versions/download.md", + "sha256": "31e27f79e9d2afb50d4e7d62066aca25609ad63ee5db2e6d2aa74a85c748ac91", + "size": 1374 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/threads/events", + "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/versions/retrieve", "status": "success", - "path": "en/api/php/beta/sessions/threads/events.md", - "sha256": "e4bb3b2c6c4e7bf45a8cb7e67ac2071ea22e7123b7935fc7d40bb9c927089481", - "size": 49415 + "path": "en/api/cli/beta/skills/versions/retrieve.md", + "sha256": "03f707ccaf033507dc314928cf0d79580b8cd9e081ad02f82edc7bd2723e3b76", + "size": 2506 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/threads/archive", + "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/versions/delete", "status": "success", - "path": "en/api/php/beta/sessions/threads/archive.md", - "sha256": "23610323071fc951dabc6aea292ac074f515ddbff13884046fb0bb639ad604f9", - "size": 4641 + "path": "en/api/cli/beta/skills/versions/delete.md", + "sha256": "01c99eb3d1d6af29a06749927f3e9089c899d9d700c3366f8247472bafa3bc15", + "size": 1667 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/resources/update", + "url": "https://platform.claude.com/docs/en/api/cli/beta/skills/versions/list", "status": "success", - "path": "en/api/php/beta/sessions/resources/update.md", - "sha256": "dc198bb84fe2b69b05046c0a06d925568eb5d3fb83c91146842cc1b581d99040", - "size": 3623 + "path": "en/api/cli/beta/skills/versions/list.md", + "sha256": "18c3f54776b541cd4611ce1adcd4f788a6332a988b72582195bba4e84bfcba61", + "size": 2865 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/resources/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/messages/batches/cancel", "status": "success", - "path": "en/api/php/beta/sessions/resources/list.md", - "sha256": "a25af639f56725d6d18ad04a12352ca99e9c35c6ec3c8979551bedc549f98e0a", - "size": 3977 + "path": "en/api/cli/beta/messages/batches/cancel.md", + "sha256": "12fb7f02e5a0f127e7f90b3abc28ea67012c5d7f9a16a43922bdadb6967d5451", + "size": 5075 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/resources/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/messages/batches/create", "status": "success", - "path": "en/api/php/beta/sessions/resources/retrieve.md", - "sha256": "f6bcc588c2d349debdad03b7f1973ba723468f14d3b5ec1629832040c34cb75c", - "size": 3398 + "path": "en/api/cli/beta/messages/batches/create.md", + "sha256": "276018b5b6db1edd5ca6998ede662b2538679c1003a61640a943112db516ae8f", + "size": 5367 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/resources/add", + "url": "https://platform.claude.com/docs/en/api/cli/beta/messages/batches/retrieve", "status": "success", - "path": "en/api/php/beta/sessions/resources/add.md", - "sha256": "6bfbc47c265692079e7a80e9a9b5c95f9ed0a8e0f7a72072bb9ef4efd231410f", - "size": 2160 + "path": "en/api/cli/beta/messages/batches/retrieve.md", + "sha256": "23f2641f9b081ffc1cf12eda4f7d90e3ba036cde8eebb31b06238aa4d3e72655", + "size": 4767 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/resources/delete", + "url": "https://platform.claude.com/docs/en/api/cli/beta/messages/batches/delete", "status": "success", - "path": "en/api/php/beta/sessions/resources/delete.md", - "sha256": "0eb9a11ae538045b59b1dbc8b8c12833fda2d0d44e7eccdd405148470b41a231", - "size": 1709 + "path": "en/api/cli/beta/messages/batches/delete.md", + "sha256": "62c08e9a0b1822a76eb28a40516183cf3296366cc4e5c9484fd8051896fc13d5", + "size": 1626 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/events/send", + "url": "https://platform.claude.com/docs/en/api/cli/beta/messages/batches/list", "status": "success", - "path": "en/api/php/beta/sessions/events/send.md", - "sha256": "23e1e96b3d08e2ad77c119e2a45d0b4f616481935c51f4df9cc6e22cf4a6e92d", - "size": 1957 + "path": "en/api/cli/beta/messages/batches/list.md", + "sha256": "4229a6a7add01d69478ba1202c766ac611ad9a87a2ccfbfe35d59096dbd6b473", + "size": 5672 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/events/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/messages/batches/results", "status": "success", - "path": "en/api/php/beta/sessions/events/list.md", - "sha256": "25a8dad2fc01b23ffea51c7b18079224df993ad6f2524aedd53b0b79805dbb80", - "size": 25484 + "path": "en/api/cli/beta/messages/batches/results.md", + "sha256": "7991ffea34f7ebce4857373436b934536f2da4317ed3d491146c9425c88feb79", + "size": 182310 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/events/stream", + "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/certificates/create", "status": "success", - "path": "en/api/php/beta/sessions/events/stream.md", - "sha256": "0aa842f4dc95f345fe041dcef7bbdaa018ef082233862043e2fd2821e2195b72", - "size": 25263 + "path": "en/api/cli/beta/tunnels/certificates/create.md", + "sha256": "a2f2fd8f4d8196b71cfd12715232b611e5fd4d7e2c66c28586b2c6f9cbaa5373", + "size": 2791 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/threads/events/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/certificates/retrieve", "status": "success", - "path": "en/api/php/beta/sessions/threads/events/list.md", - "sha256": "d568c569385b28c272c83d962b720e0796841758f150087611820ebe2f0680ab", - "size": 24073 + "path": "en/api/cli/beta/tunnels/certificates/retrieve.md", + "sha256": "0bd406317b91376c452c518b1df2ade60fc0c57e623e3a7aed1d4c15644a849b", + "size": 2541 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/threads/events/stream", + "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/certificates/list", "status": "success", - "path": "en/api/php/beta/sessions/threads/events/stream.md", - "sha256": "6f23e9ffeb4f30c7b05b85106fc9fe8b508fe806db40b0ab7ed844bf1aaa44c3", - "size": 25476 + "path": "en/api/cli/beta/tunnels/certificates/list.md", + "sha256": "e3d394dd2f3c85afbca59b5be8aefc29137626f17e20bbd7e3598c8004ba5ab3", + "size": 3203 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/certificates/create", + "url": "https://platform.claude.com/docs/en/api/cli/beta/tunnels/certificates/archive", "status": "success", - "path": "en/api/php/beta/tunnels/certificates/create.md", - "sha256": "6942d287a513993267194336bd32ca049abecb23da4c978990594a52ba7e4acf", - "size": 3001 + "path": "en/api/cli/beta/tunnels/certificates/archive.md", + "sha256": "743fbf139513366a9c41de11e197c5cbd3f53ad33859df85731e6d6db6d8e5fd", + "size": 2778 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/certificates/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/work/poll", "status": "success", - "path": "en/api/php/beta/tunnels/certificates/list.md", - "sha256": "e7d60086015455ed6de8f5b64cc1852a74e97aec92cd8866d8a7a3d09667953b", - "size": 3232 + "path": "en/api/cli/beta/environments/work/poll.md", + "sha256": "5648b8288bb8f6a7b52b9bc688bd2ccab0e5ad1b36f48579b07397fc089465b5", + "size": 3608 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/certificates/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/work/update", "status": "success", - "path": "en/api/php/beta/tunnels/certificates/retrieve.md", - "sha256": "be4ff5087b96ac695c3fd1acbfb4c1278658d1d025c4e26c93dd6348ff177605", - "size": 2764 + "path": "en/api/cli/beta/environments/work/update.md", + "sha256": "ece6e7e6e0d577319ca5b113ed6202a94896de294df2afb1e059e82a283067c4", + "size": 3654 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/certificates/archive", + "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/work/stop", "status": "success", - "path": "en/api/php/beta/tunnels/certificates/archive.md", - "sha256": "a2ab444203a3dad11e893cb14518f5bba38bb63ed2927b99685269eab591fe98", - "size": 3001 + "path": "en/api/cli/beta/environments/work/stop.md", + "sha256": "51d3c0e4b8b00afe39e150d3a1f79f013a4ee2d16de070c284507d1caf76a3b3", + "size": 3554 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/agents/versions/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/work/retrieve", "status": "success", - "path": "en/api/php/beta/agents/versions/list.md", - "sha256": "262aeba286794fe34ef86ad731e77e0cc0bdd818c7f512ec9c62b966b2465a18", - "size": 5109 + "path": "en/api/cli/beta/environments/work/retrieve.md", + "sha256": "7373d973da1b73c94aab8c5a01e2a138ad2b6497531db9beeff756e057a9fa55", + "size": 3477 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/create", + "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/work/heartbeat", "status": "success", - "path": "en/api/php/beta/vaults/credentials/create.md", - "sha256": "8e63fc0ffdb3f55ab15f03901ec52a3b82fe88f3850cbfce94aeab5e38c7fb24", - "size": 3136 + "path": "en/api/cli/beta/environments/work/heartbeat.md", + "sha256": "e09c6c9b61eeac10a1353ce5089e945740b51acdbaa03d79bbe5a320fec761c2", + "size": 2231 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/update", + "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/work/list", "status": "success", - "path": "en/api/php/beta/vaults/credentials/update.md", - "sha256": "fb946ba04eab14beff40ca4005c4193b71ef7624ac6ffd999e6fee69657344c4", - "size": 3541 + "path": "en/api/cli/beta/environments/work/list.md", + "sha256": "3886a008af273e24b289047b4a524b675cec77849f09e0821a79e04a587d4246", + "size": 3394 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/work/stats", "status": "success", - "path": "en/api/php/beta/vaults/credentials/list.md", - "sha256": "8f4b96e9a81b7f1d1f480247675f61b906f62968e5c16d0f8de538b77b878ec0", - "size": 3039 + "path": "en/api/cli/beta/environments/work/stats.md", + "sha256": "8a299d0e8e08334644ba66d4b12a32d742fe53f4689f7eef8b582858faec4553", + "size": 1887 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/mcp_oauth_validate", + "url": "https://platform.claude.com/docs/en/api/cli/beta/environments/work/ack", "status": "success", - "path": "en/api/php/beta/vaults/credentials/mcp_oauth_validate.md", - "sha256": "31f6498c29c34854bcaa0e0a941c692a20039a07e701da1403fcf869b42693bb", - "size": 3038 + "path": "en/api/cli/beta/environments/work/ack.md", + "sha256": "347d7f3248309a90c16eab13bb98dba36bbc6775a16138949e857d25642a34d7", + "size": 3159 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/agents/versions/list", "status": "success", - "path": "en/api/php/beta/vaults/credentials/retrieve.md", - "sha256": "059975a638ba00452b1887692f059bfc92dc4d77b0032ca1617f922caee4ad69", - "size": 2664 + "path": "en/api/cli/beta/agents/versions/list.md", + "sha256": "a815bd807579c95506c28b273e53daf00ef5f2e9b9548ebef7f0542f5a906bce", + "size": 31719 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/delete", + "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memories/create", "status": "success", - "path": "en/api/php/beta/vaults/credentials/delete.md", - "sha256": "a5017f7cf98a2678486baa0a7e644ce8e1f80d95d1d2796888a0106c37a35ac6", - "size": 1822 + "path": "en/api/cli/beta/memory_stores/memories/create.md", + "sha256": "0c3e10e11b0e73a3cc8f151977c3ea0e6f23880189ad9d87bf2069c7dbecc4d6", + "size": 4890 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/archive", + "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memories/update", "status": "success", - "path": "en/api/php/beta/vaults/credentials/archive.md", - "sha256": "07b650e6269f35f1f9ef89ab16b888dff41c3a881ccf97cb96f1a5101a8234d9", - "size": 2681 + "path": "en/api/cli/beta/memory_stores/memories/update.md", + "sha256": "d3970beeb9408575eb72e325e9842879700ab3ed49dcb07780b4c8dd37ed3384", + "size": 5343 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/environments/work/update", + "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memories/retrieve", "status": "success", - "path": "en/api/php/beta/environments/work/update.md", - "sha256": "12ffa04421dfe125bebcaa137b0b32b317b0418876f3a7c40c2b5793a7cec01d", - "size": 3516 + "path": "en/api/cli/beta/memory_stores/memories/retrieve.md", + "sha256": "317ba8e4140206d0c44c4c7c4596ae32a09acd8effbad28e923665808b5ee59e", + "size": 4421 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/environments/work/list", + "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memories/delete", "status": "success", - "path": "en/api/php/beta/environments/work/list.md", - "sha256": "d2cb623ee042db2e7e7aa2b35cecb0d18da235dfc152e226bce4a3025100d6b5", - "size": 3107 + "path": "en/api/cli/beta/memory_stores/memories/delete.md", + "sha256": "ff3a63fb0d5eb91c74327bb683b0edc8e45c9eeebe91d708ee3ea50a8c32cc51", + "size": 2248 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/environments/work/stop", + "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memories/list", "status": "success", - "path": "en/api/php/beta/environments/work/stop.md", - "sha256": "b55b2224d454ce9ec3ac28a600eb155b3882522cdee417ed18f24678aac40bc0", - "size": 3417 + "path": "en/api/cli/beta/memory_stores/memories/list.md", + "sha256": "ab21e68e04a09ffce5892a63b57b83506098c743a69318ff4ef1266fdf410a1c", + "size": 6764 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/environments/work/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memory_versions/retrieve", "status": "success", - "path": "en/api/php/beta/environments/work/retrieve.md", - "sha256": "48f22aa30c9241c41c8f60cb3347ac9e9667b8d0ef6f9d330825cda51724377c", - "size": 3299 + "path": "en/api/cli/beta/memory_stores/memory_versions/retrieve.md", + "sha256": "911f6c5a4f730887ebad7dc8a50dec7e5d3e066d0f334e5cef5284a3b31fe86e", + "size": 8432 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/environments/work/ack", + "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memory_versions/list", "status": "success", - "path": "en/api/php/beta/environments/work/ack.md", - "sha256": "3fa578b3a1c8659467ea1908c32f5af7bf8b103ff89dee4c2a7b21ff4953b7b7", - "size": 2913 + "path": "en/api/cli/beta/memory_stores/memory_versions/list.md", + "sha256": "c1c3ce03dec8febd6fd1eaff9aade781b8fc96d7b8c04fc791f903a8596229c9", + "size": 9948 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/environments/work/stats", + "url": "https://platform.claude.com/docs/en/api/cli/beta/memory_stores/memory_versions/redact", "status": "success", - "path": "en/api/php/beta/environments/work/stats.md", - "sha256": "7dcf1a8b2fd52cedeebdc817471a8ac3e0989488c699b2bf8d775d408f287cd6", - "size": 2094 + "path": "en/api/cli/beta/memory_stores/memory_versions/redact.md", + "sha256": "05eb36b3cb0438547bf7c05a61eee3c1dd52c35759b6de955a3e1f013ddf4c72", + "size": 8013 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/environments/work/heartbeat", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/threads/retrieve", "status": "success", - "path": "en/api/php/beta/environments/work/heartbeat.md", - "sha256": "ff777cc1740c05ff13689115352a2233288e3033d5350fb712cb802b8439ac89", - "size": 2468 + "path": "en/api/cli/beta/sessions/threads/retrieve.md", + "sha256": "52a909e2bca74ee68b7ce3d59ad3ff88457baf852f4aade5d9b25602c37ed5b0", + "size": 34091 }, { - "url": "https://platform.claude.com/docs/en/api/php/beta/environments/work/poll", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/threads/list", "status": "success", - "path": "en/api/php/beta/environments/work/poll.md", - "sha256": "fb26553b85bd430edd50b30858aa43d714723a1b467369a4c89d2850101eef9c", - "size": 3447 + "path": "en/api/cli/beta/sessions/threads/list.md", + "sha256": "0b36f7d3b02fae854555bec19a1902a9a71e61d504e9f5351ab4f62aae824124", + "size": 35944 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/threads/archive", "status": "success", - "path": "en/api/csharp/beta/sessions.md", - "sha256": "3acb80c3f6f24f6123d85c29e75e510f7fc848d1fdae38218ab8e2a9304f568b", - "size": 1207027 + "path": "en/api/cli/beta/sessions/threads/archive.md", + "sha256": "0b6fdf583c501b63b2dde3042233b91200ed76e8a689ef9375e470b97cbe2519", + "size": 34109 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/webhooks", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/threads/events", "status": "success", - "path": "en/api/csharp/beta/webhooks.md", - "sha256": "d3bb15da5c2287e43e260f24b1838c95fdcaf038fe09da9d63350ee2c0f76b32", - "size": 38967 + "path": "en/api/cli/beta/sessions/threads/events.md", + "sha256": "fb0fb4885ec9042df002c6e8dbee73f04e10af9592917efb729991216ba28cdb", + "size": 215988 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/events/send", "status": "success", - "path": "en/api/csharp/beta/skills.md", - "sha256": "a660d823448df0af13cbca28ccb51b65b5c3b8d257c31ae33e76ad0dce37390b", - "size": 54543 + "path": "en/api/cli/beta/sessions/events/send.md", + "sha256": "08cf5a9452895c58efa9bb3c2b000e10cd9a2dbf962c8b279e500a7156077c0a", + "size": 13958 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/events/stream", "status": "success", - "path": "en/api/csharp/beta/agents.md", - "sha256": "5aed39282e25be1221710c4d60ed4bba774e7b3a642a832eb22bc9715a3e7f53", - "size": 455526 + "path": "en/api/cli/beta/sessions/events/stream.md", + "sha256": "9fee1c9170cd76261b7b15250d7f981f6f6539f565db262b30d0e1ccb08760f0", + "size": 107885 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/events/list", "status": "success", - "path": "en/api/csharp/beta/deployments.md", - "sha256": "10ff68e3109df12a8bf6adbd2a461a3e19a46278506237fa1835c9bacd2ab8d1", - "size": 225382 + "path": "en/api/cli/beta/sessions/events/list.md", + "sha256": "29d00eaf02933693757ff9512201a93358a64856e6b61f84e390f3badd844e7c", + "size": 109063 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployment_runs", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/resources/update", "status": "success", - "path": "en/api/csharp/beta/deployment_runs.md", - "sha256": "8a12cdc6375de0ea4d0c6b4ee3a27b936d7435880e442ec57a198d6d3156a55e", - "size": 34090 + "path": "en/api/cli/beta/sessions/resources/update.md", + "sha256": "29686d6daeba5e81c3f0105a2522b38fc003bc0ebcb5a2f7e5ca82b5275cbe26", + "size": 4263 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/user_profiles", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/resources/add", "status": "success", - "path": "en/api/csharp/beta/user_profiles.md", - "sha256": "238820b9b821d104b26f854210f5900601786237228dc83435c7b3c5b5347b70", - "size": 60355 + "path": "en/api/cli/beta/sessions/resources/add.md", + "sha256": "56b3df2890d874b9a72c336c62c05b409cd0a318e307550a8a17098a7e035a71", + "size": 1863 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/models", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/resources/retrieve", "status": "success", - "path": "en/api/csharp/beta/models.md", - "sha256": "16738a7e3dd80a6af1a9749c39bdd533fd63d0aed96f444a41ab7c472c2e5667", - "size": 44401 + "path": "en/api/cli/beta/sessions/resources/retrieve.md", + "sha256": "d985e7b204668d1deb37ed2528516a530455bebd942cf75d7f15ecfbead76daa", + "size": 4033 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/resources/delete", "status": "success", - "path": "en/api/csharp/beta/vaults.md", - "sha256": "80758842203f5b5fb1d6a381765066793beb096a816bd5472bd590b2995a690b", - "size": 99656 + "path": "en/api/cli/beta/sessions/resources/delete.md", + "sha256": "3bde61a29b0739cfb1983faa82dc866569cb25d2432911a6782a03c3533adda7", + "size": 1376 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/resources/list", "status": "success", - "path": "en/api/csharp/beta/memory_stores.md", - "sha256": "55881292f622ff68e2244d81b7b6660615fe9ca42dcc5f547dac3043e83927fe", - "size": 116129 + "path": "en/api/cli/beta/sessions/resources/list.md", + "sha256": "db76dd22fed048008c84f0cb9d85ed563a39775fed72531657c39b14da559ed1", + "size": 4805 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/threads/events/stream", "status": "success", - "path": "en/api/csharp/beta/tunnels.md", - "sha256": "26a87ed9b6bdae94e7da96743f2d61a05f4815daf1aebfc1258c7e6307a549c4", - "size": 59870 + "path": "en/api/cli/beta/sessions/threads/events/stream.md", + "sha256": "0562c3ff3113ed747d027e6fa9456073d36e1e3233d36baf0ceb4b7e1fe18536", + "size": 108068 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments", + "url": "https://platform.claude.com/docs/en/api/cli/beta/sessions/threads/events/list", "status": "success", - "path": "en/api/csharp/beta/environments.md", - "sha256": "32dc4944a8c1e25a6c0f7c1b6f1bfc53449f6395600c1c6152bf07b23d1e6548", - "size": 115383 + "path": "en/api/cli/beta/sessions/threads/events/list.md", + "sha256": "242d056d1909ddf7679762d3616d3ed8ce7c84d266cae3c40835dbaba2481c64", + "size": 108054 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/files", + "url": "https://platform.claude.com/docs/en/api/cli/messages/batches/cancel", "status": "success", - "path": "en/api/csharp/beta/files.md", - "sha256": "10a93152bd180a3bdcef11b8ab2adf3ebef59247f3f70c31722075ba04230c41", - "size": 29471 + "path": "en/api/cli/messages/batches/cancel.md", + "sha256": "b388420b49cd5bbe7430fe75bd1dbc5f1ee4b5914fe7db9c06bb9dcdc4ccd004", + "size": 4924 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages", + "url": "https://platform.claude.com/docs/en/api/cli/messages/batches/create", "status": "success", - "path": "en/api/csharp/beta/messages.md", - "sha256": "4b83a9e4b51ce1cccb10bba704de78710d79385f5f6c052029286b73337db522", - "size": 2868029 + "path": "en/api/cli/messages/batches/create.md", + "sha256": "0f9833678a0ee47eea08f972521c7c0767fc0c5068cfa4b2e7a8575f89bbe55b", + "size": 5216 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/models/list", + "url": "https://platform.claude.com/docs/en/api/cli/messages/batches/retrieve", "status": "success", - "path": "en/api/csharp/models/list.md", - "sha256": "900984efd9e792ba11e46a675a815218d57ebe8179e3d700dcbeb9dc78ee78a3", - "size": 13946 + "path": "en/api/cli/messages/batches/retrieve.md", + "sha256": "b111c11e3f83bb31e1bd35200739fbdca845a7008bd8a64fff0b44746b8c8f8d", + "size": 4616 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/models/retrieve", + "url": "https://platform.claude.com/docs/en/api/cli/messages/batches/delete", "status": "success", - "path": "en/api/csharp/models/retrieve.md", - "sha256": "6a4286acc3cfb47649c44e282382ddb0f9cd344c61f4f69149171fdefefe50ad", - "size": 12656 + "path": "en/api/cli/messages/batches/delete.md", + "sha256": "22c0d47301b6e5d99a2011d16ec197483a331e8acd537d49004041296abbc499", + "size": 1475 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/completions/create", + "url": "https://platform.claude.com/docs/en/api/cli/messages/batches/list", "status": "success", - "path": "en/api/csharp/completions/create.md", - "sha256": "d1d5014e3e3f9d2e0b0895fd6abb7a2232820019169377260e8e7272f753f112", - "size": 13272 + "path": "en/api/cli/messages/batches/list.md", + "sha256": "19125d83ad70a6f6085e5167e2052cb8d738a3566f61df198f7ddaa988ba9087", + "size": 5518 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/messages/create", + "url": "https://platform.claude.com/docs/en/api/cli/messages/batches/results", "status": "success", - "path": "en/api/csharp/messages/create.md", - "sha256": "0c4c0e76541df067df45b69a41a4c5394f46c9ab9a710d200b127a88c5280bfd", - "size": 130311 + "path": "en/api/cli/messages/batches/results.md", + "sha256": "dc765b6c744cf283b777fe102a8c74ae6203b488f70e4e53098b9ec17ab99ff0", + "size": 34273 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/messages/count_tokens", + "url": "https://platform.claude.com/docs/en/api/python/models/retrieve", "status": "success", - "path": "en/api/csharp/messages/count_tokens.md", - "sha256": "fc429134a905097b21581c2c8c9c46801e6cd0cd3cdc06dd437757a142b9ea63", - "size": 91081 + "path": "en/api/python/models/retrieve.md", + "sha256": "75920c3f0d48922b92d3693139e3340dc1b4c69f1671354cecc575fdd8028dd5", + "size": 11727 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/messages/batches", + "url": "https://platform.claude.com/docs/en/api/python/models/list", "status": "success", - "path": "en/api/csharp/messages/batches.md", - "sha256": "2db9228248ae803a13d5d80c9e7ef8bff4511ca216d2ffd0e84db22a72b5cd40", - "size": 275236 + "path": "en/api/python/models/list.md", + "sha256": "a50d1fdccf2e058cab67dd70a1d5e0eb9472f66231ab713d9bc71b8d18bd86d0", + "size": 13032 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/messages/batches/create", + "url": "https://platform.claude.com/docs/en/api/python/completions/create", "status": "success", - "path": "en/api/csharp/messages/batches/create.md", - "sha256": "aed228c5006869d28396f705e2c2bbdce81a9fef55c439a77cd594ef48489786", - "size": 118169 + "path": "en/api/python/completions/create.md", + "sha256": "dd5c482f5e9cfcbb4040c1118dfe11597fd03952f8cd6d5201624392603f65b9", + "size": 13272 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/messages/batches/list", + "url": "https://platform.claude.com/docs/en/api/python/messages/batches", "status": "success", - "path": "en/api/csharp/messages/batches/list.md", - "sha256": "ea9758a9c8554d5062ebda03402fc23112c605a243a40911de1351226874cd8f", - "size": 5403 + "path": "en/api/python/messages/batches.md", + "sha256": "679c167fab2a3e1013468bce6b794f033665c8fef5fab5244e8c75e04f002e79", + "size": 271441 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/messages/batches/cancel", + "url": "https://platform.claude.com/docs/en/api/python/messages/create", "status": "success", - "path": "en/api/csharp/messages/batches/cancel.md", - "sha256": "bbcede8dc1269b50416cb052dfcfc86dd179986133a59be12a4f43a8d5eb420a", - "size": 5267 + "path": "en/api/python/messages/create.md", + "sha256": "b42a20ba5f322c1d02efdd9168b8f7ca11177de04ea1a18841374a5b3eb28f3a", + "size": 135868 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/messages/batches/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/messages/count_tokens", "status": "success", - "path": "en/api/csharp/messages/batches/retrieve.md", - "sha256": "a4cc4b89ed2580994befb8c452675bd759dc0430058bed1b036c1910fdaba8bf", - "size": 4963 + "path": "en/api/python/messages/count_tokens.md", + "sha256": "5f68cb900a9bd101dafd5f5c48da12534d52b28f5b825928feb119305d3fc5ca", + "size": 96271 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/messages/batches/results", + "url": "https://platform.claude.com/docs/en/api/python/beta/files", "status": "success", - "path": "en/api/csharp/messages/batches/results.md", - "sha256": "8280ccfb6d389997b922d48274c41734fb159f04e5a4ea06b15117db4d64bb2e", - "size": 36266 + "path": "en/api/python/beta/files.md", + "sha256": "3b60c6e79f4483fe5860853e4f8f8b9e5c9f57dee6706705e7b378400577521e", + "size": 22681 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/messages/batches/delete", + "url": "https://platform.claude.com/docs/en/api/python/beta/user_profiles", "status": "success", - "path": "en/api/csharp/messages/batches/delete.md", - "sha256": "0791b93005145c716fc4b83580bc8406862798063b6034895c467217fec237dd", - "size": 1683 + "path": "en/api/python/beta/user_profiles.md", + "sha256": "6996b9842e116828dba62365e75cea05043cf7894b58b9443e39b66183d54dc9", + "size": 57711 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/create", + "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels", "status": "success", - "path": "en/api/csharp/beta/environments/create.md", - "sha256": "09bbe70b8bc16750553017e44feab62a606c66284a37a78914fdf50349a440cd", - "size": 11238 + "path": "en/api/python/beta/tunnels.md", + "sha256": "d5bcb6787760e3c200d35bbb1e27e2fa3f00a3e455f7a87709bddac178a86033", + "size": 45592 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/update", + "url": "https://platform.claude.com/docs/en/api/python/beta/webhooks", "status": "success", - "path": "en/api/csharp/beta/environments/update.md", - "sha256": "c6df23e4d087fecbd3de0588a62ae0055a9613e9a9e9fcc2da68544ccee93b33", - "size": 11328 + "path": "en/api/python/beta/webhooks.md", + "sha256": "9827bbe589c549ca9d3831c95bb443a1458722aef0c1ae8c2cace5ee9daa6608", + "size": 34106 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/environments", "status": "success", - "path": "en/api/csharp/beta/environments/list.md", - "sha256": "a6f2ba8eb57c0de9325d54aaa41ac593642d02d23a20abb4161878de62d6af73", - "size": 8806 + "path": "en/api/python/beta/environments.md", + "sha256": "591402cdd18ff5c87294336999a238832bef817f5e75b2467d05ea82c2e1eaae", + "size": 94753 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/messages", "status": "success", - "path": "en/api/csharp/beta/environments/retrieve.md", - "sha256": "5193ac79620777975af6c09bc3df2773d9d6fdac02de3172c69ecd64c9af5f15", - "size": 8302 + "path": "en/api/python/beta/messages.md", + "sha256": "fac97f30e235d3e89345e0563c42f465c95c480674bc44bbef7405af8a7f4387", + "size": 2903064 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/delete", + "url": "https://platform.claude.com/docs/en/api/python/beta/agents", "status": "success", - "path": "en/api/csharp/beta/environments/delete.md", - "sha256": "7494f2fede3dc6a57417677e9d8edcb5cb7feda047f1813f49e6e44e5f1f4d1b", - "size": 4787 + "path": "en/api/python/beta/agents.md", + "sha256": "bb017a8144783cdd6472d3362950e234e4926c56ce41bcc295c2e76ff823a614", + "size": 450862 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work", + "url": "https://platform.claude.com/docs/en/api/python/beta/deployment_runs", "status": "success", - "path": "en/api/csharp/beta/environments/work.md", - "sha256": "bfe687c6bc06d25c9de07dcfb9dab5db92125d27a3cea85c9ad23c583d4fbf41", - "size": 59154 + "path": "en/api/python/beta/deployment_runs.md", + "sha256": "15cea7298e536c8d19aae231816fd737bd2bdc47249b6871f1ed636fefb35b31", + "size": 32281 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/archive", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions", "status": "success", - "path": "en/api/csharp/beta/environments/archive.md", - "sha256": "4ec79910e2dd3b98c4aa21d04750acc9156406470068b9fa142f9dd7d1365ca6", - "size": 8366 + "path": "en/api/python/beta/sessions.md", + "sha256": "3b2e7295808c06f4271032f0e3e3dd0792062ca9f7ff50c7cda637baaf98a10b", + "size": 1170163 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployment_runs/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/models", "status": "success", - "path": "en/api/csharp/beta/deployment_runs/list.md", - "sha256": "0d76ab412e76d01ed034113119e573e9809437f9f9633bebbb1497e9141e433d", - "size": 11830 + "path": "en/api/python/beta/models.md", + "sha256": "e50bf45f2276659fab90fa827cb9c188e2144f687156b4be26b1a8a6e67624fd", + "size": 44282 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployment_runs/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores", "status": "success", - "path": "en/api/csharp/beta/deployment_runs/retrieve.md", - "sha256": "90f1535c81d051f406d4f6ca3ffdac0c7f3c0ec1f591621bffaf251ed58964bd", - "size": 10593 + "path": "en/api/python/beta/memory_stores.md", + "sha256": "da18ec04ceed409335920c8f314713446a98e5ad310009a21865d3ec9386e165", + "size": 98953 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/create", + "url": "https://platform.claude.com/docs/en/api/python/beta/vaults", "status": "success", - "path": "en/api/csharp/beta/vaults/create.md", - "sha256": "2c6b229bb56908866ffb800910ba3994175f3a266ddf0c9b5d4c8033fb61f69e", - "size": 5589 + "path": "en/api/python/beta/vaults.md", + "sha256": "6a05c60326a51fc8782348a9a20d7b8d6e561fbefdf030a625b947403729d112", + "size": 84053 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/update", + "url": "https://platform.claude.com/docs/en/api/python/beta/deployments", "status": "success", - "path": "en/api/csharp/beta/vaults/update.md", - "sha256": "c33babd8f6abc439b97814156624091e69f108eaa03d6f4f6352c5ef96a924bc", - "size": 5700 + "path": "en/api/python/beta/deployments.md", + "sha256": "7a96083ad455cfbcc0d64bdc245f82e8be8ccb8fc88338b451ae31d0e09fb068", + "size": 218197 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/skills", "status": "success", - "path": "en/api/csharp/beta/vaults/list.md", - "sha256": "0f90862e9d4db922fce8dbd4f8965636abcb393f066c48864457494dff08bfdc", - "size": 5704 + "path": "en/api/python/beta/skills.md", + "sha256": "c4b551b1a76669205ea498d70c2f8033f70345a362d0891d1281915c9f66724f", + "size": 41893 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/files/retrieve_metadata", "status": "success", - "path": "en/api/csharp/beta/vaults/retrieve.md", - "sha256": "e417127af17574af7adc04a17384af5d1de1974b04dcdd928aeaab2a510cfc4e", - "size": 5412 + "path": "en/api/python/beta/files/retrieve_metadata.md", + "sha256": "38616aaff96749257301391c42b1c3345723018ed3c4308df252ec914a5ba8ba", + "size": 4626 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials", + "url": "https://platform.claude.com/docs/en/api/python/beta/files/download", "status": "success", - "path": "en/api/csharp/beta/vaults/credentials.md", - "sha256": "65ac6d275fc8065b74f423c6c89753ffc50c56e5f0fe240fb39d723be23a7334", - "size": 95752 + "path": "en/api/python/beta/files/download.md", + "sha256": "2a3f87a3ad2e312370ad23a201e3de4e5191fd11b929d7c1f16b79c1e57f52c7", + "size": 3016 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/delete", + "url": "https://platform.claude.com/docs/en/api/python/beta/files/delete", "status": "success", - "path": "en/api/csharp/beta/vaults/delete.md", - "sha256": "3574a3d9aff89655b3509a83a30ce6134f816d64d52a37b2e1c4537e41f90305", - "size": 4715 + "path": "en/api/python/beta/files/delete.md", + "sha256": "e443f5b223211eab5a37670c54e3d21d417221d131c4690887990af281ebb1b3", + "size": 3277 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/archive", + "url": "https://platform.claude.com/docs/en/api/python/beta/files/list", "status": "success", - "path": "en/api/csharp/beta/vaults/archive.md", - "sha256": "5359e0191f947c2cc98884a70d338de0874b48a223ce791606f7cd8424965515", - "size": 5427 + "path": "en/api/python/beta/files/list.md", + "sha256": "780ddc818be5234a0e1d29adde938f339a1dad2f6ffb270fdb9df5ca39664ee2", + "size": 5408 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/user_profiles/create", + "url": "https://platform.claude.com/docs/en/api/python/beta/files/upload", "status": "success", - "path": "en/api/csharp/beta/user_profiles/create.md", - "sha256": "8b35ed3408784a0fe776fa31d910bd92f1af056aaa978a17fbf4157567ca4321", - "size": 12139 + "path": "en/api/python/beta/files/upload.md", + "sha256": "2387d0d2b139ac4dd47eef6a1d061f26d9366f13608a176975bcef96b1ea7507", + "size": 4980 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/user_profiles/update", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/resources", "status": "success", - "path": "en/api/csharp/beta/user_profiles/update.md", - "sha256": "1bebe4cda213b997ee46e3e1f013a2f90fb0a28beb77f9b6c6746365985d0637", - "size": 12123 + "path": "en/api/python/beta/sessions/resources.md", + "sha256": "cddf2fb89733937e2ba8f2f6e6858c59dd80fc597e995c63cc754ff0f6562318", + "size": 35452 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/user_profiles/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/create", "status": "success", - "path": "en/api/csharp/beta/user_profiles/list.md", - "sha256": "fcc804c0d06a5ca55d49bdc6ac8e9e36aaa079eee1a80c7e00220f18d1daa7de", - "size": 11222 + "path": "en/api/python/beta/sessions/create.md", + "sha256": "e22055e473961710c951bf492e27a4b5a40829334f8f0720648fd11cbcdc45ca", + "size": 82707 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/user_profiles/create_enrollment_url", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/update", "status": "success", - "path": "en/api/csharp/beta/user_profiles/create_enrollment_url.md", - "sha256": "499eb319b79fd470a38778c7f1b0dd1cac7c14c49d15a031a8b4e178addf7de2", - "size": 5323 + "path": "en/api/python/beta/sessions/update.md", + "sha256": "d95d8f62b4888adf9a5d5f1624b9883f139bc0ccd7873b9bf05cd8661ea86225", + "size": 68529 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/user_profiles/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/retrieve", "status": "success", - "path": "en/api/csharp/beta/user_profiles/retrieve.md", - "sha256": "a6080510380b89c3a9f6003e72714b5b9f0585b511e7c858dd60c114a4306e1f", - "size": 10119 + "path": "en/api/python/beta/sessions/retrieve.md", + "sha256": "3aee76abfffaa04bf35743e12e30167950cd6c2aa4b3bf27de936f8804d3103f", + "size": 44907 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/create", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/delete", "status": "success", - "path": "en/api/csharp/beta/agents/create.md", - "sha256": "f51a22101175665cac161990c32784bbe6ec7c5d5f3eccaaf0f050e63fbcbb9d", - "size": 61754 + "path": "en/api/python/beta/sessions/delete.md", + "sha256": "07bcdb34927c4f5e245bb096a0aad504c99d848861d40f78c09888e2295e4e19", + "size": 3326 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/update", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/list", "status": "success", - "path": "en/api/csharp/beta/agents/update.md", - "sha256": "01b1cd1033d089f17b14bd239b85573e210ab6f615e05163c4f5e84b382ae071", - "size": 62620 + "path": "en/api/python/beta/sessions/list.md", + "sha256": "e4ff78cb218f6b31b64d17ddc38a08b49c9f4fe0f2b123cb4b393b2006a96d5b", + "size": 47803 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/archive", "status": "success", - "path": "en/api/csharp/beta/agents/list.md", - "sha256": "dd4ee2a0fee58440b4e4c350a593554bf7e33c466fd5a9dd882b68647d466b9f", - "size": 32511 + "path": "en/api/python/beta/sessions/archive.md", + "sha256": "f0694eee8345ae544d8f45366d0b6d731bc5e043ec6f706559e16b803c32ac61", + "size": 44925 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/events", "status": "success", - "path": "en/api/csharp/beta/agents/retrieve.md", - "sha256": "c7bc86ddf3fd15e626bd5b0b32620ab3bad16eeb17a5586651546ed38c110c91", - "size": 31799 + "path": "en/api/python/beta/sessions/events.md", + "sha256": "f5dba38c9aa2f50dc4c90529e190ed8f8dd44af1d8848a723e2dcb7af0eee3d1", + "size": 560351 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/versions", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads", "status": "success", - "path": "en/api/csharp/beta/agents/versions.md", - "sha256": "5ae65682a2394a0015f01ab017b9dbe3b9791ec78f29b19526e97b85a83ace61", - "size": 32316 + "path": "en/api/python/beta/sessions/threads.md", + "sha256": "f160da93978d1d66a763d94ce05da8351c06a9a4d8c50d54b299c59151fff913", + "size": 436108 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/archive", + "url": "https://platform.claude.com/docs/en/api/python/beta/user_profiles/create_enrollment_url", "status": "success", - "path": "en/api/csharp/beta/agents/archive.md", - "sha256": "7335a965bac3d763c4319f00d388cc98f182675d2bcba6b880abd0437cf54988", - "size": 31671 + "path": "en/api/python/beta/user_profiles/create_enrollment_url.md", + "sha256": "7cecf8d8927d324fb10b9a07cb17a8e90d91ccb530971a39368ac1d4a970b5ba", + "size": 3934 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/models/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/user_profiles/create", "status": "success", - "path": "en/api/csharp/beta/models/list.md", - "sha256": "eb64262e6e6fe64029b45a7a8b7e911314eb8a8b4ce1460ac3843d0f0d7a5e6b", - "size": 14689 + "path": "en/api/python/beta/user_profiles/create.md", + "sha256": "70715923ccc9be8ee05e8eeca77539ca01352089d01012cf43330d60b7e9f42a", + "size": 12898 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/models/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/user_profiles/update", "status": "success", - "path": "en/api/csharp/beta/models/retrieve.md", - "sha256": "51646c147144b1e15c9928ce91a1162a9022349f25e75a2915319a33fc746537", - "size": 13375 + "path": "en/api/python/beta/user_profiles/update.md", + "sha256": "445d2497606a5e4d914576ed7ba24dbfbc8c840b9a0c28745a47c207d939d391", + "size": 12883 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/create", + "url": "https://platform.claude.com/docs/en/api/python/beta/user_profiles/retrieve", "status": "success", - "path": "en/api/csharp/beta/tunnels/create.md", - "sha256": "aad1a5edcd4a1b1f9bfde9e8fb8d343ee21f9218df94f7559dc4d4a7869d4066", - "size": 5820 + "path": "en/api/python/beta/user_profiles/retrieve.md", + "sha256": "a198a4377fa3c59461559cbe515c114a7a1224ba724699633b8cd8aa670449ae", + "size": 8715 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/rotate_token", + "url": "https://platform.claude.com/docs/en/api/python/beta/user_profiles/list", "status": "success", - "path": "en/api/csharp/beta/tunnels/rotate_token.md", - "sha256": "82418d25362e4afdc46e99d710053f9a7a3e9d97875951f17748e1fd8ff0332f", - "size": 5440 + "path": "en/api/python/beta/user_profiles/list.md", + "sha256": "ed589f8744d59466159f42a1257c8dde5c5eb0313952a042e9c342c60a85f0c5", + "size": 9818 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/deployment_runs/retrieve", "status": "success", - "path": "en/api/csharp/beta/tunnels/list.md", - "sha256": "c6d5dd6367523b10753a7a71428f1be2257f55c241fa875abeb93759f72efea8", - "size": 6112 + "path": "en/api/python/beta/deployment_runs/retrieve.md", + "sha256": "2659e90f8dc6bf9684d7654383daa8dcf65bf7b93365fa8d73ef82cd85031247", + "size": 9377 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/certificates", + "url": "https://platform.claude.com/docs/en/api/python/beta/deployment_runs/list", "status": "success", - "path": "en/api/csharp/beta/tunnels/certificates.md", - "sha256": "08d2638fc55f7343027272ddc58b7d357910515c317bc570028f2fa7d3ed6f85", - "size": 25898 + "path": "en/api/python/beta/deployment_runs/list.md", + "sha256": "facf59ff6f73e0eb439f2d6d18d8155dad9693683dbf861949e89611b90d3d7f", + "size": 10867 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memory_versions", "status": "success", - "path": "en/api/csharp/beta/tunnels/retrieve.md", - "sha256": "ba4f2a43d96cd4e4181e077ce319d6bc9a8b182f011ff51502e6354121e3c0f4", - "size": 5658 + "path": "en/api/python/beta/memory_stores/memory_versions.md", + "sha256": "6e55fda67b3ac08c99531bdc623841418011533263ac61761e0159b4214d2a9d", + "size": 40196 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/reveal_token", + "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/create", "status": "success", - "path": "en/api/csharp/beta/tunnels/reveal_token.md", - "sha256": "3e87b7318b495161222fa9401038b072e8874efa1386b4ea91e5e0127e853849", - "size": 5348 + "path": "en/api/python/beta/memory_stores/create.md", + "sha256": "0f3547971b657fc25c113172ae0ec849e1ffa518177faf757a349966b5523d33", + "size": 5718 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/archive", + "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/update", "status": "success", - "path": "en/api/csharp/beta/tunnels/archive.md", - "sha256": "e9045542692cdc45cdbedc29eee55ad86547cb1d0bd2a4f6ada6983208e67550", - "size": 5939 + "path": "en/api/python/beta/memory_stores/update.md", + "sha256": "0a01986bedf398dd48550d52810b0f90fa5226269dad7fc2c00c92c53d877370", + "size": 5838 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/create", + "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/retrieve", "status": "success", - "path": "en/api/csharp/beta/sessions/create.md", - "sha256": "189901efa125f5aa65844d9de274cf4e64f4a60e215c5dde8a212519c22b9b9e", - "size": 87932 + "path": "en/api/python/beta/memory_stores/retrieve.md", + "sha256": "a6f337337797480bdc95b25bf2422b192c28ea953a1dc723f2d0a772ea0b6ab3", + "size": 5183 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/resources", + "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/delete", "status": "success", - "path": "en/api/csharp/beta/sessions/resources.md", - "sha256": "533bffa23b0c6f38de37522f979aead9a61060f4c4f56abc80498357ee0dfbe4", - "size": 38434 + "path": "en/api/python/beta/memory_stores/delete.md", + "sha256": "500cd7d868c6abd3f7009f9c086b5b5c8c18bd52ad8ffeb08381addf1e0f778e", + "size": 3707 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/update", + "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/list", "status": "success", - "path": "en/api/csharp/beta/sessions/update.md", - "sha256": "6aced02d167e1647559ce6c7ba2e2bfd1ea6b259dd75a3333603cc66c9912262", - "size": 48911 + "path": "en/api/python/beta/memory_stores/list.md", + "sha256": "3c5947660156c8238a5295e62e8c1cdf8709284d8b7b1578b2484f8820fd4d83", + "size": 5975 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memories", "status": "success", - "path": "en/api/csharp/beta/sessions/list.md", - "sha256": "757f62e77d51934e974b4b7e0c356f38952f457e03e0b196ca20ccca1039ada2", - "size": 50396 + "path": "en/api/python/beta/memory_stores/memories.md", + "sha256": "ed2dda85d2cd59dfc6352611b56b3cfc9bb327393269914de8e22c59e73a2679", + "size": 50412 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads", + "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/archive", "status": "success", - "path": "en/api/csharp/beta/sessions/threads.md", - "sha256": "1edfc885c44e05fd408f5728b413f1e16d02560a6979b58217811828f6905222", - "size": 453016 + "path": "en/api/python/beta/memory_stores/archive.md", + "sha256": "6b3922f6e1993ec1bd1909c637127e295540b5b7060c370e509f03648cdbae31", + "size": 5260 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/models/retrieve", "status": "success", - "path": "en/api/csharp/beta/sessions/retrieve.md", - "sha256": "9eea176ef33500d9af362bda5d5bd3f5d4308627e460536f241cc6f250755fdb", - "size": 47603 + "path": "en/api/python/beta/models/retrieve.md", + "sha256": "86f31a0708fa3397a1ef2683f565dbba8395a6bcea38312c4137f4749b47f955", + "size": 12430 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/events", + "url": "https://platform.claude.com/docs/en/api/python/beta/models/list", "status": "success", - "path": "en/api/csharp/beta/sessions/events.md", - "sha256": "094bfe1f1b5dc561cadb403f5643b1fbbd5d91de52f203ca46fc2d781008acd4", - "size": 577727 + "path": "en/api/python/beta/models/list.md", + "sha256": "5b72b72ae02ac31acad23075e9b9d5dbf9f18c77cc1f2b80210af8d9906cef07", + "size": 13761 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/delete", + "url": "https://platform.claude.com/docs/en/api/python/beta/agents/create", "status": "success", - "path": "en/api/csharp/beta/sessions/delete.md", - "sha256": "3fadbb034835fbd987e0626bc64f99ca806d2b417a7ab72465f6f8946a487722", - "size": 4686 + "path": "en/api/python/beta/agents/create.md", + "sha256": "f06d75f623c1b16739d8465ea08db03d5a7725d49a592b320648ad55424b7f7a", + "size": 64013 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/archive", + "url": "https://platform.claude.com/docs/en/api/python/beta/agents/update", "status": "success", - "path": "en/api/csharp/beta/sessions/archive.md", - "sha256": "fa53219399d19243f8e6e5c593ad4be7c9bbd90e10f4af9b046d6203b4714574", - "size": 47619 + "path": "en/api/python/beta/agents/update.md", + "sha256": "6a283d81336d2d4d71260421b1017c1c70c39dc62fbfc014d1b33ee8ab5d494d", + "size": 64974 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/unpause", + "url": "https://platform.claude.com/docs/en/api/python/beta/agents/retrieve", "status": "success", - "path": "en/api/csharp/beta/deployments/unpause.md", - "sha256": "3903177b301e6f4e1b17bb3bbdbdfa9280cc377ecdfcd6afea22ebae82bd6eec", - "size": 20545 + "path": "en/api/python/beta/agents/retrieve.md", + "sha256": "bf767536b526f3b359faa0966437c96d3b063a033b6100ac776d7e7f6c72cc0d", + "size": 29494 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/create", + "url": "https://platform.claude.com/docs/en/api/python/beta/agents/list", "status": "success", - "path": "en/api/csharp/beta/deployments/create.md", - "sha256": "612769365cf762cce9322b7824737f92b592e902acb1c6d8a297ba3b18d46bcc", - "size": 30723 + "path": "en/api/python/beta/agents/list.md", + "sha256": "41bddd0abe4251fb3a99e22b5343cd25935a115d35faf4abb130aeb9f1d6698a", + "size": 30247 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/update", + "url": "https://platform.claude.com/docs/en/api/python/beta/agents/versions", "status": "success", - "path": "en/api/csharp/beta/deployments/update.md", - "sha256": "16d0def9247ddac15764389bc50bbd562aa50742ade8693556563ed5fc577e56", - "size": 30483 + "path": "en/api/python/beta/agents/versions.md", + "sha256": "c90096ff87aa8739dbec410bcdabc8f06d3198a57d271a5465d7583429fb4fd9", + "size": 30005 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/agents/archive", "status": "success", - "path": "en/api/csharp/beta/deployments/list.md", - "sha256": "65a8f002279d49b15fb9c52ec6890bcc6c934c84f1e92a7955898132f9bdc08b", - "size": 21531 + "path": "en/api/python/beta/agents/archive.md", + "sha256": "b24e5d2cbbfbec37d10f971f0380f348d4a0489fc30e28bc53b5fcae39f97b9d", + "size": 29363 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work", "status": "success", - "path": "en/api/csharp/beta/deployments/retrieve.md", - "sha256": "a8d2de20e520472265857381be6d442b00e3ebb64093461abd98f8d1defb2dc6", - "size": 20518 + "path": "en/api/python/beta/environments/work.md", + "sha256": "3a668dd53c1eab6faf50ef14eff2a0e33d3be6be1484650cb72795ed94d29a9b", + "size": 47561 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/run", + "url": "https://platform.claude.com/docs/en/api/python/beta/environments/create", "status": "success", - "path": "en/api/csharp/beta/deployments/run.md", - "sha256": "3f894b5cedb6e7c8030102cb578972a48a434aa449f8d098b385bb22d22f1b3b", - "size": 10558 + "path": "en/api/python/beta/environments/create.md", + "sha256": "2916cfcbf7cbb6c4bd65948f4eea0973a237488006d0eaab5ba5561d4a8661e6", + "size": 9685 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/pause", + "url": "https://platform.claude.com/docs/en/api/python/beta/environments/update", "status": "success", - "path": "en/api/csharp/beta/deployments/pause.md", - "sha256": "322561d24594b9cdccf0e3fc2dea473825ce18eafcb9085b7d011f6fdc0c4416", - "size": 20525 + "path": "en/api/python/beta/environments/update.md", + "sha256": "2081902418069f58ff4035de410164efec5ab490f8910acf6b29fb36e292230a", + "size": 9804 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/archive", + "url": "https://platform.claude.com/docs/en/api/python/beta/environments/retrieve", "status": "success", - "path": "en/api/csharp/beta/deployments/archive.md", - "sha256": "17103c534a3221f2df02effa30df22c8a5770d8e926f152e8dbbf19defcb5b49", - "size": 20545 + "path": "en/api/python/beta/environments/retrieve.md", + "sha256": "da251b81606ba619ba7693a9416ccd93e2ed6101456f1c050fa672728930d902", + "size": 6754 + }, + { + "url": "https://platform.claude.com/docs/en/api/python/beta/environments/delete", + "status": "success", + "path": "en/api/python/beta/environments/delete.md", + "sha256": "eab9cd6a4ce56521d50a0e2fddc1f79ff5772625dba5c54ace60468769a3a501", + "size": 3459 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/create", + "url": "https://platform.claude.com/docs/en/api/python/beta/environments/list", "status": "success", - "path": "en/api/csharp/beta/skills/create.md", - "sha256": "5dfa044309356a57d41945a20c46aeff6357e397fb5406ff2d6940ee8fd66a11", - "size": 6691 + "path": "en/api/python/beta/environments/list.md", + "sha256": "06fa251cc75b66951653112feb2807701e60c00984ef9f6180fb0d46661ab282", + "size": 7290 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/environments/archive", "status": "success", - "path": "en/api/csharp/beta/skills/list.md", - "sha256": "82ee1b4c061213d7f360cd30a281eb51dc451bf4907d107dfc3cc1a7ea0e5ea7", - "size": 6943 + "path": "en/api/python/beta/environments/archive.md", + "sha256": "81d5abfcf2901edac08159ed0d1b63e607d7cf04ceb0154646bcc62570e30801", + "size": 6820 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/certificates", "status": "success", - "path": "en/api/csharp/beta/skills/retrieve.md", - "sha256": "cc83ceb7b22addb5b92b952ca9e888ec4544fa2701aaa424f651b3a2e55490d5", - "size": 6386 + "path": "en/api/python/beta/tunnels/certificates.md", + "sha256": "6a1473bc22289d93eeb6cf8f78a88b2a4cee0a72833181b8b041cb9a238f4008", + "size": 20065 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/versions", + "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/create", "status": "success", - "path": "en/api/csharp/beta/skills/versions.md", - "sha256": "41a875822f9160842c751be30a6cdc2ede7feceb03ce9932d44baa2c070f1303", - "size": 28947 + "path": "en/api/python/beta/tunnels/create.md", + "sha256": "6642779041ec88fc2e6b46bb71f12aa0ee984279b825e63d4fd961407634e644", + "size": 4414 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/delete", + "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/retrieve", "status": "success", - "path": "en/api/csharp/beta/skills/delete.md", - "sha256": "4bbc0cb5ca246ae924ad4b6ecb44e703cd136a7e8b73a1fae698575cd9368f22", - "size": 4771 + "path": "en/api/python/beta/tunnels/retrieve.md", + "sha256": "24cfc643104795423f9ebccddeb4ede9aae2ac3bd62f2785e0a55f09540452f9", + "size": 4244 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memory_versions", + "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/reveal_token", "status": "success", - "path": "en/api/csharp/beta/memory_stores/memory_versions.md", - "sha256": "8a6ac2c37bb06cbfc733fef4a52d97d7a7e5fc3bc31d0a89a2350fff18b7dd38", - "size": 43239 + "path": "en/api/python/beta/tunnels/reveal_token.md", + "sha256": "47187be1327b4c5aaa9d4883f9c47197cefdc9f803d812b55a3af5fdddcf2fff", + "size": 3951 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/create", + "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/list", "status": "success", - "path": "en/api/csharp/beta/memory_stores/create.md", - "sha256": "a2621cf32af91dc5125df50d66fc02dc0863ce69315a9ba51f79ea5b86a5248a", - "size": 7194 + "path": "en/api/python/beta/tunnels/list.md", + "sha256": "aa009698f4b3d488eae946e4a77ede0a12fd485276b89fd4534048062d453e29", + "size": 4704 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/update", + "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/archive", "status": "success", - "path": "en/api/csharp/beta/memory_stores/update.md", - "sha256": "cdc489b93a21dc3e66c610d24596745360b3d79cea7f49ad11a6262b2d9ee5c8", - "size": 7286 + "path": "en/api/python/beta/tunnels/archive.md", + "sha256": "8ca16456679e219f3155cdfc6b22e5c4aacd0643112033efcc416c7b68322bcb", + "size": 4527 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/rotate_token", "status": "success", - "path": "en/api/csharp/beta/memory_stores/list.md", - "sha256": "2b666e860f7143a796725e9e73461e2dfcc9fb0058274e8d63fb9f39a5309b3c", - "size": 7389 + "path": "en/api/python/beta/tunnels/rotate_token.md", + "sha256": "2ee5b5324e0adbeea41b295f36244de7064b8e939612ff6c4fdd80d240b8bfbd", + "size": 4044 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches", "status": "success", - "path": "en/api/csharp/beta/memory_stores/retrieve.md", - "sha256": "2421053deca31227b822ffb8781f70797106c85a37e3a65173160576a0b3a843", - "size": 6632 + "path": "en/api/python/beta/messages/batches.md", + "sha256": "228ff92bac963b2f593cd7872f7105c149ed911b58e3d6717b6651d30a8abe4d", + "size": 788435 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/delete", + "url": "https://platform.claude.com/docs/en/api/python/beta/messages/create", "status": "success", - "path": "en/api/csharp/beta/memory_stores/delete.md", - "sha256": "8ec072597fc6642525c416c6bef62428cbf68bc3125687d90c5f45accdf3c2fb", - "size": 5061 + "path": "en/api/python/beta/messages/create.md", + "sha256": "1847d072698be8a0c3fdc158847044476f31aa45bcfe87375fe8f209dc7dfb14", + "size": 301874 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memories", + "url": "https://platform.claude.com/docs/en/api/python/beta/messages/count_tokens", "status": "success", - "path": "en/api/csharp/beta/memory_stores/memories.md", - "sha256": "0ea4c712c0e4b8c231a5096b4d3db21d568eb16b0bf8a7bb1622a4d487634285", - "size": 55323 + "path": "en/api/python/beta/messages/count_tokens.md", + "sha256": "d0346ee2aa4f65fb32c5227b671eeb98de588463a7d6a164886f48a95d51219b", + "size": 144637 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/archive", + "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/pause", "status": "success", - "path": "en/api/csharp/beta/memory_stores/archive.md", - "sha256": "7032d0afd5784c348fbf295695115f9e053d7e8c80b935378247f0b7413a568c", - "size": 6707 + "path": "en/api/python/beta/deployments/pause.md", + "sha256": "679bca34ddd00ed33d5c5a119cc42ea76be962aad4db6268014d5eeff2ec0448", + "size": 19235 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/files/download", + "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/create", "status": "success", - "path": "en/api/csharp/beta/files/download.md", - "sha256": "9827cf1db323bfe16ffa87ad539ae584d9e9473cd8b73743dd152baf2aa645fc", - "size": 4300 + "path": "en/api/python/beta/deployments/create.md", + "sha256": "053f23382b729f765c1101fc174f1c21439fe846edefd8f78704bcbe23587eb1", + "size": 30118 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/files/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/update", "status": "success", - "path": "en/api/csharp/beta/files/list.md", - "sha256": "9584213a69e95de7d473c0c8e01a2b2fad08008926e125bf732c73e731c55e32", - "size": 6782 + "path": "en/api/python/beta/deployments/update.md", + "sha256": "74e39c1705cdf456c3e5a7eb48f49f8f873acfe3c7ab52583f725178e8c4a32b", + "size": 30090 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/files/upload", + "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/retrieve", "status": "success", - "path": "en/api/csharp/beta/files/upload.md", - "sha256": "93308aaec026bc450e568272465cae1aae77f0e897ef2dc2268b94498a8f9d72", - "size": 6396 + "path": "en/api/python/beta/deployments/retrieve.md", + "sha256": "d5c31c25c0559b2aab310d2d6b134211eb46cf73102f2b7102d65c1386ccabcd", + "size": 19222 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/files/retrieve_metadata", + "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/list", "status": "success", - "path": "en/api/csharp/beta/files/retrieve_metadata.md", - "sha256": "e81027a1268506a0bc4b73046ce6455a63894ca74899929d78956590051ced72", - "size": 6032 + "path": "en/api/python/beta/deployments/list.md", + "sha256": "6a881d305986a5e876bc29c5942912e156bea2ff99732c70ce990773036f026b", + "size": 20559 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/files/delete", + "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/unpause", "status": "success", - "path": "en/api/csharp/beta/files/delete.md", - "sha256": "902793650d8ef36347b2d9260557721fd155f43b095dc0d8262ba2e5f2afc791", - "size": 4593 + "path": "en/api/python/beta/deployments/unpause.md", + "sha256": "237618558ccd35d132d2fe99fc18b466ee3c513e4b700a7b204ca66506807176", + "size": 19251 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/create", + "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/archive", "status": "success", - "path": "en/api/csharp/beta/messages/create.md", - "sha256": "f131b080addbce7c7efe32b8ce9962f7cedd3e18ef187dc0c29a902f42031d46", - "size": 295318 + "path": "en/api/python/beta/deployments/archive.md", + "sha256": "5e25656f0b3e3e97d627ed51f757f340ee00e2a2a60e0e42e6cbf1073e8de5a2", + "size": 19251 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/count_tokens", + "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/run", "status": "success", - "path": "en/api/csharp/beta/messages/count_tokens.md", - "sha256": "0d2a423bfdfa1cee4ff99535b13a7ea0ea43809d26cd685b169cebc58780510c", - "size": 140953 + "path": "en/api/python/beta/deployments/run.md", + "sha256": "492e93a8461fb5af90b4166070fdf149f3c3afffc763759ee5f7d2d745b8d089", + "size": 9350 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches", + "url": "https://platform.claude.com/docs/en/api/python/beta/skills/create", "status": "success", - "path": "en/api/csharp/beta/messages/batches.md", - "sha256": "444043c787da5066aee76c2ab138c1c44a03fa6027c50a9437cbd093cf6478b0", - "size": 791705 + "path": "en/api/python/beta/skills/create.md", + "sha256": "ec110a6498832bf60f25e4ee0fd222ab9459e66cd20de134e1a55c4b15a56b9a", + "size": 5223 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches/create", + "url": "https://platform.claude.com/docs/en/api/python/beta/skills/retrieve", "status": "success", - "path": "en/api/csharp/beta/messages/batches/create.md", - "sha256": "6744b0af843104c832a70ebf93f77b34cf46560f5f9645554b92155bfab800a5", - "size": 177849 + "path": "en/api/python/beta/skills/retrieve.md", + "sha256": "71b6b24db3a96a4bb93e3524d49eaea0b8a7ee39771445bc91f18dae4ca779df", + "size": 4971 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/skills/delete", "status": "success", - "path": "en/api/csharp/beta/messages/batches/list.md", - "sha256": "a87f7ffe3c00d9ea5de663f2b306b810195d4a5ae49d5fe217a14981e4d6d446", - "size": 8816 + "path": "en/api/python/beta/skills/delete.md", + "sha256": "d28d24b40dbff8b6e452c694810cb43e6d608047aadfa5a4dac0738023e3fa93", + "size": 3419 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches/cancel", + "url": "https://platform.claude.com/docs/en/api/python/beta/skills/list", "status": "success", - "path": "en/api/csharp/beta/messages/batches/cancel.md", - "sha256": "4b16b7165393ec05cbbc3a9baa72dc402402048267b407cfb3e370be48782078", - "size": 8692 + "path": "en/api/python/beta/skills/list.md", + "sha256": "444c8c5d7ccd1c90dabc76f0f84a695c9630b0f78156e8fd923cab8cdd5ee5af", + "size": 5533 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/skills/versions", "status": "success", - "path": "en/api/csharp/beta/messages/batches/retrieve.md", - "sha256": "04b4342b4a738b0bf09f134f7a2f1a80a1f14321afb9c98c7ba428b6c814b3f6", - "size": 8388 + "path": "en/api/python/beta/skills/versions.md", + "sha256": "dd217a46d0d3a3b75d98a9d8f79ca65e00ef557a54de3dfc1c700af3235829a0", + "size": 21957 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches/results", + "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/create", "status": "success", - "path": "en/api/csharp/beta/messages/batches/results.md", - "sha256": "85ce1cfde8ba14a6b72b4102dfd649bc68efca0548b80d097ac267bd5fdc190d", - "size": 151702 + "path": "en/api/python/beta/vaults/create.md", + "sha256": "33703012722e593df497a623e098a8dd26c95d0d51afd48c39dd76b4f2502939", + "size": 4139 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches/delete", + "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/update", "status": "success", - "path": "en/api/csharp/beta/messages/batches/delete.md", - "sha256": "a161a8f3ac2675ac5614388bc4d14dd7c4f95f7ef51ac6baff35dd2f48171259", - "size": 5104 + "path": "en/api/python/beta/vaults/update.md", + "sha256": "e918d4d0f2465917db5d68f869532078b4a3c4619745e1e6d5e1071ed3a336d7", + "size": 4269 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memories/create", + "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/retrieve", "status": "success", - "path": "en/api/csharp/beta/memory_stores/memories/create.md", - "sha256": "38a745ea3dcfc4cf4d26e784cc8e327e2ece737f7731250ffac6dfc90c21cacb", - "size": 8449 + "path": "en/api/python/beta/vaults/retrieve.md", + "sha256": "c5d3d6f712ace0cfc2d8059a2d1aa725c27a88dc93691ecfe9f48ddc50f86556", + "size": 3995 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memories/update", + "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/delete", "status": "success", - "path": "en/api/csharp/beta/memory_stores/memories/update.md", - "sha256": "2411b30d79fb28426a8fe5ff879d78380640401574917bdfd6dee7e439189259", - "size": 8887 + "path": "en/api/python/beta/vaults/delete.md", + "sha256": "5023291a0e7c3d42fb3d49731342c820362d92aa4719e6fc18354836da6fd8d6", + "size": 3367 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memories/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/list", "status": "success", - "path": "en/api/csharp/beta/memory_stores/memories/list.md", - "sha256": "58903409d31a3ea9b959f3fd9785da70f6c951a1aca7751d752b74698d3af9bd", - "size": 9878 + "path": "en/api/python/beta/vaults/list.md", + "sha256": "0e88b772d3cca5d5a55a39ebc7e54baa23efd35b915f5e3e18893f0b2408e411", + "size": 4442 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memories/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/archive", "status": "success", - "path": "en/api/csharp/beta/memory_stores/memories/retrieve.md", - "sha256": "23fd0789bd7c170bec292f3e156205a7cd3b06da4e869c1ff193d447ffec6a0b", - "size": 7966 + "path": "en/api/python/beta/vaults/archive.md", + "sha256": "4fe1afeba04371a06a7fb39ca17fa614c146ee872286c0075ac907ef7b8083d0", + "size": 3997 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memories/delete", + "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials", "status": "success", - "path": "en/api/csharp/beta/memory_stores/memories/delete.md", - "sha256": "7a6642f3ce4f17e6aa9461efb6d18bfdae3baaf775435f0909282937d778e3a8", - "size": 5740 + "path": "en/api/python/beta/vaults/credentials.md", + "sha256": "cde1de9e2d5afd81dd499a384546a2691ec38130b757cc02676c3f554332c9de", + "size": 93067 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memory_versions/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/create", "status": "success", - "path": "en/api/csharp/beta/memory_stores/memory_versions/list.md", - "sha256": "48f4d1802277a644f1790db5d813ae126389343b74086fb5c6326e61ee71cf23", - "size": 12442 + "path": "en/api/python/beta/vaults/credentials/create.md", + "sha256": "992c668f52d03cc964d3f22ee9978783561754a395e6ff175b9c4e605068c4ab", + "size": 12862 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memory_versions/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/update", "status": "success", - "path": "en/api/csharp/beta/memory_stores/memory_versions/retrieve.md", - "sha256": "4745164cdca9a27736d579363a853903aa7804efdca0d7a1c32c05cfe5c4d95e", - "size": 11105 + "path": "en/api/python/beta/vaults/credentials/update.md", + "sha256": "f5eea6f9ff4949df3ff06ec27702342d7d0d219df311a2e5b577c3dce035624d", + "size": 12522 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memory_versions/redact", + "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/retrieve", "status": "success", - "path": "en/api/csharp/beta/memory_stores/memory_versions/redact.md", - "sha256": "67861cc942d23ef50d6c5ebb892e3d47876c8941b936577f6b7782fe197d527b", - "size": 10680 + "path": "en/api/python/beta/vaults/credentials/retrieve.md", + "sha256": "c0dc7954a9a6a573cf4447723d9f4362f3a78a198e2fad8cb128bf3d414dd528", + "size": 7885 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/versions/create", + "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/delete", "status": "success", - "path": "en/api/csharp/beta/skills/versions/create.md", - "sha256": "18e99201b136341a0706c415b9f5dcabec18dce9ad12a51ae5c5bb5815f9caca", - "size": 5967 + "path": "en/api/python/beta/vaults/credentials/delete.md", + "sha256": "4712dd44771ec8a219025bef28bd1bda5bb761e85a9371112690bbcc1b4c3321", + "size": 3656 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/versions/download", + "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/list", "status": "success", - "path": "en/api/csharp/beta/skills/versions/download.md", - "sha256": "9321ff4a3101e418e0562afb1478042d86d9e28b53c97599bb9d7e6482d05c7a", - "size": 4779 + "path": "en/api/python/beta/vaults/credentials/list.md", + "sha256": "3316faf24cd2984c41f9d014161d2fa5f0a296f7a4b7ed4b4fb5ad15fa9a42a3", + "size": 8352 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/versions/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/archive", "status": "success", - "path": "en/api/csharp/beta/skills/versions/list.md", - "sha256": "cc37a5e32bd96724e8d1e936ef9b8a2607f3450b320179cfa949016a3bbfb6d8", - "size": 6055 + "path": "en/api/python/beta/vaults/credentials/archive.md", + "sha256": "94c2bf8b55acdb3c3c554407567b9e563b58c916e84f0b9fdb1a1cc4a78bde03", + "size": 7887 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/versions/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/mcp_oauth_validate", "status": "success", - "path": "en/api/csharp/beta/skills/versions/retrieve.md", - "sha256": "77a2e16cb8253c387ffb114ba5c08295af18ee702727446fb63a4ad42a2bced5", - "size": 6031 + "path": "en/api/python/beta/vaults/credentials/mcp_oauth_validate.md", + "sha256": "20463f260ad9fa23b19320dcc38da0f6c8937cccb9927ab97ccbb98033bcaa13", + "size": 7006 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/versions/delete", + "url": "https://platform.claude.com/docs/en/api/python/beta/skills/versions/create", "status": "success", - "path": "en/api/csharp/beta/skills/versions/delete.md", - "sha256": "2f78660e6abb24771dbedec65a76339d0d0e848ae23c87fbe9b1915042c4fd98", - "size": 5170 + "path": "en/api/python/beta/skills/versions/create.md", + "sha256": "0ea1c258bbd0007987f07c7c35604019756483acbe9f0b726283612ce458cda7", + "size": 4502 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/skills/versions/download", "status": "success", - "path": "en/api/csharp/beta/sessions/threads/list.md", - "sha256": "1f3005dc7c06f67018fbdc3906f28cf9878ae61005f3403067163dc1d5312251", - "size": 35517 + "path": "en/api/python/beta/skills/versions/download.md", + "sha256": "b1f527ef716c74e2b9c5bec3915d14af14631dc267e50f95f5d707f842a5adb9", + "size": 3463 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/skills/versions/retrieve", "status": "success", - "path": "en/api/csharp/beta/sessions/threads/retrieve.md", - "sha256": "20d8774741ec550cee5543119717079661e7fe939e1d9f2e422729762336b9bd", - "size": 34640 + "path": "en/api/python/beta/skills/versions/retrieve.md", + "sha256": "777e1f451b77c07fec1d457f5cf30f859d842ac3961af94067530019ff858cfd", + "size": 4601 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads/events", + "url": "https://platform.claude.com/docs/en/api/python/beta/skills/versions/delete", "status": "success", - "path": "en/api/csharp/beta/sessions/threads/events.md", - "sha256": "180a16d0a136c40fb3f1241fd406ad708668c78518b33c321e1478e780e1eef0", - "size": 200376 + "path": "en/api/python/beta/skills/versions/delete.md", + "sha256": "fc66a9ec48a516f7dc34e6907ca6c7a7d9becc9a899118ad11d287f7f2cbfc1f", + "size": 3799 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads/archive", + "url": "https://platform.claude.com/docs/en/api/python/beta/skills/versions/list", "status": "success", - "path": "en/api/csharp/beta/sessions/threads/archive.md", - "sha256": "0db999ff2574630bf077d8e97d6f0f2f8266c463c7faad4f7ea056f765dc422b", - "size": 34656 + "path": "en/api/python/beta/skills/versions/list.md", + "sha256": "6e084a134dcec68cd89940543d5b4c618652b9e2b9a8d9df5acc1358f330be25", + "size": 4657 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/resources/update", + "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches/cancel", "status": "success", - "path": "en/api/csharp/beta/sessions/resources/update.md", - "sha256": "c698157aba461ec30679bc7e0e2b321cacf5b0dc9b4fd6de56c89afab0bd9736", - "size": 7702 + "path": "en/api/python/beta/messages/batches/cancel.md", + "sha256": "49b0b45741efbd712a374685f0be76f0ebf468824584b7626918a6674dc2a61a", + "size": 7343 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/resources/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches/create", "status": "success", - "path": "en/api/csharp/beta/sessions/resources/list.md", - "sha256": "5059f83c56543d579f923a68dea230766be4d75e9de91b2df72a13a71ab6c42d", - "size": 7984 + "path": "en/api/python/beta/messages/batches/create.md", + "sha256": "a2269443d6876bf1d44849209e0f7355e53517a79f1762ada388073919271905", + "size": 165689 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/resources/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches/retrieve", "status": "success", - "path": "en/api/csharp/beta/sessions/resources/retrieve.md", - "sha256": "db848aaebc39c7e75d632ff0edf8f244d5da9c28aec4f7f7d85efd06c5fede62", - "size": 7470 + "path": "en/api/python/beta/messages/batches/retrieve.md", + "sha256": "4c33930135eab85e0e0687a3bf1fd815a92a052efe8fcd48af42329ffb117764", + "size": 7035 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/resources/add", + "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches/delete", "status": "success", - "path": "en/api/csharp/beta/sessions/resources/add.md", - "sha256": "7c99ba2011ca806b63141aab8443ce12529824add3c457c52e41d57cf5c7240f", - "size": 5467 + "path": "en/api/python/beta/messages/batches/delete.md", + "sha256": "173df5823a6bb72a7d4651d89edf88db060a1dfd36db6054062c222c875b3db4", + "size": 3774 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/resources/delete", + "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches/list", "status": "success", - "path": "en/api/csharp/beta/sessions/resources/delete.md", - "sha256": "fd73d91f293ca6378404b8129488aee918d1ee08f8e144840b767adcee777901", - "size": 4925 + "path": "en/api/python/beta/messages/batches/list.md", + "sha256": "d82fc9a76e012b109290a5a5c0c06c066f0cd67ee4528408cf14e639562cbd52", + "size": 7467 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/events/send", + "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches/results", "status": "success", - "path": "en/api/csharp/beta/sessions/events/send.md", - "sha256": "c88f5df1b6881e1ed34595c16973df5eb15d857ca1eafeb267b7a81cb11116a8", - "size": 26964 + "path": "en/api/python/beta/messages/batches/results.md", + "sha256": "2337123b92bbd871db72f0d2fad29ac189deeb7e20ea31913a13611e31fb3527", + "size": 154308 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/events/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/certificates/create", "status": "success", - "path": "en/api/csharp/beta/sessions/events/list.md", - "sha256": "f93282d8586187cb3384bb4bacd3912dcaf50f0ae475ed74802feaf0da1ed553", - "size": 101928 + "path": "en/api/python/beta/tunnels/certificates/create.md", + "sha256": "a198569a39b5e0d34b40ce6369c2fc2932967597783b44ec7a57971c17a221d9", + "size": 4902 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/events/stream", + "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/certificates/retrieve", "status": "success", - "path": "en/api/csharp/beta/sessions/events/stream.md", - "sha256": "c7aaf74447320be10a50f8a2761fee488813d9d0564dfc8cd78773f48c460aa2", - "size": 101694 + "path": "en/api/python/beta/tunnels/certificates/retrieve.md", + "sha256": "c0f210bff750202aa7a8e3d156b55478df4f3b3eadbd4b7e68b97a6f41a8f5ba", + "size": 4657 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads/events/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/certificates/list", "status": "success", - "path": "en/api/csharp/beta/sessions/threads/events/list.md", - "sha256": "0184ac97323d95f9feabbbe9d3c93c6a3f1e1265b3ec4f2e02e06c4d5eb7c5d1", - "size": 98609 + "path": "en/api/python/beta/tunnels/certificates/list.md", + "sha256": "efdd9b15adf430053fe2a0cb4ca8294b447b10890ea00863cb7d73f0454ef964", + "size": 5073 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads/events/stream", + "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/certificates/archive", "status": "success", - "path": "en/api/csharp/beta/sessions/threads/events/stream.md", - "sha256": "1ac395e09c015b0a56618b1a63fa5821a5cf34cbad291aa5fa0a6ac370674958", - "size": 101904 + "path": "en/api/python/beta/tunnels/certificates/archive.md", + "sha256": "76250b91321154a4430ca9252ede3f4971caab94b8119efdbb97d0208ee9c38f", + "size": 4894 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/certificates/create", + "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/poll", "status": "success", - "path": "en/api/csharp/beta/tunnels/certificates/create.md", - "sha256": "618b56bab9b34374fbcef642de24da913469a40b13222e6b9d1192e7d5986402", - "size": 6353 + "path": "en/api/python/beta/environments/work/poll.md", + "sha256": "1fdca3dbb043ebffa0826a7270531eda287a470e2afa5b80af5cc3f4e81b90de", + "size": 5772 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/certificates/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/update", "status": "success", - "path": "en/api/csharp/beta/tunnels/certificates/list.md", - "sha256": "abab49870aa7d12013ce846b935e34282d30b942a45eb2535110dfb3068c218a", - "size": 6500 + "path": "en/api/python/beta/environments/work/update.md", + "sha256": "601339b2f24c7687d6305360ce7a771457dd415ee15e9d01eb3191c1818b4136", + "size": 5827 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/certificates/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/stop", "status": "success", - "path": "en/api/csharp/beta/tunnels/certificates/retrieve.md", - "sha256": "15f73e4d28f969da7fd668fda949f633413846dbbf7b18dd00049d99014a8419", - "size": 6107 + "path": "en/api/python/beta/environments/work/stop.md", + "sha256": "4fcef89e0c11d176aee078a055a79765c260cbb080a7591e99fbbc1f4207fe70", + "size": 5729 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/certificates/archive", + "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/retrieve", "status": "success", - "path": "en/api/csharp/beta/tunnels/certificates/archive.md", - "sha256": "bc5923ac124c1e3337f836b115f7b18a375c65f67b29c8d1af03880ff761e41c", - "size": 6342 + "path": "en/api/python/beta/environments/work/retrieve.md", + "sha256": "f7125c51fc9b3908886ef71f52df2ae7d0cce9a44103f52ad49d081555bbf9da", + "size": 5638 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/versions/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/heartbeat", "status": "success", - "path": "en/api/csharp/beta/agents/versions/list.md", - "sha256": "bc23e7680e99ab6ffe2044e0d0a78c958e4292959cd79c03b0d2d6d26090054c", - "size": 32315 + "path": "en/api/python/beta/environments/work/heartbeat.md", + "sha256": "9fafa9bb3c32699edb5a388459ad7902960e2a788ed74abc10a945d7c734206e", + "size": 4399 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/create", + "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/list", "status": "success", - "path": "en/api/csharp/beta/vaults/credentials/create.md", - "sha256": "cabcf5b98a06ceebd8f67c74dcbdba36adec0ca813e15f4c6ca531c27250ee02", - "size": 13754 + "path": "en/api/python/beta/environments/work/list.md", + "sha256": "3e83f41e396fd3077b4916193d943af967ba655e84d7575a54b0908b422d231f", + "size": 5537 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/update", + "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/stats", "status": "success", - "path": "en/api/csharp/beta/vaults/credentials/update.md", - "sha256": "8b07d6c35afd4223e7964c60a2ec8aaeb34d1c87cd9dceddfc9a5598454f1473", - "size": 12775 + "path": "en/api/python/beta/environments/work/stats.md", + "sha256": "609e0338bb607ae396dbe25c1d60c940730c2ee0606f83f2904a49f8c87ce5c8", + "size": 4072 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/ack", "status": "success", - "path": "en/api/csharp/beta/vaults/credentials/list.md", - "sha256": "56f02a8527416d640e4f6ffb71a5d59a20d278ee4aa2abc8b0f723231ce42ab3", - "size": 9416 + "path": "en/api/python/beta/environments/work/ack.md", + "sha256": "bd91898adaceff1ed3127cddbb997cf2e25cfc5f03cfaf893faa0899f148f63a", + "size": 5324 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/mcp_oauth_validate", + "url": "https://platform.claude.com/docs/en/api/python/beta/agents/versions/list", "status": "success", - "path": "en/api/csharp/beta/vaults/credentials/mcp_oauth_validate.md", - "sha256": "e96ddf264b2f97acd04310190cf4a88138bf69f7b3d7ef654e22bd7c4cbf860e", - "size": 8119 + "path": "en/api/python/beta/agents/versions/list.md", + "sha256": "1ae51d541c717713f97060d75daa0efe5d2404702b0dca280078a0d7c853af81", + "size": 30004 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memories/create", "status": "success", - "path": "en/api/csharp/beta/vaults/credentials/retrieve.md", - "sha256": "cfc5a2d7783236f24a43e3ae39c063dabf77fa7f06d287df19ca0c08a842721e", - "size": 9120 + "path": "en/api/python/beta/memory_stores/memories/create.md", + "sha256": "123fdce8b160f7254cc96b39233ef55390d640b70dfac7a916158026af225423", + "size": 7306 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/delete", + "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memories/update", "status": "success", - "path": "en/api/csharp/beta/vaults/credentials/delete.md", - "sha256": "203f2ac932b8435053cc80df8f2d6b2d0fcd71acdbfe69763f539896a0b852a8", - "size": 5013 + "path": "en/api/python/beta/memory_stores/memories/update.md", + "sha256": "f0a903163685bc6d4cacb79fd8a6624d1076d8babf3e9c8537f005435a4daa37", + "size": 8137 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/archive", + "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memories/retrieve", "status": "success", - "path": "en/api/csharp/beta/vaults/credentials/archive.md", - "sha256": "54d1ac9dda69f312eb3c35dc844a5c7f6114a90d29e61aab087fe7ce667f4ce4", - "size": 9135 + "path": "en/api/python/beta/memory_stores/memories/retrieve.md", + "sha256": "edcdaa9851ec1969254cd689b0efede6e1166c1c5fd94c32873f3e0c8f5bb4f8", + "size": 6825 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/update", + "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memories/delete", "status": "success", - "path": "en/api/csharp/beta/environments/work/update.md", - "sha256": "01d2472ebabd546e728a04a1944d2ed4c23fbba420304cfd83a38030c5fd8762", - "size": 7352 + "path": "en/api/python/beta/memory_stores/memories/delete.md", + "sha256": "bc537eea0f9723b7d6a03e0f1fbf60894c59340eae56e64eebdaf4174d2fef8a", + "size": 4370 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/list", + "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memories/list", "status": "success", - "path": "en/api/csharp/beta/environments/work/list.md", - "sha256": "4466d86139d0c00c1c58e81ccbf64c7a144918a3597cd6cfc6906e3e51e763c5", - "size": 6970 + "path": "en/api/python/beta/memory_stores/memories/list.md", + "sha256": "37776ab6013b2daa35c2ff8eadd91d334ab711bfe1c08b9f46fbc596469d7899", + "size": 8782 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/stop", + "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memory_versions/retrieve", "status": "success", - "path": "en/api/csharp/beta/environments/work/stop.md", - "sha256": "11b081ac4d56d30c96d0e79c39810943677be9926ad92367b3b9edd56fc2704c", - "size": 7160 + "path": "en/api/python/beta/memory_stores/memory_versions/retrieve.md", + "sha256": "dc480c77e123860da2a4c88684f0565818cb9e2e2f0583c5b61e28d31514ee79", + "size": 10018 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memory_versions/list", "status": "success", - "path": "en/api/csharp/beta/environments/work/retrieve.md", - "sha256": "d3d90529cbac779a78ea0e00d78698ee35aa5503223e74fe051f6fffe7b635a0", - "size": 7102 + "path": "en/api/python/beta/memory_stores/memory_versions/list.md", + "sha256": "66ec15549510bdb623a0874b5dbdc4b4b1d2829a60f5cec97be1ed72a689cf03", + "size": 11908 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/ack", + "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memory_versions/redact", "status": "success", - "path": "en/api/csharp/beta/environments/work/ack.md", - "sha256": "19acab683d5ca0876146f8e02fd380b7d71533b33a0c2f9b9be0e62ff42a5961", - "size": 6781 + "path": "en/api/python/beta/memory_stores/memory_versions/redact.md", + "sha256": "21ce0b2b7326aeb28049f919cee529b4ea80505d2d55ffe25357f9ee26be4437", + "size": 9286 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/stats", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads/retrieve", "status": "success", - "path": "en/api/csharp/beta/environments/work/stats.md", - "sha256": "f7bd25f26d5f488ba9265fe1c995fee11a153711da2b203d11d393798f2ac602", - "size": 5392 + "path": "en/api/python/beta/sessions/threads/retrieve.md", + "sha256": "6fdbdf5e32629938aad9ede9976fa56f4414e163b3c70e4146f2619392572a29", + "size": 32505 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/heartbeat", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads/list", "status": "success", - "path": "en/api/csharp/beta/environments/work/heartbeat.md", - "sha256": "ac7b64690df20ea7443ef6f8d05212b3b0e0450f103825b6b61d5bc94320fc23", - "size": 5767 + "path": "en/api/python/beta/sessions/threads/list.md", + "sha256": "1734bb3d78cfaf8a0095bf3114242ca0b0f62c8001b75595cbd89846f7a327af", + "size": 33354 }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/poll", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads/archive", "status": "success", - "path": "en/api/csharp/beta/environments/work/poll.md", - "sha256": "e27227d4c1a25fa5be61c876c7fa3d6701d58f7a507054841e72b55b84e5cc17", - "size": 7195 + "path": "en/api/python/beta/sessions/threads/archive.md", + "sha256": "4588bb05ba4c2f81db39baa4d031a276e478819ea93adbd6efcda88a22b93745", + "size": 32523 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads/events", "status": "success", - "path": "en/api/typescript/beta/sessions.md", - "sha256": "3e66f1504363fd5031d54f3a3ef0a2f1a0349974d3c8879195232f32e0f1955b", - "size": 1224224 + "path": "en/api/python/beta/sessions/threads/events.md", + "sha256": "a6218d2c6e7b53895b92393abf2ebb29549124cbffab9572a8f976e258cc2b77", + "size": 193278 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/webhooks", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/events/send", "status": "success", - "path": "en/api/typescript/beta/webhooks.md", - "sha256": "fb577fcb141e2404839fa4c6a493f12396f1a96acb5c05ac5f3e96fda84cff12", - "size": 34812 + "path": "en/api/python/beta/sessions/events/send.md", + "sha256": "d3383264bd73a1a98b80613a0a7e178c0b73bc04d7f111514ec13194cd6ecbc5", + "size": 24988 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/events/stream", "status": "success", - "path": "en/api/typescript/beta/skills.md", - "sha256": "5b954e1912201ae47da2047cd8c68e647abc7e9e63c78662dc84e98d52c80963", - "size": 43515 + "path": "en/api/python/beta/sessions/events/stream.md", + "sha256": "5d0e5c1c2394713a74443fa5df7e7b49faad99e843c7f2b943bedcc9f6d7b58e", + "size": 98097 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/events/list", "status": "success", - "path": "en/api/typescript/beta/agents.md", - "sha256": "659d1baee43d073fb7c9414e87fb2325eac39afbc80ba67b3cbb9e98a689437b", - "size": 470263 + "path": "en/api/python/beta/sessions/events/list.md", + "sha256": "34dba306c62138383d262deb725e6b6abb2001e4f0236587757d2dce0952354f", + "size": 97563 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/resources/update", "status": "success", - "path": "en/api/typescript/beta/deployments.md", - "sha256": "9eb98ea37a741938db6cda182db2089f619358311cfb0e515c6542b9f974813a", - "size": 225095 + "path": "en/api/python/beta/sessions/resources/update.md", + "sha256": "f888f1f659c62b9d7598221e855aacbb92354495b8cddced54246170edf7442a", + "size": 6139 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployment_runs", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/resources/add", "status": "success", - "path": "en/api/typescript/beta/deployment_runs.md", - "sha256": "903251e6505d5eee98e785b341d96c2abb0490bea7cdc50f3054529e18ddee3b", - "size": 32902 + "path": "en/api/python/beta/sessions/resources/add.md", + "sha256": "37308dd677d7dde4df04e2f3559e3baca834526b786c1c19013e7f8fd3235068", + "size": 3983 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/user_profiles", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/resources/retrieve", "status": "success", - "path": "en/api/typescript/beta/user_profiles.md", - "sha256": "12cb16c86cfbd295967d1a324b0db1cc595531dac94b7da09d395c52ee54185f", - "size": 58257 + "path": "en/api/python/beta/sessions/resources/retrieve.md", + "sha256": "3e71dfda3631b9ee3624e552a50679ce73f2c387c3f894c460911723b945a805", + "size": 5920 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/models", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/resources/delete", "status": "success", - "path": "en/api/typescript/beta/models.md", - "sha256": "b8c9fdd07e622c726a32163b3db016b3208f0917c1842d3d06eb9ccbf346a943", - "size": 40900 + "path": "en/api/python/beta/sessions/resources/delete.md", + "sha256": "22454aa008607909d070874ca727fed913442922ae67bd37021a35462de1479b", + "size": 3523 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/resources/list", "status": "success", - "path": "en/api/typescript/beta/vaults.md", - "sha256": "67f5ab962c985d90cbfcc57cb2aaf25b97eeb04e53c6509b15809dc323f0987f", - "size": 85479 + "path": "en/api/python/beta/sessions/resources/list.md", + "sha256": "dd2f831bb51df96c6d408b938956d0eeb6af21fa4dfb339fb19e45351aedf8dd", + "size": 6465 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads/events/stream", "status": "success", - "path": "en/api/typescript/beta/memory_stores.md", - "sha256": "49c684acde92d26ca91bdab0531710fc92e39fa3e9b9e1117c1a83d76079c1d7", - "size": 101449 + "path": "en/api/python/beta/sessions/threads/events/stream.md", + "sha256": "4cc421f45b78f2be75828b616ac62ae95645037933e7eaecd290d413219155b2", + "size": 98280 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels", + "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads/events/list", "status": "success", - "path": "en/api/typescript/beta/tunnels.md", - "sha256": "e6714933c8334ab2711e5649c4e58fa950d1d2106df7dd66f20cba151c766424", - "size": 47256 + "path": "en/api/python/beta/sessions/threads/events/list.md", + "sha256": "d700a0b2a83bb5bce9cea0860c88750f0157af97afb580adc380fd86cd7893fb", + "size": 95135 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments", + "url": "https://platform.claude.com/docs/en/api/python/messages/batches/cancel", "status": "success", - "path": "en/api/typescript/beta/environments.md", - "sha256": "9e366b8248cf73488871b214f30c26a5f81575711613da07c6d580d6969c090a", - "size": 97387 + "path": "en/api/python/messages/batches/cancel.md", + "sha256": "2c6dfa35934fe1d7d2d15fad2f50fb8dcacb057624b35eeef6664c0a09be6b3b", + "size": 5321 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/files", + "url": "https://platform.claude.com/docs/en/api/python/messages/batches/create", "status": "success", - "path": "en/api/typescript/beta/files.md", - "sha256": "30efe401ea0e3a331e1f2f7bff87a5aac21ddf8edb020d8ed85dcaa639adee9d", - "size": 23521 + "path": "en/api/python/messages/batches/create.md", + "sha256": "608cffeb3435d912733cf12230b8011089e7e2ecd0bd86ce857c63c55a2e41f6", + "size": 111065 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages", + "url": "https://platform.claude.com/docs/en/api/python/messages/batches/retrieve", "status": "success", - "path": "en/api/typescript/beta/messages.md", - "sha256": "afb305028d3c341fed54482ef5d0b510678f480d3737d21d64d9cee653a9c4ae", - "size": 2910591 + "path": "en/api/python/messages/batches/retrieve.md", + "sha256": "b41e490112e56042477095dda97d1a6e848b1ad3c940189d5fc96b4e6ab125fa", + "size": 5013 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/models/list", + "url": "https://platform.claude.com/docs/en/api/python/messages/batches/delete", "status": "success", - "path": "en/api/typescript/models/list.md", - "sha256": "13a4bc10c6bc66176a332839b6fbb243bd2f9a5ca93e71086bd0d3d5826c2c89", - "size": 12534 + "path": "en/api/python/messages/batches/delete.md", + "sha256": "0301eadc5ae4c3f4eb9222fb8bb2d9f5c5c3bc93aeba9f9ec4dd231898b7b318", + "size": 1756 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/models/retrieve", + "url": "https://platform.claude.com/docs/en/api/python/messages/batches/list", "status": "success", - "path": "en/api/typescript/models/retrieve.md", - "sha256": "a424bc1a103e003b25f64e5790ae39c723d18ab208f8ade25de28e7ba23f4dd8", - "size": 11202 + "path": "en/api/python/messages/batches/list.md", + "sha256": "8ed1db0a6767cb02ffb6cd6ba09290c0fafa516b783e3edf130a9938c73d43c8", + "size": 5455 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/completions/create", + "url": "https://platform.claude.com/docs/en/api/python/messages/batches/results", "status": "success", - "path": "en/api/typescript/completions/create.md", - "sha256": "ae16ade133f495852f9b3ec892a48a1fd00f35cd736f0a374acfdefa639f043d", - "size": 13387 + "path": "en/api/python/messages/batches/results.md", + "sha256": "adc1d36d76c0e83234e1dac5f739dbf71667b6262142ee1d7b7e001b76e07bcb", + "size": 37098 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/messages/create", + "url": "https://platform.claude.com/docs/en/api/ruby/models/retrieve", "status": "success", - "path": "en/api/typescript/messages/create.md", - "sha256": "de2b96852224f07c4b2f180de16075f8446b7bb654da287ccadb84671b7c87f5", - "size": 139969 + "path": "en/api/ruby/models/retrieve.md", + "sha256": "552e0f235f1ae4c62ddbee468a17880d5afc557e2a5da55f9a85c6e83f66d689", + "size": 11503 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/messages/count_tokens", + "url": "https://platform.claude.com/docs/en/api/ruby/models/list", "status": "success", - "path": "en/api/typescript/messages/count_tokens.md", - "sha256": "abf56d5b392ace71bfd531fe4288e062757bda8b694f9a6a54cff3709804d80b", - "size": 98021 + "path": "en/api/ruby/models/list.md", + "sha256": "538bf20a28beb312b34c16a1478dd8299ac31d222d95555698696a5b34dd41b3", + "size": 12740 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/messages/batches", + "url": "https://platform.claude.com/docs/en/api/ruby/completions/create", "status": "success", - "path": "en/api/typescript/messages/batches.md", - "sha256": "7e351c4fa906d140b5343d6a5e9cf1326a139a62512dbf3e8e1acde35ad354b3", - "size": 276858 + "path": "en/api/ruby/completions/create.md", + "sha256": "3a3b63fc377ae78fea8250624ce220644ffd3cc8f500dad6080a84b6423935c9", + "size": 12935 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/messages/batches/create", + "url": "https://platform.claude.com/docs/en/api/ruby/messages/batches", "status": "success", - "path": "en/api/typescript/messages/batches/create.md", - "sha256": "09a01853fb0313f3ff7a10b13c97cfc813faacbcaab438e338669f7fd9bf31aa", - "size": 114442 + "path": "en/api/ruby/messages/batches.md", + "sha256": "3fa595928ccfd72f5a29de2a620424960afd355bec2b0a2446900df189e4637d", + "size": 252529 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/messages/batches/list", + "url": "https://platform.claude.com/docs/en/api/ruby/messages/create", "status": "success", - "path": "en/api/typescript/messages/batches/list.md", - "sha256": "9b99d48fa39b850f6e9475695438b9b659a772e7e3badf3faf29649284f11fc8", - "size": 5547 + "path": "en/api/ruby/messages/create.md", + "sha256": "381ed6e0a613ef89673ea8e085e18a86b0ee462541a66e3193654581c38ab3b8", + "size": 129875 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/messages/batches/cancel", + "url": "https://platform.claude.com/docs/en/api/ruby/messages/count_tokens", "status": "success", - "path": "en/api/typescript/messages/batches/cancel.md", - "sha256": "5e3fa4682a36c98833b368ec01b063eec5838dbd359e8d43a2bc39d4f7b9c3c2", - "size": 5353 + "path": "en/api/ruby/messages/count_tokens.md", + "sha256": "cf326d684de3181f8a65bc31554bdae1f3cd9c35f665d19c5518630a9294c15b", + "size": 91509 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/messages/batches/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/files", "status": "success", - "path": "en/api/typescript/messages/batches/retrieve.md", - "sha256": "c6525f32b5eafb682fd0d5c0be579f4ed869e9e5db35bf468ca069ec133818ea", - "size": 5047 + "path": "en/api/ruby/beta/files.md", + "sha256": "1a3b269a9c55cd02f5848c7becdd5c900a9a7c9a82aaabafb7f665d76304c8d1", + "size": 21955 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/messages/batches/results", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/user_profiles", "status": "success", - "path": "en/api/typescript/messages/batches/results.md", - "sha256": "bd214cad3c62291b03af12560e61a4c4181f7bd953b2226115d6cfc822359b70", - "size": 37642 + "path": "en/api/ruby/beta/user_profiles.md", + "sha256": "6fdf4623da889c0ef3c3b27315bcca4948d3718c8ec31fc035e7684dbf8db8f4", + "size": 55927 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/messages/batches/delete", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels", "status": "success", - "path": "en/api/typescript/messages/batches/delete.md", - "sha256": "46fdfd0b33adef988d5799146b8c7abc9e63aa70ea38db05f199ab7a229d7567", - "size": 1797 + "path": "en/api/ruby/beta/tunnels.md", + "sha256": "5b9695ebb26a6c3cb1216803c71d5d86480fb86c37c6284a64f9bc6b2beb9420", + "size": 44647 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/create", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/webhooks", "status": "success", - "path": "en/api/typescript/beta/environments/create.md", - "sha256": "3d9a9b968c031f9fab11b72036ae54b5304afe7895f4d81a74cc80f0be7c5d7c", - "size": 10060 + "path": "en/api/ruby/beta/webhooks.md", + "sha256": "0e534d27c3a1cee5bf433c9e65c14051375467285a022beca6157e90dd1cdcd7", + "size": 34403 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/update", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments", "status": "success", - "path": "en/api/typescript/beta/environments/update.md", - "sha256": "32c766201976ac449fb48e71c8c573ed67ea1acc5da3f7b1df179f0bdbc8abd2", - "size": 10153 + "path": "en/api/ruby/beta/environments.md", + "sha256": "90969c6355303c3f7d4d131ca69f0d4e066d202f855973e00864f767f014020d", + "size": 92170 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages", "status": "success", - "path": "en/api/typescript/beta/environments/list.md", - "sha256": "d913679d95fedf62fd7ae91523c0b54dd99e46f7a6736b6c748d180d768ef249", - "size": 7555 + "path": "en/api/ruby/beta/messages.md", + "sha256": "4cf9a4c5ad7200323b8ce227404b390d547b9a1e1dc6ee7a08a4196cfa7ab6e3", + "size": 2775609 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents", "status": "success", - "path": "en/api/typescript/beta/environments/retrieve.md", - "sha256": "7ea77ed38b2cde0cdecfebad15056faa48727d0668b5bca4311460e2aa6c844e", - "size": 6976 + "path": "en/api/ruby/beta/agents.md", + "sha256": "c9620b2594a37a603b3e5acc21be4c4a5fd44e7fcf144b574c5dc55fc3afed1a", + "size": 458574 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/delete", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployment_runs", "status": "success", - "path": "en/api/typescript/beta/environments/delete.md", - "sha256": "7d154bb8525ac9e31034f2548554725429ade24c7ce7fb9fb321d9d2c6ca0047", - "size": 3613 + "path": "en/api/ruby/beta/deployment_runs.md", + "sha256": "b7ba172db994993d11cdcb27c81bc3409c66b4f8d3bfbcb02d776b4cc78c1539", + "size": 31824 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions", "status": "success", - "path": "en/api/typescript/beta/environments/work.md", - "sha256": "3223e67868103f0117ed2b253cc1467c13e1e4da1fcdae1820c72b1ac0c604cf", - "size": 48589 + "path": "en/api/ruby/beta/sessions.md", + "sha256": "388163b9ce37179842f95ce5e27894ef3e130eb270657923c56f1cdb680e9ddd", + "size": 1197043 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/archive", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/models", "status": "success", - "path": "en/api/typescript/beta/environments/archive.md", - "sha256": "a420b503a8da685d66e53ffe55f4084007c353685cb9f8534744572eed615b3f", - "size": 7037 + "path": "en/api/ruby/beta/models.md", + "sha256": "37bf1b459698c8df701c5bc157f5883e5b34b5673345b41a2d66d0fbe44bc3f3", + "size": 43449 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployment_runs/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores", "status": "success", - "path": "en/api/typescript/beta/deployment_runs/list.md", - "sha256": "92c8a9dc3a59cfd62241cd9014131f26c34b8b30e6ad4a372610b44a3167dd4c", - "size": 11157 + "path": "en/api/ruby/beta/memory_stores.md", + "sha256": "f3871ca7faa01ce887aeb2667fff2c8b1a806b894b1b05c695ca0ffd993cb3c3", + "size": 97253 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployment_runs/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults", "status": "success", - "path": "en/api/typescript/beta/deployment_runs/retrieve.md", - "sha256": "def8cd5ed851e5fd5d1a43d7f1d3f4043aa4a05825134b10639f7677cf36d670", - "size": 9614 + "path": "en/api/ruby/beta/vaults.md", + "sha256": "9fd927eaa3af564a9ad5f036cef562962fe6a46b0d8a74b059a5e7304e5d85d3", + "size": 84231 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/create", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments", "status": "success", - "path": "en/api/typescript/beta/vaults/create.md", - "sha256": "eafd105885d09aef29f7726ced9be900df9305f20ff770e0fe5ad3333fabaa08", - "size": 4304 + "path": "en/api/ruby/beta/deployments.md", + "sha256": "bfd1beb973fd73b92c7c5af05d67f587b9306060ff7e0de70cc22531e4ded7a9", + "size": 218606 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/update", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills", "status": "success", - "path": "en/api/typescript/beta/vaults/update.md", - "sha256": "a940f7315be7d46fd2c533dafdaca40d346023c8573c1a708fef9c019d0c1fa1", - "size": 4421 + "path": "en/api/ruby/beta/skills.md", + "sha256": "4278943057015d816c9eb10a9b4698c757a4829af0cbc03c05409a7842a9e98d", + "size": 40861 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/files/retrieve_metadata", "status": "success", - "path": "en/api/typescript/beta/vaults/list.md", - "sha256": "acf7ea965f4e9b9598ad28fca4b79c6abd5a1b0f619b537a2cba7e34a7d4f6b8", - "size": 4516 + "path": "en/api/ruby/beta/files/retrieve_metadata.md", + "sha256": "590188ab077f0b39eca39086baead8a70486194977d9653a06641111d5183ff4", + "size": 4508 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/files/download", "status": "success", - "path": "en/api/typescript/beta/vaults/retrieve.md", - "sha256": "3ea83fdb68172db7a26ef05e84ec1485c211c1a38e6812ca95b9781002201122", - "size": 4125 + "path": "en/api/ruby/beta/files/download.md", + "sha256": "5a1ea9dbda8827e2e33311985a27ad1f621880b77f0a36170f15b955736cbbf8", + "size": 2896 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/files/delete", "status": "success", - "path": "en/api/typescript/beta/vaults/credentials.md", - "sha256": "bf63d4c7f681db6a2eeda895b24a83c5ac9cd381a3371cdc944a3591f95b7494", - "size": 90531 + "path": "en/api/ruby/beta/files/delete.md", + "sha256": "cba7e9455c066a31e7ed9701034b3f84d2041d9675eaa9ac990f09eda3ece8cf", + "size": 3177 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/delete", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/files/list", "status": "success", - "path": "en/api/typescript/beta/vaults/delete.md", - "sha256": "c75b0dcfd0ed8e127e33240ce9814f988eb72e953c338e06588643ea341ec80f", - "size": 3505 + "path": "en/api/ruby/beta/files/list.md", + "sha256": "0350dda33508e0116b2fe8f39a6c6af024aee3610da66ff2ad65db74babf8ff3", + "size": 5233 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/archive", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/files/upload", "status": "success", - "path": "en/api/typescript/beta/vaults/archive.md", - "sha256": "bb7adcc242cc2b154cd34ffca4c87b29f05d8b48aafb1daedb6758559efb1d89", - "size": 4141 + "path": "en/api/ruby/beta/files/upload.md", + "sha256": "3ee901df022639c23018a9fa5f45d9546e9a12bdba4d59a3bc7f710bb82f9ff7", + "size": 4872 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/user_profiles/create", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/resources", "status": "success", - "path": "en/api/typescript/beta/user_profiles/create.md", - "sha256": "6b1e3417c266deec93403063c7f34ee2ff3f743cc9cc09866c55e77789e1ed64", - "size": 13028 + "path": "en/api/ruby/beta/sessions/resources.md", + "sha256": "4305737da63d48fc60c53299e9ae29fac3094a61bfd85f49bc98fe4202e03b65", + "size": 35478 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/user_profiles/update", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/create", "status": "success", - "path": "en/api/typescript/beta/user_profiles/update.md", - "sha256": "f9310ad20e095c9b6cf7a4fd070ece3609ced03fb972c42d54473b45b4929a2d", - "size": 13000 + "path": "en/api/ruby/beta/sessions/create.md", + "sha256": "bb4e2acd258918c6f602f535d8f15a4d40485869899810d93bde57aabaa9d301", + "size": 84378 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/user_profiles/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/update", "status": "success", - "path": "en/api/typescript/beta/user_profiles/list.md", - "sha256": "dba7789d2171279350f1839276eda504ff9de0d9620591daf929dfaf7fb8a4ae", - "size": 9987 + "path": "en/api/ruby/beta/sessions/update.md", + "sha256": "f4f03170df66fa07ee08967325aa7c138ca695f1483f62133f16b2c3d9d79c29", + "size": 69634 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/user_profiles/create_enrollment_url", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/retrieve", "status": "success", - "path": "en/api/typescript/beta/user_profiles/create_enrollment_url.md", - "sha256": "8367bae87b2dcbe5eea518365c4b52b22ec1cd12a01d22699288b12933cc811e", - "size": 4088 + "path": "en/api/ruby/beta/sessions/retrieve.md", + "sha256": "7b629a519e025db34169728e6c78a14a0d446796bfd18c592123c4383a088efa", + "size": 45646 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/user_profiles/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/delete", "status": "success", - "path": "en/api/typescript/beta/user_profiles/retrieve.md", - "sha256": "7f6bbec2dd70038f273861efce52218870a1f238abc06daaa3959f25a5a00f56", - "size": 8818 + "path": "en/api/ruby/beta/sessions/delete.md", + "sha256": "ed0113e4e32a1ec3e84d5b7701bf45aa309ce19ae4ef0325c2ef268d08312357", + "size": 3260 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/create", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/list", "status": "success", - "path": "en/api/typescript/beta/agents/create.md", - "sha256": "c7ffc2921b9cd3072b9657713f384fef05a9698f283345af7eb8a0a7e90b20cc", - "size": 67247 + "path": "en/api/ruby/beta/sessions/list.md", + "sha256": "d770d2940cfc13d39ea2a0126f2aa7cc842b28af35fc6cad08021d07a64a2061", + "size": 48332 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/update", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/archive", "status": "success", - "path": "en/api/typescript/beta/agents/update.md", - "sha256": "ae9eb4ae712fcc84b79824e34d11b9b2cbcf4415a7859b59e5fe2c61586d41f7", - "size": 68208 + "path": "en/api/ruby/beta/sessions/archive.md", + "sha256": "e5326c14ea5993df0aa78f7fc7a5d29eef36272c36ea61d9146a801b78d79dc1", + "size": 45664 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/events", "status": "success", - "path": "en/api/typescript/beta/agents/list.md", - "sha256": "304cd6cd25bf07015bf622496fcb1d362ce34d4c8397a0690e42c52dd402dbc5", - "size": 31522 + "path": "en/api/ruby/beta/sessions/events.md", + "sha256": "317fc511414b2013c2f21bf509246f9ed588215ed0beebc2567d7742772c17f8", + "size": 576872 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads", "status": "success", - "path": "en/api/typescript/beta/agents/retrieve.md", - "sha256": "563c79d40e0b34c0c7ef38ce6608c9ce33a7359a30424c610c38dedf18c6e092", - "size": 30718 + "path": "en/api/ruby/beta/sessions/threads.md", + "sha256": "a4e5f5ee3e25190fb07cb5d771852783887177ba5514436e89a6565d8f6109e0", + "size": 447517 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/versions", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/user_profiles/create_enrollment_url", "status": "success", - "path": "en/api/typescript/beta/agents/versions.md", - "sha256": "2ef8baa9ed0e8b462a67b7b68f8b55cfdb87425bcaa98061b935365412827e61", - "size": 31301 + "path": "en/api/ruby/beta/user_profiles/create_enrollment_url.md", + "sha256": "151e733736ce2e07ada498530b7dd46151b774ccca28ecb0a7dfc863930c74dd", + "size": 3851 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/archive", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/user_profiles/create", "status": "success", - "path": "en/api/typescript/beta/agents/archive.md", - "sha256": "ece202beb15d1e000a7cd3cb14548b4d096f25e5598679b42daa7295e12fe94b", - "size": 30586 + "path": "en/api/ruby/beta/user_profiles/create.md", + "sha256": "1e2c70a4c02d297ef4ffd1775d04f00543b9a7f42c7d0626a44c15319d36b9f9", + "size": 12507 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/models/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/user_profiles/update", "status": "success", - "path": "en/api/typescript/beta/models/list.md", - "sha256": "e6dfd80d862530561747c47e4e1680a4fd3a269ddcbd9c95d8138ebc169a1d3b", - "size": 13266 + "path": "en/api/ruby/beta/user_profiles/update.md", + "sha256": "3ab389f181170723a583c892e706b8960ba2c96336568c2a7286602d808f3f22", + "size": 12474 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/models/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/user_profiles/retrieve", "status": "success", - "path": "en/api/typescript/beta/models/retrieve.md", - "sha256": "4064b0bbb271d85b58d249f8f11a1a8d812425f430785b58f642b9a2bf0effe9", - "size": 11898 + "path": "en/api/ruby/beta/user_profiles/retrieve.md", + "sha256": "9f212730d3f0ba41a73e194c766ab924ff3ee02ffaa4c71a034dccf56d1e2b1d", + "size": 8483 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/create", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/user_profiles/list", "status": "success", - "path": "en/api/typescript/beta/tunnels/create.md", - "sha256": "3631a8bb4355c14ed961a72febf3d507cb3fc526e4efdca60daee6ebd610e3b6", - "size": 4586 + "path": "en/api/ruby/beta/user_profiles/list.md", + "sha256": "23fe722d6aed15e820e1b17a6aa137a74d3302fda3c67870d4fac9948a14f78c", + "size": 9523 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/rotate_token", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployment_runs/retrieve", "status": "success", - "path": "en/api/typescript/beta/tunnels/rotate_token.md", - "sha256": "a667c75c0d78f1c95e47f37228c88d5c2caa454b6984545b8a4752430b8920f6", - "size": 4208 + "path": "en/api/ruby/beta/deployment_runs/retrieve.md", + "sha256": "aec9d90fde24a7cb7ae7a71398d0d6891cc9880671b5c3351790e40145b54571", + "size": 9284 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployment_runs/list", "status": "success", - "path": "en/api/typescript/beta/tunnels/list.md", - "sha256": "92cadf2720436a1812a8fa8a8c998cd6a800935612223331bd3031368609bf05", - "size": 4912 + "path": "en/api/ruby/beta/deployment_runs/list.md", + "sha256": "6abc735cf9bd771a41f303649d0406091a9cfe571fe0b20f9d3620c968143584", + "size": 10624 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/certificates", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memory_versions", "status": "success", - "path": "en/api/typescript/beta/tunnels/certificates.md", - "sha256": "c83014f4e03a051b9a74824d60e03a572680ca14e9d0dc25d3a967db4d67a4a1", - "size": 20745 + "path": "en/api/ruby/beta/memory_stores/memory_versions.md", + "sha256": "9522d632fa3af079cc8d3de71ab71d15369bf4787c10a47287fcc805ba3e89d4", + "size": 39491 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/create", "status": "success", - "path": "en/api/typescript/beta/tunnels/retrieve.md", - "sha256": "098de0d45d398b65c18fc077c9cf577ea72d5414d8ae63cfaccf2f653e940ba3", - "size": 4396 + "path": "en/api/ruby/beta/memory_stores/create.md", + "sha256": "6db461072e486dae77820e1513c51f29f2099d5c8c9696d82c3de81d9c7af41c", + "size": 5643 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/reveal_token", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/update", "status": "success", - "path": "en/api/typescript/beta/tunnels/reveal_token.md", - "sha256": "7cfc36a78d5aa87532284aca755dfbd6f6ef21cd4108890209bf8e97ec494e43", - "size": 4109 + "path": "en/api/ruby/beta/memory_stores/update.md", + "sha256": "255eea3bf44e10934f79476ad03b2601f3379b22b225a558799d4759e0498bdd", + "size": 5729 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/archive", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/retrieve", "status": "success", - "path": "en/api/typescript/beta/tunnels/archive.md", - "sha256": "c12dc0d3ac296bd945b2093e3feda7ee70e1bbfe67743d400afc3dda1577acf1", - "size": 4678 + "path": "en/api/ruby/beta/memory_stores/retrieve.md", + "sha256": "2f5067e3114edbb05348cfba736d0d0529cd32e947c27b9606bcc8f95be4886e", + "size": 5102 + }, + { + "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": "0734677ce036e170af03f871df3ef249ce9d1409292e299300e7442d2e417c9b", + "size": 3636 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/create", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/list", "status": "success", - "path": "en/api/typescript/beta/sessions/create.md", - "sha256": "16ceaf2f43748ae284108da6f4a1eeca0ec5c0be7eb62c19e97027b346eecc1b", - "size": 87090 + "path": "en/api/ruby/beta/memory_stores/list.md", + "sha256": "ce3103d0a4b227dbed6a13dcac6227bfdbfb61b79bf38530b8eb1794e8aaf9b4", + "size": 5813 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/resources", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memories", "status": "success", - "path": "en/api/typescript/beta/sessions/resources.md", - "sha256": "aaa634079802bcb5e58a6326a9244bd62f71991e8cacca603a72d29e1587dae5", - "size": 37252 + "path": "en/api/ruby/beta/memory_stores/memories.md", + "sha256": "3a87c696f23a78671062b15b09312d07a5143c32aa95ab9ccb18a59113b5e719", + "size": 49200 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/update", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/archive", "status": "success", - "path": "en/api/typescript/beta/sessions/update.md", - "sha256": "8cc994e2ee47214118033accc38af3ab396945b9c1759bcd783a4c3535c019c3", - "size": 71740 + "path": "en/api/ruby/beta/memory_stores/archive.md", + "sha256": "305547f29a7e09f526711110a7734bc833bff846349a1e4c9f6898004cf8e13c", + "size": 5179 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/models/retrieve", "status": "success", - "path": "en/api/typescript/beta/sessions/list.md", - "sha256": "fd61dcb87dbd30659326d3c4210531389a120c45f743026792f9c6581282c553", - "size": 49480 + "path": "en/api/ruby/beta/models/retrieve.md", + "sha256": "d4c87ecfdbdb627683257dfdabf0361ce6724586eef453c0f8c67ebe47995193", + "size": 12190 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/models/list", "status": "success", - "path": "en/api/typescript/beta/sessions/threads.md", - "sha256": "7d004f11263c344ebc6a7c0ddb62491ae4cc307aacd7b45167d3517128c4e3e7", - "size": 456446 + "path": "en/api/ruby/beta/models/list.md", + "sha256": "09f3776aa954a79656e6a94f62c416cb13c58dd24744ae8d58a7cbf31622e031", + "size": 13453 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/create", "status": "success", - "path": "en/api/typescript/beta/sessions/retrieve.md", - "sha256": "ccf75387e7b41f5cb92051f4fd011c0fc0ca92323ea42c6b7faecb353208ab45", - "size": 46564 + "path": "en/api/ruby/beta/agents/create.md", + "sha256": "0958cf5ea20cabf76125741ba9e5ba4392a30ee24f85213074916c6a92f863c5", + "size": 65094 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/events", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/update", "status": "success", - "path": "en/api/typescript/beta/sessions/events.md", - "sha256": "f8cdadfc9a99c1d283e91b6eb256e50d5dd7929cbabbcd5d1ba87ee83c6f2d5d", - "size": 588196 + "path": "en/api/ruby/beta/agents/update.md", + "sha256": "ccef4cd81f269fa3e09a4ad8dd0ce8317ca72a004bcadf15a8380ddccd0ea9c5", + "size": 65943 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/delete", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/retrieve", "status": "success", - "path": "en/api/typescript/beta/sessions/delete.md", - "sha256": "dc748eeb10e5343172713347f40ba02b1612a7a776a305933d4628aed6f3b0ff", - "size": 3478 + "path": "en/api/ruby/beta/agents/retrieve.md", + "sha256": "ca0c453333636491eee2dbeb7402575b0094e0259ab5bd95327e7f0b1481fa7b", + "size": 30005 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/archive", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/list", "status": "success", - "path": "en/api/typescript/beta/sessions/archive.md", - "sha256": "c478002f99e92f9ed26ba4568789f0a17396e9dbdcb85f87e8c1a36ba79f5527", - "size": 46581 + "path": "en/api/ruby/beta/agents/list.md", + "sha256": "bfeb9b1a28438b38982e2a2850a4537d3affa2fa95fac9f27229fac4f9ef4667", + "size": 30676 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/unpause", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/versions", "status": "success", - "path": "en/api/typescript/beta/deployments/unpause.md", - "sha256": "131223f8a3d3835fdc5883e9462027e9fe4a59c6bda2103db4895682ee2cc46c", - "size": 19702 + "path": "en/api/ruby/beta/agents/versions.md", + "sha256": "9ad1915014102cbc7be6c978b72ff13176b229e83336aa1e64de6a728b279c48", + "size": 30485 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/create", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/archive", "status": "success", - "path": "en/api/typescript/beta/deployments/create.md", - "sha256": "fb8653ecd9cf2f69b10f3a4e106fff21cdb8351d36e0fa7ccd201868e15f1db2", - "size": 31350 + "path": "en/api/ruby/beta/agents/archive.md", + "sha256": "5f386712d6eee46f9ff08ed1a264c87fa37a3b19c440ed3d217bff6a5f02c1df", + "size": 29880 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/update", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work", "status": "success", - "path": "en/api/typescript/beta/deployments/update.md", - "sha256": "dd72ec3035337fbec20be944e7ee4798abaa28816c7af68dd8c40cc275518c3f", - "size": 31425 + "path": "en/api/ruby/beta/environments/work.md", + "sha256": "84a847e45be0667d0e151c467c59f6bde940108a0fdbc5cb142dac8538bfeaed", + "size": 46127 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/create", "status": "success", - "path": "en/api/typescript/beta/deployments/list.md", - "sha256": "e463bb4e3ddd866d1a80e7f57ec44f0e42885be41fee97c00fdcfbe56d2dc9d3", - "size": 21078 + "path": "en/api/ruby/beta/environments/create.md", + "sha256": "7e07772944f2715d926832d66ebf52ec301762bd275392000c7f53e3ad3555ca", + "size": 9435 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/update", "status": "success", - "path": "en/api/typescript/beta/deployments/retrieve.md", - "sha256": "8f05455ebe066e5721a8671a045dadda602f29acfb639570affdc539cd178bc7", - "size": 19674 + "path": "en/api/ruby/beta/environments/update.md", + "sha256": "19a94118fc1a1399978a437e081df4c937a32a8b3dbbadf71e43d172bbff0f2a", + "size": 9521 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/run", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/retrieve", "status": "success", - "path": "en/api/typescript/beta/deployments/run.md", - "sha256": "cd374e07b5513644c5a1723145b3d6b6c8ce1f26a2f035414f572c712a485624", - "size": 9587 + "path": "en/api/ruby/beta/environments/retrieve.md", + "sha256": "deb8aca29acb37ae3647263f21dc1571311b966802d0c807dd117a5764e457d2", + "size": 6643 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/pause", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/delete", "status": "success", - "path": "en/api/typescript/beta/deployments/pause.md", - "sha256": "f7b8500fc951cd413fe95f327f57c170422b09b53c807a00003e06e20206d176", - "size": 19684 + "path": "en/api/ruby/beta/environments/delete.md", + "sha256": "5a6994b380e090f1b398ab583425516d06ba3c9ca80e6e5101c73c132eb83b3a", + "size": 3355 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/deployments/archive", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/list", "status": "success", - "path": "en/api/typescript/beta/deployments/archive.md", - "sha256": "87b80575ae505dbac6a7b633cc0f6d267378603fd3ed64a502a7f86f2eee6b00", - "size": 19702 + "path": "en/api/ruby/beta/environments/list.md", + "sha256": "e00a139fd170b4bb5938a46cfed300a7c0b21590d4631d157fa1c6bab31abd42", + "size": 7118 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/create", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/archive", "status": "success", - "path": "en/api/typescript/beta/skills/create.md", - "sha256": "ab6d32bfb7b1bc302411f7eae5e562eed20c95b8885b6c5ffb057e4933e34038", - "size": 5420 + "path": "en/api/ruby/beta/environments/archive.md", + "sha256": "59c6c2d4fefedf6b7d8645bae4b129bac130dd3dcf0741519259fc7a979c5df7", + "size": 6709 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/certificates", "status": "success", - "path": "en/api/typescript/beta/skills/list.md", - "sha256": "43eb96021a74daf6dd5bc84b2f5e137c62b65edbedb7d53047a8ad853af5daf2", - "size": 5749 + "path": "en/api/ruby/beta/tunnels/certificates.md", + "sha256": "8f4a8312a9fae59f3ecff88dde659b20850e656b2a7987fef12bb8c7c7a52297", + "size": 19617 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/create", "status": "success", - "path": "en/api/typescript/beta/skills/retrieve.md", - "sha256": "d6e3bae98585b2a31199c2c349d96b311f31533beedb1563a47b059a675ca434", - "size": 5123 + "path": "en/api/ruby/beta/tunnels/create.md", + "sha256": "a1f56b4d7e0f3fac15d66a3ded1459c03ce9a90fc566b60f50ccf033ff9810b0", + "size": 4332 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/versions", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/retrieve", "status": "success", - "path": "en/api/typescript/beta/skills/versions.md", - "sha256": "6c0723f52c148a2906f18b32ae63f73c38ce55ed1931a921d8cd8b7ad85167d7", - "size": 22891 + "path": "en/api/ruby/beta/tunnels/retrieve.md", + "sha256": "987312cfce3160261a613919517d9eb4bf16c267e146f86a5198cc6413c017df", + "size": 4157 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/delete", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/reveal_token", "status": "success", - "path": "en/api/typescript/beta/skills/delete.md", - "sha256": "d0565a7e8b9c59f65c441077806dcdb6352285cd034da3019ab316a2decd13f5", - "size": 3571 + "path": "en/api/ruby/beta/tunnels/reveal_token.md", + "sha256": "ae71590e6fb4ed4028ab13ec433732381722c6c4a254680b3ab4980914a1d65f", + "size": 3889 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memory_versions", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/list", "status": "success", - "path": "en/api/typescript/beta/memory_stores/memory_versions.md", - "sha256": "78cff62b4e35f3eee0909fa9e366d66674cba13a9e5f39fec22cdf01bf777940", - "size": 40795 + "path": "en/api/ruby/beta/tunnels/list.md", + "sha256": "617ae04d600d796b8f5f1f802c421df20dcfb28f88fcf8028b45e42e1e4da775", + "size": 4582 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/create", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/archive", "status": "success", - "path": "en/api/typescript/beta/memory_stores/create.md", - "sha256": "228f726d020c492f3f8557a2202ac14fa5eb6bbe8aab2b6f8ed15f769affc2a0", - "size": 5899 + "path": "en/api/ruby/beta/tunnels/archive.md", + "sha256": "451b417e689ec08b7dbe7b3833ce33b83e3365e7ba408133942ee96f31817118", + "size": 4440 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/update", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/rotate_token", "status": "success", - "path": "en/api/typescript/beta/memory_stores/update.md", - "sha256": "72354c17c5924537f23ff521cbd5eaffd2c29d5bfc029e30af9b312c4a761a37", - "size": 6006 + "path": "en/api/ruby/beta/tunnels/rotate_token.md", + "sha256": "112ad7d2146fd753c0949b05bbcbe7df9f9b5c1552efcd3ef401447539ee8b6b", + "size": 3975 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches", "status": "success", - "path": "en/api/typescript/beta/memory_stores/list.md", - "sha256": "0332c560646a256dcefade2bf937f6db2b0fc7c8914f7e69daaa4f199926ae72", - "size": 6203 + "path": "en/api/ruby/beta/messages/batches.md", + "sha256": "feaafa6ace9335be5dacf27d8c710e73e5efcdcdaace36d57e4f261bd0ae338b", + "size": 751483 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/create", "status": "success", - "path": "en/api/typescript/beta/memory_stores/retrieve.md", - "sha256": "ab719814108b7716eef58a12ce1a19e6c6516bf38a2aacae47701f3cffe004a7", - "size": 5337 + "path": "en/api/ruby/beta/messages/create.md", + "sha256": "357999bfebef4effbb0046eab32d49c16b932e27168c511821838e540c32a596", + "size": 291666 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/delete", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/count_tokens", "status": "success", - "path": "en/api/typescript/beta/memory_stores/delete.md", - "sha256": "f15f4173158296c7a8f62b0719f27591954242104e69853d369767fe8cf854e7", - "size": 3852 + "path": "en/api/ruby/beta/messages/count_tokens.md", + "sha256": "aad3d9e6e2da7ee3a46935680731faba9f36d3ddcd4259d926c7c862190006ec", + "size": 140299 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memories", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/pause", "status": "success", - "path": "en/api/typescript/beta/memory_stores/memories.md", - "sha256": "35528f44266c2803dd0bac60e8c408b487b088992356f78aea6fa801ad630bfd", - "size": 51451 + "path": "en/api/ruby/beta/deployments/pause.md", + "sha256": "e06559b546e3af7c54d1dc6409383a5d9ed0998ed1e7816fb2c0563e40559f04", + "size": 19155 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/archive", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/create", "status": "success", - "path": "en/api/typescript/beta/memory_stores/archive.md", - "sha256": "45ed4372786b91e182e84760b5844fdf273bde7be9af80b728e0c21e6084756f", - "size": 5409 + "path": "en/api/ruby/beta/deployments/create.md", + "sha256": "65afd18e09a271c9d2093d5698eb7157a49c0d5c0999897b26dcddd5c85deaea", + "size": 30215 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/files/download", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/update", "status": "success", - "path": "en/api/typescript/beta/files/download.md", - "sha256": "237a3bfee20f3e171df638037606cd2b8069436f27031bc8a2d9287f60338a10", - "size": 3195 + "path": "en/api/ruby/beta/deployments/update.md", + "sha256": "e5de01c9f1eb8cb1ba3e9fef7ee4a9b547a4ac815ecee745c06891b774c7ee4b", + "size": 30270 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/files/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/retrieve", "status": "success", - "path": "en/api/typescript/beta/files/list.md", - "sha256": "41187573978197ee7611b719cc7bbe8e91945a8a9ad4a448448764315f65d0dc", - "size": 5617 + "path": "en/api/ruby/beta/deployments/retrieve.md", + "sha256": "187e80db1fc2819f831537dd8a41273618ba93fdb4fd5a62ca8d9e62089a014e", + "size": 19142 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/files/upload", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/list", "status": "success", - "path": "en/api/typescript/beta/files/upload.md", - "sha256": "603a761c00a982368f3253c707b0414630e38e96bf4f0779fd8daeba9921b52a", - "size": 5182 + "path": "en/api/ruby/beta/deployments/list.md", + "sha256": "41ef4ecea4fdaf088d08ef473c12dceb76223a29517bade60513d2f466e59195", + "size": 20377 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/files/retrieve_metadata", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/unpause", "status": "success", - "path": "en/api/typescript/beta/files/retrieve_metadata.md", - "sha256": "301edf4b3b79074abc795cd6c8080dec0084dfb879980180d5ea6abae76e0e36", - "size": 4775 + "path": "en/api/ruby/beta/deployments/unpause.md", + "sha256": "a85cb1477bdb3487cdd51266a089def717dee707b60ffb8f441bbd8648f7b816", + "size": 19171 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/files/delete", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/archive", "status": "success", - "path": "en/api/typescript/beta/files/delete.md", - "sha256": "2468d2e85dc011531d57b0a33f588c7d833c5a86cff9b1bdc298aa3fdd3432b1", - "size": 3420 + "path": "en/api/ruby/beta/deployments/archive.md", + "sha256": "c0b79f15712a0c51aeab8bdd357d1025b042ba751c2429f4eb386109ed6f4235", + "size": 19171 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/create", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/run", "status": "success", - "path": "en/api/typescript/beta/messages/create.md", - "sha256": "ea7ae85cc2af4b55f8dc879d0b979aa124212519558d6f796d32f0cb7dbfa950", - "size": 308043 + "path": "en/api/ruby/beta/deployments/run.md", + "sha256": "7de61e1e4e595c0b961aaff79f9ab87c210d99a3283461d2a58bddb46299483a", + "size": 9261 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/count_tokens", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/create", "status": "success", - "path": "en/api/typescript/beta/messages/count_tokens.md", - "sha256": "ef9de7f2f0868ea606f725b954a5c4830ad7712499b7f5d449484992d7661406", - "size": 148732 + "path": "en/api/ruby/beta/skills/create.md", + "sha256": "a51a988fb4bbfd33e3889d40a57662bf17b8fb7238f6e26ae66ac96aabc058ec", + "size": 5130 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/retrieve", "status": "success", - "path": "en/api/typescript/beta/messages/batches.md", - "sha256": "122b70222061ccf44fbfc7103be6ea54f77d196101c1d4e39d4fa800ffac34b0", - "size": 794990 + "path": "en/api/ruby/beta/skills/retrieve.md", + "sha256": "3e364608557b8de56258fef55e50e2e85eca52d44a04abc68e7948142ea69584", + "size": 4871 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches/create", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/delete", "status": "success", - "path": "en/api/typescript/beta/messages/batches/create.md", - "sha256": "928a5e2b22cf35bb8c871427a44f60b6fd5fdff368b48205645d7cc447c7d84e", - "size": 171553 + "path": "en/api/ruby/beta/skills/delete.md", + "sha256": "5ef78d430efad17ad46d0e34bf71e3646603932e36a4743f0adfc70fccbae535", + "size": 3327 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/list", "status": "success", - "path": "en/api/typescript/beta/messages/batches/list.md", - "sha256": "c7fba119c6aed1e1a55e35d546644e5be147607c03af222b7ae96ec3ea95d5f5", - "size": 7672 + "path": "en/api/ruby/beta/skills/list.md", + "sha256": "f10b639c7f2b543a4beb186ec2f15bf18185e9d107bc92b5c9b70c31a555e82f", + "size": 5387 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches/cancel", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/versions", "status": "success", - "path": "en/api/typescript/beta/messages/batches/cancel.md", - "sha256": "7d44be9c353d027eb2c653210750093bb71d559753a0cd2d4bdf0737574561d8", - "size": 7478 + "path": "en/api/ruby/beta/skills/versions.md", + "sha256": "87bc0b665bacdaf061435e473c546dc9fd917c7584def2cc5d0498b272acca96", + "size": 21367 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/create", "status": "success", - "path": "en/api/typescript/beta/messages/batches/retrieve.md", - "sha256": "8ea57905f6edd83954e29d3cdb718625ae1181c7c5e116b75158e87c00c2e58d", - "size": 7172 + "path": "en/api/ruby/beta/vaults/create.md", + "sha256": "c2cdc38275c3acbf4a1cf6b6811690825f4ee9333c9a0e62f2ef1954c739d05a", + "size": 4068 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches/results", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/update", "status": "success", - "path": "en/api/typescript/beta/messages/batches/results.md", - "sha256": "67e7a266345fca3a480526ec643f2dbcfd739ccda9caf64628bcbba96ddcf0cc", - "size": 154490 + "path": "en/api/ruby/beta/vaults/update.md", + "sha256": "f4c5c1fe6b0ef3691f22db707864ce24d03086ba41a89f0975142fc41ea6ac65", + "size": 4171 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/messages/batches/delete", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/retrieve", "status": "success", - "path": "en/api/typescript/beta/messages/batches/delete.md", - "sha256": "d07010441362dd537624c6a7d3da2a96de0f6232e7a6085c2d22224515dde582", + "path": "en/api/ruby/beta/vaults/retrieve.md", + "sha256": "031f80aad61f8940afdc6ecb66584c007b6b6b5cf530a2d31575a32b12096ee9", "size": 3918 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memories/create", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/delete", "status": "success", - "path": "en/api/typescript/beta/memory_stores/memories/create.md", - "sha256": "79b87b48ec749b2719d2c7a9fbb39cecc953722276f04e1e5b0ebcb41a11b4a1", - "size": 7485 + "path": "en/api/ruby/beta/vaults/delete.md", + "sha256": "c02a051fb1a386bb87e56aaf90baeab803bd3572b7e31f2bff05a17bea181366", + "size": 3303 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memories/update", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/list", "status": "success", - "path": "en/api/typescript/beta/memory_stores/memories/update.md", - "sha256": "97274872a8d4a672c50cd6d01feee0552ac4a15f20467f1341320c68eb3bd397", - "size": 8310 + "path": "en/api/ruby/beta/vaults/list.md", + "sha256": "ccf88fe1e65958274a045cadb9aab797db502c8fc42f0b5f3f6a5cd9f6dcbac0", + "size": 4327 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memories/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/archive", "status": "success", - "path": "en/api/typescript/beta/memory_stores/memories/list.md", - "sha256": "8d1e05873890d384e38a6868567bc0fdd8791056a5411a9d91bda9bf3e35569c", - "size": 9095 + "path": "en/api/ruby/beta/vaults/archive.md", + "sha256": "021393cab42cac6bcd07c95ff9215328f49d4bb55a54cd2bf55c07be8dbed136", + "size": 3920 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memories/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials", "status": "success", - "path": "en/api/typescript/beta/memory_stores/memories/retrieve.md", - "sha256": "7b875faa99161c5efc85662f85ff03f1b3d1cbe7595fc9172c4c738fca302afb", - "size": 7007 + "path": "en/api/ruby/beta/vaults/credentials.md", + "sha256": "10e6e3c14e08b14264eacc85a2d9ef065f1e297fa6c43b54610a4a1d01c98de2", + "size": 94040 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memories/delete", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/create", "status": "success", - "path": "en/api/typescript/beta/memory_stores/memories/delete.md", - "sha256": "3a83dc0fe7b77ad6c2ba48b5c4b273f9eaa92b29d94ed3f57c1d570b5b67168a", - "size": 4537 + "path": "en/api/ruby/beta/vaults/credentials/create.md", + "sha256": "2e64aa5d5ebb491eb87495bece2f978b5f2ac08daa763ac47d433fd3df6c0f82", + "size": 13121 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memory_versions/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/update", "status": "success", - "path": "en/api/typescript/beta/memory_stores/memory_versions/list.md", - "sha256": "9f468126bf1631983637aa5139ac182c07d8bba8aba1cf929e91923add5f11ae", - "size": 12115 + "path": "en/api/ruby/beta/vaults/credentials/update.md", + "sha256": "6f1aa1d0352248e2529761374a21f743e4b2cf42e5ebf06e74ad5bd7e11368db", + "size": 12669 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memory_versions/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/retrieve", "status": "success", - "path": "en/api/typescript/beta/memory_stores/memory_versions/retrieve.md", - "sha256": "3ad79e923413449319d8806dca3fb54a03f322ea3abdb973794e2aafa2471dca", - "size": 10171 + "path": "en/api/ruby/beta/vaults/credentials/retrieve.md", + "sha256": "1eeb515a21294b53e8e3edab3a580fcac9d59cf02f64eab8a7dd59fbecaf0638", + "size": 8061 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/memory_stores/memory_versions/redact", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/delete", "status": "success", - "path": "en/api/typescript/beta/memory_stores/memory_versions/redact.md", - "sha256": "faea2824910aebe9c2704076eba913369667b1e5dd50c7775a4347955bdf647e", - "size": 9434 + "path": "en/api/ruby/beta/vaults/credentials/delete.md", + "sha256": "ba7b3596d6cf7fa4342f4f316d5f0c152aa01f6d50499ce3d75b68631da5ec1d", + "size": 3593 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/versions/create", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/list", "status": "success", - "path": "en/api/typescript/beta/skills/versions/create.md", - "sha256": "ced6fc8ef834298f198c8b81f7047427d2d5b620f8f73083c1a8240e9472cf88", - "size": 4689 + "path": "en/api/ruby/beta/vaults/credentials/list.md", + "sha256": "df5affa9c4df558e9f953a5b6184d07a3182d90d30ed7ce2ded590041b614b40", + "size": 8478 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/versions/download", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/archive", "status": "success", - "path": "en/api/typescript/beta/skills/versions/download.md", - "sha256": "ad9f0b1da0de96edbb41637800db09c177db21229b5a4f3cc410b3d907151518", - "size": 3658 + "path": "en/api/ruby/beta/vaults/credentials/archive.md", + "sha256": "3f437cd5b3099d5f19c0988490e3e0073609d1ee5308e14659b5eeec2224cf5d", + "size": 8063 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/versions/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/mcp_oauth_validate", "status": "success", - "path": "en/api/typescript/beta/skills/versions/list.md", - "sha256": "ae75e0095b988bc1f7ecf4b6fff2c9199ea0c7e49747959c6f0c2a204ff1a4c4", - "size": 4879 + "path": "en/api/ruby/beta/vaults/credentials/mcp_oauth_validate.md", + "sha256": "152f409bab181c4ccf2d765228ee4d3abbe81f8c780db0e4fbb44856957d9415", + "size": 6868 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/versions/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/versions/create", "status": "success", - "path": "en/api/typescript/beta/skills/versions/retrieve.md", - "sha256": "62c2a852f5f8d8b02e255d79bc29b4d018b45955b2b82a9a97c40dc300d523f6", - "size": 4778 + "path": "en/api/ruby/beta/skills/versions/create.md", + "sha256": "87708bc4eeaba8b33dbecd23c2fe60d1a81f2ea7cc3c4d1f13af4d9742170293", + "size": 4419 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/skills/versions/delete", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/versions/download", "status": "success", - "path": "en/api/typescript/beta/skills/versions/delete.md", - "sha256": "b23dbfc4fd458a045a3bf3ce78eb91e28f1d63a4710b736eabf5eea5023a68cd", - "size": 3965 + "path": "en/api/ruby/beta/skills/versions/download.md", + "sha256": "0ba55cfa795203e0e6006d0b9e4fbacaac79dc4ccb54f98c81ae83d7076d6bcf", + "size": 3343 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/versions/retrieve", "status": "success", - "path": "en/api/typescript/beta/sessions/threads/list.md", - "sha256": "0e67c19ee8254225a5ca908e85ab048807d876bdc09b029ba5292e1beff5e805", - "size": 34827 + "path": "en/api/ruby/beta/skills/versions/retrieve.md", + "sha256": "17fc42a2df42b6ae1250ed8584827645189e8579b026eddec55c35ca5317f7c7", + "size": 4515 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/versions/delete", "status": "success", - "path": "en/api/typescript/beta/sessions/threads/retrieve.md", - "sha256": "f3980692739e5c9dee2b71bdc9325168e39563ab1ad8606e42e23331d4801789", - "size": 33892 + "path": "en/api/ruby/beta/skills/versions/delete.md", + "sha256": "b30f4116b23f4c62f9b398d4450c2348f89cfd796cfad396410ede903ff443d8", + "size": 3700 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads/events", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/versions/list", "status": "success", - "path": "en/api/typescript/beta/sessions/threads/events.md", - "sha256": "8b68e3a03448bde47dd37e797b11fba0811af9537a040c81d3d9362cecc49827", - "size": 202724 + "path": "en/api/ruby/beta/skills/versions/list.md", + "sha256": "6c78ea17d74d35bd66bf5676502d037bb3011cab8bd7bbbf27222253f018abff", + "size": 4520 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads/archive", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches/cancel", "status": "success", - "path": "en/api/typescript/beta/sessions/threads/archive.md", - "sha256": "6eb6aeb83f70e9d0f539e0976dd93b225bf7ba2f39425ecf0c61ae5df471557e", - "size": 33909 + "path": "en/api/ruby/beta/messages/batches/cancel.md", + "sha256": "d4acdc79d19748f06e274a295734dcbc65ea0e258b8e2186922bf15353b63514", + "size": 7101 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/resources/update", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches/create", "status": "success", - "path": "en/api/typescript/beta/sessions/resources/update.md", - "sha256": "9de2a65c6ad4014477e47fa356a7f799ee2a3ce38073a7b3b38501d8e2fea9f6", - "size": 6459 + "path": "en/api/ruby/beta/messages/batches/create.md", + "sha256": "8c8e7de284fec5c84191a70904b04cb76a7fde5e06ff97efee0764ea9cca9c43", + "size": 162533 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/resources/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches/retrieve", "status": "success", - "path": "en/api/typescript/beta/sessions/resources/list.md", - "sha256": "a1e170c2000eec5d2b6fa309f2266c9fda8887cb180384f66fcc142a3c245610", - "size": 6859 + "path": "en/api/ruby/beta/messages/batches/retrieve.md", + "sha256": "4a41ca961524d4712a7850bea13d8d1be9d580ec6a87cb1307f454797b86abf6", + "size": 6793 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/resources/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches/delete", "status": "success", - "path": "en/api/typescript/beta/sessions/resources/retrieve.md", - "sha256": "8e60f2a49a922e7b3f0aa5100a52c63f63b1d1100f2c39650b1e57e2955dc4e3", - "size": 6236 + "path": "en/api/ruby/beta/messages/batches/delete.md", + "sha256": "61679503f401255a75edcbdc5d800b4abcca44251ebf198084d2c14d2e5fa6a6", + "size": 3664 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/resources/add", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches/list", "status": "success", - "path": "en/api/typescript/beta/sessions/resources/add.md", - "sha256": "b9f41c2d832391c957ed5c5774fa96ac479f927cd89ba34fcba0025656b1eddf", - "size": 4143 + "path": "en/api/ruby/beta/messages/batches/list.md", + "sha256": "0bb97c86af633622aa3d664e8a3375447710cf4429235bf91bc563e885d2fd11", + "size": 7187 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/resources/delete", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches/results", "status": "success", - "path": "en/api/typescript/beta/sessions/resources/delete.md", - "sha256": "08904eae0d35a3c61d9d2007489cdef8ea2d4b5048a664c222c4911319f372c4", - "size": 3680 + "path": "en/api/ruby/beta/messages/batches/results.md", + "sha256": "4407350e1f4c21dc941fe68079899b0bcee877bc60ae0e3d4d45b4e57ebaa7ff", + "size": 145949 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/events/send", + "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": "8b29668a82b3e1d13b7063d33957130e6886ada4dfd22d9875f61aad80b51160", + "size": 4811 + }, + { + "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/certificates/retrieve", "status": "success", - "path": "en/api/typescript/beta/sessions/events/send.md", - "sha256": "41a612324e0c2f1e0a464bc8208f444f3f6fce42d3f8c18066bc4ffa950ebbb0", - "size": 26695 + "path": "en/api/ruby/beta/tunnels/certificates/retrieve.md", + "sha256": "044ee98a6966fdd86e9f48bd1ffb2338e65571e6927f8223b6e1658f478338b2", + "size": 4561 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/events/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/certificates/list", "status": "success", - "path": "en/api/typescript/beta/sessions/events/list.md", - "sha256": "20a80681a176f370d178d0ac38ad160da238f5adf8e5746ed63bed6bf62439ab", - "size": 102294 + "path": "en/api/ruby/beta/tunnels/certificates/list.md", + "sha256": "dd19c8342b7d004ef60395e47c10f611b4d62e506620d823d04d3375554e50d2", + "size": 4935 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/events/stream", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/certificates/archive", "status": "success", - "path": "en/api/typescript/beta/sessions/events/stream.md", - "sha256": "f5490d11c8f78544be0526dcb7d0c243ff3c1b2fa4e6242ff54f8c23c197916f", - "size": 102799 + "path": "en/api/ruby/beta/tunnels/certificates/archive.md", + "sha256": "a310aba670e696b602800f0ed8b3348d7c5012526ed1ad3794a7304abdb42f82", + "size": 4798 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads/events/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/poll", "status": "success", - "path": "en/api/typescript/beta/sessions/threads/events/list.md", - "sha256": "99488275bef92b823625d39f754156b5101562cf916de66f87719af2d698bdc0", - "size": 99859 + "path": "en/api/ruby/beta/environments/work/poll.md", + "sha256": "f6f00408c269e364fe038b510dcd05e575fa6f1ca6a43b9c2d5c686c21737554", + "size": 5620 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/sessions/threads/events/stream", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/update", "status": "success", - "path": "en/api/typescript/beta/sessions/threads/events/stream.md", - "sha256": "f24a081344939cda3d087cf558caa7bf49a0ab5314fc3f1eb97df5e2afb0bc2c", - "size": 103006 + "path": "en/api/ruby/beta/environments/work/update.md", + "sha256": "b1b612de02d784d447b9161ef693a3874ec9ad6ccfd5746d121dd42405a76312", + "size": 5693 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/certificates/create", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/stop", "status": "success", - "path": "en/api/typescript/beta/tunnels/certificates/create.md", - "sha256": "7dd368285250aae653d0e10c4eda3ac841608bd5848f14b25955bfab92c2e92d", - "size": 5064 + "path": "en/api/ruby/beta/environments/work/stop.md", + "sha256": "33aaf5fe139dabcede0f54fdb890e117ffd5ee02e0d81bdd3adae851bae1ec7f", + "size": 5568 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/certificates/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/retrieve", "status": "success", - "path": "en/api/typescript/beta/tunnels/certificates/list.md", - "sha256": "c042c6bd2f3432ac2151daf494d8571db881a7c6836573340f3e7baf6bc3d4fb", - "size": 5290 + "path": "en/api/ruby/beta/environments/work/retrieve.md", + "sha256": "1ebe6ea0a662a6bddaa85c8a7c8541e0b927538ebe7aeaeb809cf69a5a44d11a", + "size": 5505 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/certificates/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/heartbeat", "status": "success", - "path": "en/api/typescript/beta/tunnels/certificates/retrieve.md", - "sha256": "1bd4edbdfd985feb808662906cd5a8b3cc3eaf6383acec1721cfed4f5a75b47c", - "size": 4818 + "path": "en/api/ruby/beta/environments/work/heartbeat.md", + "sha256": "4d3c24fb826d3b75d4dd9e446ad245aabab4a50c9e9f731da56f1e55ecd8db62", + "size": 4279 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/tunnels/certificates/archive", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/list", "status": "success", - "path": "en/api/typescript/beta/tunnels/certificates/archive.md", - "sha256": "ea8bd538c283f4b4cb391cd7cd1a5f96a74682ff4a2da706f9924c697494cc3c", - "size": 5054 + "path": "en/api/ruby/beta/environments/work/list.md", + "sha256": "a4b88eac0d47c230dcc4c0061fded46116a84b326c667e4a3dc71b7d161877e6", + "size": 5354 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/agents/versions/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/stats", "status": "success", - "path": "en/api/typescript/beta/agents/versions/list.md", - "sha256": "29c386ac7d1fc4cfd1cf6304774d95e9d9eca63f4ade4b78bb3865d3fd7324ac", - "size": 31300 + "path": "en/api/ruby/beta/environments/work/stats.md", + "sha256": "54462089badef1581a1b2e3c8690f5279717c070568f7e07c31581976c4c2bb4", + "size": 3944 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/create", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/ack", "status": "success", - "path": "en/api/typescript/beta/vaults/credentials/create.md", - "sha256": "0b33659a7892db70e4e5342237c748c3090525bdbfc002213318f69442d783a6", - "size": 13001 + "path": "en/api/ruby/beta/environments/work/ack.md", + "sha256": "dfc539fea63dbc9ef89c126b8c9aef7bb60dc81850b125394cbef2cde48a2e08", + "size": 5198 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/update", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/versions/list", "status": "success", - "path": "en/api/typescript/beta/vaults/credentials/update.md", - "sha256": "35edee626df03d383bfeb0b0c34c58419298e9d34da7f75682614d85b3bf1816", - "size": 12210 + "path": "en/api/ruby/beta/agents/versions/list.md", + "sha256": "427eca4e8e42c839e5dc3e4edec4973fc2a4e39d9162c8042f8f7bfb674fb283", + "size": 30484 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memories/create", "status": "success", - "path": "en/api/typescript/beta/vaults/credentials/list.md", - "sha256": "587d07d18a0cdcfa9fb94b2e79967140fe312a2269bbc8863dd912e414b014e0", - "size": 8585 + "path": "en/api/ruby/beta/memory_stores/memories/create.md", + "sha256": "05827a76abd1aeb340202a38703d46b1b07128e74498ca9da7ce3955a481fc96", + "size": 7210 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/mcp_oauth_validate", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memories/update", "status": "success", - "path": "en/api/typescript/beta/vaults/credentials/mcp_oauth_validate.md", - "sha256": "549a204c631f360dc32a5b514f17994c6c61ec8feed6193f8e70fdd19c9ab32c", - "size": 6819 + "path": "en/api/ruby/beta/memory_stores/memories/update.md", + "sha256": "055edef4b112de41ed4b29d74d4d52bb1930c515a24f3d9edc07e642cb3a4a5d", + "size": 8011 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memories/retrieve", "status": "success", - "path": "en/api/typescript/beta/vaults/credentials/retrieve.md", - "sha256": "3afa11d86fb19291437e94e6327994c2d2a6537bffa0712ca4fb212c62b371c4", - "size": 8191 + "path": "en/api/ruby/beta/memory_stores/memories/retrieve.md", + "sha256": "9cc5302f2794f1741856b846ce79e079d78090657a68b3c66113db87eb9313f0", + "size": 6745 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/delete", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memories/delete", "status": "success", - "path": "en/api/typescript/beta/vaults/credentials/delete.md", - "sha256": "510920bb6068749403228814895ff97417c3b2b44bae80df954c8d6ce00ae9f2", - "size": 3802 + "path": "en/api/ruby/beta/memory_stores/memories/delete.md", + "sha256": "6c5c3207b6bd257d38f29433583bd58e65d26a035281898a1b945fa592c6af74", + "size": 4294 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/archive", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memories/list", "status": "success", - "path": "en/api/typescript/beta/vaults/credentials/archive.md", - "sha256": "bcdc803df7ed9a6d28cf6983012ca9ba944fbb03d40a93902615bafd541f3871", - "size": 8207 + "path": "en/api/ruby/beta/memory_stores/memories/list.md", + "sha256": "d0e13958214d947e675dc222ef2f5d21a29109a8ec30cecd43d501c764967e4b", + "size": 8690 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/update", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memory_versions/retrieve", "status": "success", - "path": "en/api/typescript/beta/environments/work/update.md", - "sha256": "0a160285f049f7d9d0f235e3e85723338286f0a5fec60e80fc3f7f72b8665fb2", - "size": 5994 + "path": "en/api/ruby/beta/memory_stores/memory_versions/retrieve.md", + "sha256": "065e2d1a3cc2f7d58fc6fef0ccb8ca5c83774db7b520525ad9ab3e1b1537c191", + "size": 9841 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/list", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memory_versions/list", "status": "success", - "path": "en/api/typescript/beta/environments/work/list.md", - "sha256": "cfa4f46c27a67c424eb491608794e48bec53357f084bdc0c90b3e728084fcefe", - "size": 5744 + "path": "en/api/ruby/beta/memory_stores/memory_versions/list.md", + "sha256": "111701153179b4b0eae2636dbfa43eef5ddc9fc00d2091314aebe68bd430cbbd", + "size": 11597 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/stop", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memory_versions/redact", "status": "success", - "path": "en/api/typescript/beta/environments/work/stop.md", - "sha256": "b015200507b5809e5d9797ca4c0dc2daa948e41a7116592aa0dfe24e33d44848", - "size": 5866 + "path": "en/api/ruby/beta/memory_stores/memory_versions/redact.md", + "sha256": "286aa18a1e77b65f89560d626001ca991e3545c008373d0e3000ee6513a4405d", + "size": 9121 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/retrieve", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads/retrieve", "status": "success", - "path": "en/api/typescript/beta/environments/work/retrieve.md", - "sha256": "5dabdd818002b780fd4ecf89ba10b41dd939e9a4758ae5bc4934dcb17d6ef9fa", - "size": 5799 + "path": "en/api/ruby/beta/sessions/threads/retrieve.md", + "sha256": "ec443378fb66310f4e9227633fdd34307487f45b2597a88bcb87c7b8b15a5e9d", + "size": 33147 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/ack", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads/list", "status": "success", - "path": "en/api/typescript/beta/environments/work/ack.md", - "sha256": "142be354ba7822c2b1048edbdec109bc969eb352e5af43cc2cf563a315e24610", - "size": 5480 + "path": "en/api/ruby/beta/sessions/threads/list.md", + "sha256": "1c531e1888791ce56319e503ec0eeea4967e58a8e6ca078602c1d72f2f8910f9", + "size": 33939 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/stats", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads/archive", "status": "success", - "path": "en/api/typescript/beta/environments/work/stats.md", - "sha256": "88d55b39c3217743b251621b0343628fd9aa55c945f1494239129ae56dfe059b", - "size": 4217 + "path": "en/api/ruby/beta/sessions/threads/archive.md", + "sha256": "f09cf0dace9919a1f1c945d508e80b7295ba024c79e64bcdcb17db639fab232d", + "size": 33165 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/heartbeat", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads/events", "status": "success", - "path": "en/api/typescript/beta/environments/work/heartbeat.md", - "sha256": "f2f7cc94e0e4b37b7df058e1f53acaa90407aca82b7f884877793fc2af47403f", - "size": 4569 + "path": "en/api/ruby/beta/sessions/threads/events.md", + "sha256": "d756dd664326bf0c6f174aa9fec2d580c08eb2d30b1d569f27c4cbf9ad202367", + "size": 198799 }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/environments/work/poll", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/events/send", "status": "success", - "path": "en/api/typescript/beta/environments/work/poll.md", - "sha256": "0ca2c1369996d9d3150b07cdb9d0e9ee349232ddfd9b24a348d2ee9b47c4d2b7", - "size": 5680 + "path": "en/api/ruby/beta/sessions/events/send.md", + "sha256": "2cd6239f13643a42b57f5494b78d05b29de9d0ff2689342457f3a967750f208d", + "size": 25599 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/events/stream", "status": "success", - "path": "en/api/python/beta/sessions.md", - "sha256": "acc08ba8336c4fbf8403b79e263a78a503250b0d9b187f81341fa3e73a539ae6", - "size": 1172455 + "path": "en/api/ruby/beta/sessions/events/stream.md", + "sha256": "7890561bb283a0c800031643d4968fd17b8c7a6f1ad41dec8a2d83c1d9217dad", + "size": 100860 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/webhooks", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/events/list", "status": "success", - "path": "en/api/python/beta/webhooks.md", - "sha256": "9827bbe589c549ca9d3831c95bb443a1458722aef0c1ae8c2cace5ee9daa6608", - "size": 34106 + "path": "en/api/ruby/beta/sessions/events/list.md", + "sha256": "777fb514e8b13b511ad3bd25daf52791848c635632ca6a6fc72b7bff1b0c79c6", + "size": 100211 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/skills", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/resources/update", "status": "success", - "path": "en/api/python/beta/skills.md", - "sha256": "c4b551b1a76669205ea498d70c2f8033f70345a362d0891d1281915c9f66724f", - "size": 41893 + "path": "en/api/ruby/beta/sessions/resources/update.md", + "sha256": "edf204a04717a1adbf3524f1b1a81aa3121f53711f6b6db28884d519a0cc9d66", + "size": 6157 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/agents", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/resources/add", "status": "success", - "path": "en/api/python/beta/agents.md", - "sha256": "1a483042a815a5ecf78869b631dd980c3cb72a20608f4a406d8ef292d62a92fc", - "size": 451860 + "path": "en/api/ruby/beta/sessions/resources/add.md", + "sha256": "60dc22990e2ff532cb4bc282fd514377fa560afca4c42c85ec7f309b8afae56f", + "size": 3902 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/deployments", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/resources/retrieve", "status": "success", - "path": "en/api/python/beta/deployments.md", - "sha256": "7a96083ad455cfbcc0d64bdc245f82e8be8ccb8fc88338b451ae31d0e09fb068", - "size": 218197 + "path": "en/api/ruby/beta/sessions/resources/retrieve.md", + "sha256": "6916f5b995717fd5d64d87c6c92d1395f9c025974b78075c9cdf846786fbd8fd", + "size": 5936 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/deployment_runs", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/resources/delete", "status": "success", - "path": "en/api/python/beta/deployment_runs.md", - "sha256": "15cea7298e536c8d19aae231816fd737bd2bdc47249b6871f1ed636fefb35b31", - "size": 32281 + "path": "en/api/ruby/beta/sessions/resources/delete.md", + "sha256": "1114d96f4a83659829630b8c6e0b4cb22181867a5013a3628d3d784d99c9219e", + "size": 3462 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/user_profiles", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/resources/list", "status": "success", - "path": "en/api/python/beta/user_profiles.md", - "sha256": "6996b9842e116828dba62365e75cea05043cf7894b58b9443e39b66183d54dc9", - "size": 57711 + "path": "en/api/ruby/beta/sessions/resources/list.md", + "sha256": "e4393abf387aa1f6e007191a07020f43711a03588bf0e105758dbd88599a642f", + "size": 6439 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/models", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads/events/stream", "status": "success", - "path": "en/api/python/beta/models.md", - "sha256": "037c49a8157755d0c920006d38f8aa4f300581a335ec6dddb8f1f7c0e30065e8", - "size": 40550 + "path": "en/api/ruby/beta/sessions/threads/events/stream.md", + "sha256": "dbdd55cacd5b81e7a265591948901fdeeada1edab4505d6b108d8bbd3e12a290", + "size": 101050 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/vaults", + "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads/events/list", "status": "success", - "path": "en/api/python/beta/vaults.md", - "sha256": "c944652b4232613230ff6e38c0e23064a4354678958514016230ecd7bcb45d81", - "size": 80953 + "path": "en/api/ruby/beta/sessions/threads/events/list.md", + "sha256": "e37f7315828dafb3107447f9196b8e798aaf5517462903831b09ad780a0dc37f", + "size": 97884 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores", + "url": "https://platform.claude.com/docs/en/api/ruby/messages/batches/cancel", "status": "success", - "path": "en/api/python/beta/memory_stores.md", - "sha256": "da18ec04ceed409335920c8f314713446a98e5ad310009a21865d3ec9386e165", - "size": 98953 + "path": "en/api/ruby/messages/batches/cancel.md", + "sha256": "f6f4be4ef805eb638926a719b3c415628bb091dd3b43185bd198333750838383", + "size": 5030 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels", + "url": "https://platform.claude.com/docs/en/api/ruby/messages/batches/create", "status": "success", - "path": "en/api/python/beta/tunnels.md", - "sha256": "d5bcb6787760e3c200d35bbb1e27e2fa3f00a3e455f7a87709bddac178a86033", - "size": 45592 + "path": "en/api/ruby/messages/batches/create.md", + "sha256": "e97f423a85ed6fdf12fc644629ced345c69748d466f3ce23342b8e994f6dea3d", + "size": 107494 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/environments", + "url": "https://platform.claude.com/docs/en/api/ruby/messages/batches/retrieve", "status": "success", - "path": "en/api/python/beta/environments.md", - "sha256": "591402cdd18ff5c87294336999a238832bef817f5e75b2467d05ea82c2e1eaae", - "size": 94753 + "path": "en/api/ruby/messages/batches/retrieve.md", + "sha256": "f78e3197b9660b1e95750de381ef235dc8ab5e4a59b82edff64b159bb2d0700a", + "size": 4722 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/files", + "url": "https://platform.claude.com/docs/en/api/ruby/messages/batches/delete", "status": "success", - "path": "en/api/python/beta/files.md", - "sha256": "3b60c6e79f4483fe5860853e4f8f8b9e5c9f57dee6706705e7b378400577521e", - "size": 22681 + "path": "en/api/ruby/messages/batches/delete.md", + "sha256": "9b9980d90ddc834c06d4e25e83b4ea1ea0864befb1136082c9a30d362cedbe45", + "size": 1597 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/messages", + "url": "https://platform.claude.com/docs/en/api/ruby/messages/batches/list", "status": "success", - "path": "en/api/python/beta/messages.md", - "sha256": "fac97f30e235d3e89345e0563c42f465c95c480674bc44bbef7405af8a7f4387", - "size": 2903064 + "path": "en/api/ruby/messages/batches/list.md", + "sha256": "4d1de6dacf278bd9f8d34bb025d16f4685371ace5771829ada90396e26dd31e4", + "size": 5126 }, { - "url": "https://platform.claude.com/docs/en/api/python/models/list", + "url": "https://platform.claude.com/docs/en/api/ruby/messages/batches/results", "status": "success", - "path": "en/api/python/models/list.md", - "sha256": "4dbdf7bb4c140befb059481231b6ec6842c188b5a5ac3d2cf0887be036194579", - "size": 12356 + "path": "en/api/ruby/messages/batches/results.md", + "sha256": "2092cb8d48ae7d02ca88ebec27bf2b7f5ec19d9ec18676bb245ce5d9d43e95bf", + "size": 33405 }, { - "url": "https://platform.claude.com/docs/en/api/python/models/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/models/retrieve", "status": "success", - "path": "en/api/python/models/retrieve.md", - "sha256": "a7256f1d54cce02767b62a545d8ce057f806e9264dc43090cf7acbee63bbb4ef", - "size": 11063 + "path": "en/api/php/models/retrieve.md", + "sha256": "6db6c5809b642edcdac8568d634e734aa8219dc1daab7139117e7ec90ec87381", + "size": 5250 }, { - "url": "https://platform.claude.com/docs/en/api/python/completions/create", + "url": "https://platform.claude.com/docs/en/api/php/models/list", "status": "success", - "path": "en/api/python/completions/create.md", - "sha256": "dd5c482f5e9cfcbb4040c1118dfe11597fd03952f8cd6d5201624392603f65b9", - "size": 13272 + "path": "en/api/php/models/list.md", + "sha256": "65d3a479bdc347ed60ae562c1cb1d0b8acba7cbfdb23a76ffcdd87e6f5e25f7f", + "size": 6569 }, { - "url": "https://platform.claude.com/docs/en/api/python/messages/create", + "url": "https://platform.claude.com/docs/en/api/php/completions/create", "status": "success", - "path": "en/api/python/messages/create.md", - "sha256": "b42a20ba5f322c1d02efdd9168b8f7ca11177de04ea1a18841374a5b3eb28f3a", - "size": 135868 + "path": "en/api/php/completions/create.md", + "sha256": "4d9eef8d81a69fde10bbc520c0444ec55568509b8c31822ad1b26706e2b80950", + "size": 13269 }, { - "url": "https://platform.claude.com/docs/en/api/python/messages/count_tokens", + "url": "https://platform.claude.com/docs/en/api/php/messages/batches", "status": "success", - "path": "en/api/python/messages/count_tokens.md", - "sha256": "5f68cb900a9bd101dafd5f5c48da12534d52b28f5b825928feb119305d3fc5ca", - "size": 96271 + "path": "en/api/php/messages/batches.md", + "sha256": "2ab5fbab26121e328c5131f53e20e5064a0248328b168c5e11fc870987b04d08", + "size": 26766 }, { - "url": "https://platform.claude.com/docs/en/api/python/messages/batches", + "url": "https://platform.claude.com/docs/en/api/php/messages/create", "status": "success", - "path": "en/api/python/messages/batches.md", - "sha256": "679c167fab2a3e1013468bce6b794f033665c8fef5fab5244e8c75e04f002e79", - "size": 271441 + "path": "en/api/php/messages/create.md", + "sha256": "3af797f3522c8af3338bab35e5dbff06950237bdbf46e40ef4a6a7c01c0840fa", + "size": 21454 }, { - "url": "https://platform.claude.com/docs/en/api/python/messages/batches/create", + "url": "https://platform.claude.com/docs/en/api/php/messages/count_tokens", "status": "success", - "path": "en/api/python/messages/batches/create.md", - "sha256": "608cffeb3435d912733cf12230b8011089e7e2ecd0bd86ce857c63c55a2e41f6", - "size": 111065 + "path": "en/api/php/messages/count_tokens.md", + "sha256": "4e5455caa3d5e6ee20010fa6cac38c1acf1353dbdc2927a68fcce319518fcfd2", + "size": 10444 }, { - "url": "https://platform.claude.com/docs/en/api/python/messages/batches/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/files", "status": "success", - "path": "en/api/python/messages/batches/list.md", - "sha256": "8ed1db0a6767cb02ffb6cd6ba09290c0fafa516b783e3edf130a9938c73d43c8", - "size": 5455 + "path": "en/api/php/beta/files.md", + "sha256": "e7c1f2413d11d443e1823acb7cd1dd67092527fe22811e7d4cfd89ab4609f03b", + "size": 12478 }, { - "url": "https://platform.claude.com/docs/en/api/python/messages/batches/cancel", + "url": "https://platform.claude.com/docs/en/api/php/beta/user_profiles", "status": "success", - "path": "en/api/python/messages/batches/cancel.md", - "sha256": "2c6dfa35934fe1d7d2d15fad2f50fb8dcacb057624b35eeef6664c0a09be6b3b", - "size": 5321 + "path": "en/api/php/beta/user_profiles.md", + "sha256": "66a31296f3e90f012860a75b212c9c34dc6f5bdf5237fc8d956d5b4f8856f678", + "size": 29283 }, { - "url": "https://platform.claude.com/docs/en/api/python/messages/batches/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels", "status": "success", - "path": "en/api/python/messages/batches/retrieve.md", - "sha256": "b41e490112e56042477095dda97d1a6e848b1ad3c940189d5fc96b4e6ab125fa", - "size": 5013 + "path": "en/api/php/beta/tunnels.md", + "sha256": "387a7ca5afdc78164375ba7ee95557cca5f0d0ce01243fec50317b36274fa02b", + "size": 27065 }, { - "url": "https://platform.claude.com/docs/en/api/python/messages/batches/results", + "url": "https://platform.claude.com/docs/en/api/php/beta/webhooks", "status": "success", - "path": "en/api/python/messages/batches/results.md", - "sha256": "adc1d36d76c0e83234e1dac5f739dbf71667b6262142ee1d7b7e001b76e07bcb", - "size": 37098 + "path": "en/api/php/beta/webhooks.md", + "sha256": "4bd4b80b2c42b0ce435fa8eaf3e230f5de4f4294b9fe1f2766ccf71152d6c7ac", + "size": 22518 }, { - "url": "https://platform.claude.com/docs/en/api/python/messages/batches/delete", + "url": "https://platform.claude.com/docs/en/api/php/beta/environments", "status": "success", - "path": "en/api/python/messages/batches/delete.md", - "sha256": "0301eadc5ae4c3f4eb9222fb8bb2d9f5c5c3bc93aeba9f9ec4dd231898b7b318", - "size": 1756 + "path": "en/api/php/beta/environments.md", + "sha256": "1e1f57d627d74701062d5227c8a2f6d91453e5272a2f808af833bbcda4a78cb8", + "size": 47301 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/environments/create", + "url": "https://platform.claude.com/docs/en/api/php/beta/messages", "status": "success", - "path": "en/api/python/beta/environments/create.md", - "sha256": "2916cfcbf7cbb6c4bd65948f4eea0973a237488006d0eaab5ba5561d4a8661e6", - "size": 9685 + "path": "en/api/php/beta/messages.md", + "sha256": "c45f3207c1e9e1eda4d20e930480a0c7d3015888e2bcee24247ee0dc09e38a76", + "size": 376848 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/environments/update", + "url": "https://platform.claude.com/docs/en/api/php/beta/agents", "status": "success", - "path": "en/api/python/beta/environments/update.md", - "sha256": "2081902418069f58ff4035de410164efec5ab490f8910acf6b29fb36e292230a", - "size": 9804 + "path": "en/api/php/beta/agents.md", + "sha256": "ab7fd019dd824bd152972719d6c53f48092a2cbed3d1761ccd4ef7e0241340fb", + "size": 81651 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/environments/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/deployment_runs", "status": "success", - "path": "en/api/python/beta/environments/list.md", - "sha256": "06fa251cc75b66951653112feb2807701e60c00984ef9f6180fb0d46661ab282", - "size": 7290 + "path": "en/api/php/beta/deployment_runs.md", + "sha256": "55e1a1eb994cb47b688e4b496a7b3edd81d2a068c2adeaad25f9361c9f59d098", + "size": 11921 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/environments/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions", "status": "success", - "path": "en/api/python/beta/environments/retrieve.md", - "sha256": "da251b81606ba619ba7693a9416ccd93e2ed6101456f1c050fa672728930d902", - "size": 6754 + "path": "en/api/php/beta/sessions.md", + "sha256": "2fe44d1bae4a75c48ceb7f67baaf00945fda95a8a928a4408456307a270159a5", + "size": 197873 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/environments/delete", + "url": "https://platform.claude.com/docs/en/api/php/beta/models", "status": "success", - "path": "en/api/python/beta/environments/delete.md", - "sha256": "eab9cd6a4ce56521d50a0e2fddc1f79ff5772625dba5c54ace60468769a3a501", - "size": 3459 + "path": "en/api/php/beta/models.md", + "sha256": "56cb4eca7eafce673e02f56769ab043c11aad571f929020e2ef342cffcae81b8", + "size": 19640 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work", + "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores", "status": "success", - "path": "en/api/python/beta/environments/work.md", - "sha256": "3a668dd53c1eab6faf50ef14eff2a0e33d3be6be1484650cb72795ed94d29a9b", - "size": 47561 + "path": "en/api/php/beta/memory_stores.md", + "sha256": "def07f847ebf3e1122f7f84d78e825233e79916df5aeacbae3ed6da9c82459ed", + "size": 60268 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/environments/archive", + "url": "https://platform.claude.com/docs/en/api/php/beta/vaults", "status": "success", - "path": "en/api/python/beta/environments/archive.md", - "sha256": "81d5abfcf2901edac08159ed0d1b63e607d7cf04ceb0154646bcc62570e30801", - "size": 6820 + "path": "en/api/php/beta/vaults.md", + "sha256": "3c1470cfbed4c908af2d372fe69ec37b821e5a1dee211c2a5c73bf63e5ec3910", + "size": 32794 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/deployment_runs/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/deployments", "status": "success", - "path": "en/api/python/beta/deployment_runs/list.md", - "sha256": "facf59ff6f73e0eb439f2d6d18d8155dad9693683dbf861949e89611b90d3d7f", - "size": 10867 + "path": "en/api/php/beta/deployments.md", + "sha256": "bc69a6b6cb3c558a6e73d6d3369706c5502cb9f5ab13a625906b3c707fc8dc15", + "size": 55759 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/deployment_runs/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/skills", "status": "success", - "path": "en/api/python/beta/deployment_runs/retrieve.md", - "sha256": "2659e90f8dc6bf9684d7654383daa8dcf65bf7b93365fa8d73ef82cd85031247", - "size": 9377 + "path": "en/api/php/beta/skills.md", + "sha256": "64d5d4f4ba1106e183b4e0ad120bbf2837e5c1b424db1fe1c75a88ed0afd842b", + "size": 23613 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/create", + "url": "https://platform.claude.com/docs/en/api/php/beta/files/retrieve_metadata", "status": "success", - "path": "en/api/python/beta/vaults/create.md", - "sha256": "b6f669de46a823d131e9b47c8e8ba1f6f52a6e072e1d18964d62bd107ae37827", - "size": 4126 + "path": "en/api/php/beta/files/retrieve_metadata.md", + "sha256": "bb087b264f81ce16dd49416cbe482e99eead26482635df9da46d3ca11000bce6", + "size": 2517 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/update", + "url": "https://platform.claude.com/docs/en/api/php/beta/files/download", "status": "success", - "path": "en/api/python/beta/vaults/update.md", - "sha256": "1de8a79fabf8125450db1f8d6eeee4a769f45e3a4585e4b8e4af5788bcf6d030", - "size": 4256 + "path": "en/api/php/beta/files/download.md", + "sha256": "9445d9cc20c53697e937cf56cb2b1a41d80d8e3c10e286d56ec8ad1c6bc76c1a", + "size": 1193 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/files/delete", "status": "success", - "path": "en/api/python/beta/vaults/list.md", - "sha256": "4e895e862b9923a1b1674067cee0f4c9dafcf633b3ca57a02be6b8abf90073c9", - "size": 4279 + "path": "en/api/php/beta/files/delete.md", + "sha256": "a81aa64e3359032e79e5e83cccac80bb265e9f4f483ddf664a8a03203acfbc8f", + "size": 1463 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/files/list", "status": "success", - "path": "en/api/python/beta/vaults/retrieve.md", - "sha256": "4110ec44c3c42f25f69918380ee2fa6efea61bbfdfa7c84ef03eb6195addc7a5", - "size": 3967 + "path": "en/api/php/beta/files/list.md", + "sha256": "f30210224923a8cd2ed036b068f7a8f112f1bb6716be7668dee5f8c12528c3f2", + "size": 3389 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials", + "url": "https://platform.claude.com/docs/en/api/php/beta/files/upload", "status": "success", - "path": "en/api/python/beta/vaults/credentials.md", - "sha256": "1c4afc4d4db9cd064b8d365f5dd5b38517d28eb0edecd060492c07e59778aca1", - "size": 86011 + "path": "en/api/php/beta/files/upload.md", + "sha256": "7ce9ef9e2303eecb5c70ada5faad90d55a20521b2214b2a51e346312e90fb0bc", + "size": 2939 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/delete", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/resources", "status": "success", - "path": "en/api/python/beta/vaults/delete.md", - "sha256": "4d8738389da48f69f52b41f28452323aec5c225f0741f6cfc7ded29430da69a0", - "size": 3353 + "path": "en/api/php/beta/sessions/resources.md", + "sha256": "1751892e37ea921d99b5b777d39ab65407982940beabba8a2efabcf794ab34ea", + "size": 17912 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/archive", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/create", "status": "success", - "path": "en/api/python/beta/vaults/archive.md", - "sha256": "1e0f52d759ecf80f3fa4156a4dbbb1055393cbcc01b2d1f809ba7e639c5a596f", - "size": 3984 + "path": "en/api/php/beta/sessions/create.md", + "sha256": "95793d40dc2743eb1a57752b297792edbbd5b767f2eb35c07de616888508e566", + "size": 9605 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/user_profiles/create", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/update", "status": "success", - "path": "en/api/python/beta/user_profiles/create.md", - "sha256": "70715923ccc9be8ee05e8eeca77539ca01352089d01012cf43330d60b7e9f42a", - "size": 12898 + "path": "en/api/php/beta/sessions/update.md", + "sha256": "d700300f8e68322edee6622c3565aea670f03f9b08c993a6c4ef1ecd0387535a", + "size": 9894 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/user_profiles/update", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/retrieve", "status": "success", - "path": "en/api/python/beta/user_profiles/update.md", - "sha256": "445d2497606a5e4d914576ed7ba24dbfbc8c840b9a0c28745a47c207d939d391", - "size": 12883 + "path": "en/api/php/beta/sessions/retrieve.md", + "sha256": "d3f4141af33efd8a3710793c8c8a77b6e83448ae35c892328ec4a1221a83a640", + "size": 7649 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/user_profiles/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/delete", "status": "success", - "path": "en/api/python/beta/user_profiles/list.md", - "sha256": "ed589f8744d59466159f42a1257c8dde5c5eb0313952a042e9c342c60a85f0c5", - "size": 9818 + "path": "en/api/php/beta/sessions/delete.md", + "sha256": "2c488b81da9c513fb6f3ac63e8dd86aa817c25960518b98f3c7763db8993152a", + "size": 1475 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/user_profiles/create_enrollment_url", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/list", "status": "success", - "path": "en/api/python/beta/user_profiles/create_enrollment_url.md", - "sha256": "7cecf8d8927d324fb10b9a07cb17a8e90d91ccb530971a39368ac1d4a970b5ba", - "size": 3934 + "path": "en/api/php/beta/sessions/list.md", + "sha256": "7240b4a6221f9772dda08971deadc06dd64113b4996b187ab72ed8e38b3bdc79", + "size": 10680 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/user_profiles/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/archive", "status": "success", - "path": "en/api/python/beta/user_profiles/retrieve.md", - "sha256": "a198a4377fa3c59461559cbe515c114a7a1224ba724699633b8cd8aa670449ae", - "size": 8715 + "path": "en/api/php/beta/sessions/archive.md", + "sha256": "d8906056985b99a98d61574988b5ba7297cbce92ef48d62216eb796b211f4940", + "size": 7667 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/agents/create", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/events", "status": "success", - "path": "en/api/python/beta/agents/create.md", - "sha256": "5253629e6a037c619888591f55e5d6aaa410ce4cb196f68c7931654287bcf660", - "size": 65415 + "path": "en/api/php/beta/sessions/events.md", + "sha256": "95d463083ee75f7cec960966dfa0982eb2f89a72d44a150d6217de3f2b6383d3", + "size": 142573 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/agents/update", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/threads", "status": "success", - "path": "en/api/python/beta/agents/update.md", - "sha256": "6981b0fb1e134209aac2423366db1c3ffe3ba0ab3ff45bea751bc8484e0997bb", - "size": 66376 + "path": "en/api/php/beta/sessions/threads.md", + "sha256": "b37b1a5646081c41d9c812b34b25b8e135add56a78172da658df67cbd500b9c6", + "size": 90357 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/agents/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/user_profiles/create_enrollment_url", "status": "success", - "path": "en/api/python/beta/agents/list.md", - "sha256": "41bddd0abe4251fb3a99e22b5343cd25935a115d35faf4abb130aeb9f1d6698a", - "size": 30247 + "path": "en/api/php/beta/user_profiles/create_enrollment_url.md", + "sha256": "9ab8ed387c65bef66dfa9cc88cad7e78eaede7374f17db3431a7d52aa1dff079", + "size": 1999 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/agents/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/user_profiles/create", "status": "success", - "path": "en/api/python/beta/agents/retrieve.md", - "sha256": "bf767536b526f3b359faa0966437c96d3b063a033b6100ac776d7e7f6c72cc0d", - "size": 29494 + "path": "en/api/php/beta/user_profiles/create.md", + "sha256": "cd877a1a23285c0e9559280e58e86ff19451dd29f0727583fe9be0357ba3fc2b", + "size": 6560 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/agents/versions", + "url": "https://platform.claude.com/docs/en/api/php/beta/user_profiles/update", "status": "success", - "path": "en/api/python/beta/agents/versions.md", - "sha256": "c90096ff87aa8739dbec410bcdabc8f06d3198a57d271a5465d7583429fb4fd9", - "size": 30005 + "path": "en/api/php/beta/user_profiles/update.md", + "sha256": "a31118c1eba098573c62ad54126c5b6bfb456b971c305050446497b24e533398", + "size": 6553 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/agents/archive", + "url": "https://platform.claude.com/docs/en/api/php/beta/user_profiles/retrieve", "status": "success", - "path": "en/api/python/beta/agents/archive.md", - "sha256": "b24e5d2cbbfbec37d10f971f0380f348d4a0489fc30e28bc53b5fcae39f97b9d", - "size": 29363 + "path": "en/api/php/beta/user_profiles/retrieve.md", + "sha256": "e7b0305e1b645b2eec8d60a145b7efc642786d189a1b46cc81073b2b5e0f639f", + "size": 4290 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/models/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/user_profiles/list", "status": "success", - "path": "en/api/python/beta/models/list.md", - "sha256": "73ca30073881e4c316daabc7a7d20654e5e24206492c3cd445548d045aeead45", - "size": 13081 + "path": "en/api/php/beta/user_profiles/list.md", + "sha256": "5c198327472f16b7b9e7f70ae534fbf945a620a3d4004a448110ea13baa25eb3", + "size": 4978 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/models/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/deployment_runs/retrieve", "status": "success", - "path": "en/api/python/beta/models/retrieve.md", - "sha256": "a04a940393c368ba92c6b2554635b81a6358bd3d7f31bfa346ce6aa555bc60da", - "size": 11762 + "path": "en/api/php/beta/deployment_runs/retrieve.md", + "sha256": "d6d222c4aff78cc3f28cff7da5fc1918c7fb2ca849e31c76df1df80c3cec13d6", + "size": 2638 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/create", + "url": "https://platform.claude.com/docs/en/api/php/beta/deployment_runs/list", "status": "success", - "path": "en/api/python/beta/tunnels/create.md", - "sha256": "6642779041ec88fc2e6b46bb71f12aa0ee984279b825e63d4fd961407634e644", - "size": 4414 + "path": "en/api/php/beta/deployment_runs/list.md", + "sha256": "54b29b365ac05e589c64fb90b37a482a46ce856109169d8d3fad40ff79dc7d76", + "size": 4396 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/rotate_token", + "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memory_versions", "status": "success", - "path": "en/api/python/beta/tunnels/rotate_token.md", - "sha256": "2ee5b5324e0adbeea41b295f36244de7064b8e939612ff6c4fdd80d240b8bfbd", - "size": 4044 + "path": "en/api/php/beta/memory_stores/memory_versions.md", + "sha256": "7370513d4d65a1d630fae627e75e847b3539020181620ca7b2f5d40ca4b59e91", + "size": 22377 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/create", "status": "success", - "path": "en/api/python/beta/tunnels/list.md", - "sha256": "aa009698f4b3d488eae946e4a77ede0a12fd485276b89fd4534048062d453e29", - "size": 4704 + "path": "en/api/php/beta/memory_stores/create.md", + "sha256": "37383f4dfb189bf74a80450e5a1ba49b18d3c37ce7d052f93072f4034dc374a7", + "size": 3766 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/certificates", + "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/update", "status": "success", - "path": "en/api/python/beta/tunnels/certificates.md", - "sha256": "6a1473bc22289d93eeb6cf8f78a88b2a4cee0a72833181b8b041cb9a238f4008", - "size": 20065 + "path": "en/api/php/beta/memory_stores/update.md", + "sha256": "52bf532857c6796b843f159b759169fb166c76494ada2a38561fec7a0b54982d", + "size": 3878 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/retrieve", "status": "success", - "path": "en/api/python/beta/tunnels/retrieve.md", - "sha256": "24cfc643104795423f9ebccddeb4ede9aae2ac3bd62f2785e0a55f09540452f9", - "size": 4244 + "path": "en/api/php/beta/memory_stores/retrieve.md", + "sha256": "0b8b887c95330e5292cce7350448b6215911dc018f05b861e737574c37ac95d1", + "size": 3132 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/reveal_token", + "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/delete", "status": "success", - "path": "en/api/python/beta/tunnels/reveal_token.md", - "sha256": "47187be1327b4c5aaa9d4883f9c47197cefdc9f803d812b55a3af5fdddcf2fff", - "size": 3951 + "path": "en/api/php/beta/memory_stores/delete.md", + "sha256": "a5a86c198b9b503f3ed08569b11a2c6da5553f2d0df7af372ab1a7599f0c5592", + "size": 1852 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/archive", + "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/list", "status": "success", - "path": "en/api/python/beta/tunnels/archive.md", - "sha256": "8ca16456679e219f3155cdfc6b22e5c4aacd0643112033efcc416c7b68322bcb", - "size": 4527 + "path": "en/api/php/beta/memory_stores/list.md", + "sha256": "a9824abe01e21180bbb9d3bf1656a4aef19b7d56e35bc2928b2696bb4ef2fe5b", + "size": 4121 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/create", + "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memories", "status": "success", - "path": "en/api/python/beta/sessions/create.md", - "sha256": "5c92b689b505ace2cb7d36e17659570cc2ce1d6825ebd9ccf06f59dcaf65be21", - "size": 84241 + "path": "en/api/php/beta/memory_stores/memories.md", + "sha256": "345a71b7fed78c97ba8bfd40cbe7ca3f0dd65a5d694aece752f0c198e019a4f7", + "size": 30591 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/resources", + "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/archive", "status": "success", - "path": "en/api/python/beta/sessions/resources.md", - "sha256": "cddf2fb89733937e2ba8f2f6e6858c59dd80fc597e995c63cc754ff0f6562318", - "size": 35452 + "path": "en/api/php/beta/memory_stores/archive.md", + "sha256": "0e3ff612c581e508b3e85327bcfb42cea64e3a904d41df12598b2a0b0175fabb", + "size": 3209 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/update", + "url": "https://platform.claude.com/docs/en/api/php/beta/models/retrieve", "status": "success", - "path": "en/api/python/beta/sessions/update.md", - "sha256": "ab9cec4deacf852753da18ce405e22b83b001225d04abed42c53a672a37b938d", - "size": 68174 + "path": "en/api/php/beta/models/retrieve.md", + "sha256": "d9703a8e8a7ddee5d2d459728a592de65eefa60aafaa6c7016de528eb1ea665b", + "size": 5476 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/models/list", "status": "success", - "path": "en/api/python/beta/sessions/list.md", - "sha256": "e4ff78cb218f6b31b64d17ddc38a08b49c9f4fe0f2b123cb4b393b2006a96d5b", - "size": 47803 + "path": "en/api/php/beta/models/list.md", + "sha256": "2f9077e680a2ad1dfc26269797ec2609c5af81e268df0d5c2b3bb46e1e1dc3a0", + "size": 6823 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads", + "url": "https://platform.claude.com/docs/en/api/php/beta/agents/create", "status": "success", - "path": "en/api/python/beta/sessions/threads.md", - "sha256": "f160da93978d1d66a763d94ce05da8351c06a9a4d8c50d54b299c59151fff913", - "size": 436108 + "path": "en/api/php/beta/agents/create.md", + "sha256": "82aeeac60d9c5e64eb8ce5ff0eb51a9804c990c0958fde657d4352da1e01473a", + "size": 7221 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/agents/update", "status": "success", - "path": "en/api/python/beta/sessions/retrieve.md", - "sha256": "3aee76abfffaa04bf35743e12e30167950cd6c2aa4b3bf27de936f8804d3103f", - "size": 44907 + "path": "en/api/php/beta/agents/update.md", + "sha256": "ef813d05abeb5760ebd364a0d813bc849d10727993effadd1195cab34aaa75fa", + "size": 8298 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/events", + "url": "https://platform.claude.com/docs/en/api/php/beta/agents/retrieve", "status": "success", - "path": "en/api/python/beta/sessions/events.md", - "sha256": "f5dba38c9aa2f50dc4c90529e190ed8f8dd44af1d8848a723e2dcb7af0eee3d1", - "size": 560351 + "path": "en/api/php/beta/agents/retrieve.md", + "sha256": "cf36a3dd4351c0e5387003e8228f8b31f45f67048ea17a76084494fb68415268", + "size": 4587 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/delete", + "url": "https://platform.claude.com/docs/en/api/php/beta/agents/list", "status": "success", - "path": "en/api/python/beta/sessions/delete.md", - "sha256": "07bcdb34927c4f5e245bb096a0aad504c99d848861d40f78c09888e2295e4e19", - "size": 3326 + "path": "en/api/php/beta/agents/list.md", + "sha256": "c91df664312892622b6545ab6951a6829c1988d0701c1e259899eead8e7dfbd1", + "size": 5516 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/archive", + "url": "https://platform.claude.com/docs/en/api/php/beta/agents/versions", "status": "success", - "path": "en/api/python/beta/sessions/archive.md", - "sha256": "f0694eee8345ae544d8f45366d0b6d731bc5e043ec6f706559e16b803c32ac61", - "size": 44925 + "path": "en/api/php/beta/agents/versions.md", + "sha256": "7d561b0b4bc362f144b066492c3018c09d3a6f52fab115ecbfb0f9e223322fcc", + "size": 5110 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/unpause", + "url": "https://platform.claude.com/docs/en/api/php/beta/agents/archive", "status": "success", - "path": "en/api/python/beta/deployments/unpause.md", - "sha256": "237618558ccd35d132d2fe99fc18b466ee3c513e4b700a7b204ca66506807176", - "size": 19251 + "path": "en/api/php/beta/agents/archive.md", + "sha256": "e25d066e648c4118079df3dbc5f476a80994d66e07cbf9431fd3079e09e0e50b", + "size": 4446 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/create", + "url": "https://platform.claude.com/docs/en/api/php/beta/environments/work", "status": "success", - "path": "en/api/python/beta/deployments/create.md", - "sha256": "053f23382b729f765c1101fc174f1c21439fe846edefd8f78704bcbe23587eb1", - "size": 30118 + "path": "en/api/php/beta/environments/work.md", + "sha256": "46c5126c382d3979ac5a6f5034a229a72b967dcef54884e5247d54a2fa52359c", + "size": 26593 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/update", + "url": "https://platform.claude.com/docs/en/api/php/beta/environments/create", "status": "success", - "path": "en/api/python/beta/deployments/update.md", - "sha256": "74e39c1705cdf456c3e5a7eb48f49f8f873acfe3c7ab52583f725178e8c4a32b", - "size": 30090 + "path": "en/api/php/beta/environments/create.md", + "sha256": "e3da601ebeea767a6c213bc91acc3cc7746451925d4a3bb7148c5664f72c7ba5", + "size": 4284 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/environments/update", "status": "success", - "path": "en/api/python/beta/deployments/list.md", - "sha256": "6a881d305986a5e876bc29c5942912e156bea2ff99732c70ce990773036f026b", - "size": 20559 + "path": "en/api/php/beta/environments/update.md", + "sha256": "6849d5c604cf2d878a06772db307193b3433349a1e88a7594d6a834dad1f7bb6", + "size": 4398 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/environments/retrieve", "status": "success", - "path": "en/api/python/beta/deployments/retrieve.md", - "sha256": "d5c31c25c0559b2aab310d2d6b134211eb46cf73102f2b7102d65c1386ccabcd", - "size": 19222 + "path": "en/api/php/beta/environments/retrieve.md", + "sha256": "86a40715a232028fe4c7557745d167fab93524947696b24cf20a253351727276", + "size": 3087 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/run", + "url": "https://platform.claude.com/docs/en/api/php/beta/environments/delete", "status": "success", - "path": "en/api/python/beta/deployments/run.md", - "sha256": "492e93a8461fb5af90b4166070fdf149f3c3afffc763759ee5f7d2d745b8d089", - "size": 9350 + "path": "en/api/php/beta/environments/delete.md", + "sha256": "541e4204b0099af0f141293be5348bbf9f19df27850bc2e42a21d9ab7eac8c6f", + "size": 1588 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/pause", + "url": "https://platform.claude.com/docs/en/api/php/beta/environments/list", "status": "success", - "path": "en/api/python/beta/deployments/pause.md", - "sha256": "679bca34ddd00ed33d5c5a119cc42ea76be962aad4db6268014d5eeff2ec0448", - "size": 19235 + "path": "en/api/php/beta/environments/list.md", + "sha256": "ac07cf28734c6ca18d3f47f458469641bc88b068594b58f5b749d52b1a0fef7b", + "size": 3685 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/deployments/archive", - "status": "success", - "path": "en/api/python/beta/deployments/archive.md", - "sha256": "5e25656f0b3e3e97d627ed51f757f340ee00e2a2a60e0e42e6cbf1073e8de5a2", - "size": 19251 + "url": "https://platform.claude.com/docs/en/api/php/beta/environments/archive", + "status": "success", + "path": "en/api/php/beta/environments/archive.md", + "sha256": "f7fa3d9dbe0bba34704973b79f00b9150c6450013b5819042323ce094d3bbef6", + "size": 3153 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/skills/create", + "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/certificates", "status": "success", - "path": "en/api/python/beta/skills/create.md", - "sha256": "ec110a6498832bf60f25e4ee0fd222ab9459e66cd20de134e1a55c4b15a56b9a", - "size": 5223 + "path": "en/api/php/beta/tunnels/certificates.md", + "sha256": "f216df5452740be81c2d77f7dff0e6519ae8456c0ef903c3c96e7595b92d6e71", + "size": 12405 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/skills/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/create", "status": "success", - "path": "en/api/python/beta/skills/list.md", - "sha256": "444c8c5d7ccd1c90dabc76f0f84a695c9630b0f78156e8fd923cab8cdd5ee5af", - "size": 5533 + "path": "en/api/php/beta/tunnels/create.md", + "sha256": "2168d767ab874ee2f708d9a7099b34b7c2119579712211f3b57ad5dc4f6a60d1", + "size": 2580 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/skills/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/retrieve", "status": "success", - "path": "en/api/python/beta/skills/retrieve.md", - "sha256": "71b6b24db3a96a4bb93e3524d49eaea0b8a7ee39771445bc91f18dae4ca779df", - "size": 4971 + "path": "en/api/php/beta/tunnels/retrieve.md", + "sha256": "111260ff651e8217c7f0b7225b0ddb083f57cad5cc3e16e7ae0f64b465657b7c", + "size": 2395 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/skills/versions", + "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/reveal_token", "status": "success", - "path": "en/api/python/beta/skills/versions.md", - "sha256": "dd217a46d0d3a3b75d98a9d8f79ca65e00ef557a54de3dfc1c700af3235829a0", - "size": 21957 + "path": "en/api/php/beta/tunnels/reveal_token.md", + "sha256": "7623f7ea58bd92bf493ca8e0ab6ca9feeb06216ebc528c98c9097064a6974668", + "size": 2149 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/skills/delete", + "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/list", "status": "success", - "path": "en/api/python/beta/skills/delete.md", - "sha256": "d28d24b40dbff8b6e452c694810cb43e6d608047aadfa5a4dac0738023e3fa93", - "size": 3419 + "path": "en/api/php/beta/tunnels/list.md", + "sha256": "26a66d2e18210001fc18a16b0e46574fd8bcd31463f67045e95cbe33a42db4f2", + "size": 2922 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memory_versions", + "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/archive", "status": "success", - "path": "en/api/python/beta/memory_stores/memory_versions.md", - "sha256": "6e55fda67b3ac08c99531bdc623841418011533263ac61761e0159b4214d2a9d", - "size": 40196 + "path": "en/api/php/beta/tunnels/archive.md", + "sha256": "21680abd46895a61763aa819f8ad1d16581071521068d21bd569dcba21ca30a4", + "size": 2678 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/create", + "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/rotate_token", "status": "success", - "path": "en/api/python/beta/memory_stores/create.md", - "sha256": "0f3547971b657fc25c113172ae0ec849e1ffa518177faf757a349966b5523d33", - "size": 5718 + "path": "en/api/php/beta/tunnels/rotate_token.md", + "sha256": "fa052d7ef8efe6bc7a73105f9c39e3dcbf56c8f17975aa427b23371f3a3eb998", + "size": 2261 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/update", + "url": "https://platform.claude.com/docs/en/api/php/beta/messages/batches", "status": "success", - "path": "en/api/python/beta/memory_stores/update.md", - "sha256": "0a01986bedf398dd48550d52810b0f90fa5226269dad7fc2c00c92c53d877370", - "size": 5838 + "path": "en/api/php/beta/messages/batches.md", + "sha256": "f87db846416aa26cf0a0682bbacb8dccde8ea0917412b4cecc58700c1b4b59d7", + "size": 29693 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/messages/create", "status": "success", - "path": "en/api/python/beta/memory_stores/list.md", - "sha256": "3c5947660156c8238a5295e62e8c1cdf8709284d8b7b1578b2484f8820fd4d83", - "size": 5975 + "path": "en/api/php/beta/messages/create.md", + "sha256": "1f0c0d7f26bfe9b82bfd22cbc7ab42d00f2392bd0c14630a2a5f4b79a8646f3f", + "size": 30921 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/messages/count_tokens", "status": "success", - "path": "en/api/python/beta/memory_stores/retrieve.md", - "sha256": "a6f337337797480bdc95b25bf2422b192c28ea953a1dc723f2d0a772ea0b6ab3", - "size": 5183 + "path": "en/api/php/beta/messages/count_tokens.md", + "sha256": "78cedc9922dccefe6c36d21d1519629ad1c2a2ca7e8f374ef11b62ed1d13a588", + "size": 13373 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/delete", + "url": "https://platform.claude.com/docs/en/api/php/beta/deployments/pause", "status": "success", - "path": "en/api/python/beta/memory_stores/delete.md", - "sha256": "500cd7d868c6abd3f7009f9c086b5b5c8c18bd52ad8ffeb08381addf1e0f778e", - "size": 3707 + "path": "en/api/php/beta/deployments/pause.md", + "sha256": "ec118ece87e7ccd824ae38c392bffaf5cdd30905f79642e263629fd7e3c5902f", + "size": 4607 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memories", + "url": "https://platform.claude.com/docs/en/api/php/beta/deployments/create", "status": "success", - "path": "en/api/python/beta/memory_stores/memories.md", - "sha256": "ed2dda85d2cd59dfc6352611b56b3cfc9bb327393269914de8e22c59e73a2679", - "size": 50412 + "path": "en/api/php/beta/deployments/create.md", + "sha256": "c7cbd0c3a2cd6c8b006ccff24c25aef82715a9311ae23f6e9530a3dc6e768267", + "size": 7073 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/archive", + "url": "https://platform.claude.com/docs/en/api/php/beta/deployments/update", "status": "success", - "path": "en/api/python/beta/memory_stores/archive.md", - "sha256": "6b3922f6e1993ec1bd1909c637127e295540b5b7060c370e509f03648cdbae31", - "size": 5260 + "path": "en/api/php/beta/deployments/update.md", + "sha256": "7e68020003f48244ef11f6f0a25595247a37598797825d58f7a4bc7ec4f92a86", + "size": 7381 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/files/download", + "url": "https://platform.claude.com/docs/en/api/php/beta/deployments/retrieve", "status": "success", - "path": "en/api/python/beta/files/download.md", - "sha256": "2a3f87a3ad2e312370ad23a201e3de4e5191fd11b929d7c1f16b79c1e57f52c7", - "size": 3016 + "path": "en/api/php/beta/deployments/retrieve.md", + "sha256": "934b6f4268ba1d03b6c187a10587c42f98d77939c57d4ca5e3919cd1ab1fee27", + "size": 4594 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/files/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/deployments/list", "status": "success", - "path": "en/api/python/beta/files/list.md", - "sha256": "780ddc818be5234a0e1d29adde938f339a1dad2f6ffb270fdb9df5ca39664ee2", - "size": 5408 + "path": "en/api/php/beta/deployments/list.md", + "sha256": "f48bb302e6ad2b882fdd1ecadd907aad38d336182e15e5232bc984f49e232f3c", + "size": 5987 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/files/upload", + "url": "https://platform.claude.com/docs/en/api/php/beta/deployments/unpause", "status": "success", - "path": "en/api/python/beta/files/upload.md", - "sha256": "2387d0d2b139ac4dd47eef6a1d061f26d9366f13608a176975bcef96b1ea7507", - "size": 4980 + "path": "en/api/php/beta/deployments/unpause.md", + "sha256": "67e2dbdfbabf2f58fb31d3283d69460cbc0c5ce773f5d16cc494a5fe001bf73c", + "size": 4623 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/files/retrieve_metadata", + "url": "https://platform.claude.com/docs/en/api/php/beta/deployments/archive", "status": "success", - "path": "en/api/python/beta/files/retrieve_metadata.md", - "sha256": "38616aaff96749257301391c42b1c3345723018ed3c4308df252ec914a5ba8ba", - "size": 4626 + "path": "en/api/php/beta/deployments/archive.md", + "sha256": "d111c6acb04f0c0417b6b2e9dce84a6a242855dc5e1a22bbfe7ddca9f5da5759", + "size": 4623 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/files/delete", + "url": "https://platform.claude.com/docs/en/api/php/beta/deployments/run", "status": "success", - "path": "en/api/python/beta/files/delete.md", - "sha256": "e443f5b223211eab5a37670c54e3d21d417221d131c4690887990af281ebb1b3", - "size": 3277 + "path": "en/api/php/beta/deployments/run.md", + "sha256": "7977bcbb5316d304112dbc3dc25f65835ca6719fa375fc47af8c233656fc0183", + "size": 2619 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/messages/create", + "url": "https://platform.claude.com/docs/en/api/php/beta/skills/create", "status": "success", - "path": "en/api/python/beta/messages/create.md", - "sha256": "1847d072698be8a0c3fdc158847044476f31aa45bcfe87375fe8f209dc7dfb14", - "size": 301874 + "path": "en/api/php/beta/skills/create.md", + "sha256": "ad81d32baf221e9333d487462999e24d73e5fcf2382261d72d3fda08ea15c34e", + "size": 3032 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/messages/count_tokens", + "url": "https://platform.claude.com/docs/en/api/php/beta/skills/retrieve", "status": "success", - "path": "en/api/python/beta/messages/count_tokens.md", - "sha256": "d0346ee2aa4f65fb32c5227b671eeb98de588463a7d6a164886f48a95d51219b", - "size": 144637 + "path": "en/api/php/beta/skills/retrieve.md", + "sha256": "2745770afe41f391cafb5ca84707ec89c651c0d50bddca84b3651f0493d2810b", + "size": 2641 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches", + "url": "https://platform.claude.com/docs/en/api/php/beta/skills/delete", "status": "success", - "path": "en/api/python/beta/messages/batches.md", - "sha256": "228ff92bac963b2f593cd7872f7105c149ed911b58e3d6717b6651d30a8abe4d", - "size": 788435 + "path": "en/api/php/beta/skills/delete.md", + "sha256": "4f77798e4ee00797074b27ee6a39cfd071c5dc68a3a732ede710285597def917", + "size": 1622 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches/create", + "url": "https://platform.claude.com/docs/en/api/php/beta/skills/list", "status": "success", - "path": "en/api/python/beta/messages/batches/create.md", - "sha256": "a2269443d6876bf1d44849209e0f7355e53517a79f1762ada388073919271905", - "size": 165689 + "path": "en/api/php/beta/skills/list.md", + "sha256": "5bfc3c35548e9338f09f12aa0f195e565c08bdbdd260be917e6dcb1d9c677925", + "size": 3251 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/skills/versions", "status": "success", - "path": "en/api/python/beta/messages/batches/list.md", - "sha256": "d82fc9a76e012b109290a5a5c0c06c066f0cd67ee4528408cf14e639562cbd52", - "size": 7467 + "path": "en/api/php/beta/skills/versions.md", + "sha256": "1784b4777f42d514370c85022933c749f7e9ea15369a336b813a5629a2a2ad1f", + "size": 12909 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches/cancel", + "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/create", "status": "success", - "path": "en/api/python/beta/messages/batches/cancel.md", - "sha256": "49b0b45741efbd712a374685f0be76f0ebf468824584b7626918a6674dc2a61a", - "size": 7343 + "path": "en/api/php/beta/vaults/create.md", + "sha256": "19e923260154c01763e81c0336007d4ec8a8191a5c30db9e48c2fa327413749e", + "size": 2293 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/update", "status": "success", - "path": "en/api/python/beta/messages/batches/retrieve.md", - "sha256": "4c33930135eab85e0e0687a3bf1fd815a92a052efe8fcd48af42329ffb117764", - "size": 7035 + "path": "en/api/php/beta/vaults/update.md", + "sha256": "0f34a683a642dcefcaaa4dd13dd9f356ce4d3f43d430575c604d861face2f572", + "size": 2444 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches/results", + "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/retrieve", "status": "success", - "path": "en/api/python/beta/messages/batches/results.md", - "sha256": "2337123b92bbd871db72f0d2fad29ac189deeb7e20ea31913a13611e31fb3527", - "size": 154308 + "path": "en/api/php/beta/vaults/retrieve.md", + "sha256": "12902cad6cdf6489b5db73ac0a9f8fe97202b5ed6f8f89484615a9982b9a2e32", + "size": 2076 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/messages/batches/delete", + "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/delete", "status": "success", - "path": "en/api/python/beta/messages/batches/delete.md", - "sha256": "173df5823a6bb72a7d4651d89edf88db060a1dfd36db6054062c222c875b3db4", - "size": 3774 + "path": "en/api/php/beta/vaults/delete.md", + "sha256": "22ca14b8354d8bbd28916f6e4fb1739d0fb4d0e90c9500cef3a700c991d20e50", + "size": 1547 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memories/create", + "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/list", "status": "success", - "path": "en/api/python/beta/memory_stores/memories/create.md", - "sha256": "123fdce8b160f7254cc96b39233ef55390d640b70dfac7a916158026af225423", - "size": 7306 + "path": "en/api/php/beta/vaults/list.md", + "sha256": "ec1648c75f098ddcac0ed85f0f6349a00f0c51d7fde4af0ffeb8366727411d85", + "size": 2590 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memories/update", + "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/archive", "status": "success", - "path": "en/api/python/beta/memory_stores/memories/update.md", - "sha256": "f0a903163685bc6d4cacb79fd8a6624d1076d8babf3e9c8537f005435a4daa37", - "size": 8137 + "path": "en/api/php/beta/vaults/archive.md", + "sha256": "ef0bddf8ba6e86dcf2b4725c764f0d11ebd445e38b4e4d238a8539737fbcc802", + "size": 2078 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memories/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/credentials", "status": "success", - "path": "en/api/python/beta/memory_stores/memories/list.md", - "sha256": "37776ab6013b2daa35c2ff8eadd91d334ab711bfe1c08b9f46fbc596469d7899", - "size": 8782 + "path": "en/api/php/beta/vaults/credentials.md", + "sha256": "47f0e701ff19342280ad21b5e0ec55dd6f3a52c4f1fd4c7a2e2ff949f79261f9", + "size": 32644 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memories/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/create", "status": "success", - "path": "en/api/python/beta/memory_stores/memories/retrieve.md", - "sha256": "edcdaa9851ec1969254cd689b0efede6e1166c1c5fd94c32873f3e0c8f5bb4f8", - "size": 6825 + "path": "en/api/php/beta/vaults/credentials/create.md", + "sha256": "f7cf90f430de650d3a78f91a60480f688ba2ee3d489e45020721c62c44b1819a", + "size": 3150 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memories/delete", + "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/update", "status": "success", - "path": "en/api/python/beta/memory_stores/memories/delete.md", - "sha256": "bc537eea0f9723b7d6a03e0f1fbf60894c59340eae56e64eebdaf4174d2fef8a", - "size": 4370 + "path": "en/api/php/beta/vaults/credentials/update.md", + "sha256": "cc7f426600d5b3fcfbd56d3315c9adb28951cbd812112f13b0af3f1aa161a5d0", + "size": 3559 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memory_versions/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/retrieve", "status": "success", - "path": "en/api/python/beta/memory_stores/memory_versions/list.md", - "sha256": "66ec15549510bdb623a0874b5dbdc4b4b1d2829a60f5cec97be1ed72a689cf03", - "size": 11908 + "path": "en/api/php/beta/vaults/credentials/retrieve.md", + "sha256": "bfb05afa5d476e510ec4659823c94a31e33fe8f5a014ff4f2d9f7efc9fd76f66", + "size": 2693 }, { - "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": "dc480c77e123860da2a4c88684f0565818cb9e2e2f0583c5b61e28d31514ee79", - "size": 10018 + "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/delete", + "status": "success", + "path": "en/api/php/beta/vaults/credentials/delete.md", + "sha256": "e80b5fb32b92104e39bebd1ed7f837d0394561c1c3e5b3b4e20f7de68759572f", + "size": 1837 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/memory_stores/memory_versions/redact", + "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/list", "status": "success", - "path": "en/api/python/beta/memory_stores/memory_versions/redact.md", - "sha256": "21ce0b2b7326aeb28049f919cee529b4ea80505d2d55ffe25357f9ee26be4437", - "size": 9286 + "path": "en/api/php/beta/vaults/credentials/list.md", + "sha256": "87f70d8d12665b999a656ce51fdadbfbea6d1d9c21f9bed351272a2d01d32a7e", + "size": 3212 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/skills/versions/create", + "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/archive", "status": "success", - "path": "en/api/python/beta/skills/versions/create.md", - "sha256": "0ea1c258bbd0007987f07c7c35604019756483acbe9f0b726283612ce458cda7", - "size": 4502 + "path": "en/api/php/beta/vaults/credentials/archive.md", + "sha256": "51f087abc53e52e69fae9f7ad9f30318466273da0e26445486b75e9e4606e48d", + "size": 2695 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/skills/versions/download", + "url": "https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/mcp_oauth_validate", "status": "success", - "path": "en/api/python/beta/skills/versions/download.md", - "sha256": "b1f527ef716c74e2b9c5bec3915d14af14631dc267e50f95f5d707f842a5adb9", - "size": 3463 + "path": "en/api/php/beta/vaults/credentials/mcp_oauth_validate.md", + "sha256": "b94882c84a6e8adbe6b29f5ec9e663fc5511b9f3d29e28edb4bed10faac005f2", + "size": 3121 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/skills/versions/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/skills/versions/create", "status": "success", - "path": "en/api/python/beta/skills/versions/list.md", - "sha256": "6e084a134dcec68cd89940543d5b4c618652b9e2b9a8d9df5acc1358f330be25", - "size": 4657 + "path": "en/api/php/beta/skills/versions/create.md", + "sha256": "034d2b50d8b9178fc2b2d4c37e1e2d87a74c111469aa9dcf734c0c29daf70251", + "size": 2763 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/skills/versions/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/skills/versions/download", "status": "success", - "path": "en/api/python/beta/skills/versions/retrieve.md", - "sha256": "777e1f451b77c07fec1d457f5cf30f859d842ac3961af94067530019ff858cfd", - "size": 4601 + "path": "en/api/php/beta/skills/versions/download.md", + "sha256": "025528cab31dd8ebbc583683cc7aa7aeadf1beb5102baa27c83889a39f3672bf", + "size": 1660 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/skills/versions/delete", + "url": "https://platform.claude.com/docs/en/api/php/beta/skills/versions/retrieve", "status": "success", - "path": "en/api/python/beta/skills/versions/delete.md", - "sha256": "fc66a9ec48a516f7dc34e6907ca6c7a7d9becc9a899118ad11d287f7f2cbfc1f", - "size": 3799 + "path": "en/api/php/beta/skills/versions/retrieve.md", + "sha256": "74e58790c44ca5cd637d2c60cf250f5a68febe6ee55c5e9787fae4e5e80af102", + "size": 2798 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/skills/versions/delete", "status": "success", - "path": "en/api/python/beta/sessions/threads/list.md", - "sha256": "1734bb3d78cfaf8a0095bf3114242ca0b0f62c8001b75595cbd89846f7a327af", - "size": 33354 + "path": "en/api/php/beta/skills/versions/delete.md", + "sha256": "0f7c1c183d8672aa34d9daf957bbb05d1161f04c8ec3b7bc45f2706ad4331a2e", + "size": 2005 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/skills/versions/list", "status": "success", - "path": "en/api/python/beta/sessions/threads/retrieve.md", - "sha256": "6fdbdf5e32629938aad9ede9976fa56f4414e163b3c70e4146f2619392572a29", - "size": 32505 + "path": "en/api/php/beta/skills/versions/list.md", + "sha256": "b888603246bb90dc3dacc3e7da2117b4e2fe98fbb604004b602c78fcc8112215", + "size": 2843 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads/events", + "url": "https://platform.claude.com/docs/en/api/php/beta/messages/batches/cancel", "status": "success", - "path": "en/api/python/beta/sessions/threads/events.md", - "sha256": "a6218d2c6e7b53895b92393abf2ebb29549124cbffab9572a8f976e258cc2b77", - "size": 193278 + "path": "en/api/php/beta/messages/batches/cancel.md", + "sha256": "354eccfac8eab3c116e6afa35111f13120846ed3826074b2732f7d591aad1024", + "size": 4403 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads/archive", + "url": "https://platform.claude.com/docs/en/api/php/beta/messages/batches/create", "status": "success", - "path": "en/api/python/beta/sessions/threads/archive.md", - "sha256": "4588bb05ba4c2f81db39baa4d031a276e478819ea93adbd6efcda88a22b93745", - "size": 32523 + "path": "en/api/php/beta/messages/batches/create.md", + "sha256": "3708cc937f2b6a4829e36c5286936400a0caaf94b37b644663bc76a3b3ed4cea", + "size": 8458 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/resources/update", + "url": "https://platform.claude.com/docs/en/api/php/beta/messages/batches/retrieve", "status": "success", - "path": "en/api/python/beta/sessions/resources/update.md", - "sha256": "f888f1f659c62b9d7598221e855aacbb92354495b8cddced54246170edf7442a", - "size": 6139 + "path": "en/api/php/beta/messages/batches/retrieve.md", + "sha256": "ac3a9c5347244532c4947a424c6ee0548e192d5a92c7831279bf9f39600b6637", + "size": 4095 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/resources/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/messages/batches/delete", "status": "success", - "path": "en/api/python/beta/sessions/resources/list.md", - "sha256": "dd2f831bb51df96c6d408b938956d0eeb6af21fa4dfb339fb19e45351aedf8dd", - "size": 6465 + "path": "en/api/php/beta/messages/batches/delete.md", + "sha256": "06d440ae38c9dae71b65b12de42dd4288bac9d1b69ea8ba0d9179b7314d5316b", + "size": 1948 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/resources/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/messages/batches/list", "status": "success", - "path": "en/api/python/beta/sessions/resources/retrieve.md", - "sha256": "3e71dfda3631b9ee3624e552a50679ce73f2c387c3f894c460911723b945a805", - "size": 5920 + "path": "en/api/php/beta/messages/batches/list.md", + "sha256": "2b06f83ff13cd4129002a286ebbbfbd863a21899b44ae6475f8485b4cf83b2c7", + "size": 4602 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/resources/add", + "url": "https://platform.claude.com/docs/en/api/php/beta/messages/batches/results", "status": "success", - "path": "en/api/python/beta/sessions/resources/add.md", - "sha256": "37308dd677d7dde4df04e2f3559e3baca834526b786c1c19013e7f8fd3235068", - "size": 3983 + "path": "en/api/php/beta/messages/batches/results.md", + "sha256": "6377b599d416c02987381c15baae9ebdf8bb8ae9ae6dd63a9c998571db844971", + "size": 2379 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/resources/delete", + "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/certificates/create", "status": "success", - "path": "en/api/python/beta/sessions/resources/delete.md", - "sha256": "22454aa008607909d070874ca727fed913442922ae67bd37021a35462de1479b", - "size": 3523 + "path": "en/api/php/beta/tunnels/certificates/create.md", + "sha256": "6942d287a513993267194336bd32ca049abecb23da4c978990594a52ba7e4acf", + "size": 3001 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/events/send", + "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/certificates/retrieve", "status": "success", - "path": "en/api/python/beta/sessions/events/send.md", - "sha256": "d3383264bd73a1a98b80613a0a7e178c0b73bc04d7f111514ec13194cd6ecbc5", - "size": 24988 + "path": "en/api/php/beta/tunnels/certificates/retrieve.md", + "sha256": "be4ff5087b96ac695c3fd1acbfb4c1278658d1d025c4e26c93dd6348ff177605", + "size": 2764 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/events/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/certificates/list", "status": "success", - "path": "en/api/python/beta/sessions/events/list.md", - "sha256": "34dba306c62138383d262deb725e6b6abb2001e4f0236587757d2dce0952354f", - "size": 97563 + "path": "en/api/php/beta/tunnels/certificates/list.md", + "sha256": "e7d60086015455ed6de8f5b64cc1852a74e97aec92cd8866d8a7a3d09667953b", + "size": 3232 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/events/stream", + "url": "https://platform.claude.com/docs/en/api/php/beta/tunnels/certificates/archive", "status": "success", - "path": "en/api/python/beta/sessions/events/stream.md", - "sha256": "5d0e5c1c2394713a74443fa5df7e7b49faad99e843c7f2b943bedcc9f6d7b58e", - "size": 98097 + "path": "en/api/php/beta/tunnels/certificates/archive.md", + "sha256": "a2ab444203a3dad11e893cb14518f5bba38bb63ed2927b99685269eab591fe98", + "size": 3001 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads/events/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/environments/work/poll", "status": "success", - "path": "en/api/python/beta/sessions/threads/events/list.md", - "sha256": "d700a0b2a83bb5bce9cea0860c88750f0157af97afb580adc380fd86cd7893fb", - "size": 95135 + "path": "en/api/php/beta/environments/work/poll.md", + "sha256": "fb26553b85bd430edd50b30858aa43d714723a1b467369a4c89d2850101eef9c", + "size": 3447 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/sessions/threads/events/stream", + "url": "https://platform.claude.com/docs/en/api/php/beta/environments/work/update", "status": "success", - "path": "en/api/python/beta/sessions/threads/events/stream.md", - "sha256": "4cc421f45b78f2be75828b616ac62ae95645037933e7eaecd290d413219155b2", - "size": 98280 + "path": "en/api/php/beta/environments/work/update.md", + "sha256": "12ffa04421dfe125bebcaa137b0b32b317b0418876f3a7c40c2b5793a7cec01d", + "size": 3516 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/certificates/create", + "url": "https://platform.claude.com/docs/en/api/php/beta/environments/work/stop", "status": "success", - "path": "en/api/python/beta/tunnels/certificates/create.md", - "sha256": "a198569a39b5e0d34b40ce6369c2fc2932967597783b44ec7a57971c17a221d9", - "size": 4902 + "path": "en/api/php/beta/environments/work/stop.md", + "sha256": "b55b2224d454ce9ec3ac28a600eb155b3882522cdee417ed18f24678aac40bc0", + "size": 3417 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/certificates/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/environments/work/retrieve", "status": "success", - "path": "en/api/python/beta/tunnels/certificates/list.md", - "sha256": "efdd9b15adf430053fe2a0cb4ca8294b447b10890ea00863cb7d73f0454ef964", - "size": 5073 + "path": "en/api/php/beta/environments/work/retrieve.md", + "sha256": "48f22aa30c9241c41c8f60cb3347ac9e9667b8d0ef6f9d330825cda51724377c", + "size": 3299 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/certificates/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/environments/work/heartbeat", "status": "success", - "path": "en/api/python/beta/tunnels/certificates/retrieve.md", - "sha256": "c0f210bff750202aa7a8e3d156b55478df4f3b3eadbd4b7e68b97a6f41a8f5ba", - "size": 4657 + "path": "en/api/php/beta/environments/work/heartbeat.md", + "sha256": "ff777cc1740c05ff13689115352a2233288e3033d5350fb712cb802b8439ac89", + "size": 2468 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/tunnels/certificates/archive", + "url": "https://platform.claude.com/docs/en/api/php/beta/environments/work/list", "status": "success", - "path": "en/api/python/beta/tunnels/certificates/archive.md", - "sha256": "76250b91321154a4430ca9252ede3f4971caab94b8119efdbb97d0208ee9c38f", - "size": 4894 + "path": "en/api/php/beta/environments/work/list.md", + "sha256": "d2cb623ee042db2e7e7aa2b35cecb0d18da235dfc152e226bce4a3025100d6b5", + "size": 3107 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/agents/versions/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/environments/work/stats", "status": "success", - "path": "en/api/python/beta/agents/versions/list.md", - "sha256": "1ae51d541c717713f97060d75daa0efe5d2404702b0dca280078a0d7c853af81", - "size": 30004 + "path": "en/api/php/beta/environments/work/stats.md", + "sha256": "7dcf1a8b2fd52cedeebdc817471a8ac3e0989488c699b2bf8d775d408f287cd6", + "size": 2094 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/create", + "url": "https://platform.claude.com/docs/en/api/php/beta/environments/work/ack", "status": "success", - "path": "en/api/python/beta/vaults/credentials/create.md", - "sha256": "875351547787f86bffe3b9f526cf2323764d104f63d5d58c5324daaa072c6164", - "size": 12136 + "path": "en/api/php/beta/environments/work/ack.md", + "sha256": "3fa578b3a1c8659467ea1908c32f5af7bf8b103ff89dee4c2a7b21ff4953b7b7", + "size": 2913 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/update", + "url": "https://platform.claude.com/docs/en/api/php/beta/agents/versions/list", "status": "success", - "path": "en/api/python/beta/vaults/credentials/update.md", - "sha256": "2c427effd5868eeba8294e84394a4eb669f527fa461e5403608b61f2e46d7c76", - "size": 11451 + "path": "en/api/php/beta/agents/versions/list.md", + "sha256": "262aeba286794fe34ef86ad731e77e0cc0bdd818c7f512ec9c62b966b2465a18", + "size": 5109 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memories/create", "status": "success", - "path": "en/api/python/beta/vaults/credentials/list.md", - "sha256": "5410a41740501d6b69aa1d900808055f110d9362f6357e89e06f2a371420617b", - "size": 8004 + "path": "en/api/php/beta/memory_stores/memories/create.md", + "sha256": "f82defe45a65f20cea50e43d756ef21d93858f34540dd050f17bcbc92a4a73af", + "size": 4787 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/mcp_oauth_validate", + "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memories/update", "status": "success", - "path": "en/api/python/beta/vaults/credentials/mcp_oauth_validate.md", - "sha256": "54ecb2650ad349ae9707037f7bf949804edd975c8915bf064deb76435cfb8ddf", - "size": 6669 + "path": "en/api/php/beta/memory_stores/memories/update.md", + "sha256": "43b4cf58be76c0c61c8e803cf272ec95fbb10e13f4e2eb2a0da8eaae21fdb3fb", + "size": 5444 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memories/retrieve", "status": "success", - "path": "en/api/python/beta/vaults/credentials/retrieve.md", - "sha256": "8bccd2bbc4af0ee8921d2263f88c08bb0ec9b4ef09036c70d295fcbd08c6ef7e", - "size": 7684 + "path": "en/api/php/beta/memory_stores/memories/retrieve.md", + "sha256": "83aec4a8dadc7ea571103012c8e7f5d07b3664765f70553478fcb0773c95cc1e", + "size": 4343 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/delete", + "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memories/delete", "status": "success", - "path": "en/api/python/beta/vaults/credentials/delete.md", - "sha256": "2028eb044eae741fa336697213caf1a3c31d5f2bc04d18ef60ec124fd53f0a9c", - "size": 3641 + "path": "en/api/php/beta/memory_stores/memories/delete.md", + "sha256": "9da660843b3c3638d4d88d580eb9afc2ebd21a932b537c95484fdf0c906a90e8", + "size": 2179 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/archive", + "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memories/list", "status": "success", - "path": "en/api/python/beta/vaults/credentials/archive.md", - "sha256": "4009b79ec1e51d98888145c523eb7d54477a1168812ddfbf2ab6e766b53de283", - "size": 7701 + "path": "en/api/php/beta/memory_stores/memories/list.md", + "sha256": "b60a7eeb6e0f474b75e81b651691d7894f22f3290a6b9a4d36677aad47bb5a8a", + "size": 5643 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/update", + "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memory_versions/retrieve", "status": "success", - "path": "en/api/python/beta/environments/work/update.md", - "sha256": "601339b2f24c7687d6305360ce7a771457dd415ee15e9d01eb3191c1818b4136", - "size": 5827 + "path": "en/api/php/beta/memory_stores/memory_versions/retrieve.md", + "sha256": "f04b207199e472362244b2ba081d5726e1e09406fdc87713d712b968044e1a28", + "size": 5421 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/list", + "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memory_versions/list", "status": "success", - "path": "en/api/python/beta/environments/work/list.md", - "sha256": "3e83f41e396fd3077b4916193d943af967ba655e84d7575a54b0908b422d231f", - "size": 5537 + "path": "en/api/php/beta/memory_stores/memory_versions/list.md", + "sha256": "1063ba66f36bba9f06a86728af0e8fe5eddb00c7ed5b1abb68b5374adeed922a", + "size": 7239 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/stop", + "url": "https://platform.claude.com/docs/en/api/php/beta/memory_stores/memory_versions/redact", "status": "success", - "path": "en/api/python/beta/environments/work/stop.md", - "sha256": "4fcef89e0c11d176aee078a055a79765c260cbb080a7591e99fbbc1f4207fe70", - "size": 5729 + "path": "en/api/php/beta/memory_stores/memory_versions/redact.md", + "sha256": "cd8ea456299fbc9cb34b8f324f8b82816c2d237656f9858462a62b3a4b7983f2", + "size": 4927 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/retrieve", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/threads/retrieve", "status": "success", - "path": "en/api/python/beta/environments/work/retrieve.md", - "sha256": "f7125c51fc9b3908886ef71f52df2ae7d0cce9a44103f52ad49d081555bbf9da", - "size": 5638 + "path": "en/api/php/beta/sessions/threads/retrieve.md", + "sha256": "53e035c12d4005b8c30cb9c6145bfb9616e569b05d8b8632ba5eb5f157b6e755", + "size": 4623 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/ack", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/threads/list", "status": "success", - "path": "en/api/python/beta/environments/work/ack.md", - "sha256": "bd91898adaceff1ed3127cddbb997cf2e25cfc5f03cfaf893faa0899f148f63a", - "size": 5324 + "path": "en/api/php/beta/sessions/threads/list.md", + "sha256": "814b055940dd2eeece3b3916a2145d22faa92292b04f94368db9679316252c69", + "size": 5504 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/stats", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/threads/archive", "status": "success", - "path": "en/api/python/beta/environments/work/stats.md", - "sha256": "609e0338bb607ae396dbe25c1d60c940730c2ee0606f83f2904a49f8c87ce5c8", - "size": 4072 + "path": "en/api/php/beta/sessions/threads/archive.md", + "sha256": "23610323071fc951dabc6aea292ac074f515ddbff13884046fb0bb639ad604f9", + "size": 4641 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/heartbeat", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/threads/events", "status": "success", - "path": "en/api/python/beta/environments/work/heartbeat.md", - "sha256": "9fafa9bb3c32699edb5a388459ad7902960e2a788ed74abc10a945d7c734206e", - "size": 4399 + "path": "en/api/php/beta/sessions/threads/events.md", + "sha256": "e4bb3b2c6c4e7bf45a8cb7e67ac2071ea22e7123b7935fc7d40bb9c927089481", + "size": 49415 }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/environments/work/poll", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/events/send", "status": "success", - "path": "en/api/python/beta/environments/work/poll.md", - "sha256": "1fdca3dbb043ebffa0826a7270531eda287a470e2afa5b80af5cc3f4e81b90de", - "size": 5772 + "path": "en/api/php/beta/sessions/events/send.md", + "sha256": "23e1e96b3d08e2ad77c119e2a45d0b4f616481935c51f4df9cc6e22cf4a6e92d", + "size": 1957 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/events/stream", "status": "success", - "path": "en/api/java/beta/sessions.md", - "sha256": "95f367b1e6675abac0d2d1f7e5d000c922c373e3c94116bcb11a8d5f791fd934", - "size": 1180328 + "path": "en/api/php/beta/sessions/events/stream.md", + "sha256": "0aa842f4dc95f345fe041dcef7bbdaa018ef082233862043e2fd2821e2195b72", + "size": 25263 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/webhooks", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/events/list", "status": "success", - "path": "en/api/java/beta/webhooks.md", - "sha256": "cc08d51b8443e0b8d76a372c6b6cff68802bb15dced3d3ccfa4dd38f4c699962", - "size": 34918 + "path": "en/api/php/beta/sessions/events/list.md", + "sha256": "25a8dad2fc01b23ffea51c7b18079224df993ad6f2524aedd53b0b79805dbb80", + "size": 25484 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/skills", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/resources/update", "status": "success", - "path": "en/api/java/beta/skills.md", - "sha256": "a309c0910a695754e875ee45327eee4adbd3ad0224f3b1bfdfc6b0d9deb6705f", - "size": 59113 + "path": "en/api/php/beta/sessions/resources/update.md", + "sha256": "dc198bb84fe2b69b05046c0a06d925568eb5d3fb83c91146842cc1b581d99040", + "size": 3623 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/agents", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/resources/add", "status": "success", - "path": "en/api/java/beta/agents.md", - "sha256": "865ca52ca19a0062d3d4b5e44a9a4846e503119c398dea3f26e927628adaa614", - "size": 448590 + "path": "en/api/php/beta/sessions/resources/add.md", + "sha256": "6bfbc47c265692079e7a80e9a9b5c95f9ed0a8e0f7a72072bb9ef4efd231410f", + "size": 2160 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/deployments", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/resources/retrieve", "status": "success", - "path": "en/api/java/beta/deployments.md", - "sha256": "727e2682781bbf6feeb9dfa34bc743d003c41323f99b4e4ba011c2582e49115a", - "size": 220894 + "path": "en/api/php/beta/sessions/resources/retrieve.md", + "sha256": "f6bcc588c2d349debdad03b7f1973ba723468f14d3b5ec1629832040c34cb75c", + "size": 3398 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/deployment_runs", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/resources/delete", "status": "success", - "path": "en/api/java/beta/deployment_runs.md", - "sha256": "151b2016087c5d6786d0ad278a7ecc87c4e4d67f65949420f872bbdd29b62e54", - "size": 33676 + "path": "en/api/php/beta/sessions/resources/delete.md", + "sha256": "0eb9a11ae538045b59b1dbc8b8c12833fda2d0d44e7eccdd405148470b41a231", + "size": 1709 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/user_profiles", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/resources/list", "status": "success", - "path": "en/api/java/beta/user_profiles.md", - "sha256": "d876b4142b6c06d921cd58cd639db1444a4708ebb8ad06bb908e234bfea2eacb", - "size": 62580 + "path": "en/api/php/beta/sessions/resources/list.md", + "sha256": "a25af639f56725d6d18ad04a12352ca99e9c35c6ec3c8979551bedc549f98e0a", + "size": 3977 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/models", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/threads/events/stream", "status": "success", - "path": "en/api/java/beta/models.md", - "sha256": "d1c361027381dac3bfb2ec4ca022ee1492fdee2b76c6440ffed37de4e2b5b735", - "size": 44146 + "path": "en/api/php/beta/sessions/threads/events/stream.md", + "sha256": "6f23e9ffeb4f30c7b05b85106fc9fe8b508fe806db40b0ab7ed844bf1aaa44c3", + "size": 25476 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/vaults", + "url": "https://platform.claude.com/docs/en/api/php/beta/sessions/threads/events/list", "status": "success", - "path": "en/api/java/beta/vaults.md", - "sha256": "dbab3653b1d84adda12b2339e8734514a2936ed059e3c18e102ec37891bca83c", - "size": 105375 + "path": "en/api/php/beta/sessions/threads/events/list.md", + "sha256": "d568c569385b28c272c83d962b720e0796841758f150087611820ebe2f0680ab", + "size": 24073 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores", + "url": "https://platform.claude.com/docs/en/api/php/messages/batches/cancel", "status": "success", - "path": "en/api/java/beta/memory_stores.md", - "sha256": "5f854c0446a39ebba0d47f5654a158cacbe9f66255b03aa1680e845a4b42b3e2", - "size": 123275 + "path": "en/api/php/messages/batches/cancel.md", + "sha256": "dd33f259cdd1540dd914257751baf7a4e02fdaeadc0426cfe2a045e33b3a3367", + "size": 4166 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels", + "url": "https://platform.claude.com/docs/en/api/php/messages/batches/create", "status": "success", - "path": "en/api/java/beta/tunnels.md", - "sha256": "53b0a22b1eb5ce66747251492412acfd25808d9fcb826ab1bd84a806eaa19d46", - "size": 64950 + "path": "en/api/php/messages/batches/create.md", + "sha256": "ec3ba6b662b9d68420f00e1339a0b89627102ec0d196b78053cb46a102e0ade5", + "size": 6753 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/environments", + "url": "https://platform.claude.com/docs/en/api/php/messages/batches/retrieve", "status": "success", - "path": "en/api/java/beta/environments.md", - "sha256": "6ccfbde66867aa51385d59e0c475d0e296676710be8ba1598b6874d4bc7d78a9", - "size": 121443 + "path": "en/api/php/messages/batches/retrieve.md", + "sha256": "e05b456bdcb82fb39ba14ac44dd71b37810e6cbc0a3649cc7435fe8938581d0e", + "size": 3858 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/files", + "url": "https://platform.claude.com/docs/en/api/php/messages/batches/delete", "status": "success", - "path": "en/api/java/beta/files.md", - "sha256": "7a378987767f2eaf05763cf8bc89091ec5232372faa41a14632fb7f18bcf635b", - "size": 31956 + "path": "en/api/php/messages/batches/delete.md", + "sha256": "f3def6afeaa36586102f4608908a46267a507d0e3abb8af364ecb1fa9bb7cae3", + "size": 1711 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/messages", + "url": "https://platform.claude.com/docs/en/api/php/messages/batches/list", "status": "success", - "path": "en/api/java/beta/messages.md", - "sha256": "99a812a49da40b899e2366c96ea4813661dcbdd28d67d95a79658d18e5c00109", - "size": 2894666 + "path": "en/api/php/messages/batches/list.md", + "sha256": "43f301d93d43e2e14ea8bc90f19abf2627486df5f424cc282a52fe26f973d791", + "size": 4376 }, { - "url": "https://platform.claude.com/docs/en/api/java/models/list", + "url": "https://platform.claude.com/docs/en/api/php/messages/batches/results", "status": "success", - "path": "en/api/java/models/list.md", - "sha256": "4e6979e97488f1bea0443c6dd137fa74a699956950c4d31eab70957e5cb01374", - "size": 14176 + "path": "en/api/php/messages/batches/results.md", + "sha256": "2392f0bcdb95095320681e208130894a195b368a3b44a1fd8f78194f0413cd2b", + "size": 2130 }, { - "url": "https://platform.claude.com/docs/en/api/java/models/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/models/retrieve", "status": "success", - "path": "en/api/java/models/retrieve.md", - "sha256": "e196696986d6dcf0ae7223d13dd1654954d0548f757b7febb1e27618e1e8b6b2", - "size": 12883 + "path": "en/api/csharp/models/retrieve.md", + "sha256": "c785d0473f8c349597cfe2553c5b39b25b9bf60b19245535c9f66359de26ed46", + "size": 13327 }, { - "url": "https://platform.claude.com/docs/en/api/java/completions/create", + "url": "https://platform.claude.com/docs/en/api/csharp/models/list", "status": "success", - "path": "en/api/java/completions/create.md", - "sha256": "4a3c4c7322448263caf49ab0a74b4b11e94a77cb5fadba42886b5b88ce6cbebf", - "size": 12591 + "path": "en/api/csharp/models/list.md", + "sha256": "8871edeae6d5114b4c0dff1993989cc262486e019442765a5e24ffc5abb6a1cf", + "size": 14629 }, { - "url": "https://platform.claude.com/docs/en/api/java/messages/create", + "url": "https://platform.claude.com/docs/en/api/csharp/completions/create", "status": "success", - "path": "en/api/java/messages/create.md", - "sha256": "0d4b8558425dfbfee04a2e5d70badfb9e35129087d619d9003caf5363db7e311", - "size": 131301 + "path": "en/api/csharp/completions/create.md", + "sha256": "d1d5014e3e3f9d2e0b0895fd6abb7a2232820019169377260e8e7272f753f112", + "size": 13272 }, { - "url": "https://platform.claude.com/docs/en/api/java/messages/count_tokens", + "url": "https://platform.claude.com/docs/en/api/csharp/messages/batches", "status": "success", - "path": "en/api/java/messages/count_tokens.md", - "sha256": "ec2cc77e31301d237607f59c194cbf19cf155c27a11c2fdd2e32b708468f8a6d", - "size": 93234 + "path": "en/api/csharp/messages/batches.md", + "sha256": "2db9228248ae803a13d5d80c9e7ef8bff4511ca216d2ffd0e84db22a72b5cd40", + "size": 275236 }, { - "url": "https://platform.claude.com/docs/en/api/java/messages/batches", + "url": "https://platform.claude.com/docs/en/api/csharp/messages/create", "status": "success", - "path": "en/api/java/messages/batches.md", - "sha256": "86eac7731489a22f879cf261320103d27f389738209838738204e3eb8fcf4b79", - "size": 269823 + "path": "en/api/csharp/messages/create.md", + "sha256": "0c4c0e76541df067df45b69a41a4c5394f46c9ab9a710d200b127a88c5280bfd", + "size": 130311 }, { - "url": "https://platform.claude.com/docs/en/api/java/messages/batches/create", + "url": "https://platform.claude.com/docs/en/api/csharp/messages/count_tokens", "status": "success", - "path": "en/api/java/messages/batches/create.md", - "sha256": "1d185ab71ea98f7c6463fd4a422a9ba3e8ba3ddef9fc009e6f602ca010e3c3b1", - "size": 116112 + "path": "en/api/csharp/messages/count_tokens.md", + "sha256": "fc429134a905097b21581c2c8c9c46801e6cd0cd3cdc06dd437757a142b9ea63", + "size": 91081 }, { - "url": "https://platform.claude.com/docs/en/api/java/messages/batches/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/files", "status": "success", - "path": "en/api/java/messages/batches/list.md", - "sha256": "7028a924b5213d1700667d3cac922db45d0aa464402488b71b714e707966a5a6", - "size": 5692 + "path": "en/api/csharp/beta/files.md", + "sha256": "10a93152bd180a3bdcef11b8ab2adf3ebef59247f3f70c31722075ba04230c41", + "size": 29471 }, { - "url": "https://platform.claude.com/docs/en/api/java/messages/batches/cancel", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/user_profiles", "status": "success", - "path": "en/api/java/messages/batches/cancel.md", - "sha256": "d0e8a5cdd35d81643166c690ac64ad2e1926ee7202eff2a18032968b4ce8bb76", - "size": 5548 + "path": "en/api/csharp/beta/user_profiles.md", + "sha256": "238820b9b821d104b26f854210f5900601786237228dc83435c7b3c5b5347b70", + "size": 60355 }, { - "url": "https://platform.claude.com/docs/en/api/java/messages/batches/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels", "status": "success", - "path": "en/api/java/messages/batches/retrieve.md", - "sha256": "2b907b2fa12853f98573977bfd463fb17436d366cca93aa1768a449b1febeccd", - "size": 5246 + "path": "en/api/csharp/beta/tunnels.md", + "sha256": "26a87ed9b6bdae94e7da96743f2d61a05f4815daf1aebfc1258c7e6307a549c4", + "size": 59870 }, { - "url": "https://platform.claude.com/docs/en/api/java/messages/batches/results", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/webhooks", "status": "success", - "path": "en/api/java/messages/batches/results.md", - "sha256": "1453879d1fd46bb5f8047c5f8bfb318235de4da2940f6cdee17e61c57ff5e7bd", - "size": 35477 + "path": "en/api/csharp/beta/webhooks.md", + "sha256": "d3bb15da5c2287e43e260f24b1838c95fdcaf038fe09da9d63350ee2c0f76b32", + "size": 38967 }, { - "url": "https://platform.claude.com/docs/en/api/java/messages/batches/delete", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments", "status": "success", - "path": "en/api/java/messages/batches/delete.md", - "sha256": "0500b9264cefa010edd185d95b54f5d058babd782dffa108c6159f4bedf23ae1", - "size": 2056 + "path": "en/api/csharp/beta/environments.md", + "sha256": "32dc4944a8c1e25a6c0f7c1b6f1bfc53449f6395600c1c6152bf07b23d1e6548", + "size": 115383 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/environments/create", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages", "status": "success", - "path": "en/api/java/beta/environments/create.md", - "sha256": "fcf6f6a74c089a9e097792557827953f33ade3022e8acb8062d1494d42c10a82", - "size": 11662 + "path": "en/api/csharp/beta/messages.md", + "sha256": "4b83a9e4b51ce1cccb10bba704de78710d79385f5f6c052029286b73337db522", + "size": 2868029 + }, + { + "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents", + "status": "success", + "path": "en/api/csharp/beta/agents.md", + "sha256": "5aed39282e25be1221710c4d60ed4bba774e7b3a642a832eb22bc9715a3e7f53", + "size": 455526 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/environments/update", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployment_runs", "status": "success", - "path": "en/api/java/beta/environments/update.md", - "sha256": "1e2a98cce892534cbd2429273a6b5735f80fa6a3c5675e34c48900d2744164d6", - "size": 11668 + "path": "en/api/csharp/beta/deployment_runs.md", + "sha256": "8a12cdc6375de0ea4d0c6b4ee3a27b936d7435880e442ec57a198d6d3156a55e", + "size": 34090 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/environments/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions", "status": "success", - "path": "en/api/java/beta/environments/list.md", - "sha256": "7e478baa533e49e2bb5d444a7044efaf65082fdc5668dcf7780cd70001c15967", - "size": 9105 + "path": "en/api/csharp/beta/sessions.md", + "sha256": "3acb80c3f6f24f6123d85c29e75e510f7fc848d1fdae38218ab8e2a9304f568b", + "size": 1207027 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/environments/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/models", "status": "success", - "path": "en/api/java/beta/environments/retrieve.md", - "sha256": "f52cb397e95581d351841cb39c18bac1e731bcdc05c09ac2ebb618bdf87a3b56", - "size": 8581 + "path": "en/api/csharp/beta/models.md", + "sha256": "147f3e1d91e14d4f6c50713a2749b3e98735c09e6f4053098327ec5cad14afb6", + "size": 48175 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/environments/delete", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores", "status": "success", - "path": "en/api/java/beta/environments/delete.md", - "sha256": "bb0d6167958dba34c651dca000f37a31b5ba47ea37302c92a6a73407d78974e9", - "size": 5287 + "path": "en/api/csharp/beta/memory_stores.md", + "sha256": "55881292f622ff68e2244d81b7b6660615fe9ca42dcc5f547dac3043e83927fe", + "size": 116129 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults", "status": "success", - "path": "en/api/java/beta/environments/work.md", - "sha256": "051648943ab9ba7d930a17d633f22c8904fb7a62c6fc0801dc71ce9dab3c8719", - "size": 63242 + "path": "en/api/csharp/beta/vaults.md", + "sha256": "fd0b554b2dbd7d5af77b446b768575b0a547faa1c385001f6cb9715dfdc0b6e3", + "size": 102770 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/environments/archive", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments", "status": "success", - "path": "en/api/java/beta/environments/archive.md", - "sha256": "28e2dd1945842147d65dd7ec4e95e985a7a0c51c9dd9e9af6cd390a1e6bfc64f", - "size": 8644 + "path": "en/api/csharp/beta/deployments.md", + "sha256": "10ff68e3109df12a8bf6adbd2a461a3e19a46278506237fa1835c9bacd2ab8d1", + "size": 225382 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/deployment_runs/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills", "status": "success", - "path": "en/api/java/beta/deployment_runs/list.md", - "sha256": "75486c7888ddabe416a33e39fab2530435245f3b3852ee5afcab82acefe2556b", - "size": 12027 + "path": "en/api/csharp/beta/skills.md", + "sha256": "a660d823448df0af13cbca28ccb51b65b5c3b8d257c31ae33e76ad0dce37390b", + "size": 54543 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/deployment_runs/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/files/retrieve_metadata", "status": "success", - "path": "en/api/java/beta/deployment_runs/retrieve.md", - "sha256": "9686ee687c7e495ddd2e2048e74a3a6d2be55c4e313922d47fd7be17d3447743", - "size": 10721 + "path": "en/api/csharp/beta/files/retrieve_metadata.md", + "sha256": "e81027a1268506a0bc4b73046ce6455a63894ca74899929d78956590051ced72", + "size": 6032 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/create", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/files/download", "status": "success", - "path": "en/api/java/beta/vaults/create.md", - "sha256": "ca6a22cac16fcfc2e908b37b1c2728d60ab780d2c6ff557699a27481a2f39e64", - "size": 6068 + "path": "en/api/csharp/beta/files/download.md", + "sha256": "9827cf1db323bfe16ffa87ad539ae584d9e9473cd8b73743dd152baf2aa645fc", + "size": 4300 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/update", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/files/delete", "status": "success", - "path": "en/api/java/beta/vaults/update.md", - "sha256": "efa6b08097808c0c1f15a37bfa6fe9f1dfbad41a383e11b550b91e2dbec321f9", - "size": 6106 + "path": "en/api/csharp/beta/files/delete.md", + "sha256": "902793650d8ef36347b2d9260557721fd155f43b095dc0d8262ba2e5f2afc791", + "size": 4593 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/files/list", "status": "success", - "path": "en/api/java/beta/vaults/list.md", - "sha256": "fd02c32df0a4be34fbd61d0031bb89a9d48aa1adbbb31fd8b4274d03f9e0a2c2", - "size": 6118 + "path": "en/api/csharp/beta/files/list.md", + "sha256": "9584213a69e95de7d473c0c8e01a2b2fad08008926e125bf732c73e731c55e32", + "size": 6782 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/files/upload", "status": "success", - "path": "en/api/java/beta/vaults/retrieve.md", - "sha256": "1595a6a18534a6092936b49d1503825fa95665fa745ba1e489ac0693e4876247", - "size": 5829 + "path": "en/api/csharp/beta/files/upload.md", + "sha256": "93308aaec026bc450e568272465cae1aae77f0e897ef2dc2268b94498a8f9d72", + "size": 6396 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/resources", "status": "success", - "path": "en/api/java/beta/vaults/credentials.md", - "sha256": "e838c2f18bb94bc568b293966007affc8ba790ddb174214d419b6f0aa91613d2", - "size": 98058 + "path": "en/api/csharp/beta/sessions/resources.md", + "sha256": "533bffa23b0c6f38de37522f979aead9a61060f4c4f56abc80498357ee0dfbe4", + "size": 38434 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/delete", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/create", "status": "success", - "path": "en/api/java/beta/vaults/delete.md", - "sha256": "9cfe1b5ea03b9d2d8ed2fa209b9c859f136d3f6aaaf3b652d3e4aab3c6c01351", - "size": 5203 + "path": "en/api/csharp/beta/sessions/create.md", + "sha256": "189901efa125f5aa65844d9de274cf4e64f4a60e215c5dde8a212519c22b9b9e", + "size": 87932 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/archive", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/update", "status": "success", - "path": "en/api/java/beta/vaults/archive.md", - "sha256": "be761f10c718efdd95b213e853ba53592a48e122fe090475f999adfa35d581e3", - "size": 5843 + "path": "en/api/csharp/beta/sessions/update.md", + "sha256": "6aced02d167e1647559ce6c7ba2e2bfd1ea6b259dd75a3333603cc66c9912262", + "size": 48911 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/user_profiles/create", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/retrieve", "status": "success", - "path": "en/api/java/beta/user_profiles/create.md", - "sha256": "f573bf289e4c1dd6c4b25b5b12d5a24a515c9469fe606eb48b87e6e284c3be55", - "size": 12608 + "path": "en/api/csharp/beta/sessions/retrieve.md", + "sha256": "9eea176ef33500d9af362bda5d5bd3f5d4308627e460536f241cc6f250755fdb", + "size": 47603 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/user_profiles/update", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/delete", "status": "success", - "path": "en/api/java/beta/user_profiles/update.md", - "sha256": "7ac45369684cf5e6a7bf40ef6e1ac37fcf2286f08f0d183f3f147edfe0afd49a", - "size": 12567 + "path": "en/api/csharp/beta/sessions/delete.md", + "sha256": "3fadbb034835fbd987e0626bc64f99ca806d2b417a7ab72465f6f8946a487722", + "size": 4686 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/user_profiles/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/list", "status": "success", - "path": "en/api/java/beta/user_profiles/list.md", - "sha256": "162fb41eed801965c1efc80e9120b5303d91763590c15b671d7ef6c887539e16", - "size": 11669 + "path": "en/api/csharp/beta/sessions/list.md", + "sha256": "757f62e77d51934e974b4b7e0c356f38952f457e03e0b196ca20ccca1039ada2", + "size": 50396 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/user_profiles/create_enrollment_url", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/archive", "status": "success", - "path": "en/api/java/beta/user_profiles/create_enrollment_url.md", - "sha256": "0250f7d80e73a22ca8d9b7b46c312e82965cea87cbb4851dd56301eb370dd231", - "size": 5825 + "path": "en/api/csharp/beta/sessions/archive.md", + "sha256": "fa53219399d19243f8e6e5c593ad4be7c9bbd90e10f4af9b046d6203b4714574", + "size": 47619 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/user_profiles/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/events", "status": "success", - "path": "en/api/java/beta/user_profiles/retrieve.md", - "sha256": "c19b042bc87a484f81c9348225b166176d5199c4ed2bbfd9cf7b36a94d48295c", - "size": 10536 + "path": "en/api/csharp/beta/sessions/events.md", + "sha256": "094bfe1f1b5dc561cadb403f5643b1fbbd5d91de52f203ca46fc2d781008acd4", + "size": 577727 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/agents/create", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads", "status": "success", - "path": "en/api/java/beta/agents/create.md", - "sha256": "e3e69605c79ae60cdc459324f79e062434f15cc12b7ad7db194209628f932e62", - "size": 59466 + "path": "en/api/csharp/beta/sessions/threads.md", + "sha256": "1edfc885c44e05fd408f5728b413f1e16d02560a6979b58217811828f6905222", + "size": 453016 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/agents/update", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/user_profiles/create_enrollment_url", "status": "success", - "path": "en/api/java/beta/agents/update.md", - "sha256": "6598a2ddfbfa17a8b508fd0f47abc85a9fe6692e41062a69bc6a59e7a4b62004", - "size": 60219 + "path": "en/api/csharp/beta/user_profiles/create_enrollment_url.md", + "sha256": "499eb319b79fd470a38778c7f1b0dd1cac7c14c49d15a031a8b4e178addf7de2", + "size": 5323 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/agents/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/user_profiles/create", "status": "success", - "path": "en/api/java/beta/agents/list.md", - "sha256": "a3a1d9d0cdf4356aef844bac5b4e7b64e4911090783d70b35be68a4e50f05124", - "size": 32173 + "path": "en/api/csharp/beta/user_profiles/create.md", + "sha256": "8b35ed3408784a0fe776fa31d910bd92f1af056aaa978a17fbf4157567ca4321", + "size": 12139 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/agents/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/user_profiles/update", "status": "success", - "path": "en/api/java/beta/agents/retrieve.md", - "sha256": "6dc0526a8a01d4a2501fe4d7663da21730da5d5dd5a6714e7f6ddbcb77d061cb", - "size": 31457 + "path": "en/api/csharp/beta/user_profiles/update.md", + "sha256": "1bebe4cda213b997ee46e3e1f013a2f90fb0a28beb77f9b6c6746365985d0637", + "size": 12123 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/agents/versions", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/user_profiles/retrieve", "status": "success", - "path": "en/api/java/beta/agents/versions.md", - "sha256": "8fa1dd7e48e69ecd07cec8c0039e0e85bba6a16a3caf24621704e49266479953", - "size": 31957 + "path": "en/api/csharp/beta/user_profiles/retrieve.md", + "sha256": "a6080510380b89c3a9f6003e72714b5b9f0585b511e7c858dd60c114a4306e1f", + "size": 10119 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/agents/archive", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/user_profiles/list", "status": "success", - "path": "en/api/java/beta/agents/archive.md", - "sha256": "5ff3334eebfd6fbf99b82fef3fb31f82ce885077132ccf89ef93c5e6dd12f2d6", - "size": 31317 + "path": "en/api/csharp/beta/user_profiles/list.md", + "sha256": "fcc804c0d06a5ca55d49bdc6ac8e9e36aaa079eee1a80c7e00220f18d1daa7de", + "size": 11222 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/models/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployment_runs/retrieve", "status": "success", - "path": "en/api/java/beta/models/list.md", - "sha256": "548a81487aa507743bed2f927e7a41ec71a70a05ec6b1f347419c10803c99cd2", - "size": 14909 + "path": "en/api/csharp/beta/deployment_runs/retrieve.md", + "sha256": "90f1535c81d051f406d4f6ca3ffdac0c7f3c0ec1f591621bffaf251ed58964bd", + "size": 10593 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/models/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployment_runs/list", "status": "success", - "path": "en/api/java/beta/models/retrieve.md", - "sha256": "b9053e34e7432f7176a708dd720737edf65b68b7f60aacb851e81e5c5fc54f33", - "size": 13596 + "path": "en/api/csharp/beta/deployment_runs/list.md", + "sha256": "0d76ab412e76d01ed034113119e573e9809437f9f9633bebbb1497e9141e433d", + "size": 11830 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/create", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memory_versions", "status": "success", - "path": "en/api/java/beta/tunnels/create.md", - "sha256": "1740baecd732d067f662be5242f2136fb364f2064638764ff74f400ef1d4b624", - "size": 6306 + "path": "en/api/csharp/beta/memory_stores/memory_versions.md", + "sha256": "8a6ac2c37bb06cbfc733fef4a52d97d7a7e5fc3bc31d0a89a2350fff18b7dd38", + "size": 43239 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/rotate_token", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/create", "status": "success", - "path": "en/api/java/beta/tunnels/rotate_token.md", - "sha256": "eb2efff32dd04319b31fb89ebae1ef37f171778b266f03e96e9fb592c8773735", - "size": 5932 + "path": "en/api/csharp/beta/memory_stores/create.md", + "sha256": "a2621cf32af91dc5125df50d66fc02dc0863ce69315a9ba51f79ea5b86a5248a", + "size": 7194 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/update", "status": "success", - "path": "en/api/java/beta/tunnels/list.md", - "sha256": "bee9c3bb243a5acf810eaf3663d8986a1d18b6ccf7b5fbc8f6f30c04c621571b", - "size": 6584 + "path": "en/api/csharp/beta/memory_stores/update.md", + "sha256": "cdc489b93a21dc3e66c610d24596745360b3d79cea7f49ad11a6262b2d9ee5c8", + "size": 7286 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/certificates", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/retrieve", "status": "success", - "path": "en/api/java/beta/tunnels/certificates.md", - "sha256": "2197e3b0ce9387f6bc934ac906e762464e7e0d8d601f5263b3adfdd70e1da981", - "size": 28116 + "path": "en/api/csharp/beta/memory_stores/retrieve.md", + "sha256": "2421053deca31227b822ffb8781f70797106c85a37e3a65173160576a0b3a843", + "size": 6632 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/delete", "status": "success", - "path": "en/api/java/beta/tunnels/retrieve.md", - "sha256": "11e476220bd01093a68e0870dfcb1b903346a247877f1392c5eda10a5eb8964e", - "size": 6122 + "path": "en/api/csharp/beta/memory_stores/delete.md", + "sha256": "8ec072597fc6642525c416c6bef62428cbf68bc3125687d90c5f45accdf3c2fb", + "size": 5061 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/reveal_token", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/list", "status": "success", - "path": "en/api/java/beta/tunnels/reveal_token.md", - "sha256": "3abb78cafd7e632d1c363f13f238064e5c209dfbff6d903401e96807d8deadc5", - "size": 5831 + "path": "en/api/csharp/beta/memory_stores/list.md", + "sha256": "2b666e860f7143a796725e9e73461e2dfcc9fb0058274e8d63fb9f39a5309b3c", + "size": 7389 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/archive", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memories", "status": "success", - "path": "en/api/java/beta/tunnels/archive.md", - "sha256": "c8946c88707835c4d3d04de5b05ca6d36c3b47a23a6a66d2b56d02d3580bd913", - "size": 6402 + "path": "en/api/csharp/beta/memory_stores/memories.md", + "sha256": "0ea4c712c0e4b8c231a5096b4d3db21d568eb16b0bf8a7bb1622a4d487634285", + "size": 55323 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/create", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/archive", "status": "success", - "path": "en/api/java/beta/sessions/create.md", - "sha256": "d625ccb9d6f994ba0f516d6e544284ee1fab16fdcd530901612283b02bc93f93", - "size": 84597 + "path": "en/api/csharp/beta/memory_stores/archive.md", + "sha256": "7032d0afd5784c348fbf295695115f9e053d7e8c80b935378247f0b7413a568c", + "size": 6707 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/resources", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/models/retrieve", "status": "success", - "path": "en/api/java/beta/sessions/resources.md", - "sha256": "62ec35a58dc514b65edee2e5d71f5e9352d33216ea552da0935b5ae2497079b0", - "size": 40299 + "path": "en/api/csharp/beta/models/retrieve.md", + "sha256": "9703a0bfffdb1b058b64e45a4f5a781499c60aac42752738e1936e5d67be3563", + "size": 14050 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/update", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/models/list", "status": "success", - "path": "en/api/java/beta/sessions/update.md", - "sha256": "dd58a7bb61a7fc0395c31ee02ab91793d875f7438a8a05321d982f236f0ce7df", - "size": 48034 + "path": "en/api/csharp/beta/models/list.md", + "sha256": "97dbf09c80bd75849a0c070d97741aa78ebd291f36f6d466aa7d7e1926278594", + "size": 15376 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/create", "status": "success", - "path": "en/api/java/beta/sessions/list.md", - "sha256": "cceadadb90aee35e291b7198931c0d324903ebb7081515ff1f42e890f6bad84d", - "size": 49599 + "path": "en/api/csharp/beta/agents/create.md", + "sha256": "f51a22101175665cac161990c32784bbe6ec7c5d5f3eccaaf0f050e63fbcbb9d", + "size": 61754 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/update", "status": "success", - "path": "en/api/java/beta/sessions/threads.md", - "sha256": "053cfdae20452e1dd7afdc2b87f50029bfd341cedd14f998a898343d5ef6b505", - "size": 442606 + "path": "en/api/csharp/beta/agents/update.md", + "sha256": "01b1cd1033d089f17b14bd239b85573e210ab6f615e05163c4f5e84b382ae071", + "size": 62620 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/retrieve", "status": "success", - "path": "en/api/java/beta/sessions/retrieve.md", - "sha256": "9b2a3f03db47e7497a0a4eb2fd7849fac3a57c692a9b8e543ec6f1b0639776c0", - "size": 46717 + "path": "en/api/csharp/beta/agents/retrieve.md", + "sha256": "c7bc86ddf3fd15e626bd5b0b32620ab3bad16eeb17a5586651546ed38c110c91", + "size": 31799 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/events", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/list", "status": "success", - "path": "en/api/java/beta/sessions/events.md", - "sha256": "95ecdf2b7e4d3f2766ca85dbf07c9f68f7328751a20ee92195f10d179fe181ac", - "size": 557847 + "path": "en/api/csharp/beta/agents/list.md", + "sha256": "dd4ee2a0fee58440b4e4c350a593554bf7e33c466fd5a9dd882b68647d466b9f", + "size": 32511 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/delete", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/versions", "status": "success", - "path": "en/api/java/beta/sessions/delete.md", - "sha256": "f876a40ecaa9a5a9efcaaa4741b57645b72ffc5b97814035713ee13b57459de3", - "size": 5180 + "path": "en/api/csharp/beta/agents/versions.md", + "sha256": "5ae65682a2394a0015f01ab017b9dbe3b9791ec78f29b19526e97b85a83ace61", + "size": 32316 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/archive", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/archive", "status": "success", - "path": "en/api/java/beta/sessions/archive.md", - "sha256": "4d7b0b5983be7faeea2ca89eee54ac589bb826f3e3fe0328af158edf6ffbac25", - "size": 46732 + "path": "en/api/csharp/beta/agents/archive.md", + "sha256": "7335a965bac3d763c4319f00d388cc98f182675d2bcba6b880abd0437cf54988", + "size": 31671 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/unpause", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work", "status": "success", - "path": "en/api/java/beta/deployments/unpause.md", - "sha256": "2d6f65871699214bda39e95fc8d9c763af2a1ebfca67449d8a337cfdbfa21eed", - "size": 20304 + "path": "en/api/csharp/beta/environments/work.md", + "sha256": "bfe687c6bc06d25c9de07dcfb9dab5db92125d27a3cea85c9ad23c583d4fbf41", + "size": 59154 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/create", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/create", "status": "success", - "path": "en/api/java/beta/deployments/create.md", - "sha256": "27d009023359b56b5607f23251e4fd6d90e493c2011fd0aeb4950fbf315225b9", - "size": 30287 + "path": "en/api/csharp/beta/environments/create.md", + "sha256": "09bbe70b8bc16750553017e44feab62a606c66284a37a78914fdf50349a440cd", + "size": 11238 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/update", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/update", "status": "success", - "path": "en/api/java/beta/deployments/update.md", - "sha256": "825b6a185db956086f77114340b4a77c23b4b89f27c581e255c1435c30ce4306", - "size": 29918 + "path": "en/api/csharp/beta/environments/update.md", + "sha256": "c6df23e4d087fecbd3de0588a62ae0055a9613e9a9e9fcc2da68544ccee93b33", + "size": 11328 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/retrieve", "status": "success", - "path": "en/api/java/beta/deployments/list.md", - "sha256": "0907da1412a0972ddf730ec4d9d37732a48d9a91e30693317130acf4a70d99b4", - "size": 21336 + "path": "en/api/csharp/beta/environments/retrieve.md", + "sha256": "5193ac79620777975af6c09bc3df2773d9d6fdac02de3172c69ecd64c9af5f15", + "size": 8302 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/delete", "status": "success", - "path": "en/api/java/beta/deployments/retrieve.md", - "sha256": "ba0626b3f5eadec23b1618a9d349e461d5a001a3743d50ab6fab2ab1434c6fbe", - "size": 20278 + "path": "en/api/csharp/beta/environments/delete.md", + "sha256": "7494f2fede3dc6a57417677e9d8edcb5cb7feda047f1813f49e6e44e5f1f4d1b", + "size": 4787 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/run", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/list", "status": "success", - "path": "en/api/java/beta/deployments/run.md", - "sha256": "8905190a2cf1dd248fa7bfdcc1877efe2ed51626e9bd1ef13642fea4104cc146", - "size": 10678 + "path": "en/api/csharp/beta/environments/list.md", + "sha256": "a6f2ba8eb57c0de9325d54aaa41ac593642d02d23a20abb4161878de62d6af73", + "size": 8806 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/pause", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/archive", "status": "success", - "path": "en/api/java/beta/deployments/pause.md", - "sha256": "73a5a8defc535d16d74e956f8961b4eaf0a814347a06594aa4b805103e766f7e", - "size": 20282 + "path": "en/api/csharp/beta/environments/archive.md", + "sha256": "4ec79910e2dd3b98c4aa21d04750acc9156406470068b9fa142f9dd7d1365ca6", + "size": 8366 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/deployments/archive", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/certificates", "status": "success", - "path": "en/api/java/beta/deployments/archive.md", - "sha256": "4d2c8fa7862d72734adb1862e10dfc46c8a91ecfe38c069c124b48cfd8d4c2d4", - "size": 20304 + "path": "en/api/csharp/beta/tunnels/certificates.md", + "sha256": "08d2638fc55f7343027272ddc58b7d357910515c317bc570028f2fa7d3ed6f85", + "size": 25898 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/skills/create", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/create", "status": "success", - "path": "en/api/java/beta/skills/create.md", - "sha256": "e91caf8c73f498516538b8e073c9996afd4c8861c43cfcc7cffd300d60909bb8", - "size": 7219 + "path": "en/api/csharp/beta/tunnels/create.md", + "sha256": "aad1a5edcd4a1b1f9bfde9e8fb8d343ee21f9218df94f7559dc4d4a7869d4066", + "size": 5820 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/skills/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/retrieve", "status": "success", - "path": "en/api/java/beta/skills/list.md", - "sha256": "2290915da1748a37a86dbb08128da3f3bd258c69fa2e1f1127839d86cd95612e", - "size": 7369 + "path": "en/api/csharp/beta/tunnels/retrieve.md", + "sha256": "ba4f2a43d96cd4e4181e077ce319d6bc9a8b182f011ff51502e6354121e3c0f4", + "size": 5658 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/skills/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/reveal_token", "status": "success", - "path": "en/api/java/beta/skills/retrieve.md", - "sha256": "00520e7fe8ec571d35f0e9f9ebcef312fd342abff0bb92f0ea182e99ffa6c8be", - "size": 6812 + "path": "en/api/csharp/beta/tunnels/reveal_token.md", + "sha256": "3e87b7318b495161222fa9401038b072e8874efa1386b4ea91e5e0127e853849", + "size": 5348 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/skills/versions", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/list", "status": "success", - "path": "en/api/java/beta/skills/versions.md", - "sha256": "6d1e175e5d8e255f2e7500ad4e233c821edd2c0128156060667c40437a0a775b", - "size": 31669 + "path": "en/api/csharp/beta/tunnels/list.md", + "sha256": "c6d5dd6367523b10753a7a71428f1be2257f55c241fa875abeb93759f72efea8", + "size": 6112 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/skills/delete", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/archive", "status": "success", - "path": "en/api/java/beta/skills/delete.md", - "sha256": "2821c1163373f0db0bf2ac8caf910adfcf6df412e61668e2389949249966a3a9", - "size": 5257 + "path": "en/api/csharp/beta/tunnels/archive.md", + "sha256": "e9045542692cdc45cdbedc29eee55ad86547cb1d0bd2a4f6ada6983208e67550", + "size": 5939 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memory_versions", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/rotate_token", "status": "success", - "path": "en/api/java/beta/memory_stores/memory_versions.md", - "sha256": "c63a8a46560a8d1ead00451217e6f3b22670236d7cf9074e536a541122c71e89", - "size": 44786 + "path": "en/api/csharp/beta/tunnels/rotate_token.md", + "sha256": "82418d25362e4afdc46e99d710053f9a7a3e9d97875951f17748e1fd8ff0332f", + "size": 5440 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/create", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches", "status": "success", - "path": "en/api/java/beta/memory_stores/create.md", - "sha256": "f631583a6bf500cd299fed37f7d1a21f400b03f719ac9392e04048119e5643a3", - "size": 7704 + "path": "en/api/csharp/beta/messages/batches.md", + "sha256": "444043c787da5066aee76c2ab138c1c44a03fa6027c50a9437cbd093cf6478b0", + "size": 791705 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/update", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/create", "status": "success", - "path": "en/api/java/beta/memory_stores/update.md", - "sha256": "73541521972d676f5959399d1e275e745c021b0c1ac2ff84f06151c6c2d5bc99", - "size": 7710 + "path": "en/api/csharp/beta/messages/create.md", + "sha256": "f131b080addbce7c7efe32b8ce9962f7cedd3e18ef187dc0c29a902f42031d46", + "size": 295318 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/count_tokens", "status": "success", - "path": "en/api/java/beta/memory_stores/list.md", - "sha256": "eab2c05942e78210be5ef30fe1ced63ae9137014f04fc2adcc502733186627df", - "size": 7842 + "path": "en/api/csharp/beta/messages/count_tokens.md", + "sha256": "0d2a423bfdfa1cee4ff99535b13a7ea0ea43809d26cd685b169cebc58780510c", + "size": 140953 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/pause", "status": "success", - "path": "en/api/java/beta/memory_stores/retrieve.md", - "sha256": "27199ebbe24dc16f1253afd144ee4b134f3ea1476abf3e0b8676c434e010e50c", - "size": 7058 + "path": "en/api/csharp/beta/deployments/pause.md", + "sha256": "322561d24594b9cdccf0e3fc2dea473825ce18eafcb9085b7d011f6fdc0c4416", + "size": 20525 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/delete", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/create", "status": "success", - "path": "en/api/java/beta/memory_stores/delete.md", - "sha256": "5337a94de5dde1b02abc77bf4a8e4bee99801886ee699ea513a280892064e205", - "size": 5567 + "path": "en/api/csharp/beta/deployments/create.md", + "sha256": "612769365cf762cce9322b7824737f92b592e902acb1c6d8a297ba3b18d46bcc", + "size": 30723 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memories", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/update", "status": "success", - "path": "en/api/java/beta/memory_stores/memories.md", - "sha256": "f7b632b2dfac392c31d904550acdf2432e3109f584390ba27a51ecd08fb9cf36", - "size": 57805 + "path": "en/api/csharp/beta/deployments/update.md", + "sha256": "16d0def9247ddac15764389bc50bbd562aa50742ade8693556563ed5fc577e56", + "size": 30483 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/archive", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/retrieve", "status": "success", - "path": "en/api/java/beta/memory_stores/archive.md", - "sha256": "18b4bc3f8095a7d3d44c7b7d33109fd2d9680abe4d5e36eb8d88201abbb6cc00", - "size": 7132 + "path": "en/api/csharp/beta/deployments/retrieve.md", + "sha256": "a8d2de20e520472265857381be6d442b00e3ebb64093461abd98f8d1defb2dc6", + "size": 20518 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/files/download", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/list", "status": "success", - "path": "en/api/java/beta/files/download.md", - "sha256": "9bdcec83b67c1d03110a1e21db79a1506b1e45839c6ebccb8ee7d58af56dea51", - "size": 4789 + "path": "en/api/csharp/beta/deployments/list.md", + "sha256": "65a8f002279d49b15fb9c52ec6890bcc6c934c84f1e92a7955898132f9bdc08b", + "size": 21531 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/files/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/unpause", "status": "success", - "path": "en/api/java/beta/files/list.md", - "sha256": "043a8e38f86ac7b9e4d74fe78778d5965ae63f09380e48df5bf287cf70d352bf", - "size": 7241 + "path": "en/api/csharp/beta/deployments/unpause.md", + "sha256": "3903177b301e6f4e1b17bb3bbdbdfa9280cc377ecdfcd6afea22ebae82bd6eec", + "size": 20545 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/files/upload", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/archive", "status": "success", - "path": "en/api/java/beta/files/upload.md", - "sha256": "3efbe627744c0b4514b8c47ce2d7dfbe0514d9179f46b2abcbc616e79367aa30", - "size": 6993 + "path": "en/api/csharp/beta/deployments/archive.md", + "sha256": "17103c534a3221f2df02effa30df22c8a5770d8e926f152e8dbbf19defcb5b49", + "size": 20545 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/files/retrieve_metadata", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/deployments/run", "status": "success", - "path": "en/api/java/beta/files/retrieve_metadata.md", - "sha256": "fb722e989c5ba1301e08f0834d2a5a0aa95c7b8603b17a8bdae6ce7a07bddfcd", - "size": 6508 + "path": "en/api/csharp/beta/deployments/run.md", + "sha256": "3f894b5cedb6e7c8030102cb578972a48a434aa449f8d098b385bb22d22f1b3b", + "size": 10558 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/files/delete", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/create", "status": "success", - "path": "en/api/java/beta/files/delete.md", - "sha256": "2d3d0c9b979ceea5bbb15a6998000db228f2ed8403e41dcaaae4101a002a60a8", - "size": 5088 + "path": "en/api/csharp/beta/skills/create.md", + "sha256": "5dfa044309356a57d41945a20c46aeff6357e397fb5406ff2d6940ee8fd66a11", + "size": 6691 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/messages/create", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/retrieve", "status": "success", - "path": "en/api/java/beta/messages/create.md", - "sha256": "7804ad938a0bc80e4087ac69916b0a3a85138905ec92232119afb1f10d5f0a88", - "size": 298335 + "path": "en/api/csharp/beta/skills/retrieve.md", + "sha256": "cc83ceb7b22addb5b92b952ca9e888ec4544fa2701aaa424f651b3a2e55490d5", + "size": 6386 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/messages/count_tokens", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/delete", "status": "success", - "path": "en/api/java/beta/messages/count_tokens.md", - "sha256": "9fa39b0e315b87ffe929d9077e955a90dcf86aa6c32d478dd78887af24ea9ad4", - "size": 143140 + "path": "en/api/csharp/beta/skills/delete.md", + "sha256": "4bbc0cb5ca246ae924ad4b6ecb44e703cd136a7e8b73a1fae698575cd9368f22", + "size": 4771 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/list", "status": "success", - "path": "en/api/java/beta/messages/batches.md", - "sha256": "570b7471951b49e9cc62ba0eb10235b7b559cc0f4f95a65f88a449e1509e167a", - "size": 792975 + "path": "en/api/csharp/beta/skills/list.md", + "sha256": "82ee1b4c061213d7f360cd30a281eb51dc451bf4907d107dfc3cc1a7ea0e5ea7", + "size": 6943 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches/create", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/versions", "status": "success", - "path": "en/api/java/beta/messages/batches/create.md", - "sha256": "3019ce9553f4acbb95febf3e94b6c701d7825b48076b8e6031af51be298f0e4b", - "size": 173900 + "path": "en/api/csharp/beta/skills/versions.md", + "sha256": "41a875822f9160842c751be30a6cdc2ede7feceb03ce9932d44baa2c070f1303", + "size": 28947 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/create", "status": "success", - "path": "en/api/java/beta/messages/batches/list.md", - "sha256": "71605ba82fbcc4a31304f9f715110aafc8404bca29654bd9091af5a1b25dac90", - "size": 9236 + "path": "en/api/csharp/beta/vaults/create.md", + "sha256": "ff8e938f64ab9677f9dafa860346f1a4eeb51e06b74092b407c378501db08528", + "size": 5602 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches/cancel", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/update", "status": "success", - "path": "en/api/java/beta/messages/batches/cancel.md", - "sha256": "4e464bb7dffffec878d1c41fa3d8048d75fb24e20ca7a877793d04a8b3957a4e", - "size": 9108 + "path": "en/api/csharp/beta/vaults/update.md", + "sha256": "e9086d2c400f95de0156eaf0929fcc1472dce320f4da90bf55af0a7805ece708", + "size": 5713 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/retrieve", "status": "success", - "path": "en/api/java/beta/messages/batches/retrieve.md", - "sha256": "5b60ee927217000f42ff0a75f82d47c8d7a6eb555d234651120c9ed653dd31c4", - "size": 8806 + "path": "en/api/csharp/beta/vaults/retrieve.md", + "sha256": "ec6c362dcb0a8123ee7cf2477c358673a55a480bd0bca4ce80e34ef6499fcc9d", + "size": 5440 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches/results", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/delete", "status": "success", - "path": "en/api/java/beta/messages/batches/results.md", - "sha256": "4b217d42a53984c75737ee3eba930ffff3d700cc54cfbf48636fa1c25b5143ee", - "size": 153024 + "path": "en/api/csharp/beta/vaults/delete.md", + "sha256": "95601e6b3b6239d6cba7389a2bd18664ec22c74964436d48fc81b44caaacb9a9", + "size": 4729 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/messages/batches/delete", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/list", "status": "success", - "path": "en/api/java/beta/messages/batches/delete.md", - "sha256": "ae59cecee1c2a50cbe6a3ffc0614d32e5aaaa771ecfd25ac92a60305e7485811", - "size": 5612 + "path": "en/api/csharp/beta/vaults/list.md", + "sha256": "b54d114c3b4d73a81844996eb5455c1b5b53a9d70b04861c2a47be4b953ae496", + "size": 5867 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memories/create", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/archive", "status": "success", - "path": "en/api/java/beta/memory_stores/memories/create.md", - "sha256": "9236259bada3afb565c2132b9210abe448c3c5dc639bb73a5d4f8db233d9a7c3", - "size": 9009 + "path": "en/api/csharp/beta/vaults/archive.md", + "sha256": "0a270c33acc34d876ff469a6bbec65d924c676370cbe2200868d340b65402e75", + "size": 5440 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memories/update", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials", "status": "success", - "path": "en/api/java/beta/memory_stores/memories/update.md", - "sha256": "321208717097a1a7888f049aed6bceba3842e18e1e7780ba83ff298950816fd3", - "size": 9468 + "path": "en/api/csharp/beta/vaults/credentials.md", + "sha256": "84c520fed13ea4899aa5117ff6163f03eb1ade60e2f50074be1a18c64425facf", + "size": 102822 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memories/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/create", "status": "success", - "path": "en/api/java/beta/memory_stores/memories/list.md", - "sha256": "fc453cd8e2cfc1bf5011dce35aa0fa1cec4f028c6e356d0050035a011f96b9ae", - "size": 10312 + "path": "en/api/csharp/beta/vaults/credentials/create.md", + "sha256": "fd3fa29fbcb7402f75abbcdbf9970e9b538068f99af76baaf9b2a8b71d46163f", + "size": 14484 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memories/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/update", "status": "success", - "path": "en/api/java/beta/memory_stores/memories/retrieve.md", - "sha256": "f08bcb27cfa27e210bcae67690de69a9b47ef8103d97c927d3147952d9a17824", - "size": 8523 + "path": "en/api/csharp/beta/vaults/credentials/update.md", + "sha256": "5ed65a8da5a932be9e513598ff72301b394a925ae2ac733337f4a3a754d802ed", + "size": 13856 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memories/delete", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/retrieve", "status": "success", - "path": "en/api/java/beta/memory_stores/memories/delete.md", - "sha256": "474d53b098ff4135d4d4bd1da5415bf7d4e486cb095b01e066f41a8ce5232b1e", - "size": 6355 + "path": "en/api/csharp/beta/vaults/credentials/retrieve.md", + "sha256": "6aee05f9f60cd128b356eec523a4f2b7c6efda361a68e3af58a8b0ae83bce8ca", + "size": 9321 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memory_versions/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/delete", "status": "success", - "path": "en/api/java/beta/memory_stores/memory_versions/list.md", - "sha256": "1b00a71f23ed7f8dbdeef584c8e8f328b03f806a6ca780da3198dc674e77366a", - "size": 12988 + "path": "en/api/csharp/beta/vaults/credentials/delete.md", + "sha256": "9aa1f9c5cd8861299414b41d417f89f086eeff798232ae20c97a489754b7a055", + "size": 5028 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memory_versions/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/list", "status": "success", - "path": "en/api/java/beta/memory_stores/memory_versions/retrieve.md", - "sha256": "9a681c70cc04487d9e26b215d7afb372c3826ede8f674ed91a87a0f338877317", - "size": 11709 + "path": "en/api/csharp/beta/vaults/credentials/list.md", + "sha256": "d659427b4314486ebac3752bf7ceda4a40fd7a80bba60e6b40f40c7a28240a27", + "size": 9764 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/memory_stores/memory_versions/redact", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/archive", "status": "success", - "path": "en/api/java/beta/memory_stores/memory_versions/redact.md", - "sha256": "7ca19d493e5df9365a7ee79bc09f35d15ff9bfb585d69d4f74912fa7f18bc59b", - "size": 11270 + "path": "en/api/csharp/beta/vaults/credentials/archive.md", + "sha256": "8ec75804dcb30d2e271b9c5f9b4ca48c05dd8b6eab4220327703e1e4b6cc03c0", + "size": 9321 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/skills/versions/create", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/mcp_oauth_validate", "status": "success", - "path": "en/api/java/beta/skills/versions/create.md", - "sha256": "1d7c853251beef14398066f22be48d3d4063895df20b6814432221d0ef578e10", - "size": 6545 + "path": "en/api/csharp/beta/vaults/credentials/mcp_oauth_validate.md", + "sha256": "d9049f6a39bf19c74dd556c7ac20fa36d73cb09cfe9e31cfc52ea2ff685e0f36", + "size": 8456 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/skills/versions/download", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/versions/create", "status": "success", - "path": "en/api/java/beta/skills/versions/download.md", - "sha256": "d6434b8025ee5d0f149846c93b0788b01ea366dbfcefce028726dc670467104f", - "size": 5368 + "path": "en/api/csharp/beta/skills/versions/create.md", + "sha256": "18e99201b136341a0706c415b9f5dcabec18dce9ad12a51ae5c5bb5815f9caca", + "size": 5967 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/skills/versions/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/versions/download", "status": "success", - "path": "en/api/java/beta/skills/versions/list.md", - "sha256": "b7fa4f9bf781a32510337b1223b5c7719b3322cfb11726a0fdd4277dfbdfbcb1", - "size": 6503 + "path": "en/api/csharp/beta/skills/versions/download.md", + "sha256": "9321ff4a3101e418e0562afb1478042d86d9e28b53c97599bb9d7e6482d05c7a", + "size": 4779 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/skills/versions/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/versions/retrieve", "status": "success", - "path": "en/api/java/beta/skills/versions/retrieve.md", - "sha256": "d9b107f6be6aab41ea14ff43691fe9d3bf4a0a97faaa9441ed307da9f231433b", - "size": 6590 + "path": "en/api/csharp/beta/skills/versions/retrieve.md", + "sha256": "77a2e16cb8253c387ffb114ba5c08295af18ee702727446fb63a4ad42a2bced5", + "size": 6031 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/skills/versions/delete", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/versions/delete", "status": "success", - "path": "en/api/java/beta/skills/versions/delete.md", - "sha256": "65fa926375ecf761583c2deab2bf6dc3e1eedc02a77d004bd587b0fad360a39a", - "size": 5769 + "path": "en/api/csharp/beta/skills/versions/delete.md", + "sha256": "2f78660e6abb24771dbedec65a76339d0d0e848ae23c87fbe9b1915042c4fd98", + "size": 5170 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/skills/versions/list", "status": "success", - "path": "en/api/java/beta/sessions/threads/list.md", - "sha256": "288af68ef94168a81d25c3287248072374c04ecf370a337f260ba30d40240514", - "size": 35377 + "path": "en/api/csharp/beta/skills/versions/list.md", + "sha256": "cc37a5e32bd96724e8d1e936ef9b8a2607f3450b320179cfa949016a3bbfb6d8", + "size": 6055 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches/cancel", "status": "success", - "path": "en/api/java/beta/sessions/threads/retrieve.md", - "sha256": "891a0dab3491eca30a894dd33eb48dd4c12138ce69fdfb0cd8041ae401d420fb", - "size": 34628 + "path": "en/api/csharp/beta/messages/batches/cancel.md", + "sha256": "4b16b7165393ec05cbbc3a9baa72dc402402048267b407cfb3e370be48782078", + "size": 8692 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads/events", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches/create", "status": "success", - "path": "en/api/java/beta/sessions/threads/events.md", - "sha256": "bf5bbadefc650be8e7e5790ed8d7d13bd949ef4a1703f77d8d052260e82227cb", - "size": 194697 + "path": "en/api/csharp/beta/messages/batches/create.md", + "sha256": "6744b0af843104c832a70ebf93f77b34cf46560f5f9645554b92155bfab800a5", + "size": 177849 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads/archive", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches/retrieve", "status": "success", - "path": "en/api/java/beta/sessions/threads/archive.md", - "sha256": "971002f96c69b8c57ef2fb3f34da54f508c3017967ca397fd98de2fe17ef19c3", - "size": 34642 + "path": "en/api/csharp/beta/messages/batches/retrieve.md", + "sha256": "04b4342b4a738b0bf09f134f7a2f1a80a1f14321afb9c98c7ba428b6c814b3f6", + "size": 8388 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/resources/update", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches/delete", "status": "success", - "path": "en/api/java/beta/sessions/resources/update.md", - "sha256": "694792d4bd6dbe4e4740387fd8dd0b9c77cd157ed0d42d393009705b5deb9f40", - "size": 8116 + "path": "en/api/csharp/beta/messages/batches/delete.md", + "sha256": "a161a8f3ac2675ac5614388bc4d14dd7c4f95f7ef51ac6baff35dd2f48171259", + "size": 5104 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/resources/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches/list", "status": "success", - "path": "en/api/java/beta/sessions/resources/list.md", - "sha256": "ae94acd15ccbe860aa9f68bc4ecad9c1ee6509011bef781f1828a8c4d9b4259d", - "size": 8271 + "path": "en/api/csharp/beta/messages/batches/list.md", + "sha256": "a87f7ffe3c00d9ea5de663f2b306b810195d4a5ae49d5fe217a14981e4d6d446", + "size": 8816 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/resources/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/messages/batches/results", "status": "success", - "path": "en/api/java/beta/sessions/resources/retrieve.md", - "sha256": "8d5637eda5c7fe16f7e50a1fe90c1a23c2640592f7c7e400da10c8f4d4c66490", - "size": 7894 + "path": "en/api/csharp/beta/messages/batches/results.md", + "sha256": "85ce1cfde8ba14a6b72b4102dfd649bc68efca0548b80d097ac267bd5fdc190d", + "size": 151702 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/resources/add", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/certificates/create", "status": "success", - "path": "en/api/java/beta/sessions/resources/add.md", - "sha256": "ac81c6bc4594ba60a26a033288f86214de5961cc661fbaeddabe6b78afe8d4a9", - "size": 6108 + "path": "en/api/csharp/beta/tunnels/certificates/create.md", + "sha256": "618b56bab9b34374fbcef642de24da913469a40b13222e6b9d1192e7d5986402", + "size": 6353 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/resources/delete", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/certificates/retrieve", "status": "success", - "path": "en/api/java/beta/sessions/resources/delete.md", - "sha256": "6e8097ba8c834e14946e2c4d0b26daafef6cfcf4c0c45409888168877d2ba1b2", - "size": 5502 + "path": "en/api/csharp/beta/tunnels/certificates/retrieve.md", + "sha256": "15f73e4d28f969da7fd668fda949f633413846dbbf7b18dd00049d99014a8419", + "size": 6107 }, { - "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": "aa98290c208fea89376fb2b5f94704bab65940174891a78bbc736264b9176ebc", - "size": 26769 + "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": "abab49870aa7d12013ce846b935e34282d30b942a45eb2535110dfb3068c218a", + "size": 6500 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/events/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/tunnels/certificates/archive", "status": "success", - "path": "en/api/java/beta/sessions/events/list.md", - "sha256": "339b38aca20b2c163e551fa498f16d205a670d6190d0688b3532a4351acbc872", - "size": 99123 + "path": "en/api/csharp/beta/tunnels/certificates/archive.md", + "sha256": "bc5923ac124c1e3337f836b115f7b18a375c65f67b29c8d1af03880ff761e41c", + "size": 6342 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/events/stream", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/poll", "status": "success", - "path": "en/api/java/beta/sessions/events/stream.md", - "sha256": "6f394c884ea00ac41bfead0888489eaf4a4781b3e9eba953714c0e32427686b9", - "size": 98751 + "path": "en/api/csharp/beta/environments/work/poll.md", + "sha256": "e27227d4c1a25fa5be61c876c7fa3d6701d58f7a507054841e72b55b84e5cc17", + "size": 7195 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads/events/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/update", "status": "success", - "path": "en/api/java/beta/sessions/threads/events/list.md", - "sha256": "91ae853933487f2efa7813f58f06d0505bd8ceb540921221cfc64574dcd5d408", - "size": 95766 + "path": "en/api/csharp/beta/environments/work/update.md", + "sha256": "01d2472ebabd546e728a04a1944d2ed4c23fbba420304cfd83a38030c5fd8762", + "size": 7352 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/sessions/threads/events/stream", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/stop", "status": "success", - "path": "en/api/java/beta/sessions/threads/events/stream.md", - "sha256": "397e402023b1d88fe594c5f53b7eaae19f02fb32d25893c3a545791a44b0786d", - "size": 99066 + "path": "en/api/csharp/beta/environments/work/stop.md", + "sha256": "11b081ac4d56d30c96d0e79c39810943677be9926ad92367b3b9edd56fc2704c", + "size": 7160 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/certificates/create", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/retrieve", "status": "success", - "path": "en/api/java/beta/tunnels/certificates/create.md", - "sha256": "c133d3f3cb0487c437d4c0d96c4a60f6b62216f402181300b96a257af45190e6", - "size": 6938 + "path": "en/api/csharp/beta/environments/work/retrieve.md", + "sha256": "d3d90529cbac779a78ea0e00d78698ee35aa5503223e74fe051f6fffe7b635a0", + "size": 7102 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/certificates/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/heartbeat", "status": "success", - "path": "en/api/java/beta/tunnels/certificates/list.md", - "sha256": "a27564bed0d386407c2733a667281f9ed0aa57da0cdd7141c0910a1fb50b3fdc", - "size": 6992 + "path": "en/api/csharp/beta/environments/work/heartbeat.md", + "sha256": "ac7b64690df20ea7443ef6f8d05212b3b0e0450f103825b6b61d5bc94320fc23", + "size": 5767 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/certificates/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/list", "status": "success", - "path": "en/api/java/beta/tunnels/certificates/retrieve.md", - "sha256": "7bb8c6378c00690adacd621ca93d708fac76f9b07e47e10d4d3c1e326e108767", - "size": 6696 + "path": "en/api/csharp/beta/environments/work/list.md", + "sha256": "4466d86139d0c00c1c58e81ccbf64c7a144918a3597cd6cfc6906e3e51e763c5", + "size": 6970 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/tunnels/certificates/archive", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/stats", "status": "success", - "path": "en/api/java/beta/tunnels/certificates/archive.md", - "sha256": "7d48206c34d3a9c361be047fa8a3debbab303278baa727a11abb03e2cccada44", - "size": 6929 + "path": "en/api/csharp/beta/environments/work/stats.md", + "sha256": "f7bd25f26d5f488ba9265fe1c995fee11a153711da2b203d11d393798f2ac602", + "size": 5392 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/agents/versions/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/environments/work/ack", "status": "success", - "path": "en/api/java/beta/agents/versions/list.md", - "sha256": "7ebc48898df9b76ade0db25752a1af53a489b495850356a2d0f72416a0985071", - "size": 31956 + "path": "en/api/csharp/beta/environments/work/ack.md", + "sha256": "19acab683d5ca0876146f8e02fd380b7d71533b33a0c2f9b9be0e62ff42a5961", + "size": 6781 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/create", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/agents/versions/list", "status": "success", - "path": "en/api/java/beta/vaults/credentials/create.md", - "sha256": "391c654f323edafdc7920e4f610a490a8896c98658615a010a8d7d933a405983", - "size": 14189 + "path": "en/api/csharp/beta/agents/versions/list.md", + "sha256": "bc23e7680e99ab6ffe2044e0d0a78c958e4292959cd79c03b0d2d6d26090054c", + "size": 32315 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/update", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memories/create", "status": "success", - "path": "en/api/java/beta/vaults/credentials/update.md", - "sha256": "e68c166f82feb633074d1a2e63150ccb938185b1c6bc20cd003fae09e5f3a36c", - "size": 13233 + "path": "en/api/csharp/beta/memory_stores/memories/create.md", + "sha256": "38a745ea3dcfc4cf4d26e784cc8e327e2ece737f7731250ffac6dfc90c21cacb", + "size": 8449 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memories/update", "status": "success", - "path": "en/api/java/beta/vaults/credentials/list.md", - "sha256": "cf8321c12c07bba73aefb1deecd1d5d9fb2378b731749bb23be2a7292ca10484", - "size": 9716 + "path": "en/api/csharp/beta/memory_stores/memories/update.md", + "sha256": "2411b30d79fb28426a8fe5ff879d78380640401574917bdfd6dee7e439189259", + "size": 8887 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/mcp_oauth_validate", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memories/retrieve", "status": "success", - "path": "en/api/java/beta/vaults/credentials/mcp_oauth_validate.md", - "sha256": "b1dc24bda677e7465df0f43c394e51f61d627d1404eb6794eb47fe6cff42ea33", - "size": 8676 + "path": "en/api/csharp/beta/memory_stores/memories/retrieve.md", + "sha256": "23fd0789bd7c170bec292f3e156205a7cd3b06da4e869c1ff193d447ffec6a0b", + "size": 7966 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memories/delete", "status": "success", - "path": "en/api/java/beta/vaults/credentials/retrieve.md", - "sha256": "2d2ef22b9bd8232e7ae27400687c8572d55c4bbdca071a62943db5f2947b67ed", - "size": 9527 + "path": "en/api/csharp/beta/memory_stores/memories/delete.md", + "sha256": "7a6642f3ce4f17e6aa9461efb6d18bfdae3baaf775435f0909282937d778e3a8", + "size": 5740 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/delete", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memories/list", "status": "success", - "path": "en/api/java/beta/vaults/credentials/delete.md", - "sha256": "a72c2ab8bf0223f2ab60af612d83560b6023cddef567b2c93db0df2e66a76de0", - "size": 5628 + "path": "en/api/csharp/beta/memory_stores/memories/list.md", + "sha256": "58903409d31a3ea9b959f3fd9785da70f6c951a1aca7751d752b74698d3af9bd", + "size": 9878 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/archive", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memory_versions/retrieve", "status": "success", - "path": "en/api/java/beta/vaults/credentials/archive.md", - "sha256": "32b4d3186d93c4935e28246fdc37a4597bd7eba35b9b3ea05be8f5389e6a2698", - "size": 9540 + "path": "en/api/csharp/beta/memory_stores/memory_versions/retrieve.md", + "sha256": "4745164cdca9a27736d579363a853903aa7804efdca0d7a1c32c05cfe5c4d95e", + "size": 11105 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/update", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memory_versions/list", "status": "success", - "path": "en/api/java/beta/environments/work/update.md", - "sha256": "e457c06a2637c0cee4c98f2f4125de1a5e83ebbe154bf02933f4c0130c031502", - "size": 8063 + "path": "en/api/csharp/beta/memory_stores/memory_versions/list.md", + "sha256": "48f4d1802277a644f1790db5d813ae126389343b74086fb5c6326e61ee71cf23", + "size": 12442 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/list", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/memory_stores/memory_versions/redact", "status": "success", - "path": "en/api/java/beta/environments/work/list.md", - "sha256": "ca245eaed630a0fc86bc6991885b5337d798c8cc2bfcd18eeaf85c17495cd5e2", - "size": 7348 + "path": "en/api/csharp/beta/memory_stores/memory_versions/redact.md", + "sha256": "67861cc942d23ef50d6c5ebb892e3d47876c8941b936577f6b7782fe197d527b", + "size": 10680 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/stop", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads/retrieve", "status": "success", - "path": "en/api/java/beta/environments/work/stop.md", - "sha256": "ce67c6a2681281ecee211510f42fea51ee29c50da1a79d7a5c24435ab0ae2f9a", - "size": 7860 + "path": "en/api/csharp/beta/sessions/threads/retrieve.md", + "sha256": "20d8774741ec550cee5543119717079661e7fe939e1d9f2e422729762336b9bd", + "size": 34640 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/retrieve", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads/list", "status": "success", - "path": "en/api/java/beta/environments/work/retrieve.md", - "sha256": "e067a782f8ab9bee7a7c9f70084700a2d57effbd64b508b271bd384fb8772085", - "size": 7615 + "path": "en/api/csharp/beta/sessions/threads/list.md", + "sha256": "1f3005dc7c06f67018fbdc3906f28cf9878ae61005f3403067163dc1d5312251", + "size": 35517 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/ack", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads/archive", "status": "success", - "path": "en/api/java/beta/environments/work/ack.md", - "sha256": "8069b8b8d0094764180811fa5b800d475778d5c3c987f57eb6fd04a81215459b", - "size": 7274 + "path": "en/api/csharp/beta/sessions/threads/archive.md", + "sha256": "0db999ff2574630bf077d8e97d6f0f2f8266c463c7faad4f7ea056f765dc422b", + "size": 34656 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/stats", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads/events", "status": "success", - "path": "en/api/java/beta/environments/work/stats.md", - "sha256": "acb04c984d00c88066f96256c667a9191af690bd7fe5b7f283af0ce8b615006e", - "size": 5895 + "path": "en/api/csharp/beta/sessions/threads/events.md", + "sha256": "180a16d0a136c40fb3f1241fd406ad708668c78518b33c321e1478e780e1eef0", + "size": 200376 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/heartbeat", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/events/send", "status": "success", - "path": "en/api/java/beta/environments/work/heartbeat.md", - "sha256": "1065cd6a85045827f753db93a57cda7ed4ac9f2f2d733c0a69ee25456ea3683b", - "size": 6366 + "path": "en/api/csharp/beta/sessions/events/send.md", + "sha256": "c88f5df1b6881e1ed34595c16973df5eb15d857ca1eafeb267b7a81cb11116a8", + "size": 26964 }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/environments/work/poll", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/events/stream", "status": "success", - "path": "en/api/java/beta/environments/work/poll.md", - "sha256": "29b227da73e161a216fdc5e253b9e41c946dca9fe2843cae4a13a11a4522aeae", - "size": 7667 + "path": "en/api/csharp/beta/sessions/events/stream.md", + "sha256": "c7aaf74447320be10a50f8a2761fee488813d9d0564dfc8cd78773f48c460aa2", + "size": 101694 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/events/list", "status": "success", - "path": "en/api/ruby/beta/sessions.md", - "sha256": "388163b9ce37179842f95ce5e27894ef3e130eb270657923c56f1cdb680e9ddd", - "size": 1197043 + "path": "en/api/csharp/beta/sessions/events/list.md", + "sha256": "f93282d8586187cb3384bb4bacd3912dcaf50f0ae475ed74802feaf0da1ed553", + "size": 101928 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/webhooks", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/resources/update", "status": "success", - "path": "en/api/ruby/beta/webhooks.md", - "sha256": "0e534d27c3a1cee5bf433c9e65c14051375467285a022beca6157e90dd1cdcd7", - "size": 34403 + "path": "en/api/csharp/beta/sessions/resources/update.md", + "sha256": "c698157aba461ec30679bc7e0e2b321cacf5b0dc9b4fd6de56c89afab0bd9736", + "size": 7702 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/resources/add", "status": "success", - "path": "en/api/ruby/beta/skills.md", - "sha256": "4278943057015d816c9eb10a9b4698c757a4829af0cbc03c05409a7842a9e98d", - "size": 40861 + "path": "en/api/csharp/beta/sessions/resources/add.md", + "sha256": "7c99ba2011ca806b63141aab8443ce12529824add3c457c52e41d57cf5c7240f", + "size": 5467 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/resources/retrieve", "status": "success", - "path": "en/api/ruby/beta/agents.md", - "sha256": "c9620b2594a37a603b3e5acc21be4c4a5fd44e7fcf144b574c5dc55fc3afed1a", - "size": 458574 + "path": "en/api/csharp/beta/sessions/resources/retrieve.md", + "sha256": "db848aaebc39c7e75d632ff0edf8f244d5da9c28aec4f7f7d85efd06c5fede62", + "size": 7470 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/resources/delete", "status": "success", - "path": "en/api/ruby/beta/deployments.md", - "sha256": "bfd1beb973fd73b92c7c5af05d67f587b9306060ff7e0de70cc22531e4ded7a9", - "size": 218606 + "path": "en/api/csharp/beta/sessions/resources/delete.md", + "sha256": "fd73d91f293ca6378404b8129488aee918d1ee08f8e144840b767adcee777901", + "size": 4925 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployment_runs", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/resources/list", "status": "success", - "path": "en/api/ruby/beta/deployment_runs.md", - "sha256": "b7ba172db994993d11cdcb27c81bc3409c66b4f8d3bfbcb02d776b4cc78c1539", - "size": 31824 + "path": "en/api/csharp/beta/sessions/resources/list.md", + "sha256": "5059f83c56543d579f923a68dea230766be4d75e9de91b2df72a13a71ab6c42d", + "size": 7984 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/user_profiles", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads/events/stream", "status": "success", - "path": "en/api/ruby/beta/user_profiles.md", - "sha256": "6fdf4623da889c0ef3c3b27315bcca4948d3718c8ec31fc035e7684dbf8db8f4", - "size": 55927 + "path": "en/api/csharp/beta/sessions/threads/events/stream.md", + "sha256": "1ac395e09c015b0a56618b1a63fa5821a5cf34cbad291aa5fa0a6ac370674958", + "size": 101904 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/models", + "url": "https://platform.claude.com/docs/en/api/csharp/beta/sessions/threads/events/list", "status": "success", - "path": "en/api/ruby/beta/models.md", - "sha256": "36a9272a9c14f3f78ab52580b76641208b5b0580ec46b16e50359debd7eb5ec8", - "size": 39717 + "path": "en/api/csharp/beta/sessions/threads/events/list.md", + "sha256": "0184ac97323d95f9feabbbe9d3c93c6a3f1e1265b3ec4f2e02e06c4d5eb7c5d1", + "size": 98609 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults", + "url": "https://platform.claude.com/docs/en/api/csharp/messages/batches/cancel", "status": "success", - "path": "en/api/ruby/beta/vaults.md", - "sha256": "b9ded1ec3865d450c166d641cdfdd3544266212871078eb6570c7b503e3c0736", - "size": 81135 + "path": "en/api/csharp/messages/batches/cancel.md", + "sha256": "bbcede8dc1269b50416cb052dfcfc86dd179986133a59be12a4f43a8d5eb420a", + "size": 5267 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores", + "url": "https://platform.claude.com/docs/en/api/csharp/messages/batches/create", "status": "success", - "path": "en/api/ruby/beta/memory_stores.md", - "sha256": "f3871ca7faa01ce887aeb2667fff2c8b1a806b894b1b05c695ca0ffd993cb3c3", - "size": 97253 + "path": "en/api/csharp/messages/batches/create.md", + "sha256": "aed228c5006869d28396f705e2c2bbdce81a9fef55c439a77cd594ef48489786", + "size": 118169 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels", + "url": "https://platform.claude.com/docs/en/api/csharp/messages/batches/retrieve", "status": "success", - "path": "en/api/ruby/beta/tunnels.md", - "sha256": "5b9695ebb26a6c3cb1216803c71d5d86480fb86c37c6284a64f9bc6b2beb9420", - "size": 44647 + "path": "en/api/csharp/messages/batches/retrieve.md", + "sha256": "a4cc4b89ed2580994befb8c452675bd759dc0430058bed1b036c1910fdaba8bf", + "size": 4963 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments", + "url": "https://platform.claude.com/docs/en/api/csharp/messages/batches/delete", "status": "success", - "path": "en/api/ruby/beta/environments.md", - "sha256": "90969c6355303c3f7d4d131ca69f0d4e066d202f855973e00864f767f014020d", - "size": 92170 + "path": "en/api/csharp/messages/batches/delete.md", + "sha256": "0791b93005145c716fc4b83580bc8406862798063b6034895c467217fec237dd", + "size": 1683 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/files", + "url": "https://platform.claude.com/docs/en/api/csharp/messages/batches/list", "status": "success", - "path": "en/api/ruby/beta/files.md", - "sha256": "1a3b269a9c55cd02f5848c7becdd5c900a9a7c9a82aaabafb7f665d76304c8d1", - "size": 21955 + "path": "en/api/csharp/messages/batches/list.md", + "sha256": "ea9758a9c8554d5062ebda03402fc23112c605a243a40911de1351226874cd8f", + "size": 5403 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages", + "url": "https://platform.claude.com/docs/en/api/csharp/messages/batches/results", "status": "success", - "path": "en/api/ruby/beta/messages.md", - "sha256": "4cf9a4c5ad7200323b8ce227404b390d547b9a1e1dc6ee7a08a4196cfa7ab6e3", - "size": 2775609 + "path": "en/api/csharp/messages/batches/results.md", + "sha256": "8280ccfb6d389997b922d48274c41734fb159f04e5a4ea06b15117db4d64bb2e", + "size": 36266 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/models/list", + "url": "https://platform.claude.com/docs/en/api/go/models/retrieve", "status": "success", - "path": "en/api/ruby/models/list.md", - "sha256": "d1202ec048c060448c8eb3950c6fa8a6d44f9e19e300ab21dd0f281150d32bbd", - "size": 12064 + "path": "en/api/go/models/retrieve.md", + "sha256": "fa008c97b5a11395982dfd35c2f4ebbdf8e1e1bb7b91a201862af76d0b160dbb", + "size": 15191 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/models/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/models/list", "status": "success", - "path": "en/api/ruby/models/retrieve.md", - "sha256": "f076f03f9d2402d851d8492408c05d3dc28e0ac058d251ea637bd20248e17765", - "size": 10839 + "path": "en/api/go/models/list.md", + "sha256": "1a87c5ad6334d11cc4a255f1697ac212dcb6208dd9bb3e3617f8f1ebf1968bb7", + "size": 16692 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/completions/create", + "url": "https://platform.claude.com/docs/en/api/go/completions/create", "status": "success", - "path": "en/api/ruby/completions/create.md", - "sha256": "3a3b63fc377ae78fea8250624ce220644ffd3cc8f500dad6080a84b6423935c9", - "size": 12935 + "path": "en/api/go/completions/create.md", + "sha256": "57044895d14c5c56f8b31cbd0ec6d4b09b09fa5ae7deffd9056a0b90daa9c3bd", + "size": 14302 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/messages/create", + "url": "https://platform.claude.com/docs/en/api/go/messages/batches", "status": "success", - "path": "en/api/ruby/messages/create.md", - "sha256": "381ed6e0a613ef89673ea8e085e18a86b0ee462541a66e3193654581c38ab3b8", - "size": 129875 + "path": "en/api/go/messages/batches.md", + "sha256": "ce948620c05a275024c3f2e5258f2c8c72ab62c3d72aa38ac4e2213ca47c0114", + "size": 304933 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/messages/count_tokens", + "url": "https://platform.claude.com/docs/en/api/go/messages/create", "status": "success", - "path": "en/api/ruby/messages/count_tokens.md", - "sha256": "cf326d684de3181f8a65bc31554bdae1f3cd9c35f665d19c5518630a9294c15b", - "size": 91509 + "path": "en/api/go/messages/create.md", + "sha256": "d5b53da5469e7edaf9e35113e28be32f2cbe1f0e2e2b220c32a75f9b28557d3e", + "size": 145711 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/messages/batches", + "url": "https://platform.claude.com/docs/en/api/go/messages/count_tokens", "status": "success", - "path": "en/api/ruby/messages/batches.md", - "sha256": "3fa595928ccfd72f5a29de2a620424960afd355bec2b0a2446900df189e4637d", - "size": 252529 + "path": "en/api/go/messages/count_tokens.md", + "sha256": "fd2fddabbee8ab06bfdb7c35ed1797a0634f86ab94156603dbf0314a6053c04a", + "size": 102051 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/messages/batches/create", + "url": "https://platform.claude.com/docs/en/api/go/beta/files", "status": "success", - "path": "en/api/ruby/messages/batches/create.md", - "sha256": "e97f423a85ed6fdf12fc644629ced345c69748d466f3ce23342b8e994f6dea3d", - "size": 107494 + "path": "en/api/go/beta/files.md", + "sha256": "79e8bba7001a094e7a5ce86145a736fdd842f44a30d773e59c1b12750a401e7f", + "size": 39378 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/messages/batches/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/user_profiles", "status": "success", - "path": "en/api/ruby/messages/batches/list.md", - "sha256": "4d1de6dacf278bd9f8d34bb025d16f4685371ace5771829ada90396e26dd31e4", - "size": 5126 + "path": "en/api/go/beta/user_profiles.md", + "sha256": "ae45ffe1a43d9094178b75bf0bce88779733e7fe7ad3356e1e0cfc8243d88d95", + "size": 77800 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/messages/batches/cancel", + "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels", "status": "success", - "path": "en/api/ruby/messages/batches/cancel.md", - "sha256": "f6f4be4ef805eb638926a719b3c415628bb091dd3b43185bd198333750838383", - "size": 5030 + "path": "en/api/go/beta/tunnels.md", + "sha256": "2a5bf8515d560026d2a36e7dd184760d3059358a47edbc039c0959fd5df0fb49", + "size": 78957 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/messages/batches/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/webhooks", "status": "success", - "path": "en/api/ruby/messages/batches/retrieve.md", - "sha256": "f78e3197b9660b1e95750de381ef235dc8ab5e4a59b82edff64b159bb2d0700a", - "size": 4722 + "path": "en/api/go/beta/webhooks.md", + "sha256": "2963eb4094c62ecece07a2a4d328fb438a7c4a4ef1f51cf8a6373ee2055674e8", + "size": 32728 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/messages/batches/results", + "url": "https://platform.claude.com/docs/en/api/go/beta/environments", "status": "success", - "path": "en/api/ruby/messages/batches/results.md", - "sha256": "2092cb8d48ae7d02ca88ebec27bf2b7f5ec19d9ec18676bb245ce5d9d43e95bf", - "size": 33405 + "path": "en/api/go/beta/environments.md", + "sha256": "891eae4603ac9e9e1e8f38cc6a595e2aad661b16630db81c56b1c2e4f718e29d", + "size": 144331 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/messages/batches/delete", + "url": "https://platform.claude.com/docs/en/api/go/beta/messages", "status": "success", - "path": "en/api/ruby/messages/batches/delete.md", - "sha256": "9b9980d90ddc834c06d4e25e83b4ea1ea0864befb1136082c9a30d362cedbe45", - "size": 1597 + "path": "en/api/go/beta/messages.md", + "sha256": "9d03ba48fd1fc747163190286fef330b4a54f217e4ba65aac1789feeff9e2e8e", + "size": 3211471 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/create", + "url": "https://platform.claude.com/docs/en/api/go/beta/agents", "status": "success", - "path": "en/api/ruby/beta/environments/create.md", - "sha256": "7e07772944f2715d926832d66ebf52ec301762bd275392000c7f53e3ad3555ca", - "size": 9435 + "path": "en/api/go/beta/agents.md", + "sha256": "13cbe0795104d46947225cd9c80bbac1ee91a34668679bbc25114ee9754a2666", + "size": 482785 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/update", + "url": "https://platform.claude.com/docs/en/api/go/beta/deployment_runs", "status": "success", - "path": "en/api/ruby/beta/environments/update.md", - "sha256": "19a94118fc1a1399978a437e081df4c937a32a8b3dbbadf71e43d172bbff0f2a", - "size": 9521 + "path": "en/api/go/beta/deployment_runs.md", + "sha256": "3ff8ec5797f43df6b27e17e9f98d46172e30987708ceede5a9b5211ba149e417", + "size": 39956 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions", "status": "success", - "path": "en/api/ruby/beta/environments/list.md", - "sha256": "e00a139fd170b4bb5938a46cfed300a7c0b21590d4631d157fa1c6bab31abd42", - "size": 7118 + "path": "en/api/go/beta/sessions.md", + "sha256": "940519c989de8c81eb3fe216e654a6f4387c38ac7f4ba72c581ab897708a3dab", + "size": 1282048 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/models", "status": "success", - "path": "en/api/ruby/beta/environments/retrieve.md", - "sha256": "deb8aca29acb37ae3647263f21dc1571311b966802d0c807dd117a5764e457d2", - "size": 6643 + "path": "en/api/go/beta/models.md", + "sha256": "97509a8f7c25d81b0d4055e9af5f7b47f81b2d028facde053c1dc0d3c87dcde1", + "size": 51673 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/delete", + "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores", "status": "success", - "path": "en/api/ruby/beta/environments/delete.md", - "sha256": "5a6994b380e090f1b398ab583425516d06ba3c9ca80e6e5101c73c132eb83b3a", - "size": 3355 + "path": "en/api/go/beta/memory_stores.md", + "sha256": "219d375e7f103fc6df962adb2834493279f15b3cd05a04497dc9dfe3012b5009", + "size": 144523 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work", + "url": "https://platform.claude.com/docs/en/api/go/beta/vaults", "status": "success", - "path": "en/api/ruby/beta/environments/work.md", - "sha256": "84a847e45be0667d0e151c467c59f6bde940108a0fdbc5cb142dac8538bfeaed", - "size": 46127 + "path": "en/api/go/beta/vaults.md", + "sha256": "8c92ecc956cd746f50941b64770ad4c20cd87a9853e998b538ab2fa3265864b9", + "size": 130870 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/archive", + "url": "https://platform.claude.com/docs/en/api/go/beta/deployments", "status": "success", - "path": "en/api/ruby/beta/environments/archive.md", - "sha256": "59c6c2d4fefedf6b7d8645bae4b129bac130dd3dcf0741519259fc7a979c5df7", - "size": 6709 + "path": "en/api/go/beta/deployments.md", + "sha256": "7616d3385e636f18490fa74caea1c546af606b91c397e5cf6657698497e7f159", + "size": 262176 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployment_runs/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/skills", "status": "success", - "path": "en/api/ruby/beta/deployment_runs/list.md", - "sha256": "6abc735cf9bd771a41f303649d0406091a9cfe571fe0b20f9d3620c968143584", - "size": 10624 + "path": "en/api/go/beta/skills.md", + "sha256": "32c113102dc22b6500774fe18c709b5be7381f76faec0dace134b93091592844", + "size": 73111 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployment_runs/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/files/retrieve_metadata", "status": "success", - "path": "en/api/ruby/beta/deployment_runs/retrieve.md", - "sha256": "aec9d90fde24a7cb7ae7a71398d0d6891cc9880671b5c3351790e40145b54571", - "size": 9284 + "path": "en/api/go/beta/files/retrieve_metadata.md", + "sha256": "9eb002b0ab1358fdbe3ab16a69d344ac0269026283cd1b7e9a606881dfa74f4f", + "size": 7946 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/create", + "url": "https://platform.claude.com/docs/en/api/go/beta/files/download", "status": "success", - "path": "en/api/ruby/beta/vaults/create.md", - "sha256": "06806ed87fba922faaf18ff49918282a547b64d43eb0bc2f326a378ce452ae53", - "size": 4055 + "path": "en/api/go/beta/files/download.md", + "sha256": "69cc2d61dfa940946cc96de298688338e240061b01afff959d2d4b5aed58aaae", + "size": 6350 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/update", + "url": "https://platform.claude.com/docs/en/api/go/beta/files/delete", "status": "success", - "path": "en/api/ruby/beta/vaults/update.md", - "sha256": "8547d88dba0a22fb8576d1ba45677119257be965566391f8d5836c319857d1f6", - "size": 4158 + "path": "en/api/go/beta/files/delete.md", + "sha256": "fa40d6a97fbc4d617995614cf9f653e7b5c36e50ad8c7a6e6855a4c6f2cbec9b", + "size": 6627 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/files/list", "status": "success", - "path": "en/api/ruby/beta/vaults/list.md", - "sha256": "376e1900bf2bc961c45cea9a9cdf0f03d364d6d8cb3b94356f64e1d8f1dc16a4", - "size": 4166 + "path": "en/api/go/beta/files/list.md", + "sha256": "80b7d40c2e603f5e0720f07b71a33ac13fe2993c3b36a5a6b7f7f2fea40bf805", + "size": 8742 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/files/upload", "status": "success", - "path": "en/api/ruby/beta/vaults/retrieve.md", - "sha256": "1479108bf16c295505e9ef81b60694f5cbe70e7b22099815bfa582b18026b835", - "size": 3890 + "path": "en/api/go/beta/files/upload.md", + "sha256": "df81b3b2a67905f8ea6ce3a15676518825b010e027a64e3fce99aaea0543bc7c", + "size": 8374 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/resources", "status": "success", - "path": "en/api/ruby/beta/vaults/credentials.md", - "sha256": "5f23921842fe7b76a104b072c39bf505b667199c50530a8deb0c2c92737d5bde", - "size": 86988 + "path": "en/api/go/beta/sessions/resources.md", + "sha256": "43c24c457ed75db26da7953ea1845e63d2e99d8ee10c1b9c1c11cbce4ab13ea3", + "size": 49277 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/delete", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/create", "status": "success", - "path": "en/api/ruby/beta/vaults/delete.md", - "sha256": "5181d682e0f0520afcf8e82eb37e1c21738d60c632b62c0d441ba7aba4a758b5", - "size": 3289 + "path": "en/api/go/beta/sessions/create.md", + "sha256": "bbf807f2d9c4ff95d4ba8534d13e69716cc1a047a06faab241a6bb59c6129f65", + "size": 93175 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/archive", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/update", "status": "success", - "path": "en/api/ruby/beta/vaults/archive.md", - "sha256": "d77b106d405eb2e91609fdf3c6809dc982d2c517ca7314444ed081f2e3dfad8b", - "size": 3907 + "path": "en/api/go/beta/sessions/update.md", + "sha256": "1a38b02caa16d912754ed81554dc9ac67b32f84ce7c8b95ada2272509827f329", + "size": 51929 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/user_profiles/create", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/retrieve", "status": "success", - "path": "en/api/ruby/beta/user_profiles/create.md", - "sha256": "1e2c70a4c02d297ef4ffd1775d04f00543b9a7f42c7d0626a44c15319d36b9f9", - "size": 12507 + "path": "en/api/go/beta/sessions/retrieve.md", + "sha256": "4e75502d6b4df125ead978390008a8fd88d1d0a9f907e2823377a15c0b442707", + "size": 50565 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/user_profiles/update", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/delete", "status": "success", - "path": "en/api/ruby/beta/user_profiles/update.md", - "sha256": "3ab389f181170723a583c892e706b8960ba2c96336568c2a7286602d808f3f22", - "size": 12474 + "path": "en/api/go/beta/sessions/delete.md", + "sha256": "f6db8c1f790deba6967966124facf6274c89bd7e56d466b09daebc76819d8aed", + "size": 6689 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/user_profiles/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/list", "status": "success", - "path": "en/api/ruby/beta/user_profiles/list.md", - "sha256": "23fe722d6aed15e820e1b17a6aa137a74d3302fda3c67870d4fac9948a14f78c", - "size": 9523 + "path": "en/api/go/beta/sessions/list.md", + "sha256": "6292cc7d3b9c34875f4115e9f10b07949dc2fcdcf0d5b684aaa517585c2b6c08", + "size": 53947 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/user_profiles/create_enrollment_url", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/archive", "status": "success", - "path": "en/api/ruby/beta/user_profiles/create_enrollment_url.md", - "sha256": "151e733736ce2e07ada498530b7dd46151b774ccca28ecb0a7dfc863930c74dd", - "size": 3851 + "path": "en/api/go/beta/sessions/archive.md", + "sha256": "4404ddf1783bc79533dd448501d482d03f75188f0d02e866c4c2c18bf6b0f2e1", + "size": 50599 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/user_profiles/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/events", "status": "success", - "path": "en/api/ruby/beta/user_profiles/retrieve.md", - "sha256": "9f212730d3f0ba41a73e194c766ab924ff3ee02ffaa4c71a034dccf56d1e2b1d", - "size": 8483 + "path": "en/api/go/beta/sessions/events.md", + "sha256": "05a727c08427b6bb370aedc3c65cb955d6cdafd1c8d93703156575d958c7d1d3", + "size": 609221 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/create", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads", "status": "success", - "path": "en/api/ruby/beta/agents/create.md", - "sha256": "0958cf5ea20cabf76125741ba9e5ba4392a30ee24f85213074916c6a92f863c5", - "size": 65094 + "path": "en/api/go/beta/sessions/threads.md", + "sha256": "0bfc9083cf79bb95037d65fcf25dfde68d2d2929e247fd653e79c5ecad14b58f", + "size": 476065 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/update", + "url": "https://platform.claude.com/docs/en/api/go/beta/user_profiles/create_enrollment_url", "status": "success", - "path": "en/api/ruby/beta/agents/update.md", - "sha256": "ccef4cd81f269fa3e09a4ad8dd0ce8317ca72a004bcadf15a8380ddccd0ea9c5", - "size": 65943 + "path": "en/api/go/beta/user_profiles/create_enrollment_url.md", + "sha256": "71d6471eca9c8e65319d06c0c12363265599c672bd36d881ac73a871e68ddeeb", + "size": 7297 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/user_profiles/create", "status": "success", - "path": "en/api/ruby/beta/agents/list.md", - "sha256": "bfeb9b1a28438b38982e2a2850a4537d3affa2fa95fac9f27229fac4f9ef4667", - "size": 30676 + "path": "en/api/go/beta/user_profiles/create.md", + "sha256": "975a82a206f62fc9aa78462b50ed4a63a516515921ad67ef28b255e01c26e79b", + "size": 15341 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/user_profiles/update", "status": "success", - "path": "en/api/ruby/beta/agents/retrieve.md", - "sha256": "ca0c453333636491eee2dbeb7402575b0094e0259ab5bd95327e7f0b1481fa7b", - "size": 30005 + "path": "en/api/go/beta/user_profiles/update.md", + "sha256": "a26f8708bd941f3a0d98b5e408a08d5b693b66a949b1e07251753aeccfac0c56", + "size": 15340 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/versions", + "url": "https://platform.claude.com/docs/en/api/go/beta/user_profiles/retrieve", "status": "success", - "path": "en/api/ruby/beta/agents/versions.md", - "sha256": "9ad1915014102cbc7be6c978b72ff13176b229e83336aa1e64de6a728b279c48", - "size": 30485 + "path": "en/api/go/beta/user_profiles/retrieve.md", + "sha256": "5ac46453504aec42a4eda0dfd11ac7081f7086d7ec620adc53655aca2f8dcb50", + "size": 13065 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/archive", + "url": "https://platform.claude.com/docs/en/api/go/beta/user_profiles/list", "status": "success", - "path": "en/api/ruby/beta/agents/archive.md", - "sha256": "5f386712d6eee46f9ff08ed1a264c87fa37a3b19c440ed3d217bff6a5f02c1df", - "size": 29880 + "path": "en/api/go/beta/user_profiles/list.md", + "sha256": "33a650efe983d5b28a1ad6037dec3a89eb40345a0cef517595726d34627aa220", + "size": 14545 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/models/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/deployment_runs/retrieve", "status": "success", - "path": "en/api/ruby/beta/models/list.md", - "sha256": "f450d5786269a4246c1ef1c8af2f553ffc67c1f1fef6cb44d15833367d51f931", - "size": 12773 + "path": "en/api/go/beta/deployment_runs/retrieve.md", + "sha256": "4c4a60b7b9c9d3844ebd58ab44e6518b40684ecb92288b12360f86eaddcec8ac", + "size": 12963 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/models/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/deployment_runs/list", "status": "success", - "path": "en/api/ruby/beta/models/retrieve.md", - "sha256": "e89ec6e60805793ec19357f143f4852d7d60b63bc1d98e014be7237e8f9b01cd", - "size": 11522 + "path": "en/api/go/beta/deployment_runs/list.md", + "sha256": "bc2b765538f17f8e329ae98d55c746a56e29e825f336f9aacbf1f386a6ad7647", + "size": 14331 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/create", + "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memory_versions", "status": "success", - "path": "en/api/ruby/beta/tunnels/create.md", - "sha256": "a1f56b4d7e0f3fac15d66a3ded1459c03ce9a90fc566b60f50ccf033ff9810b0", - "size": 4332 + "path": "en/api/go/beta/memory_stores/memory_versions.md", + "sha256": "d544f576fc9812deeb50d109b028946b653cfa86f52dfd4dede66da67014e4b1", + "size": 50697 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/rotate_token", + "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/create", "status": "success", - "path": "en/api/ruby/beta/tunnels/rotate_token.md", - "sha256": "112ad7d2146fd753c0949b05bbcbe7df9f9b5c1552efcd3ef401447539ee8b6b", - "size": 3975 + "path": "en/api/go/beta/memory_stores/create.md", + "sha256": "ca56389120be704701fa4f4c71f5898a7402cc72c5cc7479fe5873a8142a6aff", + "size": 9098 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/update", "status": "success", - "path": "en/api/ruby/beta/tunnels/list.md", - "sha256": "617ae04d600d796b8f5f1f802c421df20dcfb28f88fcf8028b45e42e1e4da775", - "size": 4582 + "path": "en/api/go/beta/memory_stores/update.md", + "sha256": "8eea3ae0b61b3e4f0aacf263f73ed4ebdcb68ee98e50cc704c30c25e378da52c", + "size": 9217 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/certificates", + "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/retrieve", "status": "success", - "path": "en/api/ruby/beta/tunnels/certificates.md", - "sha256": "8f4a8312a9fae59f3ecff88dde659b20850e656b2a7987fef12bb8c7c7a52297", - "size": 19617 + "path": "en/api/go/beta/memory_stores/retrieve.md", + "sha256": "d80ef80f32684e6b7b332eb8a72d0381ac6499302bc0e6d7517a6b3e6b348821", + "size": 8511 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/delete", "status": "success", - "path": "en/api/ruby/beta/tunnels/retrieve.md", - "sha256": "987312cfce3160261a613919517d9eb4bf16c267e146f86a5198cc6413c017df", - "size": 4157 + "path": "en/api/go/beta/memory_stores/delete.md", + "sha256": "7489d9dba64d288afb2294c665d206a3e0147d65dbbb30c9b5fc04cc059453a8", + "size": 7066 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/reveal_token", + "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/list", "status": "success", - "path": "en/api/ruby/beta/tunnels/reveal_token.md", - "sha256": "ae71590e6fb4ed4028ab13ec433732381722c6c4a254680b3ab4980914a1d65f", - "size": 3889 + "path": "en/api/go/beta/memory_stores/list.md", + "sha256": "44a0c5303f8adb00d2f77246127e3d8f2e8015af1d418bc5a8b90899c3f9d5bb", + "size": 9350 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/archive", + "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memories", "status": "success", - "path": "en/api/ruby/beta/tunnels/archive.md", - "sha256": "451b417e689ec08b7dbe7b3833ce33b83e3365e7ba408133942ee96f31817118", - "size": 4440 + "path": "en/api/go/beta/memory_stores/memories.md", + "sha256": "0e931db0bf2e3ed63626f7cc9904118166121033f3544398761264e4d03188f6", + "size": 65922 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/create", + "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/archive", "status": "success", - "path": "en/api/ruby/beta/sessions/create.md", - "sha256": "bb4e2acd258918c6f602f535d8f15a4d40485869899810d93bde57aabaa9d301", - "size": 84378 + "path": "en/api/go/beta/memory_stores/archive.md", + "sha256": "54396015c66fe82c9524434770be879a6fbf5486252b5afefeee05ef8fcf87a2", + "size": 8604 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/resources", + "url": "https://platform.claude.com/docs/en/api/go/beta/models/retrieve", "status": "success", - "path": "en/api/ruby/beta/sessions/resources.md", - "sha256": "4305737da63d48fc60c53299e9ae29fac3094a61bfd85f49bc98fe4202e03b65", - "size": 35478 + "path": "en/api/go/beta/models/retrieve.md", + "sha256": "38856d8d6dd499e77d3d602f3ab3a24b67618ed75a74da2b5ce90c9243181b58", + "size": 15939 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/update", + "url": "https://platform.claude.com/docs/en/api/go/beta/models/list", "status": "success", - "path": "en/api/ruby/beta/sessions/update.md", - "sha256": "f4f03170df66fa07ee08967325aa7c138ca695f1483f62133f16b2c3d9d79c29", - "size": 69634 + "path": "en/api/go/beta/models/list.md", + "sha256": "6aae965e61da51445511c7e5a4ce43373068fc4580e4c9a373ca560d81e5bd43", + "size": 17492 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/agents/create", "status": "success", - "path": "en/api/ruby/beta/sessions/list.md", - "sha256": "d770d2940cfc13d39ea2a0126f2aa7cc842b28af35fc6cad08021d07a64a2061", - "size": 48332 + "path": "en/api/go/beta/agents/create.md", + "sha256": "1f71ef19a689d767114eff541e156eec370a47e44dd0a33d6505ac8d8166160d", + "size": 65155 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads", + "url": "https://platform.claude.com/docs/en/api/go/beta/agents/update", "status": "success", - "path": "en/api/ruby/beta/sessions/threads.md", - "sha256": "a4e5f5ee3e25190fb07cb5d771852783887177ba5514436e89a6565d8f6109e0", - "size": 447517 + "path": "en/api/go/beta/agents/update.md", + "sha256": "e156ddb818b244d388d73b126b75cb9778a3bb37079ed7a6f0237d530b4a15ee", + "size": 66079 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/agents/retrieve", "status": "success", - "path": "en/api/ruby/beta/sessions/retrieve.md", - "sha256": "7b629a519e025db34169728e6c78a14a0d446796bfd18c592123c4383a088efa", - "size": 45646 + "path": "en/api/go/beta/agents/retrieve.md", + "sha256": "fe8cba0750386be43035a5549ec8b6eccd0b623990fee3959aa8159a505e08f0", + "size": 34366 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/events", + "url": "https://platform.claude.com/docs/en/api/go/beta/agents/list", "status": "success", - "path": "en/api/ruby/beta/sessions/events.md", - "sha256": "317fc511414b2013c2f21bf509246f9ed588215ed0beebc2567d7742772c17f8", - "size": 576872 + "path": "en/api/go/beta/agents/list.md", + "sha256": "b471005180d7b85e9e61cb8733344b75687c306534689104cb841e50a4284bc5", + "size": 35136 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/delete", + "url": "https://platform.claude.com/docs/en/api/go/beta/agents/versions", "status": "success", - "path": "en/api/ruby/beta/sessions/delete.md", - "sha256": "ed0113e4e32a1ec3e84d5b7701bf45aa309ce19ae4ef0325c2ef268d08312357", - "size": 3260 + "path": "en/api/go/beta/agents/versions.md", + "sha256": "4851b6f85626fda8c325e47fb01b387ada861491985d3bc67b941444ec9d112c", + "size": 34898 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/archive", + "url": "https://platform.claude.com/docs/en/api/go/beta/agents/archive", "status": "success", - "path": "en/api/ruby/beta/sessions/archive.md", - "sha256": "e5326c14ea5993df0aa78f7fc7a5d29eef36272c36ea61d9146a801b78d79dc1", - "size": 45664 + "path": "en/api/go/beta/agents/archive.md", + "sha256": "e0517f3697be11628a28cfabbb8d7e068c02249a9b11b40c451faf11f5bfc870", + "size": 34232 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/unpause", + "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work", "status": "success", - "path": "en/api/ruby/beta/deployments/unpause.md", - "sha256": "a85cb1477bdb3487cdd51266a089def717dee707b60ffb8f441bbd8648f7b816", - "size": 19171 + "path": "en/api/go/beta/environments/work.md", + "sha256": "eecb53d9fb70175083a41cc7f34ba57cbf4ef4225f8c0858c014414eedcd040c", + "size": 77343 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/create", + "url": "https://platform.claude.com/docs/en/api/go/beta/environments/create", "status": "success", - "path": "en/api/ruby/beta/deployments/create.md", - "sha256": "65afd18e09a271c9d2093d5698eb7157a49c0d5c0999897b26dcddd5c85deaea", - "size": 30215 + "path": "en/api/go/beta/environments/create.md", + "sha256": "4a43e851b95d8986e046c8890cc5e4c9778f3b60125fc0c86a33415552572a34", + "size": 13314 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/update", + "url": "https://platform.claude.com/docs/en/api/go/beta/environments/update", "status": "success", - "path": "en/api/ruby/beta/deployments/update.md", - "sha256": "e5de01c9f1eb8cb1ba3e9fef7ee4a9b547a4ac815ecee745c06891b774c7ee4b", - "size": 30270 + "path": "en/api/go/beta/environments/update.md", + "sha256": "0150a6999a2f9504af270e6ac94313bed93aae3fe2f0f404c72e66e80a2f6677", + "size": 13453 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/environments/retrieve", "status": "success", - "path": "en/api/ruby/beta/deployments/list.md", - "sha256": "41ef4ecea4fdaf088d08ef473c12dceb76223a29517bade60513d2f466e59195", - "size": 20377 + "path": "en/api/go/beta/environments/retrieve.md", + "sha256": "62a2b8e3135a9be4cae69eec433b39afd40f1aa7b6e655ad83a05a3282e2e324", + "size": 10145 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/environments/delete", "status": "success", - "path": "en/api/ruby/beta/deployments/retrieve.md", - "sha256": "187e80db1fc2819f831537dd8a41273618ba93fdb4fd5a62ca8d9e62089a014e", - "size": 19142 + "path": "en/api/go/beta/environments/delete.md", + "sha256": "bd2c0b06e5e472f3f2b7522988d49fd2d4bb9d4f63e6b771afb445f7f5d45ab0", + "size": 6822 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/run", + "url": "https://platform.claude.com/docs/en/api/go/beta/environments/list", "status": "success", - "path": "en/api/ruby/beta/deployments/run.md", - "sha256": "7de61e1e4e595c0b961aaff79f9ab87c210d99a3283461d2a58bddb46299483a", - "size": 9261 + "path": "en/api/go/beta/environments/list.md", + "sha256": "acf7baaa01ed6be5980f4ee3876caa369642ff481267a34d917b0a083268a132", + "size": 10694 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/pause", + "url": "https://platform.claude.com/docs/en/api/go/beta/environments/archive", "status": "success", - "path": "en/api/ruby/beta/deployments/pause.md", - "sha256": "e06559b546e3af7c54d1dc6409383a5d9ed0998ed1e7816fb2c0563e40559f04", - "size": 19155 + "path": "en/api/go/beta/environments/archive.md", + "sha256": "b2f46bfbe7e2cee3382defc04c5e77e15dadab97d0470a981b8a45d17053e556", + "size": 10227 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/deployments/archive", + "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/certificates", "status": "success", - "path": "en/api/ruby/beta/deployments/archive.md", - "sha256": "c0b79f15712a0c51aeab8bdd357d1025b042ba751c2429f4eb386109ed6f4235", - "size": 19171 + "path": "en/api/go/beta/tunnels/certificates.md", + "sha256": "06d62a45f6ac6ebfb516d9ab8a7045c6c17fcd9b261fcab0539bc824295fcd24", + "size": 33377 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/create", + "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/create", "status": "success", - "path": "en/api/ruby/beta/skills/create.md", - "sha256": "a51a988fb4bbfd33e3889d40a57662bf17b8fb7238f6e26ae66ac96aabc058ec", - "size": 5130 + "path": "en/api/go/beta/tunnels/create.md", + "sha256": "1b72fed5e35cc7e9026f1754accb12dc4457320c67b72fdf93547f157df0c5c4", + "size": 7747 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/retrieve", "status": "success", - "path": "en/api/ruby/beta/skills/list.md", - "sha256": "f10b639c7f2b543a4beb186ec2f15bf18185e9d107bc92b5c9b70c31a555e82f", - "size": 5387 + "path": "en/api/go/beta/tunnels/retrieve.md", + "sha256": "c02882dd429832834c35d4eed04a7aeeeb812596bb2ada8ce17d44207de3b24e", + "size": 7549 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/reveal_token", "status": "success", - "path": "en/api/ruby/beta/skills/retrieve.md", - "sha256": "3e364608557b8de56258fef55e50e2e85eca52d44a04abc68e7948142ea69584", - "size": 4871 + "path": "en/api/go/beta/tunnels/reveal_token.md", + "sha256": "cf0562533726409e5c42a71c7affe1bfd209c0f0690c2f1178764a1c6cc4c560", + "size": 7305 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/versions", + "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/list", "status": "success", - "path": "en/api/ruby/beta/skills/versions.md", - "sha256": "87bc0b665bacdaf061435e473c546dc9fd917c7584def2cc5d0498b272acca96", - "size": 21367 + "path": "en/api/go/beta/tunnels/list.md", + "sha256": "39267d070647a22ffecc83a36ad8a42b0809609e56d6c89bc4bd157015b619fd", + "size": 8048 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/delete", + "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/archive", "status": "success", - "path": "en/api/ruby/beta/skills/delete.md", - "sha256": "5ef78d430efad17ad46d0e34bf71e3646603932e36a4743f0adfc70fccbae535", - "size": 3327 + "path": "en/api/go/beta/tunnels/archive.md", + "sha256": "71db9b721557006ab593d7d5bb376bf7bea28c6aa6d17532d21662b982e8b36a", + "size": 7848 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memory_versions", + "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/rotate_token", "status": "success", - "path": "en/api/ruby/beta/memory_stores/memory_versions.md", - "sha256": "9522d632fa3af079cc8d3de71ab71d15369bf4787c10a47287fcc805ba3e89d4", - "size": 39491 + "path": "en/api/go/beta/tunnels/rotate_token.md", + "sha256": "e654cb78b8a3f1062030e45e7af96357f46388d5bebfed22c582017d20161c1c", + "size": 7420 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/create", + "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches", "status": "success", - "path": "en/api/ruby/beta/memory_stores/create.md", - "sha256": "6db461072e486dae77820e1513c51f29f2099d5c8c9696d82c3de81d9c7af41c", - "size": 5643 + "path": "en/api/go/beta/messages/batches.md", + "sha256": "34b8b89bbb3ba5c18848dbc371c150e11a2062ff793cd5f4d0cd40ecad517e42", + "size": 889676 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/update", + "url": "https://platform.claude.com/docs/en/api/go/beta/messages/create", "status": "success", - "path": "en/api/ruby/beta/memory_stores/update.md", - "sha256": "255eea3bf44e10934f79476ad03b2601f3379b22b225a558799d4759e0498bdd", - "size": 5729 + "path": "en/api/go/beta/messages/create.md", + "sha256": "89dadda6fbdd6a07f5996cd98c9a1fa0034817c464c6c600847b529279d987c8", + "size": 329740 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/messages/count_tokens", "status": "success", - "path": "en/api/ruby/beta/memory_stores/list.md", - "sha256": "ce3103d0a4b227dbed6a13dcac6227bfdbfb61b79bf38530b8eb1794e8aaf9b4", - "size": 5813 + "path": "en/api/go/beta/messages/count_tokens.md", + "sha256": "2896e9d091c5d0e34d3689b8ad6119671495f14f36e923b9cf1b32f119a99c42", + "size": 157908 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/pause", "status": "success", - "path": "en/api/ruby/beta/memory_stores/retrieve.md", - "sha256": "2f5067e3114edbb05348cfba736d0d0529cd32e947c27b9606bcc8f95be4886e", - "size": 5102 + "path": "en/api/go/beta/deployments/pause.md", + "sha256": "6a828f0b60dded1f734a3ba3a949a1b29c8f6bcf595971b4402702f391b50267", + "size": 24108 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/delete", + "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/create", "status": "success", - "path": "en/api/ruby/beta/memory_stores/delete.md", - "sha256": "0734677ce036e170af03f871df3ef249ce9d1409292e299300e7442d2e417c9b", - "size": 3636 + "path": "en/api/go/beta/deployments/create.md", + "sha256": "d1a8dfff9b8191fd66de2025f17042408caa4d8edd5a96bd3055f37c3120ab03", + "size": 35547 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memories", + "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/update", "status": "success", - "path": "en/api/ruby/beta/memory_stores/memories.md", - "sha256": "3a87c696f23a78671062b15b09312d07a5143c32aa95ab9ccb18a59113b5e719", - "size": 49200 + "path": "en/api/go/beta/deployments/update.md", + "sha256": "0460cb00fc92ac1815ef1de90336a76cec13e5491fdb7c7aa85e9d9a20b4dd7e", + "size": 35099 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/archive", + "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/retrieve", "status": "success", - "path": "en/api/ruby/beta/memory_stores/archive.md", - "sha256": "305547f29a7e09f526711110a7734bc833bff846349a1e4c9f6898004cf8e13c", - "size": 5179 + "path": "en/api/go/beta/deployments/retrieve.md", + "sha256": "54a45e1644fb42862e07b2104ca40283a6e93f6e90e5943cfccced1761e08da9", + "size": 24083 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/files/download", + "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/list", "status": "success", - "path": "en/api/ruby/beta/files/download.md", - "sha256": "5a1ea9dbda8827e2e33311985a27ad1f621880b77f0a36170f15b955736cbbf8", - "size": 2896 + "path": "en/api/go/beta/deployments/list.md", + "sha256": "f99f538d3ffc4c62e9913741d6487bb48d837fb02aae90c24b7262e72e4c2840", + "size": 25207 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/files/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/unpause", "status": "success", - "path": "en/api/ruby/beta/files/list.md", - "sha256": "0350dda33508e0116b2fe8f39a6c6af024aee3610da66ff2ad65db74babf8ff3", - "size": 5233 + "path": "en/api/go/beta/deployments/unpause.md", + "sha256": "a061bf573ec6d97fd8f1b4c35e524ad0a1993542ba015bf9cba13e3abd4e63f5", + "size": 24128 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/files/upload", + "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/archive", "status": "success", - "path": "en/api/ruby/beta/files/upload.md", - "sha256": "3ee901df022639c23018a9fa5f45d9546e9a12bdba4d59a3bc7f710bb82f9ff7", - "size": 4872 + "path": "en/api/go/beta/deployments/archive.md", + "sha256": "be5fd6dbf4df6d841da342ba9b52790d212d52e533e7ea8dcf28055d367dec59", + "size": 24128 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/files/retrieve_metadata", + "url": "https://platform.claude.com/docs/en/api/go/beta/deployments/run", "status": "success", - "path": "en/api/ruby/beta/files/retrieve_metadata.md", - "sha256": "590188ab077f0b39eca39086baead8a70486194977d9653a06641111d5183ff4", - "size": 4508 + "path": "en/api/go/beta/deployments/run.md", + "sha256": "437ec7fbc0ccc8cf8b96fa58b7ab5fb22695c406d9b26817c4a99252b315f9d2", + "size": 12946 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/files/delete", + "url": "https://platform.claude.com/docs/en/api/go/beta/skills/create", "status": "success", - "path": "en/api/ruby/beta/files/delete.md", - "sha256": "cba7e9455c066a31e7ed9701034b3f84d2041d9675eaa9ac990f09eda3ece8cf", - "size": 3177 + "path": "en/api/go/beta/skills/create.md", + "sha256": "08941dd054a35153f383f3b77d26c2f58d83913359fd3e6c1898a04788b3d5b1", + "size": 8814 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/create", + "url": "https://platform.claude.com/docs/en/api/go/beta/skills/retrieve", "status": "success", - "path": "en/api/ruby/beta/messages/create.md", - "sha256": "357999bfebef4effbb0046eab32d49c16b932e27168c511821838e540c32a596", - "size": 291666 + "path": "en/api/go/beta/skills/retrieve.md", + "sha256": "eabe3fe0583966d329c6b60eec38edecfe6634854f7f12eeb9d139717d8dafbd", + "size": 8478 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/count_tokens", + "url": "https://platform.claude.com/docs/en/api/go/beta/skills/delete", "status": "success", - "path": "en/api/ruby/beta/messages/count_tokens.md", - "sha256": "aad3d9e6e2da7ee3a46935680731faba9f36d3ddcd4259d926c7c862190006ec", - "size": 140299 + "path": "en/api/go/beta/skills/delete.md", + "sha256": "8f78bc23d24ce8182be984c677724f50b37c09eee35296b60038321f30932e9a", + "size": 6763 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches", + "url": "https://platform.claude.com/docs/en/api/go/beta/skills/list", "status": "success", - "path": "en/api/ruby/beta/messages/batches.md", - "sha256": "feaafa6ace9335be5dacf27d8c710e73e5efcdcdaace36d57e4f261bd0ae338b", - "size": 751483 + "path": "en/api/go/beta/skills/list.md", + "sha256": "3374c92ec844d2e8250512b17cab9842a3b6a211fdeeb129aa2226c85a2d5a85", + "size": 9079 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches/create", + "url": "https://platform.claude.com/docs/en/api/go/beta/skills/versions", "status": "success", - "path": "en/api/ruby/beta/messages/batches/create.md", - "sha256": "8c8e7de284fec5c84191a70904b04cb76a7fde5e06ff97efee0764ea9cca9c43", - "size": 162533 + "path": "en/api/go/beta/skills/versions.md", + "sha256": "2ffb0816454cf131853be1c917dc0e2f2c8c20d392d50185095c84550d616745", + "size": 38809 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/create", "status": "success", - "path": "en/api/ruby/beta/messages/batches/list.md", - "sha256": "0bb97c86af633622aa3d664e8a3375447710cf4429235bf91bc563e885d2fd11", - "size": 7187 + "path": "en/api/go/beta/vaults/create.md", + "sha256": "60d1d05874cb7774feea52e39eaa908d7bc224862fa599bd0d6e1b45a446f9b6", + "size": 7489 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches/cancel", + "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/update", "status": "success", - "path": "en/api/ruby/beta/messages/batches/cancel.md", - "sha256": "d4acdc79d19748f06e274a295734dcbc65ea0e258b8e2186922bf15353b63514", - "size": 7101 + "path": "en/api/go/beta/vaults/update.md", + "sha256": "9a508748873035c69dc8dc3a4ee694e9e705ff305b8623095265d2fb8cd5e55a", + "size": 7628 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/retrieve", "status": "success", - "path": "en/api/ruby/beta/messages/batches/retrieve.md", - "sha256": "4a41ca961524d4712a7850bea13d8d1be9d580ec6a87cb1307f454797b86abf6", - "size": 6793 + "path": "en/api/go/beta/vaults/retrieve.md", + "sha256": "49192c1d8bb320edc973ea717ff28ae1052a1ac486065f2d6a4cddd73ef33669", + "size": 7322 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches/results", + "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/delete", "status": "success", - "path": "en/api/ruby/beta/messages/batches/results.md", - "sha256": "4407350e1f4c21dc941fe68079899b0bcee877bc60ae0e3d4d45b4e57ebaa7ff", - "size": 145949 + "path": "en/api/go/beta/vaults/delete.md", + "sha256": "7c186ae55700d3410c33b42d410380113bb2bb0d88f0c5b1db7766c000785c04", + "size": 6728 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/messages/batches/delete", + "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/list", "status": "success", - "path": "en/api/ruby/beta/messages/batches/delete.md", - "sha256": "61679503f401255a75edcbdc5d800b4abcca44251ebf198084d2c14d2e5fa6a6", - "size": 3664 + "path": "en/api/go/beta/vaults/list.md", + "sha256": "f2565053821616acce1b0a3ef922232c6c749d7822ddc4803c9ace4eeae77e74", + "size": 7807 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memories/create", + "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/archive", "status": "success", - "path": "en/api/ruby/beta/memory_stores/memories/create.md", - "sha256": "05827a76abd1aeb340202a38703d46b1b07128e74498ca9da7ce3955a481fc96", - "size": 7210 + "path": "en/api/go/beta/vaults/archive.md", + "sha256": "5962e13099d18e6087086ab47427197400e5707c1744e20a88513f1f7f508646", + "size": 7340 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memories/update", + "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials", "status": "success", - "path": "en/api/ruby/beta/memory_stores/memories/update.md", - "sha256": "055edef4b112de41ed4b29d74d4d52bb1930c515a24f3d9edc07e642cb3a4a5d", - "size": 8011 + "path": "en/api/go/beta/vaults/credentials.md", + "sha256": "4c6ca2bf1d1d4d0a26c9016f48096f335d26dc6cb4ae94795c0aa15c375338fe", + "size": 122581 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memories/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/create", "status": "success", - "path": "en/api/ruby/beta/memory_stores/memories/list.md", - "sha256": "d0e13958214d947e675dc222ef2f5d21a29109a8ec30cecd43d501c764967e4b", - "size": 8690 + "path": "en/api/go/beta/vaults/credentials/create.md", + "sha256": "75d778b725758096dc378d5ae8bb4eed670d19c771487fd171564671bf400485", + "size": 17127 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memories/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/update", "status": "success", - "path": "en/api/ruby/beta/memory_stores/memories/retrieve.md", - "sha256": "9cc5302f2794f1741856b846ce79e079d78090657a68b3c66113db87eb9313f0", - "size": 6745 + "path": "en/api/go/beta/vaults/credentials/update.md", + "sha256": "c0a6516c308b3c88b5b44e3580fda29038f10d9a737fe9896f86b2caa745d9e3", + "size": 16553 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memories/delete", + "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/retrieve", "status": "success", - "path": "en/api/ruby/beta/memory_stores/memories/delete.md", - "sha256": "6c5c3207b6bd257d38f29433583bd58e65d26a035281898a1b945fa592c6af74", - "size": 4294 + "path": "en/api/go/beta/vaults/credentials/retrieve.md", + "sha256": "ce519667651e463c550058b5559855b9b061fe2bfd06ee6616cf2111d39f9a6c", + "size": 11544 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memory_versions/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/delete", "status": "success", - "path": "en/api/ruby/beta/memory_stores/memory_versions/list.md", - "sha256": "111701153179b4b0eae2636dbfa43eef5ddc9fc00d2091314aebe68bd430cbbd", - "size": 11597 + "path": "en/api/go/beta/vaults/credentials/delete.md", + "sha256": "0054f69f055e7d4cc76b108d26b77dad140e1826e07c21f46e93ebc743a92f3c", + "size": 7037 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memory_versions/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/list", "status": "success", - "path": "en/api/ruby/beta/memory_stores/memory_versions/retrieve.md", - "sha256": "065e2d1a3cc2f7d58fc6fef0ccb8ca5c83774db7b520525ad9ab3e1b1537c191", - "size": 9841 + "path": "en/api/go/beta/vaults/credentials/list.md", + "sha256": "e169f5428c34af4bfa0bfbae186c647a7f8643a67755d5790e204b0bcf917d52", + "size": 12041 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/memory_stores/memory_versions/redact", + "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/archive", "status": "success", - "path": "en/api/ruby/beta/memory_stores/memory_versions/redact.md", - "sha256": "286aa18a1e77b65f89560d626001ca991e3545c008373d0e3000ee6513a4405d", - "size": 9121 + "path": "en/api/go/beta/vaults/credentials/archive.md", + "sha256": "3730beb6587cf675d59692018d43a1df96089d531fdbbd16ea2481a26a0e176d", + "size": 11564 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/versions/create", + "url": "https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/mcp_oauth_validate", "status": "success", - "path": "en/api/ruby/beta/skills/versions/create.md", - "sha256": "87708bc4eeaba8b33dbecd23c2fe60d1a81f2ea7cc3c4d1f13af4d9742170293", - "size": 4419 + "path": "en/api/go/beta/vaults/credentials/mcp_oauth_validate.md", + "sha256": "0ae3d333305afb755dc7cc3726bc0ee0ea02e7c3d13e26fe4ffd452ef668b4b1", + "size": 10972 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/versions/download", + "url": "https://platform.claude.com/docs/en/api/go/beta/skills/versions/create", "status": "success", - "path": "en/api/ruby/beta/skills/versions/download.md", - "sha256": "0ba55cfa795203e0e6006d0b9e4fbacaac79dc4ccb54f98c81ae83d7076d6bcf", - "size": 3343 + "path": "en/api/go/beta/skills/versions/create.md", + "sha256": "18250ff40a3cc7a178f40a47f7906483b6e2d1b93939299d497a74faa00a91db", + "size": 7909 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/versions/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/skills/versions/download", "status": "success", - "path": "en/api/ruby/beta/skills/versions/list.md", - "sha256": "6c78ea17d74d35bd66bf5676502d037bb3011cab8bd7bbbf27222253f018abff", - "size": 4520 + "path": "en/api/go/beta/skills/versions/download.md", + "sha256": "209739cd1c3b97f71c1808a7910e28117093c8b2f2ae759268e2da94751fb802", + "size": 6834 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/versions/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/skills/versions/retrieve", "status": "success", - "path": "en/api/ruby/beta/skills/versions/retrieve.md", - "sha256": "17fc42a2df42b6ae1250ed8584827645189e8579b026eddec55c35ca5317f7c7", - "size": 4515 + "path": "en/api/go/beta/skills/versions/retrieve.md", + "sha256": "fa11bd5270423100df89d36556f4dc44f86728f6fd1721cb4b62318ec562921a", + "size": 7958 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/skills/versions/delete", + "url": "https://platform.claude.com/docs/en/api/go/beta/skills/versions/delete", "status": "success", - "path": "en/api/ruby/beta/skills/versions/delete.md", - "sha256": "b30f4116b23f4c62f9b398d4450c2348f89cfd796cfad396410ede903ff443d8", - "size": 3700 + "path": "en/api/go/beta/skills/versions/delete.md", + "sha256": "5b3cb30cfdd377ade1d246b327d333e4de44845b2a2f3807ddeb4cf7a5bd263d", + "size": 7170 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/skills/versions/list", "status": "success", - "path": "en/api/ruby/beta/sessions/threads/list.md", - "sha256": "1c531e1888791ce56319e503ec0eeea4967e58a8e6ca078602c1d72f2f8910f9", - "size": 33939 + "path": "en/api/go/beta/skills/versions/list.md", + "sha256": "a17e9b7a03d9e8d59ecb8fe2a2d3dcb16f9bf28f9ef32a547fecdd969a077ac8", + "size": 8013 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches/cancel", "status": "success", - "path": "en/api/ruby/beta/sessions/threads/retrieve.md", - "sha256": "ec443378fb66310f4e9227633fdd34307487f45b2597a88bcb87c7b8b15a5e9d", - "size": 33147 + "path": "en/api/go/beta/messages/batches/cancel.md", + "sha256": "600d57ffa6cbfe83094044ccccaf5ab7b79ca48dbdd988962c89c94246253990", + "size": 10852 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads/events", + "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches/create", "status": "success", - "path": "en/api/ruby/beta/sessions/threads/events.md", - "sha256": "d756dd664326bf0c6f174aa9fec2d580c08eb2d30b1d569f27c4cbf9ad202367", - "size": 198799 + "path": "en/api/go/beta/messages/batches/create.md", + "sha256": "5fe34642e8ba82f79a76a28df8610a2bade60c49756e7916fe423e128573ceb6", + "size": 190393 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads/archive", + "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches/retrieve", "status": "success", - "path": "en/api/ruby/beta/sessions/threads/archive.md", - "sha256": "f09cf0dace9919a1f1c945d508e80b7295ba024c79e64bcdcb17db639fab232d", - "size": 33165 + "path": "en/api/go/beta/messages/batches/retrieve.md", + "sha256": "5361ac4a2c43718b614ea586565d52afe640218972deaed11285dc0495912a2a", + "size": 10530 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/resources/update", + "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches/delete", "status": "success", - "path": "en/api/ruby/beta/sessions/resources/update.md", - "sha256": "edf204a04717a1adbf3524f1b1a81aa3121f53711f6b6db28884d519a0cc9d66", - "size": 6157 + "path": "en/api/go/beta/messages/batches/delete.md", + "sha256": "3021210059865164946954fd86fb6d83a146c1a660a94500f264e87a28129f64", + "size": 7115 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/resources/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches/list", "status": "success", - "path": "en/api/ruby/beta/sessions/resources/list.md", - "sha256": "e4393abf387aa1f6e007191a07020f43711a03588bf0e105758dbd88599a642f", - "size": 6439 + "path": "en/api/go/beta/messages/batches/list.md", + "sha256": "9920aa81da2721aa2155bb6f3ff8b5ec20b7f52fbb092af063ea4161451904c2", + "size": 11003 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/resources/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/messages/batches/results", "status": "success", - "path": "en/api/ruby/beta/sessions/resources/retrieve.md", - "sha256": "6916f5b995717fd5d64d87c6c92d1395f9c025974b78075c9cdf846786fbd8fd", - "size": 5936 + "path": "en/api/go/beta/messages/batches/results.md", + "sha256": "be5e0562fe8f5ccb75b02fe7eb26d2132407431f3ee98f395e8c13e7234a0999", + "size": 172490 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/resources/add", + "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/certificates/create", "status": "success", - "path": "en/api/ruby/beta/sessions/resources/add.md", - "sha256": "60dc22990e2ff532cb4bc282fd514377fa560afca4c42c85ec7f309b8afae56f", - "size": 3902 + "path": "en/api/go/beta/tunnels/certificates/create.md", + "sha256": "ff8ea46dd1aaae3ab6b0a788a9b6f3a8564073d50795d8aed7f8e1bbf1a82b7b", + "size": 8233 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/resources/delete", + "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/certificates/retrieve", "status": "success", - "path": "en/api/ruby/beta/sessions/resources/delete.md", - "sha256": "1114d96f4a83659829630b8c6e0b4cb22181867a5013a3628d3d784d99c9219e", - "size": 3462 + "path": "en/api/go/beta/tunnels/certificates/retrieve.md", + "sha256": "1afaa0922e95f51c8ee5ba0a08eb655289ac882e8aeed145d9d027001f235782", + "size": 7979 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/events/send", + "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/certificates/list", "status": "success", - "path": "en/api/ruby/beta/sessions/events/send.md", - "sha256": "2cd6239f13643a42b57f5494b78d05b29de9d0ff2689342457f3a967750f208d", - "size": 25599 + "path": "en/api/go/beta/tunnels/certificates/list.md", + "sha256": "fd05ab3c8d0826d12061ba64a051d443f39ceded8afc46681f1f7e378eaa79e9", + "size": 8427 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/events/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/tunnels/certificates/archive", "status": "success", - "path": "en/api/ruby/beta/sessions/events/list.md", - "sha256": "777fb514e8b13b511ad3bd25daf52791848c635632ca6a6fc72b7bff1b0c79c6", - "size": 100211 + "path": "en/api/go/beta/tunnels/certificates/archive.md", + "sha256": "a07f02e4d021fd98c15c220b52594b43765d4eb88c42b2a9be48223fa64156cf", + "size": 8234 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/events/stream", + "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/poll", "status": "success", - "path": "en/api/ruby/beta/sessions/events/stream.md", - "sha256": "7890561bb283a0c800031643d4968fd17b8c7a6f1ad41dec8a2d83c1d9217dad", - "size": 100860 + "path": "en/api/go/beta/environments/work/poll.md", + "sha256": "c91fec2e6d96d711b2e0fbfb62d070d4deb0c701fde2b65225f4fd06b4149bb7", + "size": 9386 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads/events/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/update", "status": "success", - "path": "en/api/ruby/beta/sessions/threads/events/list.md", - "sha256": "e37f7315828dafb3107447f9196b8e798aaf5517462903831b09ad780a0dc37f", - "size": 97884 + "path": "en/api/go/beta/environments/work/update.md", + "sha256": "4e53b3461b2ab12cab30bfbaaa9840ad4c52c77c4814802e352cca630a6e9150", + "size": 9503 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/sessions/threads/events/stream", + "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/stop", "status": "success", - "path": "en/api/ruby/beta/sessions/threads/events/stream.md", - "sha256": "dbdd55cacd5b81e7a265591948901fdeeada1edab4505d6b108d8bbd3e12a290", - "size": 101050 + "path": "en/api/go/beta/environments/work/stop.md", + "sha256": "761052deb5dc157da6ffb3bedd2491cd6e2bdb22e9b78386fed4f657758383ba", + "size": 9427 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/certificates/create", + "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/retrieve", "status": "success", - "path": "en/api/ruby/beta/tunnels/certificates/create.md", - "sha256": "8b29668a82b3e1d13b7063d33957130e6886ada4dfd22d9875f61aad80b51160", - "size": 4811 + "path": "en/api/go/beta/environments/work/retrieve.md", + "sha256": "6273d1b1694e26811e652562ac15c060d534a7d801ebf4e0e97b29c23d8d73cd", + "size": 9225 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/certificates/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/heartbeat", "status": "success", - "path": "en/api/ruby/beta/tunnels/certificates/list.md", - "sha256": "dd19c8342b7d004ef60395e47c10f611b4d62e506620d823d04d3375554e50d2", - "size": 4935 + "path": "en/api/go/beta/environments/work/heartbeat.md", + "sha256": "13851fb51ae1e69eda3c82717bb1bdd5dfcf8ee16be79b819132444ef8752ca7", + "size": 8256 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/certificates/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/list", "status": "success", - "path": "en/api/ruby/beta/tunnels/certificates/retrieve.md", - "sha256": "044ee98a6966fdd86e9f48bd1ffb2338e65571e6927f8223b6e1658f478338b2", - "size": 4561 + "path": "en/api/go/beta/environments/work/list.md", + "sha256": "babd951b166d402e3eb197c03700a826dce66772e1c5fee9da7b35d0bf62aacf", + "size": 9106 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/tunnels/certificates/archive", + "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/stats", "status": "success", - "path": "en/api/ruby/beta/tunnels/certificates/archive.md", - "sha256": "a310aba670e696b602800f0ed8b3348d7c5012526ed1ad3794a7304abdb42f82", - "size": 4798 + "path": "en/api/go/beta/environments/work/stats.md", + "sha256": "90ef6198c3d1400088f8315d18e1b6a3eae1c073e2eca89d31fd1bf3e8256086", + "size": 7403 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/agents/versions/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/environments/work/ack", "status": "success", - "path": "en/api/ruby/beta/agents/versions/list.md", - "sha256": "427eca4e8e42c839e5dc3e4edec4973fc2a4e39d9162c8042f8f7bfb674fb283", - "size": 30484 + "path": "en/api/go/beta/environments/work/ack.md", + "sha256": "f953d1a2dce4ec2432f18a655a840b9350c528b11460b941b249616a25f1155d", + "size": 8904 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/create", + "url": "https://platform.claude.com/docs/en/api/go/beta/agents/versions/list", "status": "success", - "path": "en/api/ruby/beta/vaults/credentials/create.md", - "sha256": "c3db39ea012731563314a4935742d81dd1221dc85805618facc952e19802fc19", - "size": 12395 + "path": "en/api/go/beta/agents/versions/list.md", + "sha256": "f4583aa956678e579cd46d2bbfa3c6da7693f734da48d9b11dbf6f485dffa1dd", + "size": 34897 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/update", + "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memories/create", "status": "success", - "path": "en/api/ruby/beta/vaults/credentials/update.md", - "sha256": "05a0992e6cd4c8569cbfc0da6d2a98916c9eadb81d9a55e1d795944e09214e35", - "size": 11598 + "path": "en/api/go/beta/memory_stores/memories/create.md", + "sha256": "c681dca0a33111deb866dd4c24db5d7ee4e02a17153139cc2278725ba585869e", + "size": 10395 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memories/update", "status": "success", - "path": "en/api/ruby/beta/vaults/credentials/list.md", - "sha256": "f9596970ff2289223f136475129d9f6706cb1c3f60b9ed7138bff7b25238d2ae", - "size": 8132 + "path": "en/api/go/beta/memory_stores/memories/update.md", + "sha256": "f6ed0f5bfe4fd49b63ac4b5603201463dc7aaa4a55b6399b0bdb650164903a99", + "size": 10877 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/mcp_oauth_validate", + "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memories/retrieve", "status": "success", - "path": "en/api/ruby/beta/vaults/credentials/mcp_oauth_validate.md", - "sha256": "53f00419a619329b32a907132875c236606b632598dcf12ba3593c12420d340d", - "size": 6531 + "path": "en/api/go/beta/memory_stores/memories/retrieve.md", + "sha256": "19e7c73e96e96120dfe5145698779b547a25b1e52e3a4d76d784ffdd503d1c64", + "size": 9884 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memories/delete", "status": "success", - "path": "en/api/ruby/beta/vaults/credentials/retrieve.md", - "sha256": "ad176d641fd952cb0e9a4f79eda062700695d0cb6259cc4aae2bb34d55b647bc", - "size": 7860 + "path": "en/api/go/beta/memory_stores/memories/delete.md", + "sha256": "c7ab4f82a611ec21f1ad0932e9e67ca528afd891d562e8e65f53461fb7011121", + "size": 7769 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/delete", + "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memories/list", "status": "success", - "path": "en/api/ruby/beta/vaults/credentials/delete.md", - "sha256": "8c62ff57eba956459d0dbdf2ed050eeb7a8fae249772eed58e4d54c31acf6820", - "size": 3578 + "path": "en/api/go/beta/memory_stores/memories/list.md", + "sha256": "30712fa4cf6dd88acad0fb1e1a00714ef551b24f42254bff752d970cfbc8276f", + "size": 11907 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/archive", + "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memory_versions/retrieve", "status": "success", - "path": "en/api/ruby/beta/vaults/credentials/archive.md", - "sha256": "44a0e9333d10ff8b0c68847100fef487d240dd6c034d72ed4a4e2a8aeb2f2278", - "size": 7877 + "path": "en/api/go/beta/memory_stores/memory_versions/retrieve.md", + "sha256": "ad3a1ac372381c84ba3e4044cdc2a6745e9659dfdd3f88b4932fb0b8f8bb4700", + "size": 13362 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/update", + "url": "https://platform.claude.com/docs/en/api/go/beta/memory_stores/memory_versions/list", "status": "success", - "path": "en/api/ruby/beta/environments/work/update.md", - "sha256": "b1b612de02d784d447b9161ef693a3874ec9ad6ccfd5746d121dd42405a76312", - "size": 5693 + "path": "en/api/go/beta/memory_stores/memory_versions/list.md", + "sha256": "42743fd48b7163ecde81fa4ab01acbdd7defe23516a230395211fa986656de33", + "size": 14846 + }, + { + "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": "0af1804d974176c52d0b7d6c1cafc34775c8f19023b165ab875ee14cbf77fa45", + "size": 12948 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/list", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads/retrieve", "status": "success", - "path": "en/api/ruby/beta/environments/work/list.md", - "sha256": "a4b88eac0d47c230dcc4c0061fded46116a84b326c667e4a3dc71b7d161877e6", - "size": 5354 + "path": "en/api/go/beta/sessions/threads/retrieve.md", + "sha256": "10cbd52578405fa6923f74d15d578f9ccf9b1752dae679f59446aba612b97d6e", + "size": 37793 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/stop", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads/list", "status": "success", - "path": "en/api/ruby/beta/environments/work/stop.md", - "sha256": "33aaf5fe139dabcede0f54fdb890e117ffd5ee02e0d81bdd3adae851bae1ec7f", - "size": 5568 + "path": "en/api/go/beta/sessions/threads/list.md", + "sha256": "297a10448039a7bd339891d5680843de215ec915b1a97ad8e0b93927c5f5025d", + "size": 39031 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/retrieve", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads/archive", "status": "success", - "path": "en/api/ruby/beta/environments/work/retrieve.md", - "sha256": "1ebe6ea0a662a6bddaa85c8a7c8541e0b927538ebe7aeaeb809cf69a5a44d11a", - "size": 5505 + "path": "en/api/go/beta/sessions/threads/archive.md", + "sha256": "e6210f5932299b963ee476a45c7e3c6aacd82ac5a13a6b35eecfa837a4d289da", + "size": 37829 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/ack", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads/events", "status": "success", - "path": "en/api/ruby/beta/environments/work/ack.md", - "sha256": "dfc539fea63dbc9ef89c126b8c9aef7bb60dc81850b125394cbef2cde48a2e08", - "size": 5198 + "path": "en/api/go/beta/sessions/threads/events.md", + "sha256": "bf12a99799ed585225c27d7453a2022c00bbb86a070f5b20e5c7e92e304b5aa2", + "size": 208898 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/stats", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/events/send", "status": "success", - "path": "en/api/ruby/beta/environments/work/stats.md", - "sha256": "54462089badef1581a1b2e3c8690f5279717c070568f7e07c31581976c4c2bb4", - "size": 3944 + "path": "en/api/go/beta/sessions/events/send.md", + "sha256": "c29ff495bbb777409ea49f53b3b2067a16302a0051ae7a3c5089022f8af6e654", + "size": 30819 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/heartbeat", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/events/stream", "status": "success", - "path": "en/api/ruby/beta/environments/work/heartbeat.md", - "sha256": "4d3c24fb826d3b75d4dd9e446ad245aabab4a50c9e9f731da56f1e55ecd8db62", - "size": 4279 + "path": "en/api/go/beta/sessions/events/stream.md", + "sha256": "bff9f9c790892a1bb58e14cbb6b6511b3fc6c33fbcdd23ca206db028ac93f652", + "size": 106018 }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/environments/work/poll", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/events/list", "status": "success", - "path": "en/api/ruby/beta/environments/work/poll.md", - "sha256": "f6f00408c269e364fe038b510dcd05e575fa6f1ca6a43b9c2d5c686c21737554", - "size": 5620 + "path": "en/api/go/beta/sessions/events/list.md", + "sha256": "75d253cadd775474afcf502359b8dc3e5eff040fc9e75e3ed985c823439f7670", + "size": 109373 }, { - "url": "https://code.claude.com/docs/en/plugin-marketplaces", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/resources/update", "status": "success", - "path": "en/docs/claude-code/plugin-marketplaces.md", - "sha256": "0597250fec9a5eb9734df9c6821409431623604656129cf8e462f93460db6a84", - "size": 14189 + "path": "en/api/go/beta/sessions/resources/update.md", + "sha256": "41c55c041987ddb62f6bda8d64f5a5e5a9b1e968c0c6ef816af7145c064ff776", + "size": 9906 }, { - "url": "https://code.claude.com/docs/en/slash-commands", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/resources/add", "status": "success", - "path": "en/docs/claude-code/slash-commands.md", - "sha256": "428fdf2654fa01dcbbece1f6d010e350f646ecbdbec229e7df097f452f06c2b7", - "size": 109922 + "path": "en/api/go/beta/sessions/resources/add.md", + "sha256": "542d805e1a3287fe50bc294d6c21d380e1e68e2d2cb749636ab11c38787d77c7", + "size": 7388 }, { - "url": "https://code.claude.com/docs/en/plugins-reference", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/resources/retrieve", "status": "success", - "path": "en/docs/claude-code/plugins-reference.md", - "sha256": "16b6dafd91d4a258bd1afcb901ee6efafca67c6de52e8c7a2b3c65c3884b5f3d", - "size": 41987 + "path": "en/api/go/beta/sessions/resources/retrieve.md", + "sha256": "2ad83a34d8f64e938982a5868e0bc89f3263252a142144b1e36766b9d9df4133", + "size": 9646 }, { - "url": "https://code.claude.com/docs/en/plugin-hints", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/resources/delete", "status": "success", - "path": "en/docs/claude-code/plugin-hints.md", - "sha256": "8f7f28fb9568c8acfce79a0ed6761c175062ffb6c01b91936d2780ebd2e91257", - "size": 6742 + "path": "en/api/go/beta/sessions/resources/delete.md", + "sha256": "d20f6c181a854e91aca5032efac1df26a289972ff2b7b0111b519f775852e258", + "size": 6906 }, { - "url": "https://code.claude.com/docs/en/plugin-relevance", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/resources/list", "status": "success", - "path": "en/docs/claude-code/plugin-relevance.md", - "sha256": "bcbe647fd4e587be1dcaf436077181c1a863f9a4ddd18833d96b7862aeed17e9", - "size": 12865 + "path": "en/api/go/beta/sessions/resources/list.md", + "sha256": "b8253ed4a293e281355e049efc7f0fd15102587dc13dfdfed22ae0ca93023c07", + "size": 10196 }, { - "url": "https://code.claude.com/docs/en/ultraplan", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads/events/stream", "status": "success", - "path": "en/docs/claude-code/ultraplan.md", - "sha256": "140170a1baf128531aa98be28c5b8592440969cd386a21ab5707def73354aabd", - "size": 1050 + "path": "en/api/go/beta/sessions/threads/events/stream.md", + "sha256": "f9263948d52c950e08adb0885372292fd2bc4bab937835aaa740080fee2550f9", + "size": 106219 }, { - "url": "https://code.claude.com/docs/en/discover-plugins", + "url": "https://platform.claude.com/docs/en/api/go/beta/sessions/threads/events/list", "status": "success", - "path": "en/docs/claude-code/discover-plugins.md", - "sha256": "698096ded7da7addf11ad7894179736ff96bab43eb51370698efb0fcdaca7294", - "size": 32228 + "path": "en/api/go/beta/sessions/threads/events/list.md", + "sha256": "1a2724ad608ad4106f9bb0739c534c22548479d7e28b451cc147442d1c801db4", + "size": 102812 }, { - "url": "https://code.claude.com/docs/en/desktop-changelog", + "url": "https://platform.claude.com/docs/en/api/go/messages/batches/cancel", "status": "success", - "path": "en/docs/claude-code/desktop-changelog.md", - "sha256": "c7bf4f1cdf3b7c16d3b4c092887779602582642e1cebe0fa54387c44d880d32c", - "size": 166053 + "path": "en/api/go/messages/batches/cancel.md", + "sha256": "bcde07f82ffe6a8ebd67f92c5ebb799085a1f366cdf3e6f4b43fa075f1848cb0", + "size": 5661 }, { - "url": "https://code.claude.com/docs/en/iam", + "url": "https://platform.claude.com/docs/en/api/go/messages/batches/create", "status": "success", - "path": "en/docs/claude-code/iam.md", - "sha256": "c43ef3e8ddcb34ff6ba8b8d9e72276326ba7b672cd99f1252d5167c111ce67ac", - "size": 31125 + "path": "en/api/go/messages/batches/create.md", + "sha256": "7407c2868b6fb350db1bfd8abeb5ef11febcd827b72fc8e2441296eae5393e34", + "size": 126113 }, { - "url": "https://code.claude.com/docs/en/web-scheduled-tasks", + "url": "https://platform.claude.com/docs/en/api/go/messages/batches/retrieve", "status": "success", - "path": "en/docs/claude-code/web-scheduled-tasks.md", - "sha256": "7e17c96c0b9eff83779590e596a792e2cdb1c6bbea8095aa1989c305cfe29cac", - "size": 36889 + "path": "en/api/go/messages/batches/retrieve.md", + "sha256": "317e212972d4a10b02f8c3ea5fcc447f2d7f5791d1fd1696e05b0d5ecf0945a9", + "size": 5339 }, { - "url": "https://code.claude.com/docs/en/plugins", + "url": "https://platform.claude.com/docs/en/api/go/messages/batches/delete", "status": "success", - "path": "en/docs/claude-code/plugins.md", - "sha256": "a33630ffe4a2432e4204fa0a512cffda4a037cf1441fb964a2104517589c8654", - "size": 14924 + "path": "en/api/go/messages/batches/delete.md", + "sha256": "c8fd9f328d4daf47510651f78f050cfb389a3145a47272346b13b46ab8b603a5", + "size": 1956 }, { - "url": "https://code.claude.com/docs/en/plugin-dependencies", + "url": "https://platform.claude.com/docs/en/api/go/messages/batches/list", "status": "success", - "path": "en/docs/claude-code/plugin-dependencies.md", - "sha256": "a29a982a1fddb4dbaa361f5c996d4b444fceee116b86bf33720d92e5137ae97e", - "size": 17256 + "path": "en/api/go/messages/batches/list.md", + "sha256": "ddcc7a670f3446f30bab414ea5023f9e2cc9c8f2d4071eae2db924fd3d3caf74", + "size": 5820 }, { - "url": "https://code.claude.com/docs/en/agent-sdk/slash-commands", + "url": "https://platform.claude.com/docs/en/api/go/messages/batches/results", "status": "success", - "path": "en/docs/claude-code/agent-sdk/slash-commands.md", - "sha256": "c515e05538b55ae79a3044229d742946785e0dcca66845478d542ceb0620d26c", - "size": 27640 + "path": "en/api/go/messages/batches/results.md", + "sha256": "7da47b05070c9af75d8e63cbab9f63cbb7547bad6fcd33dab34d538f8f5cf308", + "size": 41569 }, { "url": "https://raw.githubusercontent.com/anthropics/claude-cookbooks/main/.claude/agents/code-reviewer.md", @@ -29434,28 +29448,27 @@ "size": 170 } ], - "failures": [ + "failures": [], + "dead": [ + { + "url": "https://code.claude.com/docs/en/claude-tag", + "reason": "moved -> https://claude.com/docs/claude-tag/overview" + }, { "url": "https://support.claude.com/en/articles/9767949-api-key-best-practices-keeping-your-keys-safe-and-secure", - "error": "moved to https://support.claude.com/en/articles/9767949-api-key-best-practices-keep-your-keys-safe-and-secure.md" + "reason": "moved -> https://support.claude.com/en/articles/9767949-api-key-best-practices-keep-your-keys-safe-and-secure" }, { "url": "https://support.claude.com/en/articles/9796807-creating-and-managing-workspaces-in-the-claude-console", - "error": "moved to https://support.claude.com/en/articles/9796807-create-and-manage-workspaces-in-the-claude-console.md" + "reason": "moved -> https://support.claude.com/en/articles/9796807-create-and-manage-workspaces-in-the-claude-console" }, { "url": "https://support.claude.com/en/articles/13346458-customizing-your-console-appearance-settings", - "error": "moved to https://support.claude.com/en/articles/13346458-customize-your-console-appearance-settings.md" + "reason": "moved -> https://support.claude.com/en/articles/13346458-customize-your-console-appearance-settings" }, { "url": "https://support.claude.com/en/articles/13443764-inviting-members-to-the-claude-console", - "error": "moved to https://support.claude.com/en/articles/13443764-invite-members-to-the-claude-console.md" - } - ], - "dead": [ - { - "url": "https://code.claude.com/docs/en/claude-tag", - "reason": "moved -> https://claude.com/docs/claude-tag/overview" + "reason": "moved -> https://support.claude.com/en/articles/13443764-invite-members-to-the-claude-console" }, { "url": "https://platform.claude.com/docs/en/agent-sdk/stop-reasons", @@ -29470,436 +29483,464 @@ "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization" }, { - "url": "https://platform.claude.com/docs/en/api/sdks/cli", - "reason": "HTTP 404" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/pun-dit", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/analytics", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/meeting-scribe", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/usage_report", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/usage_report" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/master-moderator", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/api_keys", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/api_keys" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/mindfulness-mentor", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/cost_report", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/cost_report" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/perspectives-ponderer", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/adaptive-editor", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/workspaces", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/career-coach", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/rate_limits", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rate_limits" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/sci-fi-scenario-simulator", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/service_accounts", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/polyglot-superpowers", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/spend_limits", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/idiom-illuminator", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/users", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/users" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/time-travel-consultant", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/organizations", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/direction-decoder", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/rbac_roles", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_roles" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/latex-legend", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/mood-colorizer", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/invites", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/invites" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/csv-converter", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + }, + { + "url": "https://platform.claude.com/docs/en/resources/prompt-library/tongue-twister", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + }, + { + "url": "https://platform.claude.com/docs/en/resources/prompt-library/google-apps-scripter", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + }, + { + "url": "https://platform.claude.com/docs/en/resources/prompt-library/ethical-dilemma-navigator", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + }, + { + "url": "https://platform.claude.com/docs/en/resources/prompt-library/brand-builder", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + }, + { + "url": "https://platform.claude.com/docs/en/resources/prompt-library/trivia-generator", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + }, + { + "url": "https://platform.claude.com/docs/en/resources/prompt-library/product-naming-pro", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/federation_issuers", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/issuers" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/culinary-creator", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/federation_rules", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/socratic-sage", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/external_keys", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/external_keys" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/review-classifier", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/compliance/code", - "reason": "moved -> https://platform.claude.com/docs/en/api/compliance/apps/code" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/vr-fitness-innovator", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/go/beta/webhooks/unwrap", - "reason": "HTTP 404" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/futuristic-fashion-advisor", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/cli/beta/webhooks/unwrap", - "reason": "HTTP 404" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/philosophical-musings", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/compliance/code/artifacts", - "reason": "moved -> https://platform.claude.com/docs/en/api/compliance/apps/code/artifacts" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/excel-formula-expert", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/compliance/code/artifacts/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/compliance/apps/code/artifacts/list" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/code-consultant", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/compliance/code/artifacts/retrieve_version", - "reason": "moved -> https://platform.claude.com/docs/en/api/compliance/apps/code/artifacts/retrieve_version" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/grammar-genie", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/compliance/code/artifacts/delete", - "reason": "moved -> https://platform.claude.com/docs/en/api/compliance/apps/code/artifacts/delete" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/sql-sorcerer", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/beta/webhooks/unwrap", - "reason": "HTTP 404" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/simile-savant", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/beta/organization/spend_limits/create", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/set" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/interview-question-crafter", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "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" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/code-clarifier", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "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/resources/prompt-library/efficiency-estimator", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "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" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/hal-the-humorous-helper", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "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/resources/prompt-library/git-gud", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "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/resources/prompt-library/alliteration-alchemist", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "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/resources/prompt-library/spreadsheet-sorcerer", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "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/resources/prompt-library/corporate-clairvoyant", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "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/resources/prompt-library/portmanteau-poet", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "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/resources/prompt-library/neologism-creator", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "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" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/airport-code-analyst", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/members/create", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/members/add" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/grading-guru", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/members/delete", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/members/remove" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/lesson-planner", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/csharp/beta/webhooks/unwrap", - "reason": "HTTP 404" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/library", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/usage_report/retrieve_claude_code", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/usage_report/retrieve_claude_code" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/alien-anthropologist", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/usage_report/retrieve_messages", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/usage_report/retrieve_messages" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/email-extractor", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/spend_limits/create", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/set" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/cite-your-sources", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/spend_limits/list_effective", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/effective/list" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/memo-maestro", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/spend_limits/retrieve", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/retrieve" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/prose-polisher", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/spend_limits/delete", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/delete" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/riddle-me-this", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/spend_limits/increase_requests", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/increase_requests" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/second-grade-simplifier", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/rate_limits/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rate_limits/list" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/emoji-encoder", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/cost_report/retrieve", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/cost_report/retrieve" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/dream-interpreter", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups/create", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/create" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/motivational-muse", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups/update", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/update" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/storytelling-sidekick", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/list" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/python-bug-buster", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups/retrieve", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/retrieve" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/tweet-tone-detector", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups/members", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/members" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/babels-broadcasts", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups/delete", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/delete" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/function-fabricator", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/organizations/me", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/retrieve" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/data-organizer", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/service_accounts/create", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts/create" + "url": "https://platform.claude.com/docs/en/resources/prompt-library/pii-purifier", + "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" }, { - "url": "https://platform.claude.com/docs/en/api/admin/service_accounts/update", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts/update" + "url": "https://code.claude.com/docs/en/sdk/migration-guide", + "reason": "moved -> https://code.claude.com/docs/en/agent-sdk" }, { - "url": "https://platform.claude.com/docs/en/api/admin/service_accounts/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts/list" + "url": "https://platform.claude.com/docs/en/api/sdks/cli", + "reason": "HTTP 404" }, { - "url": "https://platform.claude.com/docs/en/api/admin/service_accounts/workspaces", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts/workspaces" + "url": "https://platform.claude.com/docs/en/api/admin/spend_limits", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits" }, { - "url": "https://platform.claude.com/docs/en/api/admin/service_accounts/retrieve", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts/retrieve" + "url": "https://platform.claude.com/docs/en/api/admin/rate_limits", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rate_limits" }, { - "url": "https://platform.claude.com/docs/en/api/admin/service_accounts/archive", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts/archive" + "url": "https://platform.claude.com/docs/en/api/admin/organizations", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization" }, { - "url": "https://platform.claude.com/docs/en/api/admin/external_keys/create", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/external_keys/create" + "url": "https://platform.claude.com/docs/en/api/admin/usage_report", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/usage_report" }, { - "url": "https://platform.claude.com/docs/en/api/admin/external_keys/update", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/external_keys/update" + "url": "https://platform.claude.com/docs/en/api/admin/external_keys", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/external_keys" }, { - "url": "https://platform.claude.com/docs/en/api/admin/external_keys/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/external_keys/list" + "url": "https://platform.claude.com/docs/en/api/admin/federation_rules", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules" }, { - "url": "https://platform.claude.com/docs/en/api/admin/external_keys/retrieve", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/external_keys/retrieve" + "url": "https://platform.claude.com/docs/en/api/admin/invites", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/invites" }, { - "url": "https://platform.claude.com/docs/en/api/admin/external_keys/validate", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/external_keys/validate" + "url": "https://platform.claude.com/docs/en/api/admin/users", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/users" }, { - "url": "https://platform.claude.com/docs/en/api/admin/external_keys/delete", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/external_keys/delete" + "url": "https://platform.claude.com/docs/en/api/admin/workspaces", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces" }, { - "url": "https://platform.claude.com/docs/en/api/admin/invites/create", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/invites/create" + "url": "https://platform.claude.com/docs/en/api/admin/analytics", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics" }, { - "url": "https://platform.claude.com/docs/en/api/admin/invites/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/invites/list" + "url": "https://platform.claude.com/docs/en/api/admin/rbac_roles", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_roles" }, { - "url": "https://platform.claude.com/docs/en/api/admin/invites/retrieve", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/invites/retrieve" + "url": "https://platform.claude.com/docs/en/api/admin/cost_report", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/cost_report" }, { - "url": "https://platform.claude.com/docs/en/api/admin/invites/delete", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/invites/delete" + "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels" }, { - "url": "https://platform.claude.com/docs/en/api/admin/federation_issuers/create", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/issuers/create" + "url": "https://platform.claude.com/docs/en/api/admin/federation_issuers", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/issuers" }, { - "url": "https://platform.claude.com/docs/en/api/admin/federation_issuers/update", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/issuers/update" + "url": "https://platform.claude.com/docs/en/api/admin/service_accounts", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts" }, { - "url": "https://platform.claude.com/docs/en/api/admin/federation_issuers/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/issuers/list" + "url": "https://platform.claude.com/docs/en/api/admin/api_keys", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/api_keys" }, { - "url": "https://platform.claude.com/docs/en/api/admin/federation_issuers/retrieve", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/issuers/retrieve" + "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups" }, { - "url": "https://platform.claude.com/docs/en/api/admin/federation_issuers/archive", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/issuers/archive" + "url": "https://platform.claude.com/docs/en/api/compliance/code", + "reason": "moved -> https://platform.claude.com/docs/en/api/compliance/apps/code" }, { - "url": "https://platform.claude.com/docs/en/api/admin/rbac_roles/permissions", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_roles/permissions" + "url": "https://platform.claude.com/docs/en/api/java/beta/webhooks/unwrap", + "reason": "HTTP 404" }, { - "url": "https://platform.claude.com/docs/en/api/admin/rbac_roles/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_roles/list" + "url": "https://platform.claude.com/docs/en/api/typescript/beta/webhooks/unwrap", + "reason": "HTTP 404" }, { - "url": "https://platform.claude.com/docs/en/api/admin/rbac_roles/retrieve", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_roles/retrieve" + "url": "https://platform.claude.com/docs/en/api/compliance/code/artifacts", + "reason": "moved -> https://platform.claude.com/docs/en/api/compliance/apps/code/artifacts" }, { - "url": "https://platform.claude.com/docs/en/api/admin/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/compliance/code/artifacts/delete", + "reason": "moved -> https://platform.claude.com/docs/en/api/compliance/apps/code/artifacts/delete" }, { - "url": "https://platform.claude.com/docs/en/api/admin/analytics/skills", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/skills" + "url": "https://platform.claude.com/docs/en/api/compliance/code/artifacts/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/compliance/apps/code/artifacts/list" }, { - "url": "https://platform.claude.com/docs/en/api/admin/analytics/retrieve_summaries", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/summaries/list" + "url": "https://platform.claude.com/docs/en/api/compliance/code/artifacts/retrieve_version", + "reason": "moved -> https://platform.claude.com/docs/en/api/compliance/apps/code/artifacts/retrieve_version" }, { - "url": "https://platform.claude.com/docs/en/api/admin/analytics/connectors", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/connectors" + "url": "https://platform.claude.com/docs/en/api/beta/webhooks/unwrap", + "reason": "HTTP 404" }, { - "url": "https://platform.claude.com/docs/en/api/admin/analytics/users", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/users" + "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/admin/analytics/usage", + "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/admin/analytics/cost", + "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/admin/analytics/plugins", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/plugins" + "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" }, { - "url": "https://platform.claude.com/docs/en/api/admin/analytics/artifacts", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/artifacts" + "url": "https://platform.claude.com/docs/en/api/beta/organization/spend_limits/create", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/set" }, { - "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels/rotate_token", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/rotate_token" + "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" }, { - "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/list" + "url": "https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/members/create", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/members/add" }, { - "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels/retrieve", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/retrieve" + "url": "https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/members/delete", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/members/remove" }, { - "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels/tunnel_certificates", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/tunnel_certificates" + "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/admin/mcp_tunnels/reveal_token", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/reveal_token" + "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/admin/mcp_tunnels/archive", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/archive" + "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" }, { - "url": "https://platform.claude.com/docs/en/api/admin/users/update", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/users/update" + "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/admin/users/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/users/list" + "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/admin/users/retrieve", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/users/retrieve" + "url": "https://platform.claude.com/docs/en/api/cli/beta/webhooks/unwrap", + "reason": "HTTP 404" }, { - "url": "https://platform.claude.com/docs/en/api/admin/users/delete", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/users/remove" + "url": "https://platform.claude.com/docs/en/api/python/beta/webhooks/unwrap", + "reason": "HTTP 404" }, { - "url": "https://platform.claude.com/docs/en/api/admin/federation_rules/create", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules/create" + "url": "https://platform.claude.com/docs/en/api/admin/analytics/plugins", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/plugins" }, { - "url": "https://platform.claude.com/docs/en/api/admin/federation_rules/update", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules/update" + "url": "https://platform.claude.com/docs/en/api/admin/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/admin/federation_rules/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules/list" + "url": "https://platform.claude.com/docs/en/api/admin/analytics/usage", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/usage_report" }, { - "url": "https://platform.claude.com/docs/en/api/admin/federation_rules/workspaces", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules/workspaces" + "url": "https://platform.claude.com/docs/en/api/admin/analytics/cost", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/cost_report" }, { - "url": "https://platform.claude.com/docs/en/api/admin/federation_rules/retrieve", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules/retrieve" + "url": "https://platform.claude.com/docs/en/api/admin/analytics/users", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/users" }, { - "url": "https://platform.claude.com/docs/en/api/admin/federation_rules/archive", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules/archive" + "url": "https://platform.claude.com/docs/en/api/admin/analytics/retrieve_summaries", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/summaries/list" }, { - "url": "https://platform.claude.com/docs/en/api/admin/api_keys/update", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/api_keys/update" + "url": "https://platform.claude.com/docs/en/api/admin/analytics/artifacts", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/artifacts" }, { - "url": "https://platform.claude.com/docs/en/api/admin/api_keys/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/api_keys/list" + "url": "https://platform.claude.com/docs/en/api/admin/analytics/connectors", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/connectors" }, { - "url": "https://platform.claude.com/docs/en/api/admin/api_keys/retrieve", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/api_keys/retrieve" + "url": "https://platform.claude.com/docs/en/api/admin/analytics/skills", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/skills" + }, + { + "url": "https://platform.claude.com/docs/en/api/admin/workspaces/rate_limits", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/rate_limits" }, { "url": "https://platform.claude.com/docs/en/api/admin/workspaces/create", @@ -29910,484 +29951,456 @@ "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/update" }, { - "url": "https://platform.claude.com/docs/en/api/admin/workspaces/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/list" + "url": "https://platform.claude.com/docs/en/api/admin/workspaces/retrieve", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/retrieve" }, { - "url": "https://platform.claude.com/docs/en/api/admin/workspaces/rate_limits", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/rate_limits" + "url": "https://platform.claude.com/docs/en/api/admin/workspaces/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/list" }, { "url": "https://platform.claude.com/docs/en/api/admin/workspaces/service_accounts", "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/service_accounts" }, - { - "url": "https://platform.claude.com/docs/en/api/admin/workspaces/retrieve", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/retrieve" - }, - { - "url": "https://platform.claude.com/docs/en/api/admin/workspaces/members", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/members" - }, { "url": "https://platform.claude.com/docs/en/api/admin/workspaces/archive", "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/archive" }, { - "url": "https://platform.claude.com/docs/en/api/admin/workspaces/rate_limits/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/rate_limits/list" - }, - { - "url": "https://platform.claude.com/docs/en/api/admin/workspaces/service_accounts/create", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/service_accounts/add" - }, - { - "url": "https://platform.claude.com/docs/en/api/admin/workspaces/service_accounts/update", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/service_accounts/update" - }, - { - "url": "https://platform.claude.com/docs/en/api/admin/workspaces/service_accounts/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/service_accounts/list" - }, - { - "url": "https://platform.claude.com/docs/en/api/admin/workspaces/service_accounts/retrieve", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/service_accounts/retrieve" - }, - { - "url": "https://platform.claude.com/docs/en/api/admin/workspaces/service_accounts/delete", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/service_accounts/remove" + "url": "https://platform.claude.com/docs/en/api/admin/workspaces/members", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/members" }, { - "url": "https://platform.claude.com/docs/en/api/admin/workspaces/members/create", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/members/add" + "url": "https://platform.claude.com/docs/en/api/admin/federation_rules/workspaces", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules/workspaces" }, { - "url": "https://platform.claude.com/docs/en/api/admin/workspaces/members/update", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/members/update" + "url": "https://platform.claude.com/docs/en/api/admin/federation_rules/create", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules/create" }, { - "url": "https://platform.claude.com/docs/en/api/admin/workspaces/members/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/members/list" + "url": "https://platform.claude.com/docs/en/api/admin/federation_rules/update", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules/update" }, { - "url": "https://platform.claude.com/docs/en/api/admin/workspaces/members/retrieve", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/members/retrieve" + "url": "https://platform.claude.com/docs/en/api/admin/federation_rules/retrieve", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules/retrieve" }, { - "url": "https://platform.claude.com/docs/en/api/admin/workspaces/members/delete", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/members/remove" + "url": "https://platform.claude.com/docs/en/api/admin/federation_rules/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules/list" }, { - "url": "https://platform.claude.com/docs/en/api/admin/federation_rules/workspaces/create", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules/workspaces/add" + "url": "https://platform.claude.com/docs/en/api/admin/federation_rules/archive", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules/archive" }, { - "url": "https://platform.claude.com/docs/en/api/admin/federation_rules/workspaces/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules/workspaces/list" + "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups/create", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/create" }, { - "url": "https://platform.claude.com/docs/en/api/admin/federation_rules/workspaces/delete", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules/workspaces/remove" + "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups/update", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/update" }, { - "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels/tunnel_certificates/create", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/tunnel_certificates/create" + "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups/retrieve", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/retrieve" }, { - "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels/tunnel_certificates/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/tunnel_certificates/list" + "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups/delete", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/delete" }, { - "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels/tunnel_certificates/retrieve", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/tunnel_certificates/retrieve" + "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/list" }, { - "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels/tunnel_certificates/archive", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/tunnel_certificates/archive" + "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups/members", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/members" }, { - "url": "https://platform.claude.com/docs/en/api/admin/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/admin/users/update", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/users/update" }, { - "url": "https://platform.claude.com/docs/en/api/admin/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/admin/users/retrieve", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/users/retrieve" }, { - "url": "https://platform.claude.com/docs/en/api/admin/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/admin/users/delete", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/users/remove" }, { - "url": "https://platform.claude.com/docs/en/api/admin/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/admin/users/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/users/list" }, { - "url": "https://platform.claude.com/docs/en/api/admin/analytics/connectors/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/connectors/list" + "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels/tunnel_certificates", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/tunnel_certificates" }, { - "url": "https://platform.claude.com/docs/en/api/admin/analytics/artifacts/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/artifacts/list" + "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels/retrieve", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/retrieve" }, { - "url": "https://platform.claude.com/docs/en/api/admin/analytics/users/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/users/list" + "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels/reveal_token", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/reveal_token" }, { - "url": "https://platform.claude.com/docs/en/api/admin/analytics/chat_projects/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/apps/chat/projects/list" + "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/list" }, { - "url": "https://platform.claude.com/docs/en/api/admin/analytics/plugins/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/plugins/list" + "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels/archive", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/archive" }, { - "url": "https://platform.claude.com/docs/en/api/admin/analytics/skills/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/skills/list" + "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels/rotate_token", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/rotate_token" }, { - "url": "https://platform.claude.com/docs/en/api/admin/rbac_roles/permissions/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_roles/permissions/list" + "url": "https://platform.claude.com/docs/en/api/admin/api_keys/update", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/api_keys/update" }, { - "url": "https://platform.claude.com/docs/en/api/admin/service_accounts/workspaces/create", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts/workspaces/add" + "url": "https://platform.claude.com/docs/en/api/admin/api_keys/retrieve", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/api_keys/retrieve" }, { - "url": "https://platform.claude.com/docs/en/api/admin/service_accounts/workspaces/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts/workspaces/list" + "url": "https://platform.claude.com/docs/en/api/admin/api_keys/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/api_keys/list" }, { - "url": "https://platform.claude.com/docs/en/api/admin/service_accounts/workspaces/delete", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts/workspaces/remove" + "url": "https://platform.claude.com/docs/en/api/admin/spend_limits/create", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/set" }, { - "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups/members/create", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/members/add" + "url": "https://platform.claude.com/docs/en/api/admin/spend_limits/retrieve", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/retrieve" }, { - "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups/members/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/members/list" + "url": "https://platform.claude.com/docs/en/api/admin/spend_limits/delete", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/delete" }, { - "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups/members/delete", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/members/remove" + "url": "https://platform.claude.com/docs/en/api/admin/spend_limits/list_effective", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/effective/list" }, { - "url": "https://platform.claude.com/docs/en/api/admin/spend_limits/increase_requests/deny", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/increase_requests/deny" + "url": "https://platform.claude.com/docs/en/api/admin/spend_limits/increase_requests", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/increase_requests" }, { - "url": "https://platform.claude.com/docs/en/api/admin/spend_limits/increase_requests/list", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/increase_requests/list" + "url": "https://platform.claude.com/docs/en/api/admin/cost_report/retrieve", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/cost_report/retrieve" }, { - "url": "https://platform.claude.com/docs/en/api/admin/spend_limits/increase_requests/retrieve", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/increase_requests/retrieve" + "url": "https://platform.claude.com/docs/en/api/admin/organizations/me", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/retrieve" }, { - "url": "https://platform.claude.com/docs/en/api/admin/spend_limits/increase_requests/approve", - "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/increase_requests/approve" + "url": "https://platform.claude.com/docs/en/api/admin/usage_report/retrieve_claude_code", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/usage_report/retrieve_claude_code" }, { - "url": "https://platform.claude.com/docs/en/api/typescript/beta/webhooks/unwrap", - "reason": "HTTP 404" + "url": "https://platform.claude.com/docs/en/api/admin/usage_report/retrieve_messages", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/usage_report/retrieve_messages" }, { - "url": "https://platform.claude.com/docs/en/api/python/beta/webhooks/unwrap", - "reason": "HTTP 404" + "url": "https://platform.claude.com/docs/en/api/admin/service_accounts/workspaces", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts/workspaces" }, { - "url": "https://platform.claude.com/docs/en/api/java/beta/webhooks/unwrap", - "reason": "HTTP 404" + "url": "https://platform.claude.com/docs/en/api/admin/service_accounts/create", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts/create" }, { - "url": "https://platform.claude.com/docs/en/api/ruby/beta/webhooks/unwrap", - "reason": "HTTP 404" + "url": "https://platform.claude.com/docs/en/api/admin/service_accounts/update", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts/update" }, { - "url": "https://platform.claude.com/docs/en/models/opus-5/migration-guide", - "reason": "moved -> https://platform.claude.com/docs/en/models/opus-5-5/migration-guide" + "url": "https://platform.claude.com/docs/en/api/admin/service_accounts/retrieve", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts/retrieve" }, { - "url": "https://platform.claude.com/docs/en/models/opus-5/whats-new-opus-5", - "reason": "moved -> https://platform.claude.com/docs/en/models/opus-5/overview" + "url": "https://platform.claude.com/docs/en/api/admin/service_accounts/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts/list" }, { - "url": "https://platform.claude.com/docs/en/models/fable-5/migration-guide", - "reason": "moved -> https://platform.claude.com/docs/en/models/fable-5-1/migration-guide" + "url": "https://platform.claude.com/docs/en/api/admin/service_accounts/archive", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts/archive" }, { - "url": "https://platform.claude.com/docs/en/models/fable-5/introducing-claude-fable-5-and-claude-mythos-5", - "reason": "moved -> https://platform.claude.com/docs/en/models/fable-5/overview" + "url": "https://platform.claude.com/docs/en/api/admin/invites/create", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/invites/create" }, { - "url": "https://platform.claude.com/docs/en/models/sonnet-5/migration-guide", - "reason": "moved -> https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide" + "url": "https://platform.claude.com/docs/en/api/admin/invites/retrieve", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/invites/retrieve" }, { - "url": "https://platform.claude.com/docs/en/models/sonnet-5/whats-new-sonnet-5", - "reason": "moved -> https://platform.claude.com/docs/en/models/sonnet-5/overview" + "url": "https://platform.claude.com/docs/en/api/admin/invites/delete", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/invites/delete" }, { - "url": "https://platform.claude.com/docs/en/models/haiku-4-5/migration-guide", - "reason": "moved -> https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide" + "url": "https://platform.claude.com/docs/en/api/admin/invites/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/invites/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/polyglot-superpowers", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/federation_issuers/create", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/issuers/create" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/csv-converter", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/federation_issuers/update", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/issuers/update" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/mindfulness-mentor", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/federation_issuers/retrieve", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/issuers/retrieve" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/function-fabricator", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/federation_issuers/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/issuers/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/python-bug-buster", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/federation_issuers/archive", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/issuers/archive" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/sci-fi-scenario-simulator", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/external_keys/validate", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/external_keys/validate" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/grammar-genie", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/external_keys/create", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/external_keys/create" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/cite-your-sources", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/external_keys/update", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/external_keys/update" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/dream-interpreter", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/external_keys/retrieve", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/external_keys/retrieve" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/efficiency-estimator", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/external_keys/delete", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/external_keys/delete" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/excel-formula-expert", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/external_keys/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/external_keys/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/riddle-me-this", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/rbac_roles/retrieve", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_roles/retrieve" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/brand-builder", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/rbac_roles/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_roles/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/vr-fitness-innovator", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/rbac_roles/permissions", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_roles/permissions" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/philosophical-musings", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/rate_limits/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rate_limits/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/tongue-twister", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/rbac_roles/permissions/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_roles/permissions/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/pun-dit", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/service_accounts/workspaces/create", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts/workspaces/add" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/data-organizer", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/service_accounts/workspaces/delete", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts/workspaces/remove" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/pii-purifier", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/service_accounts/workspaces/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/service_accounts/workspaces/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/library", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/spend_limits/increase_requests/deny", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/increase_requests/deny" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/simile-savant", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/spend_limits/increase_requests/retrieve", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/increase_requests/retrieve" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/emoji-encoder", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/spend_limits/increase_requests/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/increase_requests/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/socratic-sage", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/spend_limits/increase_requests/approve", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/spend_limits/increase_requests/approve" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/ethical-dilemma-navigator", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels/tunnel_certificates/create", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/tunnel_certificates/create" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/second-grade-simplifier", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels/tunnel_certificates/retrieve", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/tunnel_certificates/retrieve" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/tweet-tone-detector", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels/tunnel_certificates/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/tunnel_certificates/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/alien-anthropologist", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/mcp_tunnels/tunnel_certificates/archive", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/mcp_tunnels/tunnel_certificates/archive" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/code-clarifier", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups/members/create", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/members/add" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/prose-polisher", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups/members/delete", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/members/remove" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/email-extractor", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/rbac_groups/members/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/rbac_groups/members/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/latex-legend", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/federation_rules/workspaces/create", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules/workspaces/add" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/airport-code-analyst", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/federation_rules/workspaces/delete", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules/workspaces/remove" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/google-apps-scripter", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/federation_rules/workspaces/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/federation/rules/workspaces/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/perspectives-ponderer", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/workspaces/members/create", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/members/add" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/corporate-clairvoyant", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/workspaces/members/update", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/members/update" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/idiom-illuminator", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/workspaces/members/retrieve", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/members/retrieve" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/git-gud", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/workspaces/members/delete", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/members/remove" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/culinary-creator", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/workspaces/members/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/members/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/lesson-planner", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/workspaces/service_accounts/create", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/service_accounts/add" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/motivational-muse", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/workspaces/service_accounts/update", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/service_accounts/update" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/memo-maestro", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/workspaces/service_accounts/retrieve", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/service_accounts/retrieve" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/review-classifier", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/workspaces/service_accounts/delete", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/service_accounts/remove" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/meeting-scribe", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/workspaces/service_accounts/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/service_accounts/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/storytelling-sidekick", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/workspaces/rate_limits/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/workspaces/rate_limits/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/adaptive-editor", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/analytics/connectors/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/connectors/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/neologism-creator", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/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/resources/prompt-library/spreadsheet-sorcerer", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/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/resources/prompt-library/interview-question-crafter", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/analytics/artifacts/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/artifacts/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/hal-the-humorous-helper", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/analytics/plugins/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/plugins/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/mood-colorizer", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/analytics/users/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/users/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/career-coach", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/analytics/chat_projects/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/apps/chat/projects/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/code-consultant", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/analytics/skills/list", + "reason": "moved -> https://platform.claude.com/docs/en/api/beta/organization/analytics/skills/list" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/master-moderator", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/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/resources/prompt-library/grading-guru", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/admin/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/resources/prompt-library/time-travel-consultant", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/ruby/beta/webhooks/unwrap", + "reason": "HTTP 404" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/sql-sorcerer", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/csharp/beta/webhooks/unwrap", + "reason": "HTTP 404" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/trivia-generator", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/api/go/beta/webhooks/unwrap", + "reason": "HTTP 404" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/direction-decoder", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/models/sonnet-5/migration-guide", + "reason": "moved -> https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/portmanteau-poet", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/models/sonnet-5/whats-new-sonnet-5", + "reason": "moved -> https://platform.claude.com/docs/en/models/sonnet-5/overview" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/babels-broadcasts", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/models/opus-5/migration-guide", + "reason": "moved -> https://platform.claude.com/docs/en/models/opus-5-5/migration-guide" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/futuristic-fashion-advisor", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/models/opus-5/whats-new-opus-5", + "reason": "moved -> https://platform.claude.com/docs/en/models/opus-5/overview" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/alliteration-alchemist", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/models/fable-5/migration-guide", + "reason": "moved -> https://platform.claude.com/docs/en/models/fable-5-1/migration-guide" }, { - "url": "https://platform.claude.com/docs/en/resources/prompt-library/product-naming-pro", - "reason": "moved -> https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices" + "url": "https://platform.claude.com/docs/en/models/fable-5/introducing-claude-fable-5-and-claude-mythos-5", + "reason": "moved -> https://platform.claude.com/docs/en/models/fable-5/overview" }, { - "url": "https://code.claude.com/docs/en/sdk/migration-guide", - "reason": "moved -> https://code.claude.com/docs/en/agent-sdk" + "url": "https://platform.claude.com/docs/en/models/haiku-4-5/migration-guide", + "reason": "moved -> https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide" }, { "url": "https://platform.claude.com/docs/en/about-claude/use-case-guides/classification", @@ -30406,200 +30419,208 @@ "reason": "HTTP 404" }, { - "url": "https://support.claude.com/en/articles/11174660-online-safety-contacts", - "reason": "moved -> https://support.claude.com/en/articles/11174660-point-of-contact-for-authorities-and-regulators" + "url": "https://support.claude.com/en/articles/14503590-get-started-with-claude-for-government", + "reason": "moved -> https://claude.com/docs/government/overview" }, { - "url": "https://support.claude.com/en/articles/12922832-local-mcp-server-submission-guide", - "reason": "HTTP 404" + "url": "https://support.claude.com/en/articles/9547008-publish-and-share-artifacts", + "reason": "moved -> https://support.claude.com/en/articles/9547008-share-artifacts" }, { - "url": "https://support.claude.com/en/articles/12618689-claude-code-on-the-web", - "reason": "moved -> https://support.claude.com/en/articles/12618689-use-claude-code-in-the-cloud" + "url": "https://support.claude.com/en/articles/9876003-i-have-a-paid-claude-subscription-pro-max-team-or-enterprise-plans-why-do-i-have-to-pay-separately-to-use-the-claude-api-and-console", + "reason": "moved -> https://support.claude.com/en/articles/9876003-i-have-a-paid-claude-subscription-pro-max-team-or-enterprise-plans-why-is-claude-api-usage-billed-separately-from-my-paid-claude-plan" }, { - "url": "https://support.claude.com/en/articles/13851150-install-financial-services-plugins", - "reason": "moved -> https://academy.claude.com/tutorials/install-financial-services-plugins-for-cowork" + "url": "https://support.claude.com/en/articles/14729249-use-artifacts-in-claude-cowork", + "reason": "moved -> https://support.claude.com/en/articles/14729249-use-live-artifacts-in-claude-cowork" }, { - "url": "https://support.claude.com/en/articles/9612889-how-can-i-uninstall-claude-for-android", + "url": "https://support.claude.com/en/articles/8114526-how-will-i-be-billed-for-claude-api-use", "reason": "HTTP 404" }, { - "url": "https://support.claude.com/en/articles/14503643-set-up-scim-in-claude-for-government", - "reason": "moved -> https://claude.com/docs/government/overview" - }, - { - "url": "https://support.claude.com/en/articles/9927533-disable-public-projects-for-your-organization", - "reason": "moved -> https://support.claude.com/en/articles/9927533-control-project-sharing-for-your-organization" + "url": "https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude-opus-and-sonnet", + "reason": "moved -> https://support.claude.com/en/articles/14604842-cyber-verification-program" }, { "url": "https://support.claude.com/en/articles/14503675-organization-instructions-in-claude-for-government", "reason": "moved -> https://claude.com/docs/government/overview" }, { - "url": "https://support.claude.com/en/articles/8114526-how-will-i-be-billed-for-claude-api-use", + "url": "https://support.claude.com/en/articles/11503834-build-custom-connectors-via-remote-mcp-servers", "reason": "HTTP 404" }, { - "url": "https://support.claude.com/en/articles/14729249-use-artifacts-in-claude-cowork", - "reason": "moved -> https://support.claude.com/en/articles/14729249-use-live-artifacts-in-claude-cowork" - }, - { - "url": "https://support.claude.com/en/articles/15424964-claude-fable-5-on-your-plan", - "reason": "moved -> https://support.claude.com/en/articles/15424964-claude-fable-models-on-your-plan" - }, - { - "url": "https://support.claude.com/en/articles/15282265-claude-enterprise-activation-promo-for-claude-code-and-cowork", + "url": "https://support.claude.com/en/articles/9264804-how-can-i-cancel-my-claude-pro-subscription-on-the-claude-app-for-ios", "reason": "HTTP 404" }, { - "url": "https://support.claude.com/en/articles/14503794-model-availability-in-claude-for-government", - "reason": "moved -> https://claude.com/docs/government/overview" + "url": "https://support.claude.com/en/articles/9487310-what-are-artifacts-and-how-do-i-use-them", + "reason": "moved -> https://support.claude.com/en/articles/17153992-what-are-artifacts-and-how-do-i-use-them" }, { - "url": "https://support.claude.com/en/articles/10366473-where-can-i-find-full-receipts-and-invoices-for-my-claude-api-and-console-payments", - "reason": "HTTP 404" + "url": "https://support.claude.com/en/articles/13521390-use-claude-for-powerpoint", + "reason": "moved -> https://claude.com/docs/office-agents/powerpoint" }, { "url": "https://support.claude.com/en/articles/13945233-use-claude-for-microsoft-365-with-third-party-platforms", "reason": "moved -> https://claude.com/docs/office-agents/third-party-platforms" }, { - "url": "https://support.claude.com/en/articles/14479591-use-dictation-in-office-agents", - "reason": "moved -> https://claude.com/docs/office-agents/dictation" + "url": "https://support.claude.com/en/articles/16989529-invite-people-outside-your-organization-to-an-artifact", + "reason": "moved -> https://support.claude.com/en/articles/9547008-share-artifacts" }, { - "url": "https://support.claude.com/en/articles/14503775-mcp-web-search", - "reason": "moved -> https://claude.com/docs/government/overview" + "url": "https://support.claude.com/en/articles/13892150-work-across-microsoft-365-apps", + "reason": "moved -> https://claude.com/docs/office-agents/work-across-apps" }, { - "url": "https://support.claude.com/en/articles/14503590-get-started-with-claude-for-government", + "url": "https://support.claude.com/en/articles/14503643-set-up-scim-in-claude-for-government", "reason": "moved -> https://claude.com/docs/government/overview" }, + { + "url": "https://support.claude.com/en/articles/9612889-how-can-i-uninstall-claude-for-android", + "reason": "HTTP 404" + }, + { + "url": "https://support.claude.com/en/articles/15363606-why-claude-switched-models-in-your-conversation-with-fable-5", + "reason": "moved -> https://support.claude.com/en/articles/15363606-why-claude-switched-models-in-your-conversation-with-fable-5-or-fable-5-1" + }, + { + "url": "https://support.claude.com/en/articles/12650343-use-claude-for-excel", + "reason": "moved -> https://claude.com/docs/office-agents/excel" + }, + { + "url": "https://support.claude.com/en/articles/8606395-how-large-is-the-claude-api-s-context-window", + "reason": "moved -> https://platform.claude.com/docs/en/models/overview" + }, { "url": "https://support.claude.com/en/articles/14465370-use-claude-for-word", "reason": "moved -> https://claude.com/docs/office-agents/word" }, { - "url": "https://support.claude.com/en/articles/16989529-invite-people-outside-your-organization-to-an-artifact", - "reason": "moved -> https://support.claude.com/en/articles/9547008-share-artifacts" + "url": "https://support.claude.com/en/articles/13851150-install-financial-services-plugins", + "reason": "moved -> https://academy.claude.com/tutorials/install-financial-services-plugins-for-cowork" }, { - "url": "https://support.claude.com/en/articles/14503689-mcp-connectors", + "url": "https://support.claude.com/en/articles/14503613-sso-login", "reason": "moved -> https://claude.com/docs/government/overview" }, { - "url": "https://support.claude.com/en/articles/9547008-publish-and-share-artifacts", - "reason": "moved -> https://support.claude.com/en/articles/9547008-share-artifacts" + "url": "https://support.claude.com/en/articles/13756069-public-sector-faqs", + "reason": "moved -> https://claude.com/solutions/government" }, { - "url": "https://support.claude.com/en/articles/13892150-work-across-microsoft-365-apps", - "reason": "moved -> https://claude.com/docs/office-agents/work-across-apps" + "url": "https://support.claude.com/en/articles/15424964-claude-fable-5-on-your-plan", + "reason": "moved -> https://support.claude.com/en/articles/15424964-claude-fable-models-on-your-plan" }, { - "url": "https://support.claude.com/en/articles/16049681-why-claude-switched-models-in-your-conversation-with-opus-5", - "reason": "moved -> https://support.claude.com/en/articles/16049681-why-claude-switched-models-in-your-conversation-with-opus-5-or-opus-5-5" + "url": "https://support.claude.com/en/articles/10722177-sharing-prompts-in-the-claude-console", + "reason": "HTTP 404" }, { - "url": "https://support.claude.com/en/articles/12922929-building-desktop-extensions-with-mcpb", + "url": "https://support.claude.com/en/articles/17274727-artifact-usage-promotion", "reason": "HTTP 404" }, { - "url": "https://support.claude.com/en/articles/14503804-classification-banner-in-claude-for-government", + "url": "https://support.claude.com/en/articles/14503775-mcp-web-search", "reason": "moved -> https://claude.com/docs/government/overview" }, { - "url": "https://support.claude.com/en/articles/17274727-artifact-usage-promotion", - "reason": "HTTP 404" - }, - { - "url": "https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude-opus-and-sonnet", - "reason": "moved -> https://support.claude.com/en/articles/14604842-cyber-verification-program" + "url": "https://support.claude.com/en/articles/14503689-mcp-connectors", + "reason": "moved -> https://claude.com/docs/government/overview" }, { - "url": "https://support.claude.com/en/articles/13163666-holiday-2025-usage-promotion", + "url": "https://support.claude.com/en/articles/10366473-where-can-i-find-full-receipts-and-invoices-for-my-claude-api-and-console-payments", "reason": "HTTP 404" }, { - "url": "https://support.claude.com/en/articles/9487310-what-are-artifacts-and-how-do-i-use-them", - "reason": "moved -> https://support.claude.com/en/articles/17153992-what-are-artifacts-and-how-do-i-use-them" + "url": "https://support.claude.com/en/articles/12922929-building-desktop-extensions-with-mcpb", + "reason": "HTTP 404" }, { - "url": "https://support.claude.com/en/articles/14855664-use-claude-for-outlook", - "reason": "moved -> https://claude.com/docs/office-agents/outlook" + "url": "https://support.claude.com/en/articles/16049681-why-claude-switched-models-in-your-conversation-with-opus-5", + "reason": "moved -> https://support.claude.com/en/articles/16049681-why-claude-switched-models-in-your-conversation-with-opus-5-or-opus-5-5" }, { - "url": "https://support.claude.com/en/articles/12650343-use-claude-for-excel", - "reason": "moved -> https://claude.com/docs/office-agents/excel" + "url": "https://support.claude.com/en/articles/13163666-holiday-2025-usage-promotion", + "reason": "HTTP 404" }, { - "url": "https://support.claude.com/en/articles/8606395-how-large-is-the-claude-api-s-context-window", - "reason": "moved -> https://platform.claude.com/docs/en/models/overview" + "url": "https://support.claude.com/en/articles/11174660-online-safety-contacts", + "reason": "moved -> https://support.claude.com/en/articles/11174660-point-of-contact-for-authorities-and-regulators" }, { - "url": "https://support.claude.com/en/articles/9264804-how-can-i-cancel-my-claude-pro-subscription-on-the-claude-app-for-ios", - "reason": "HTTP 404" + "url": "https://support.claude.com/en/articles/14503703-mcp-individual-connectors", + "reason": "moved -> https://claude.com/docs/government/overview" }, { "url": "https://support.claude.com/en/articles/11049762-choose-a-claude-plan", "reason": "HTTP 404" }, { - "url": "https://support.claude.com/en/articles/13521390-use-claude-for-powerpoint", - "reason": "moved -> https://claude.com/docs/office-agents/powerpoint" + "url": "https://support.claude.com/en/articles/15282265-claude-enterprise-activation-promo-for-claude-code-and-cowork", + "reason": "HTTP 404" }, { - "url": "https://support.claude.com/en/articles/14503703-mcp-individual-connectors", - "reason": "moved -> https://claude.com/docs/government/overview" + "url": "https://support.claude.com/en/articles/9927533-disable-public-projects-for-your-organization", + "reason": "moved -> https://support.claude.com/en/articles/9927533-control-project-sharing-for-your-organization" }, { - "url": "https://support.claude.com/en/articles/10722177-sharing-prompts-in-the-claude-console", + "url": "https://support.claude.com/en/articles/12922490-remote-mcp-server-submission-guide", "reason": "HTTP 404" }, { - "url": "https://support.claude.com/en/articles/13756069-public-sector-faqs", - "reason": "moved -> https://claude.com/solutions/government" + "url": "https://support.claude.com/en/articles/14855664-use-claude-for-outlook", + "reason": "moved -> https://claude.com/docs/office-agents/outlook" }, { - "url": "https://support.claude.com/en/articles/11503834-build-custom-connectors-via-remote-mcp-servers", - "reason": "HTTP 404" + "url": "https://support.claude.com/en/articles/12618689-claude-code-on-the-web", + "reason": "moved -> https://support.claude.com/en/articles/12618689-use-claude-code-in-the-cloud" }, { - "url": "https://support.claude.com/en/articles/15363606-why-claude-switched-models-in-your-conversation-with-fable-5", - "reason": "moved -> https://support.claude.com/en/articles/15363606-why-claude-switched-models-in-your-conversation-with-fable-5-or-fable-5-1" + "url": "https://support.claude.com/en/articles/12922832-local-mcp-server-submission-guide", + "reason": "HTTP 404" }, { - "url": "https://support.claude.com/en/articles/9876003-i-have-a-paid-claude-subscription-pro-max-team-or-enterprise-plans-why-do-i-have-to-pay-separately-to-use-the-claude-api-and-console", - "reason": "moved -> https://support.claude.com/en/articles/9876003-i-have-a-paid-claude-subscription-pro-max-team-or-enterprise-plans-why-is-claude-api-usage-billed-separately-from-my-paid-claude-plan" + "url": "https://support.claude.com/en/articles/14503794-model-availability-in-claude-for-government", + "reason": "moved -> https://claude.com/docs/government/overview" }, { - "url": "https://support.claude.com/en/articles/14503613-sso-login", + "url": "https://support.claude.com/en/articles/14503804-classification-banner-in-claude-for-government", "reason": "moved -> https://claude.com/docs/government/overview" }, { - "url": "https://support.claude.com/en/articles/12922490-remote-mcp-server-submission-guide", - "reason": "HTTP 404" + "url": "https://support.claude.com/en/articles/14479591-use-dictation-in-office-agents", + "reason": "moved -> https://claude.com/docs/office-agents/dictation" }, { "url": "https://claude.com/docs/connectors/overview", "reason": "moved -> https://claude.com/docs/connectors/getting-started" }, + { + "url": "https://claude.com/docs/claude-science/run-on-windows-wsl", + "reason": "moved -> https://claude.com/docs/claude-science/get-started" + }, { "url": "https://claude.com/docs/claude-science/run-on-windows", "reason": "moved -> https://claude.com/docs/claude-science/get-started" }, + { + "url": "https://claude.com/docs/claude-science/whats-not-available-yet", + "reason": "moved -> https://claude.com/docs/claude-science/admin-controls" + }, { "url": "https://claude.com/docs/claude-science/annotations", "reason": "moved -> https://claude.com/docs/claude-science/comments" }, { - "url": "https://claude.com/docs/claude-science/run-on-windows-wsl", - "reason": "moved -> https://claude.com/docs/claude-science/get-started" + "url": "https://claude.com/docs/claude-tag/admins/test-it", + "reason": "moved -> https://claude.com/docs/claude-tag/admins/setup-overview" }, { - "url": "https://claude.com/docs/claude-science/whats-not-available-yet", - "reason": "moved -> https://claude.com/docs/claude-science/admin-controls" + "url": "https://claude.com/docs/claude-tag/admins/pair-workspace", + "reason": "moved -> https://claude.com/docs/claude-tag/admins/setup-overview" }, { "url": "https://claude.com/docs/connectors/custom/remote-mcp", @@ -30612,19 +30633,11 @@ { "url": "https://claude.com/docs/connectors/building/mcp-apps/cross-compatibility", "reason": "moved -> https://claude.com/docs/connectors/building/mcp-apps/getting-started" - }, - { - "url": "https://claude.com/docs/claude-tag/admins/test-it", - "reason": "moved -> https://claude.com/docs/claude-tag/admins/setup-overview" - }, - { - "url": "https://claude.com/docs/claude-tag/admins/pair-workspace", - "reason": "moved -> https://claude.com/docs/claude-tag/admins/setup-overview" } ], "summary": { - "total": 4500, - "downloaded": 4204, + "total": 4502, + "downloaded": 4206, "skipped": 0, "failed": 0, "dead": 296, diff --git a/content/CHANGELOG.md b/content/CHANGELOG.md index 1da79e602c..850c4993a3 100644 --- a/content/CHANGELOG.md +++ b/content/CHANGELOG.md @@ -1,5 +1,84 @@ # Changelog +## 2.1.304 + +- Added a transcript line when a plugin that runs first skips one of your mod's hooks, naming the event and the plugin +- Added `decider: "person"` to a mod's `tool.check` answer: only the permission dialog or a host's callback can approve the ask, and it is refused with the mod's reason where nobody can be asked +- Added `e.isReadOnly` to a mod's `tool.check` event, set when the tool call is read-only +- Added `/auto-mode-setup`: a guided setup that reads your project and recent sessions to teach auto mode about your environment, now also available on Bedrock, Vertex, Foundry, Claude apps gateway and telemetry-disabled sessions +- Added `/claude-api managed-agents-secure`, which compares a Managed Agents agent's settings with Anthropic's published security guide, without changing anything +- Added the names of the tools called earlier to the compaction summary in the transcript view (Ctrl+O) +- Added a warning on Pro and Max plans when resuming an inactive conversation would use a noticeable share of your 5-hour usage limit: resume anyway, or start a new conversation and Claude can look up the previous one if you refer to it +- Fixed the organization policy not refreshing until the hourly check after approving an `ANTHROPIC_API_KEY` at startup or switching "Use custom API key" in `/config` +- Fixed sandboxed commands failing to start on Linux when a `sandbox.filesystem.denyRead` glob contains brackets that are not a character class, such as a `[user-id]` route folder +- Fixed `rm -r` of a mounted drive or a folder at its top level (`/Volumes`, `/media`, WSL's `/mnt/c`) not getting the safety prompt that `rm -rf /Applications` gets +- Fixed `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` dropping messages from the saved transcript when the disk filled up while the file was being trimmed +- Fixed a plugin keeping a headless run going past `--max-turns`, Stop, or ended input by spawning subagents or re-running a finished one +- Fixed a failed mod reload removing the tools and commands of the version that stays loaded, and its messages being wrong or silent about whether the previous version is still loaded +- Fixed a click on a mod's button being lost when buttons with the same label and no `key` were redrawn unchanged +- Fixed mod sharing in the built-in `plugin-authoring` skill stopping at the secret scan on machines with managed settings and on Team and Enterprise plans +- Fixed scheduled Cowork cloud sessions waiting five minutes again for each subagent whose WebFetch needed a URL approval that nobody was there to give +- Fixed Write results and rejected edits showing a file outside the working directory as `../../…`; they now show `~/…` or the full path +- Fixed a claude.ai Directory plugin's skills not running as commands when picked from the "/" menu in Cowork cloud sessions +- Fixed Remote Control permanently withholding a desktop conversation's history when a different account was signed in to the terminal +- Fixed Remote Control failing to start from Claude Desktop when DISABLE_TELEMETRY or DO_NOT_TRACK is set on a paid plan +- Fixed model switches, messages and interrupts waiting behind a context usage check in SDK and desktop sessions +- Fixed `context_management: Extra inputs are not permitted` errors behind LLM gateways; Claude Code now resends the request without that field +- Fixed OpenTelemetry settings delivered through server-managed settings being ignored for the whole session after signing in during first-run setup or the first start after /logout +- Fixed unsandboxed Bash commands in Claude Desktop Code tab sessions on macOS and Linux not seeing environment variables exported in shell startup files such as ~/.zshrc +- Fixed the Consumer Terms notice being skipped for a day or longer after a server error +- Fixed `/privacy-settings` offering choices that may not apply to you after a network or server error +- Fixed a "Context limit reached" or "Prompt is too long" error after stopping a turn while Claude Code was compacting a conversation the API had rejected as too long +- Fixed subagents sometimes forgetting their most recent work when they were messaged or resumed right after finishing +- Fixed `claude --help` text for `--tools`, `--resume`, `--debug`, `--json-schema`, `--disable-slash-commands`, `--system-prompt-snapshot` and `claude update` to match actual behavior +- Fixed `claude --worktree` removing the worktree and its branch without asking at exit when HEAD was detached or on another branch, which could lose commits +- Fixed resumed and cloud sessions sending Claude the whole skill list again each time plugins reloaded at startup +- Fixed an interrupt not ending a Read that waits on an idle pipe or device named like an image +- Fixed `/effort status`, `/effort ultracode` and the prompt's effort indicator showing a guessed effort level when `CLAUDE_CODE_EFFORT_LEVEL` is `auto` or `unset` and no level is sent +- Fixed a PreToolUse hook's deny reason being replaced by a timeout error when an Agent SDK callback hook on the same tool call timed out +- Fixed Bash and PowerShell deleting a large command's output file when it could not be copied to the session's tool-results folder, unless the disk is full +- Fixed notes typed into a multiple-choice question with previews being cut off with "…" in terminals under about 100 columns, hiding what was typed (anthropics/claude-code#82768) +- Fixed self-paced `/loop` wakeups scheduled at the 1-hour maximum firing just after the 1-hour prompt cache expired, so those wakeups no longer re-read the conversation uncached +- Fixed agent teams: approving a shutdown request from the main session no longer exits the whole CLI +- Fixed a skill's `once` hook also removing another skill's identical hook after it ran +- Fixed transcript mode's `{` and `}` landing the prompt on an inconsistent row, or off screen, instead of the transcript's first row +- Fixed `CLAUDE_CODE_AUTO_COMPACT_WINDOW=200k` silently setting a 100K window: the variable now accepts `k` and `M` suffixes like `--autocompact`, and warns when a value is out of range or ignored +- Fixed Ctrl+C in the agents view clearing a text selection without copying it when pressed before the mouse button was released +- Improved `/usage` to say when a rate limit on usage data ends instead of "try again in a moment" +- Improved the lines shown when a mod written in the session loads, reloads or fails to load +- Improved artifacts with several views: when you ask for links to them, Claude now writes out each view's link and explains that the address bar stays the same as you switch views +- Improved cloud sessions: a new conversation's first turn no longer waits for the local (stdio) MCP servers of plugins synced from claude.ai, unless a server sets `alwaysLoad: true` +- Improved how a remote session recovers its status when the server refuses a status update that carried other session data +- Improved session file size in auto mode: the safety classifier's context is no longer stored with every request +- Improved the `claude -p` invalid-settings warning: a file that did not load lists only what stopped it, and long lists are capped per file +- Improved resume of large compacted sessions in SDK and headless mode: the first request after resuming is sent sooner +- Improved responsiveness and throughput when many subagents are running at the same time +- Improved memory use when sending requests in long or resumed conversations +- Self-hosted runner: Improved the error shown when the git host answers "not found" for a session's repository: it now names the repository and whom to ask +- Windows: Improved git command start-up with a standard Git for Windows install by running its git.exe directly instead of through its cmd launcher +- Changed mods' `settings.read` hooks to receive each settings layer and rewrite the merged settings, so a managed mod can make an organization's setting a ceiling, including the `cleanupPeriodDays` the retention sweep uses +- Changed the `/artifacts` delete confirmation to show numbered choices: 1 or Enter keeps the artifact, 2 deletes it, and y, n and Esc still work +- Changed the question that turns on the mods Claude writes in a session to plain text with no link or session id; it stays up when a new turn starts, and Claude tells you what loaded when you turn them on +- Changed tool search to be on by default behind a custom `ANTHROPIC_BASE_URL`; a 400 or 422 from the gateway is retried without it +- Changed compaction to send Claude the skill list again afterwards; `/reload-skills` now sends only new or changed skills +- Changed skill hooks: the skills of one source (a repo, your own folder, or a plugin) can register at most 1,024 hooks and 16,384 matcher characters per session +- Changed skills under a policy that allows hooks from plugins only: a skill used in the main conversation whose hooks are kept out no longer gets its `allowed-tools` +- Updated the /claude-api skill to use the `ant` CLI on Claude Platform on AWS instead of falling back to the SDK or curl +- Removed the notes from `claude plugin validate` that predicted where a mod's hooks would run +- Removed the "(research preview)" label from the `/fast` dialog title on Opus 5.5 +- [VSCode] Added mod drawing in the chat panel for sessions on Amazon Bedrock, Google Vertex AI and Microsoft Foundry, behind an LLM gateway, or with telemetry turned off +- [VSCode] Fixed one cause of sessions failing to start with "Subprocess initialization did not complete within 60000ms": time a SessionStart command hook spends running no longer counts toward the limit, up to 10 minutes in total +- [VSCode] Fixed a session closed while it was starting keeping its Claude Code process running until the start ended +- [VSCode] Fixed a mod's drawings disappearing from a long-open panel until the next turn on machines that also run an older Claude Code +- [VSCode] Fixed Past conversations hiding sessions when `claudeCode.claudeProcessWrapper` is set +- [VSCode] Changed background sub-agents to show as one status line under their Agent card instead of streaming every step into the chat; the full transcript stays in /tasks +- [Cloud sessions] Fixed folders in the composer's @ list showing no name in cloud sessions, where picking one added only a space instead of a mention +- [Claude Tag] Fixed Claude going silent in a thread when its channel becomes shared across Enterprise Grid workspaces mid-task; it now posts a one-time note to @-mention it in a new thread +- [Claude Tag] Fixed `@Claude !fork` typed outside a thread getting no visible reply; Claude now shows you a private note saying to run it from inside a thread +- [Code Review] Added review levels to Code Review: Owners choose Quick, Standard (the default), or Deep for the organization, and can give individual repositories their own level +- [Code Review] Added an option in Code Review admin settings to review every repository in a GitHub organization, including ones added later, without selecting them one by one +- [Code Review] Fixed pull requests opened within a minute or two of an admin turning on Code Review being silently skipped; they are now retried and reviewed + ## 2.1.303 - Bug fixes and reliability improvements diff --git a/content/claude-code-manifest.json b/content/claude-code-manifest.json index ecbc9c7c58..51ff9c5506 100644 --- a/content/claude-code-manifest.json +++ b/content/claude-code-manifest.json @@ -6,17 +6,17 @@ "url": "https://github.com/anthropics/claude-code/issues" }, "dist": { - "shasum": "3780bc04c0af9de214eff55f406c4e391d271542", - "tarball": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-2.1.303.tgz", + "shasum": "092db636a34f0b8e9e9bba2de097dd75561cc87e", + "tarball": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-2.1.304.tgz", "fileCount": 7, - "integrity": "sha512-vGwsxL/bjxl7crYg2/BLBs75ErQ22x9L3LKqZqwqZ9vwp6A41sVCDdBXsPftM19V5LAwK6/s/sAxIVjX6F4O6Q==", + "integrity": "sha512-oAD2KLEUdAbsAMxQMWYHq/AHCUlkYuZ80ovkL0mVSy07z+EeDhIo19/XpRA2NVI+9/LZCC+NXCJm+/hIvhNWWQ==", "signatures": [ { - "sig": "MEUCICptfmKZFYTZD7ZI8rt4bZBIwNzrQChsUwAtHEQnXB/vAiEAvKMhhPF7UHZv1D3pbDNuBvOXof9W7Xv3s1zTQ6Qcmas=", + "sig": "MEQCIG3xhykDF/ZXYD55GHMB+WqjE+SIeGTaL6Qabgs4kzpjAiAfeLMb+qKGwW79clB0thVKRch5lhPxBeAFC8iEzkqJ2g==", "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U" }, { - "sig": "MEYCIQDcWjSGXY7dlE9A0kdOiHS3V7yoJ7fy7Bh+bLBbYpt58QIhAK/LWoJc35KcsM1BRd4QBQx+kF6HmIHuXsWEKmHAtwT/", + "sig": "MEUCIHBBTUZ4NU6tKbF3dtuVkr93eNLlbIc138xc/N3K/pddAiEAm/osWGGMQlx68W+DOPdv15zIz3vq8K2yWpaSVVuCD0I=", "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U" } ], @@ -24,7 +24,7 @@ }, "name": "@anthropic-ai/claude-code", "type": "module", - "_from": "file:staged-npm/anthropic-ai-claude-code-2.1.303.tgz", + "_from": "file:staged-npm/anthropic-ai-claude-code-2.1.304.tgz", "author": { "name": "Anthropic", "email": "support@anthropic.com" @@ -46,8 +46,8 @@ } }, "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.303.tgz", - "_integrity": "sha512-vGwsxL/bjxl7crYg2/BLBs75ErQ22x9L3LKqZqwqZ9vwp6A41sVCDdBXsPftM19V5LAwK6/s/sAxIVjX6F4O6Q==", + "_resolved": "/home/runner/work/claude-cli-internal/claude-cli-internal/staged-npm/anthropic-ai-claude-code-2.1.304.tgz", + "_integrity": "sha512-oAD2KLEUdAbsAMxQMWYHq/AHCUlkYuZ80ovkL0mVSy07z+EeDhIo19/XpRA2NVI+9/LZCC+NXCJm+/hIvhNWWQ==", "_npmVersion": "11.19.0", "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": {}, @@ -116,20 +116,21 @@ "_nodeVersion": "24.21.0", "dependencies": {}, "_hasShrinkwrap": false, + "readmeFilename": "README.md", "optionalDependencies": { - "@anthropic-ai/claude-code-linux-x64": "2.1.303", - "@anthropic-ai/claude-code-win32-x64": "2.1.303", - "@anthropic-ai/claude-code-darwin-x64": "2.1.303", - "@anthropic-ai/claude-code-linux-arm64": "2.1.303", - "@anthropic-ai/claude-code-win32-arm64": "2.1.303", - "@anthropic-ai/claude-code-darwin-arm64": "2.1.303", - "@anthropic-ai/claude-code-linux-x64-musl": "2.1.303", - "@anthropic-ai/claude-code-linux-arm64-musl": "2.1.303" + "@anthropic-ai/claude-code-linux-x64": "2.1.304", + "@anthropic-ai/claude-code-win32-x64": "2.1.304", + "@anthropic-ai/claude-code-darwin-x64": "2.1.304", + "@anthropic-ai/claude-code-linux-arm64": "2.1.304", + "@anthropic-ai/claude-code-win32-arm64": "2.1.304", + "@anthropic-ai/claude-code-darwin-arm64": "2.1.304", + "@anthropic-ai/claude-code-linux-x64-musl": "2.1.304", + "@anthropic-ai/claude-code-linux-arm64-musl": "2.1.304" }, "_npmOperationalInternal": { - "tmp": "tmp/claude-code_2.1.303_1792358123079_0.30704036926244394", + "tmp": "tmp/claude-code_2.1.304_1792439235231_0.135431666723554", "host": "s3://npm-registry-packages-npm-production" }, - "_id": "@anthropic-ai/claude-code@2.1.303", - "version": "2.1.303" + "_id": "@anthropic-ai/claude-code@2.1.304", + "version": "2.1.304" } \ No newline at end of file diff --git a/content/en/about-claude/api-credits-for-subscribers.md b/content/en/about-claude/api-credits-for-subscribers.md index 23b5701f3f..4e54c8b373 100644 --- a/content/en/about-claude/api-credits-for-subscribers.md +++ b/content/en/about-claude/api-credits-for-subscribers.md @@ -52,7 +52,7 @@ You need both of the following roles: | **Claude plan** | Max: the subscriber
Team: Primary Owner, Owner | | **Claude Console organization** | Owner, Admin, or Billing | -If you don't have a Console organization, create one at [platform.claude.com](https://platform.claude.com/) first, or create one during the claim flow. +If you don't have a Claude Console organization, create one in the Console at [platform.claude.com](https://platform.claude.com/) first, or create one during the claim flow. ### Steps @@ -85,7 +85,7 @@ These API credits can only be used on the Claude Platform. The following table s | [Claude API](https://platform.claude.com/docs/en/api/overview) | Yes | | [Claude Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) | Yes | | [Claude Agent SDK](https://code.claude.com/docs/en/agent-sdk/overview) | Yes | -| [Playground](https://platform.claude.com/playground) | Yes | +| [Playground](https://platform.claude.com/playground) in the Claude Console | Yes | | Claude Code | No | | Extra usage in the Claude apps | No | | Claude Platform on AWS, Bedrock, Google Cloud, Microsoft Foundry | No | diff --git a/content/en/about-claude/use-case-guides/content-moderation.md b/content/en/about-claude/use-case-guides/content-moderation.md index a3100d911f..bd9c652f7b 100644 --- a/content/en/about-claude/use-case-guides/content-moderation.md +++ b/content/en/about-claude/use-case-guides/content-moderation.md @@ -204,7 +204,6 @@ Before developing a content moderation solution, first create examples of conten "Specialized Advice", "Violent Crimes", } - ``` ```java Java @@ -486,7 +485,7 @@ To use Claude for content moderation, Claude must understand the moderation requ const containsViolation = assessment.violation; // If there's a violation, get the categories and explanation; otherwise, use empty defaults - const violatedCategories = containsViolation ? assessment.categories ?? [] : []; + const violatedCategories = containsViolation ? (assessment.categories ?? []) : []; const explanation = containsViolation ? assessment.explanation : undefined; return { violation: containsViolation, violatedCategories, explanation }; @@ -663,7 +662,6 @@ To use Claude for content moderation, Claude must understand the moderation requ } } } - ``` ```java Java @@ -1200,7 +1198,6 @@ One additional consideration is that instead of treating content moderation as a } } } - ``` ```java Java @@ -1555,7 +1552,7 @@ In addition to listing the unsafe categories in the prompt, further improvements "Content that depicts child nudity or that enables, encourages, excuses, or depicts the sexual abuse of children.", "Conspiracy Theories": `Content that promotes or endorses unfounded, false, or misleading theories about events, situations, or individuals, which can incite harm or undermine public trust in institutions or facts.`, - "Hate": `Content that is hateful toward people on the basis of their protected characteristics + Hate: `Content that is hateful toward people on the basis of their protected characteristics (race, color, ethnicity, national origin, disability, religious affiliation, caste, sexual orientation, sex, gender identity and serious disease), or content that perpetuates negative stereotypes.`, "Indiscriminate Weapons": @@ -1564,8 +1561,7 @@ In addition to listing the unsafe categories in the prompt, further improvements "Content that violates the intellectual property rights of third parties.", "Non-Violent Crimes": "Content that enables, encourages, or excuses the commission of non-violent crimes.", - "Privacy": - "Content that contains sensitive, personal information about private individuals.", + Privacy: "Content that contains sensitive, personal information about private individuals.", "Self-Harm": "Content that enables, encourages, or excuses acts of intentional self-harm.", "Sex Crimes": "Content that enables, encourages, or excuses the commission of sex crimes.", "Sexual Content": @@ -1624,7 +1620,7 @@ In addition to listing the unsafe categories in the prompt, further improvements const containsViolation = assessment.violation; // If there's a violation, get the categories and explanation; otherwise, use empty defaults - const violatedCategories = containsViolation ? assessment.categories ?? [] : []; + const violatedCategories = containsViolation ? (assessment.categories ?? []) : []; const explanation = containsViolation ? assessment.explanation : undefined; return { violation: containsViolation, violatedCategories, explanation }; @@ -1880,7 +1876,6 @@ In addition to listing the unsafe categories in the prompt, further improvements } } } - ``` ```java Java @@ -2515,7 +2510,6 @@ To reduce costs in situations where real-time moderation isn't necessary, consid `, userComments[violation.ID], strings.Join(violation.Categories, ", "), violation.Explanation) } } - ``` ```java Java diff --git a/content/en/about-claude/use-case-guides/customer-support-chat.md b/content/en/about-claude/use-case-guides/customer-support-chat.md index 143233eb79..d8789be01e 100644 --- a/content/en/about-claude/use-case-guides/customer-support-chat.md +++ b/content/en/about-claude/use-case-guides/customer-support-chat.md @@ -513,7 +513,11 @@ The class should have two main methods: one that calls the API to generate a mes return f"An error occurred: {follow_up_response['error']}" response_text = next( - (block.text for block in follow_up_response.content if block.type == "text"), + ( + block.text + for block in follow_up_response.content + if block.type == "text" + ), None, ) if response_text is None: @@ -582,9 +586,7 @@ The class should have two main methods: one that calls the API to generate a mes const followUpResponse = await this.generateMessage(this.messages, 2048); - const followUpBlock = followUpResponse.content.find( - (block): block is Anthropic.TextBlock => block.type === "text" - ); + const followUpBlock = followUpResponse.content.find((block) => block.type === "text"); if (!followUpBlock) { throw new Error("An error occurred: Unexpected response type"); } @@ -592,9 +594,7 @@ The class should have two main methods: one that calls the API to generate a mes return followUpBlock.text; } - const firstBlock = responseMessage.content.find( - (block): block is Anthropic.TextBlock => block.type === "text" - ); + const firstBlock = responseMessage.content.find((block) => block.type === "text"); if (firstBlock) { this.messages.push({ role: "assistant", content: firstBlock.text }); return firstBlock.text; @@ -609,11 +609,16 @@ The class should have two main methods: one that calls the API to generate a mes if ( toolInput === null || typeof toolInput !== "object" || - !("make" in toolInput) || typeof toolInput.make !== "string" || - !("model" in toolInput) || typeof toolInput.model !== "string" || - !("year" in toolInput) || typeof toolInput.year !== "number" || - !("mileage" in toolInput) || typeof toolInput.mileage !== "number" || - !("driver_age" in toolInput) || typeof toolInput.driver_age !== "number" + !("make" in toolInput) || + typeof toolInput.make !== "string" || + !("model" in toolInput) || + typeof toolInput.model !== "string" || + !("year" in toolInput) || + typeof toolInput.year !== "number" || + !("mileage" in toolInput) || + typeof toolInput.mileage !== "number" || + !("driver_age" in toolInput) || + typeof toolInput.driver_age !== "number" ) { throw new Error("An error occurred: Unexpected tool input"); } @@ -817,7 +822,6 @@ The class should have two main methods: one that calls the API to generate a mes premium := getQuote(input.Make, input.Model, input.Year, input.Mileage, input.DriverAge) return fmt.Sprintf("Quote generated: $%.2f per month", premium), nil } - ``` ```java Java diff --git a/content/en/about-claude/use-case-guides/legal-summarization.md b/content/en/about-claude/use-case-guides/legal-summarization.md index 302e02cfa0..78b5691dfa 100644 --- a/content/en/about-claude/use-case-guides/legal-summarization.md +++ b/content/en/about-claude/use-case-guides/legal-summarization.md @@ -84,7 +84,6 @@ For instance, when summarizing a sublease agreement, you might want to extract t "Consent and notices (landlord's consent, and notice requirements)", "Special provisions (furniture, parking, and subletting restrictions)", } - ``` ```java Java @@ -375,7 +374,6 @@ Here is a demonstration of this process on a sample PDF: } fmt.Println(documentText[:min(50000, len(documentText))]) } - ``` ```java Java @@ -419,8 +417,10 @@ Here is a demonstration of this process on a sample PDF: ``` ```php PHP + use Smalot\PdfParser\Parser; + $getLlmText = function (string $pdfData): string { - $document = (new \Smalot\PdfParser\Parser())->parseContent($pdfData); + $document = (new Parser())->parseContent($pdfData); $text = implode("\n", array_map(fn ($page) => $page->getText(), $document->getPages())); // Remove page numbers @@ -689,7 +689,6 @@ Here’s an example of how to create a prompt that ensures the generated summari subleaseSummary := summarizeDocument(documentText, detailsToExtract, anthropic.ModelClaudeOpus5_5, 16000) fmt.Println(subleaseSummary) } - ``` ```java Java @@ -743,12 +742,12 @@ Here’s an example of how to create a prompt that ensures the generated summari ```php PHP // Initialize the Anthropic client - $client = new \Anthropic\Client(); + $client = new Client(); $summarizeDocument = function ( string $text, array $detailsToExtract, - \Anthropic\Messages\Model $model = \Anthropic\Messages\Model::CLAUDE_OPUS_5_5, + Model $model = Model::CLAUDE_OPUS_5_5, int $maxTokens = 16000, ) use ($client): string { // Format the details to extract to be placed within the prompt's context @@ -1153,7 +1152,6 @@ Here's an example of how to perform meta-summarization: longSummary := summarizeLongDocument(documentText, detailsToExtract, anthropic.ModelClaudeOpus5_5, 16000) fmt.Println(longSummary) } - ``` ```java Java @@ -1222,7 +1220,7 @@ Here's an example of how to perform meta-summarization: $summarizeLongDocument = function ( string $text, array $detailsToExtract, - \Anthropic\Messages\Model $model = \Anthropic\Messages\Model::CLAUDE_OPUS_5_5, + Model $model = Model::CLAUDE_OPUS_5_5, int $maxTokens = 16000, ) use ($client, $chunkText, $summarizeDocument): string { // Format the details to extract to be placed within the prompt's context diff --git a/content/en/about-claude/use-case-guides/ticket-routing.md b/content/en/about-claude/use-case-guides/ticket-routing.md index 51ee991cf1..ab6ef95f73 100644 --- a/content/en/about-claude/use-case-guides/ticket-routing.md +++ b/content/en/about-claude/use-case-guides/ticket-routing.md @@ -763,9 +763,7 @@ Build the deployment structure. Start by defining the method signature for wrapp output_config: { effort: "low" }, messages: [{ role: "user", content: classificationPrompt }] }); - const textBlock = message.content.find( - (block): block is Anthropic.TextBlock => block.type === "text" - ); + const textBlock = message.content.find((block) => block.type === "text"); const reasoningAndIntent = textBlock?.text ?? ""; // Use a regular expression to extract `reasoning`. @@ -1118,9 +1116,7 @@ To assess this, first modify the script to add a function that compares the pred }); // Get the usage statistics for the API call for how many input and output tokens were used. const usage = message.usage; - const textBlock = message.content.find( - (block): block is Anthropic.TextBlock => block.type === "text" - ); + const textBlock = message.content.find((block) => block.type === "text"); const reasoningAndIntent = textBlock?.text ?? ""; // Use a regular expression to extract `reasoning`. diff --git a/content/en/agents-and-tools/agent-skills/quickstart.md b/content/en/agents-and-tools/agent-skills/quickstart.md index de58590ca7..0bc83e7f1b 100644 --- a/content/en/agents-and-tools/agent-skills/quickstart.md +++ b/content/en/agents-and-tools/agent-skills/quickstart.md @@ -8,7 +8,7 @@ This tutorial shows you how to use Agent Skills to create a PowerPoint presentat ## Prerequisites -* A [Claude API key](https://platform.claude.com/settings/keys) or a logged-in [ant CLI](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) +* A [Claude API key](https://platform.claude.com/settings/keys) from the Claude Console, or a logged-in [ant CLI](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) * A [client SDK](https://platform.claude.com/docs/en/cli-sdks-libraries/overview) for your language, or `curl` and `jq` * Basic familiarity with making API requests @@ -189,20 +189,18 @@ Use the PowerPoint Skill to create a presentation about renewable energy. Specif model: "claude-opus-5-5", max_tokens: 16000, container: { - skills: [{ type: "anthropic", skill_id: "pptx", version: "latest" }], + skills: [{ type: "anthropic", skill_id: "pptx", version: "latest" }] }, messages: [ { role: "user", - content: "Create a presentation about renewable energy with 5 slides", - }, + content: "Create a presentation about renewable energy with 5 slides" + } ], - tools: [{ type: "code_execution_20260521", name: "code_execution" }], + tools: [{ type: "code_execution_20260521", name: "code_execution" }] }); - console.log( - `stop_reason=${response.stop_reason}, blocks=${response.content.length}`, - ); + console.log(`stop_reason=${response.stop_reason}, blocks=${response.content.length}`); ``` ```csharp C# diff --git a/content/en/agents-and-tools/mcp-connector.md b/content/en/agents-and-tools/mcp-connector.md index ee0d8fd1ce..81b4ee7ad7 100644 --- a/content/en/agents-and-tools/mcp-connector.md +++ b/content/en/agents-and-tools/mcp-connector.md @@ -1347,7 +1347,6 @@ Import the helpers for your language: import ( "github.com/anthropics/anthropic-sdk-go/mcp" ) - ``` ```java Java @@ -1530,7 +1529,6 @@ Convert MCP tools for use with the SDK's [tool runner](https://platform.claude.c } fmt.Println(finalMessage.RawJSON()) } - ``` ```java Java diff --git a/content/en/agents-and-tools/tool-use/browser-use-tool.md b/content/en/agents-and-tools/tool-use/browser-use-tool.md index 901ee457ed..27140b2cfe 100644 --- a/content/en/agents-and-tools/tool-use/browser-use-tool.md +++ b/content/en/agents-and-tools/tool-use/browser-use-tool.md @@ -341,7 +341,11 @@ Here's a skeleton of that loop's tool-call step in two parts. First, stub member return [ { "type": "image", - "source": {"type": "base64", "media_type": "image/png", "data": PLACEHOLDER_PNG}, + "source": { + "type": "base64", + "media_type": "image/png", + "data": PLACEHOLDER_PNG, + }, } ] @@ -363,7 +367,8 @@ Here's a skeleton of that loop's tool-call step in two parts. First, stub member ```typescript TypeScript // Placeholder image data; a real executor captures the viewport as PNG bytes - const PLACEHOLDER_PNG = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg=="; + const PLACEHOLDER_PNG = + "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg=="; function navigate(url: string): string { return `navigated to ${url}`; @@ -393,18 +398,17 @@ Here's a skeleton of that loop's tool-call step in two parts. First, stub member source: { type: "base64", media_type: "image/png", - data: PLACEHOLDER_PNG, - }, - }, + data: PLACEHOLDER_PNG + } + } ]; } function handleBrowserAction( action: string, - input: unknown, + input: unknown ): string | Anthropic.ImageBlockParam[] { - const params: object = - typeof input === "object" && input !== null ? input : {}; + const params: object = typeof input === "object" && input !== null ? input : {}; if (action === "navigate" && "url" in params) { return navigate(String(params.url)); } else if (action === "read_page") { @@ -412,9 +416,7 @@ Here's a skeleton of that loop's tool-call step in two parts. First, stub member } else if (action === "left_click" && "target" in params) { // target is an element reference from read_page or a viewport coordinate const target: object = - typeof params.target === "object" && params.target !== null - ? params.target - : {}; + typeof params.target === "object" && params.target !== null ? params.target : {}; if ("type" in target && target.type === "ref" && "ref" in target) { return clickElement(String(target.ref)); } else if ("x" in target && "y" in target) { @@ -556,7 +558,6 @@ Here's a skeleton of that loop's tool-call step in two parts. First, stub member // Reached when a member's input is missing a field or a field has the wrong type return nil, fmt.Errorf("invalid input for %s", action) } - ``` ```java Java @@ -781,20 +782,18 @@ The second part runs a batch in order, dispatches each block to those handlers, function browserResult( toolUseId: string, content: string | Anthropic.ImageBlockParam[], - isError?: boolean, + isError?: boolean ): Anthropic.ToolResultBlockParam { return { type: "tool_result", tool_use_id: toolUseId, toolset_name: "browser", content, - is_error: isError, + is_error: isError }; } - function processToolCalls( - response: Anthropic.Message, - ): Anthropic.ToolResultBlockParam[] { + function processToolCalls(response: Anthropic.Message): Anthropic.ToolResultBlockParam[] { const toolResults: Anthropic.ToolResultBlockParam[] = []; let failed = false; for (const block of response.content) { @@ -937,7 +936,6 @@ The second part runs a batch in order, dispatches each block to those handlers, } return toolResults } - ``` ```java Java diff --git a/content/en/agents-and-tools/tool-use/build-a-tool-using-agent.md b/content/en/agents-and-tools/tool-use/build-a-tool-using-agent.md index 7d4190bcf5..efd814a8f6 100644 --- a/content/en/agents-and-tools/tool-use/build-a-tool-using-agent.md +++ b/content/en/agents-and-tools/tool-use/build-a-tool-using-agent.md @@ -146,8 +146,7 @@ The request sends a `tools` array alongside the user message. When Claude determ const tools: Anthropic.Tool[] = [ { name: "create_calendar_event", - description: - "Create a calendar event with attendees and optional recurrence.", + description: "Create a calendar event with attendees and optional recurrence.", input_schema: { type: "object", properties: { @@ -156,19 +155,19 @@ The request sends a `tools` array alongside the user message. When Claude determ end: { type: "string", format: "date-time" }, attendees: { type: "array", - items: { type: "string", format: "email" }, + items: { type: "string", format: "email" } }, recurrence: { type: "object", properties: { frequency: { enum: ["daily", "weekly", "monthly"] }, - count: { type: "integer", minimum: 1 }, - }, - }, + count: { type: "integer", minimum: 1 } + } + } }, - required: ["title", "start", "end"], - }, - }, + required: ["title", "start", "end"] + } + } ]; // Send the user's request along with the tool definition. Claude decides @@ -182,9 +181,9 @@ The request sends a `tools` array alongside the user message. When Claude determ { role: "user", content: - "Schedule a 30-minute sync with alice@example.com and bob@example.com on Monday, March 30, 2026 at 10am.", - }, - ], + "Schedule a 30-minute sync with alice@example.com and bob@example.com on Monday, March 30, 2026 at 10am." + } + ] }); // When Claude calls a tool, the response has stop_reason "tool_use" @@ -193,9 +192,7 @@ The request sends a `tools` array alongside the user message. When Claude determ // Find the tool_use block. A response may contain text blocks before the // tool_use block, so scan the content array rather than assuming position. - const toolUse = response.content.find( - (block): block is Anthropic.ToolUseBlock => block.type === "tool_use", - )!; + const toolUse = response.content.find((block) => block.type === "tool_use")!; console.log(`Tool: ${toolUse.name}`); console.log(`Input: ${JSON.stringify(toolUse.input)}`); @@ -215,7 +212,7 @@ The request sends a `tools` array alongside the user message. When Claude determ { role: "user", content: - "Schedule a 30-minute sync with alice@example.com and bob@example.com on Monday, March 30, 2026 at 10am.", + "Schedule a 30-minute sync with alice@example.com and bob@example.com on Monday, March 30, 2026 at 10am." }, { role: "assistant", content: response.content }, { @@ -224,11 +221,11 @@ The request sends a `tools` array alongside the user message. When Claude determ { type: "tool_result", tool_use_id: toolUse.id, - content: JSON.stringify(result), - }, - ], - }, - ], + content: JSON.stringify(result) + } + ] + } + ] }); // With the tool result in hand, Claude produces a final natural-language @@ -893,7 +890,11 @@ The other change is conversation history. Instead of rebuilding the `messages` a def run_tool(name, tool_input): if name == "create_calendar_event": - return {"event_id": "evt_123", "status": "created", "title": tool_input["title"]} + return { + "event_id": "evt_123", + "status": "created", + "title": tool_input["title"], + } return {"error": f"Unknown tool: {name}"} @@ -955,8 +956,7 @@ The other change is conversation history. Instead of rebuilding the `messages` a const tools: Anthropic.Tool[] = [ { name: "create_calendar_event", - description: - "Create a calendar event with attendees and optional recurrence.", + description: "Create a calendar event with attendees and optional recurrence.", input_schema: { type: "object", properties: { @@ -965,19 +965,19 @@ The other change is conversation history. Instead of rebuilding the `messages` a end: { type: "string", format: "date-time" }, attendees: { type: "array", - items: { type: "string", format: "email" }, + items: { type: "string", format: "email" } }, recurrence: { type: "object", properties: { frequency: { enum: ["daily", "weekly", "monthly"] }, - count: { type: "integer", minimum: 1 }, - }, - }, + count: { type: "integer", minimum: 1 } + } + } }, - required: ["title", "start", "end"], - }, - }, + required: ["title", "start", "end"] + } + } ]; function runTool(name: string, input: Record) { @@ -992,8 +992,8 @@ The other change is conversation history. Instead of rebuilding the `messages` a { role: "user", content: - "Schedule a weekly team standup every Monday at 9am for the next 4 weeks, starting Monday, March 30, 2026. Invite the whole team: alice@example.com, bob@example.com, carol@example.com.", - }, + "Schedule a weekly team standup every Monday at 9am for the next 4 weeks, starting Monday, March 30, 2026. Invite the whole team: alice@example.com, bob@example.com, carol@example.com." + } ]; let response = await client.messages.create({ @@ -1001,15 +1001,13 @@ The other change is conversation history. Instead of rebuilding the `messages` a max_tokens: 1024, tools, tool_choice: { type: "auto", disable_parallel_tool_use: true }, - messages, + messages }); // Loop until Claude stops asking for tools. Each iteration runs the requested // tool, appends the result to history, and asks Claude to continue. while (response.stop_reason === "tool_use") { - const toolUse = response.content.find( - (block): block is Anthropic.ToolUseBlock => block.type === "tool_use", - )!; + const toolUse = response.content.find((block) => block.type === "tool_use")!; const result = runTool(toolUse.name, toolUse.input as Record); messages.push({ role: "assistant", content: response.content }); @@ -1019,9 +1017,9 @@ The other change is conversation history. Instead of rebuilding the `messages` a { type: "tool_result", tool_use_id: toolUse.id, - content: JSON.stringify(result), - }, - ], + content: JSON.stringify(result) + } + ] }); response = await client.messages.create({ @@ -1029,7 +1027,7 @@ The other change is conversation history. Instead of rebuilding the `messages` a max_tokens: 1024, tools, tool_choice: { type: "auto", disable_parallel_tool_use: true }, - messages, + messages }); } @@ -1674,9 +1672,15 @@ When Claude has multiple independent tool calls to make, it might return several def run_tool(name, tool_input): if name == "create_calendar_event": - return {"event_id": "evt_123", "status": "created", "title": tool_input["title"]} + return { + "event_id": "evt_123", + "status": "created", + "title": tool_input["title"], + } if name == "list_calendar_events": - return {"events": [{"title": "Existing meeting", "start": "14:00", "end": "15:00"}]} + return { + "events": [{"title": "Existing meeting", "start": "14:00", "end": "15:00"}] + } return {"error": f"Unknown tool: {name}"} @@ -1733,8 +1737,7 @@ When Claude has multiple independent tool calls to make, it might return several const tools: Anthropic.Tool[] = [ { name: "create_calendar_event", - description: - "Create a calendar event with attendees and optional recurrence.", + description: "Create a calendar event with attendees and optional recurrence.", input_schema: { type: "object", properties: { @@ -1743,18 +1746,18 @@ When Claude has multiple independent tool calls to make, it might return several end: { type: "string", format: "date-time" }, attendees: { type: "array", - items: { type: "string", format: "email" }, + items: { type: "string", format: "email" } }, recurrence: { type: "object", properties: { frequency: { enum: ["daily", "weekly", "monthly"] }, - count: { type: "integer", minimum: 1 }, - }, - }, + count: { type: "integer", minimum: 1 } + } + } }, - required: ["title", "start", "end"], - }, + required: ["title", "start", "end"] + } }, { name: "list_calendar_events", @@ -1762,11 +1765,11 @@ When Claude has multiple independent tool calls to make, it might return several input_schema: { type: "object", properties: { - date: { type: "string", format: "date" }, + date: { type: "string", format: "date" } }, - required: ["date"], - }, - }, + required: ["date"] + } + } ]; function runTool(name: string, input: Record) { @@ -1775,7 +1778,7 @@ When Claude has multiple independent tool calls to make, it might return several } if (name === "list_calendar_events") { return { - events: [{ title: "Existing meeting", start: "14:00", end: "15:00" }], + events: [{ title: "Existing meeting", start: "14:00", end: "15:00" }] }; } return { error: `Unknown tool: ${name}` }; @@ -1785,15 +1788,15 @@ When Claude has multiple independent tool calls to make, it might return several { role: "user", content: - "Check what I have on Monday, March 30, 2026, then schedule a one-hour planning session that day that avoids any conflicts.", - }, + "Check what I have on Monday, March 30, 2026, then schedule a one-hour planning session that day that avoids any conflicts." + } ]; let response = await client.messages.create({ model: "claude-opus-5-5", max_tokens: 1024, tools, - messages, + messages }); while (response.stop_reason === "tool_use") { @@ -1806,7 +1809,7 @@ When Claude has multiple independent tool calls to make, it might return several toolResults.push({ type: "tool_result", tool_use_id: block.id, - content: JSON.stringify(result), + content: JSON.stringify(result) }); } } @@ -1818,7 +1821,7 @@ When Claude has multiple independent tool calls to make, it might return several model: "claude-opus-5-5", max_tokens: 1024, tools, - messages, + messages }); } @@ -2488,16 +2491,23 @@ Tools fail. A calendar API might reject an event with too many attendees, or a d if name == "create_calendar_event": if "attendees" in tool_input and len(tool_input["attendees"]) > 10: raise ValueError("Too many attendees (max 10)") - return {"event_id": "evt_123", "status": "created", "title": tool_input["title"]} + return { + "event_id": "evt_123", + "status": "created", + "title": tool_input["title"], + } if name == "list_calendar_events": - return {"events": [{"title": "Existing meeting", "start": "14:00", "end": "15:00"}]} + return { + "events": [{"title": "Existing meeting", "start": "14:00", "end": "15:00"}] + } raise ValueError(f"Unknown tool: {name}") messages = [ { "role": "user", - "content": "Schedule a one-hour all-hands on Monday, March 30, 2026 at 10am with everyone: " + ", ".join(f"user{i}@example.com" for i in range(15)), + "content": "Schedule a one-hour all-hands on Monday, March 30, 2026 at 10am with everyone: " + + ", ".join(f"user{i}@example.com" for i in range(15)), } ] @@ -2515,7 +2525,11 @@ Tools fail. A calendar API might reject an event with too many attendees, or a d try: result = run_tool(block.name, block.input) tool_results.append( - {"type": "tool_result", "tool_use_id": block.id, "content": json.dumps(result)} + { + "type": "tool_result", + "tool_use_id": block.id, + "content": json.dumps(result), + } ) except Exception as exc: # Signal failure so Claude can retry or ask for clarification. @@ -2552,8 +2566,7 @@ Tools fail. A calendar API might reject an event with too many attendees, or a d const tools: Anthropic.Tool[] = [ { name: "create_calendar_event", - description: - "Create a calendar event with attendees and optional recurrence.", + description: "Create a calendar event with attendees and optional recurrence.", input_schema: { type: "object", properties: { @@ -2562,18 +2575,18 @@ Tools fail. A calendar API might reject an event with too many attendees, or a d end: { type: "string", format: "date-time" }, attendees: { type: "array", - items: { type: "string", format: "email" }, + items: { type: "string", format: "email" } }, recurrence: { type: "object", properties: { frequency: { enum: ["daily", "weekly", "monthly"] }, - count: { type: "integer", minimum: 1 }, - }, - }, + count: { type: "integer", minimum: 1 } + } + } }, - required: ["title", "start", "end"], - }, + required: ["title", "start", "end"] + } }, { name: "list_calendar_events", @@ -2581,11 +2594,11 @@ Tools fail. A calendar API might reject an event with too many attendees, or a d input_schema: { type: "object", properties: { - date: { type: "string", format: "date" }, + date: { type: "string", format: "date" } }, - required: ["date"], - }, - }, + required: ["date"] + } + } ]; function runTool(name: string, input: Record) { @@ -2598,25 +2611,25 @@ Tools fail. A calendar API might reject an event with too many attendees, or a d } if (name === "list_calendar_events") { return { - events: [{ title: "Existing meeting", start: "14:00", end: "15:00" }], + events: [{ title: "Existing meeting", start: "14:00", end: "15:00" }] }; } throw new Error(`Unknown tool: ${name}`); } - const emails = Array.from({ length: 15 }, (_, i) => `user${i}@example.com`); + const emails = Array.from({ length: 15 }, (_, i) => `user${i}@example.com`).join(", "); const messages: Anthropic.MessageParam[] = [ { role: "user", - content: `Schedule a one-hour all-hands on Monday, March 30, 2026 at 10am with everyone: ${emails.join(", ")}`, - }, + content: `Schedule a one-hour all-hands on Monday, March 30, 2026 at 10am with everyone: ${emails}` + } ]; let response = await client.messages.create({ model: "claude-opus-5-5", max_tokens: 1024, tools, - messages, + messages }); while (response.stop_reason === "tool_use") { @@ -2628,7 +2641,7 @@ Tools fail. A calendar API might reject an event with too many attendees, or a d toolResults.push({ type: "tool_result", tool_use_id: block.id, - content: JSON.stringify(result), + content: JSON.stringify(result) }); } catch (err) { // Signal failure so Claude can retry or ask for clarification. @@ -2636,7 +2649,7 @@ Tools fail. A calendar API might reject an event with too many attendees, or a d type: "tool_result", tool_use_id: block.id, content: String(err), - is_error: true, + is_error: true }); } } @@ -2649,7 +2662,7 @@ Tools fail. A calendar API might reject an event with too many attendees, or a d model: "claude-opus-5-5", max_tokens: 1024, tools, - messages, + messages }); } @@ -3374,7 +3387,9 @@ Each SDK provides a helper that turns an ordinary function into a runnable tool Args: date: Date in YYYY-MM-DD format. """ - return json.dumps({"events": [{"title": "Existing meeting", "start": "14:00", "end": "15:00"}]}) + return json.dumps( + {"events": [{"title": "Existing meeting", "start": "14:00", "end": "15:00"}]} + ) final_message = client.beta.messages.tool_runner( @@ -3405,8 +3420,7 @@ Each SDK provides a helper that turns an ordinary function into a runnable tool const createCalendarEvent = betaZodTool({ name: "create_calendar_event", - description: - "Create a calendar event with attendees and optional recurrence.", + description: "Create a calendar event with attendees and optional recurrence.", inputSchema: z.object({ title: z.string(), start: z.string().datetime(), @@ -3415,9 +3429,9 @@ Each SDK provides a helper that turns an ordinary function into a runnable tool recurrence: z .object({ frequency: z.enum(["daily", "weekly", "monthly"]), - count: z.number().int().min(1), + count: z.number().int().min(1) }) - .optional(), + .optional() }), run: async (input) => { if (input.attendees && input.attendees.length > 10) { @@ -3426,22 +3440,22 @@ Each SDK provides a helper that turns an ordinary function into a runnable tool return JSON.stringify({ event_id: "evt_123", status: "created", - title: input.title, + title: input.title }); - }, + } }); const listCalendarEvents = betaZodTool({ name: "list_calendar_events", description: "List all calendar events on a given date.", inputSchema: z.object({ - date: z.string().date(), + date: z.string().date() }), run: async () => { return JSON.stringify({ - events: [{ title: "Existing meeting", start: "14:00", end: "15:00" }], + events: [{ title: "Existing meeting", start: "14:00", end: "15:00" }] }); - }, + } }); const finalMessage = await client.beta.messages.toolRunner({ @@ -3452,9 +3466,9 @@ Each SDK provides a helper that turns an ordinary function into a runnable tool { role: "user", content: - "Check what I have on Monday, March 30, 2026, then schedule a one-hour planning session that day that avoids any conflicts.", - }, - ], + "Check what I have on Monday, March 30, 2026, then schedule a one-hour planning session that day that avoids any conflicts." + } + ] }); for (const block of finalMessage.content) { 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 8067987b21..dbb4139f59 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 @@ -510,7 +510,7 @@ The core of computer use is the "agent loop": a cycle where Claude requests tool async function samplingLoop( model: string, messages: Anthropic.MessageParam[], - maxIterations = 10, + maxIterations = 10 ): Promise { // Run the computer-use agent loop until Claude stops requesting tools // or the iteration limit is reached. @@ -519,7 +519,7 @@ The core of computer use is the "agent loop": a cycle where Claude requests tool model, max_tokens: 4096, messages, - tools, + tools }); // Add Claude's response to the conversation history @@ -615,7 +615,6 @@ The core of computer use is the "agent loop": a cycle where Claude requests tool } return messages, nil } - ``` ```java Java @@ -936,7 +935,11 @@ The computer use tool is implemented as a schema-less tool. When using this tool return [ { "type": "image", - "source": {"type": "base64", "media_type": "image/png", "data": PLACEHOLDER_PNG}, + "source": { + "type": "base64", + "media_type": "image/png", + "data": PLACEHOLDER_PNG, + }, } ] @@ -967,7 +970,8 @@ The computer use tool is implemented as a schema-less tool. When using this tool ```typescript TypeScript // Placeholder image data; a real executor captures the screen as PNG bytes - const PLACEHOLDER_PNG = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg=="; + const PLACEHOLDER_PNG = + "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg=="; function captureScreenshot(): Anthropic.ImageBlockParam[] { // screenshot answers with an image block rather than text @@ -977,9 +981,9 @@ The computer use tool is implemented as a schema-less tool. When using this tool source: { type: "base64", media_type: "image/png", - data: PLACEHOLDER_PNG, - }, - }, + data: PLACEHOLDER_PNG + } + } ]; } @@ -997,10 +1001,9 @@ The computer use tool is implemented as a schema-less tool. When using this tool function handleComputerAction( action: string, - input: unknown, + input: unknown ): string | Anthropic.ImageBlockParam[] { - const params: object = - typeof input === "object" && input !== null ? input : {}; + const params: object = typeof input === "object" && input !== null ? input : {}; switch (action) { case "screenshot": return captureScreenshot(); @@ -1125,7 +1128,6 @@ The computer use tool is implemented as a schema-less tool. When using this tool // Reached when a member's input is missing a field or a field has the wrong type return nil, fmt.Errorf("invalid input for %s", action) } - ``` ```java Java @@ -1306,26 +1308,23 @@ The computer use tool is implemented as a schema-less tool. When using this tool ``` ```typescript TypeScript - const HALT_TEXT = - "Not executed: an earlier computer action in this turn failed."; + const HALT_TEXT = "Not executed: an earlier computer action in this turn failed."; function computerResult( toolUseId: string, content: string | Anthropic.ImageBlockParam[], - isError?: boolean, + isError?: boolean ): Anthropic.ToolResultBlockParam { return { type: "tool_result", tool_use_id: toolUseId, toolset_name: "computer", content, - is_error: isError, + is_error: isError }; } - function processToolCalls( - response: Anthropic.Message, - ): Anthropic.ToolResultBlockParam[] { + function processToolCalls(response: Anthropic.Message): Anthropic.ToolResultBlockParam[] { const toolResults: Anthropic.ToolResultBlockParam[] = []; let failed = false; for (const block of response.content) { @@ -1466,7 +1465,6 @@ The computer use tool is implemented as a schema-less tool. When using this tool } return toolResults } - ``` ```java Java diff --git a/content/en/agents-and-tools/tool-use/memory-tool.md b/content/en/agents-and-tools/tool-use/memory-tool.md index e98c4bad71..d734a9955e 100644 --- a/content/en/agents-and-tools/tool-use/memory-tool.md +++ b/content/en/agents-and-tools/tool-use/memory-tool.md @@ -342,6 +342,7 @@ Four SDKs provide memory tool helpers that handle the tool interface and the loo using Anthropic; using Anthropic.Helpers.Beta; using Anthropic.Models.Beta.Messages; + using Model = Anthropic.Models.Messages.Model; var client = new AnthropicClient(); @@ -351,7 +352,7 @@ Four SDKs provide memory tool helpers that handle the tool interface and the loo var runner = client.Beta.Messages.ToolRunner( new MessageCreateParams { - Model = Anthropic.Models.Messages.Model.ClaudeOpus5_5, + Model = Model.ClaudeOpus5_5, MaxTokens = 1024, Messages = [ diff --git a/content/en/agents-and-tools/tool-use/overview.md b/content/en/agents-and-tools/tool-use/overview.md index fd5f261f76..dd2094f04c 100644 --- a/content/en/agents-and-tools/tool-use/overview.md +++ b/content/en/agents-and-tools/tool-use/overview.md @@ -237,9 +237,7 @@ Here's that round trip in full for a client tool. The first request defines a `g tool_choice: { type: "auto", disable_parallel_tool_use: true }, messages }); - const toolUse = response.content.find( - (block): block is Anthropic.ToolUseBlock => block.type === "tool_use" - )!; + const toolUse = response.content.find((block) => block.type === "tool_use")!; console.log(`Claude called ${toolUse.name} with ${JSON.stringify(toolUse.input)}`); // Run the tool, then send the result back in a tool_result block. @@ -260,9 +258,7 @@ Here's that round trip in full for a client tool. The first request defines a `g }); // Claude uses the result to answer the original question. - const finalText = followup.content.find( - (block): block is Anthropic.TextBlock => block.type === "text" - )!; + const finalText = followup.content.find((block) => block.type === "text")!; console.log(finalText.text); ``` diff --git a/content/en/agents-and-tools/tool-use/parallel-tool-use.md b/content/en/agents-and-tools/tool-use/parallel-tool-use.md index 9db9211ca3..ccd24c3d95 100644 --- a/content/en/agents-and-tools/tool-use/parallel-tool-use.md +++ b/content/en/agents-and-tools/tool-use/parallel-tool-use.md @@ -212,7 +212,7 @@ The following script sends a request that should trigger parallel tool calls, ve // Simulate tool execution and format results correctly const toolResults: Anthropic.ToolResultBlockParam[] = toolUses - .filter((block): block is Anthropic.ToolUseBlock => block.type === "tool_use") + .filter((block) => block.type === "tool_use") .map((toolUse) => { const input = toolUse.input as Record; let result: string; diff --git a/content/en/agents-and-tools/tool-use/web-fetch-tool.md b/content/en/agents-and-tools/tool-use/web-fetch-tool.md index 9d2e9732bd..5b796e5a4e 100644 --- a/content/en/agents-and-tools/tool-use/web-fetch-tool.md +++ b/content/en/agents-and-tools/tool-use/web-fetch-tool.md @@ -27,7 +27,7 @@ For Zero Data Retention eligibility and the `allowed_callers` workaround, see [S Enabling the web fetch tool in environments where Claude processes untrusted input alongside sensitive data poses data exfiltration risks. Only use this tool in trusted environments or when handling non-sensitive data. - To minimize exfiltration risks, Claude cannot fetch URLs that appear only in its own output. Claude can only fetch URLs that have previously appeared in the conversation: URLs in user messages, URLs in client-side tool results (even when a result echoes text that Claude generated), and URLs from previous web search or web fetch results (see [URL validation](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-fetch-tool#url-validation)). Claude also cannot fetch a URL that appears to contain a credential, such as an API key or a password, unless that credential appears in the system prompt or in the text of a user message. + To minimize exfiltration risks, Claude cannot fetch URLs that appear only in its own output. Claude can only fetch URLs that have previously appeared in the conversation: URLs in user messages, URLs in client-side tool results, and URLs from previous web search or web fetch results (see [URL validation](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-fetch-tool#url-validation)). Claude also cannot fetch a URL that appears to contain a credential, such as an API key or a password, unless that credential appears in the system prompt or in the text of a user message. However, there is still residual risk that you should carefully consider when using this tool. @@ -36,6 +36,7 @@ For Zero Data Retention eligibility and the `allowed_callers` workaround, see [S * Disabling the web fetch tool entirely * Using the `max_uses` parameter to limit the number of requests * Using the `allowed_domains` parameter to restrict to known safe domains + * Using the `url_sources` parameter to stop client-side tool results from counting as a source (see [URL sources](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-fetch-tool#url-sources)) For model support, see the [Tool reference](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-reference). @@ -428,6 +429,11 @@ The web fetch tool supports the following parameters: // Optional: Never fetch from these domains (cannot be combined with allowed_domains) "blocked_domains": ["private.example.com"], + // Optional: Don't fetch URLs that appear only in client-side tool results + "url_sources": { + "client_tool_results": { "type": "none" } + }, + // Optional: Enable citations for fetched content "citations": { "enabled": true @@ -637,7 +643,7 @@ These are the possible error codes: * `invalid_tool_input`: Invalid tool input, such as a malformed URL or a non-HTTP(S) scheme * `url_too_long`: URL exceeds maximum length (250 characters) * `url_not_allowed`: URL blocked by domain filtering rules (including your organization's settings) or by Anthropic-side restrictions, such as private addresses, `robots.txt`, and URLs that appear to contain a credential you did not provide -* `url_not_in_prior_context`: URL did not appear earlier in the conversation (see [URL validation](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-fetch-tool#url-validation)) +* `url_not_in_prior_context`: URL did not appear earlier in the conversation, or appeared only in sources that `url_sources` excludes (see [URL validation](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-fetch-tool#url-validation)) * `url_not_accessible`: Failed to fetch content (HTTP error) * `too_many_requests`: Rate limit exceeded * `unsupported_content_type`: Content type not supported (only text, HTML, and PDF) @@ -652,10 +658,56 @@ For security reasons, the web fetch tool can only fetch URLs that have previousl * URLs in client-side tool results * URLs from previous web search or web fetch results -The tool cannot fetch URLs that appear only in Claude's own output or only in the system prompt. To make a URL from the system prompt fetchable, also include it in a user message. Results of other server-side tools, such as [code execution](https://platform.claude.com/docs/en/agents-and-tools/tool-use/code-execution-tool), the [MCP connector](https://platform.claude.com/docs/en/agents-and-tools/mcp-connector), or [tool search](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool), are not an allowed source either. Client-side tool results are an allowed source even when they echo text that Claude produced (for example, a command that prints its input, or an error message that quotes it). +The tool cannot fetch URLs that appear only in Claude's own output or only in the system prompt. To make a URL from the system prompt fetchable, also include it in a user message. Results of other server-side tools, such as [code execution](https://platform.claude.com/docs/en/agents-and-tools/tool-use/code-execution-tool), the [MCP connector](https://platform.claude.com/docs/en/agents-and-tools/mcp-connector), or [tool search](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool), are not an allowed source either. By default, client-side tool results are an allowed source even when they echo text that Claude produced (for example, a command that prints its input, or an error message that quotes it). The tool also refuses a URL that appears to contain a credential, such as an API key or a password, unless that credential appears in the system prompt or in the text of a user message. A credential that appears only in a tool result does not count. The result is a `url_not_allowed` error. To fetch such a URL, include it in a user message. +### URL sources + + + Works with `web_fetch_20250910`, `web_fetch_20260209`, `web_fetch_20260309`, and `web_fetch_20260318`. + + +The optional `url_sources` parameter lets you turn off any of the three allowed sources, or limit tool results to certain tools. It has one key per source, and each key defaults to `{"type": "all"}`: + +* `user_input`: URLs in user messages. Its `type` is `"all"` or `"none"`. +* `client_tool_results`: URLs in client-side tool results. Its `type` is `"all"`, `"none"`, or an `"only"` or `"except"` filter that names tools, as in the following example. +* `server_tool_results`: URLs from previous web search or web fetch results. It takes the same values, and its filters name `web_search` or `web_fetch`. + +For example, a tool that runs code Claude wrote returns whatever that code prints, including any URL Claude put in it. To stop that tool's results from counting as a source, name it in an `"except"` filter: + +```json +{ + "tools": [ + { + "type": "web_fetch_20260318", + "name": "web_fetch", + "url_sources": { + "client_tool_results": { + "type": "except", + "tools": [{ "type": "tool_reference", "name": "run_code" }] + } + } + }, + { + "name": "run_code", + "description": "Run Python code and return its output", + "input_schema": { + "type": "object", + "properties": { "code": { "type": "string" } }, + "required": ["code"] + } + } + ] +} +``` + +A filter lists tools as `tool_reference` objects. Each name must match a tool in the request's `tools` array: a client tool for `client_tool_results`, or a server tool for `server_tool_results`. Otherwise, the request fails with an error. Under `"except"`, a tool you add to `tools` later counts as a source. Under `"only"`, it doesn't. + +Client-side tools other than `run_code` can also return text Claude wrote, for example in an error message that quotes it. To exclude all client-side tool results, set `client_tool_results` to `{"type": "none"}`. + +If a URL appeared only in sources that `url_sources` excludes, fetching it returns the `url_not_in_prior_context` error. + ## Combined search and fetch When both the web search and web fetch tools are enabled, and the user names a specific page or document without providing a URL (for example, "read the README from the anthropics/anthropic-sdk-python repository"), Claude uses web search to locate it, then fetches the result. The following example asks for a search and an analysis in one request: diff --git a/content/en/api/beta-headers.md b/content/en/api/beta-headers.md index 4b31b800d3..fcf1875859 100644 --- a/content/en/api/beta-headers.md +++ b/content/en/api/beta-headers.md @@ -16,7 +16,7 @@ To access beta features, include the `anthropic-beta` header in your API request ```http POST /v1/messages -x-api-key: YOUR_API_KEY +Authorization: Bearer YOUR_API_KEY anthropic-version: 2023-06-01 anthropic-beta: BETA_FEATURE_NAME content-type: application/json diff --git a/content/en/api/beta.md b/content/en/api/beta.md index 0b7dd6cc9c..64078e5a51 100644 --- a/content/en/api/beta.md +++ b/content/en/api/beta.md @@ -743,9 +743,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -911,6 +915,9 @@ curl https://api.anthropic.com/v1/models \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1217,9 +1224,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -1371,6 +1382,9 @@ curl https://api.anthropic.com/v1/models/$MODEL_ID \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -70487,11 +70501,11 @@ curl https://api.anthropic.com/v1/deployment_runs/$DEPLOYMENT_RUN_ID \ ## Beta › Vaults -### Create Vault +### Create a Vault **POST** `/v1/vaults` -Create Vault +Create a Vault #### Headers @@ -70637,7 +70651,7 @@ Create Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string or null` @@ -70707,7 +70721,7 @@ List Vaults - `include_archived: optional boolean` - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `limit: optional number` @@ -70717,7 +70731,7 @@ List Vaults - `page: optional string` - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=http) response, to get the next page. Leave it out to get the first page. #### Headers @@ -70845,13 +70859,13 @@ List Vaults - `data: optional array of BetaManagedAgentsVault` - List of vaults. + The vaults on this page, newest first. - `type: "vault"` - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string or null` @@ -70913,11 +70927,11 @@ curl https://api.anthropic.com/v1/vaults \ } ``` -### Get Vault +### Retrieve a Vault **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault #### Path parameters @@ -71057,7 +71071,7 @@ Get Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string or null` @@ -71110,11 +71124,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID \ } ``` -### Update Vault +### Update a Vault **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault #### Path parameters @@ -71266,7 +71280,7 @@ Update Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string or null` @@ -71326,11 +71340,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID \ } ``` -### Delete Vault +### Delete a Vault **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault #### Path parameters @@ -71470,7 +71484,7 @@ Delete Vault - `id: string` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). #### Example @@ -71491,11 +71505,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID \ } ``` -### Archive Vault +### Archive a Vault **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault #### Path parameters @@ -71635,7 +71649,7 @@ Archive Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string or null` @@ -71691,11 +71705,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/archive \ ## Beta › Vaults › Credentials -### Create Credential +### Create a Credential **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential #### Path parameters @@ -71839,7 +71853,7 @@ Create Credential - `access_token: string` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -71851,7 +71865,9 @@ Create Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -71861,13 +71877,13 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -71893,7 +71909,7 @@ Create Credential - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -71905,7 +71921,7 @@ Create Credential - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -71929,7 +71945,7 @@ Create Credential - `token: string` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -71963,7 +71979,9 @@ Create Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: string` @@ -71973,7 +71991,7 @@ Create Credential - `secret_value: string` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -72009,7 +72027,7 @@ Create Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -72033,7 +72051,7 @@ Create Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -72043,7 +72061,7 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -72123,7 +72141,9 @@ Create Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -72211,7 +72231,7 @@ List Credentials - `include_archived: optional boolean` - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit: optional number` @@ -72221,7 +72241,7 @@ List Credentials - `page: optional string` - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=http) response, to get the next page. Leave it out to get the first page. #### Headers @@ -72349,13 +72369,13 @@ List Credentials - `data: optional array of BetaManagedAgentsCredential` - List of credentials. + The credentials on this page, newest first. - `type: "vault_credential"` - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -72379,7 +72399,7 @@ List Credentials - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -72389,7 +72409,7 @@ List Credentials - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -72469,7 +72489,9 @@ List Credentials - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -72538,11 +72560,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials \ } ``` -### Get Credential +### Retrieve a Credential **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential #### Path parameters @@ -72686,7 +72708,7 @@ Get Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -72710,7 +72732,7 @@ Get Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -72720,7 +72742,7 @@ Get Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -72800,7 +72822,9 @@ Get Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -72860,11 +72884,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID \ } ``` -### Update Credential +### Update a Credential **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential #### Path parameters @@ -73002,7 +73026,7 @@ Update Credential - `auth: optional BetaManagedAgentsMCPOAuthUpdateParams or BetaManagedAgentsStaticBearerUpdateParams or BetaManagedAgentsEnvironmentVariableUpdateParams` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `BetaManagedAgentsMCPOAuthUpdateParams object` @@ -73012,13 +73036,17 @@ Update Credential - `access_token: optional string or null` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -73028,13 +73056,13 @@ Update Credential - `refresh_token: optional string or null` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: optional string or null` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -73048,7 +73076,9 @@ Update Credential - `client_secret: optional string or null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -73060,7 +73090,9 @@ Update Credential - `client_secret: optional string or null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -73072,7 +73104,7 @@ Update Credential - `token: optional string or null` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -73096,7 +73128,7 @@ Update Credential - `networking: optional BetaManagedAgentsCredentialNetworkingParams or null` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `BetaManagedAgentsUnrestrictedCredentialNetworkingParams object` @@ -73112,11 +73144,13 @@ Update Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value: optional string or null` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -73140,7 +73174,7 @@ Update Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -73164,7 +73198,7 @@ Update Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -73174,7 +73208,7 @@ Update Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -73254,7 +73288,9 @@ Update Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -73321,11 +73357,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID \ } ``` -### Delete Credential +### Delete a Credential **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential #### Path parameters @@ -73469,7 +73505,7 @@ Delete Credential - `id: string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). #### Example @@ -73490,11 +73526,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID \ } ``` -### Archive Credential +### Archive a Credential **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential #### Path parameters @@ -73638,7 +73674,7 @@ Archive Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -73662,7 +73698,7 @@ Archive Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -73672,7 +73708,7 @@ Archive Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -73752,7 +73788,9 @@ Archive Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -73813,11 +73851,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/ar } ``` -### Validate Credential +### Validate an MCP OAuth Credential **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential #### Path parameters @@ -73969,11 +74007,11 @@ Validate Credential - `mcp_probe: BetaManagedAgentsMCPProbe or null` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: BetaManagedAgentsRefreshHTTPResponse or null` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: string` @@ -74035,11 +74073,11 @@ Validate Credential - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: string` @@ -108266,7 +108304,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -108318,7 +108356,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -108649,7 +108691,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -108701,7 +108743,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -109050,7 +109096,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -109102,7 +109148,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -109489,7 +109539,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -109541,7 +109591,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -110072,7 +110126,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -110080,7 +110134,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -110405,7 +110459,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -110413,7 +110467,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -110732,7 +110786,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -110740,7 +110794,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -112941,13 +112995,13 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `repository_url: string` - The `https://` URL of a public repository on github.com that holds the marketplace. Any other host, a URL with credentials in it, or one that does not name a repository is a 400. + 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. minLength: 1 - `ref: optional string or null` - The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, or a value that is neither a branch name nor a 40-character SHA, is a 400. + The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, a value longer than 255 characters, or one that contains `..` or a character other than ASCII letters, digits, `.`, `_`, `-`, `+`, and `/`, is a 400. Any other value that is not a 40-character SHA is read as a branch name; if the repository has no such branch, the response is a report with `valid: false`, not a 400. minLength: 1 diff --git a/content/en/api/beta/models.md b/content/en/api/beta/models.md index 684674d9e9..f30aae4182 100644 --- a/content/en/api/beta/models.md +++ b/content/en/api/beta/models.md @@ -309,9 +309,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -477,6 +481,9 @@ curl https://api.anthropic.com/v1/models \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -783,9 +790,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -937,6 +948,9 @@ curl https://api.anthropic.com/v1/models/$MODEL_ID \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1176,9 +1190,13 @@ curl https://api.anthropic.com/v1/models/$MODEL_ID \ Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -1328,9 +1346,13 @@ curl https://api.anthropic.com/v1/models/$MODEL_ID \ Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -1456,9 +1478,13 @@ curl https://api.anthropic.com/v1/models/$MODEL_ID \ Whether this capability is supported by the model. + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -1478,9 +1504,13 @@ curl https://api.anthropic.com/v1/models/$MODEL_ID \ Whether this capability is supported by the model. + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` diff --git a/content/en/api/beta/models/list.md b/content/en/api/beta/models/list.md index bdba11a7c6..378cfd764f 100644 --- a/content/en/api/beta/models/list.md +++ b/content/en/api/beta/models/list.md @@ -307,9 +307,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -475,6 +479,9 @@ curl https://api.anthropic.com/v1/models \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/beta/models/retrieve.md b/content/en/api/beta/models/retrieve.md index 62ed39f3a7..d9fc8a88e6 100644 --- a/content/en/api/beta/models/retrieve.md +++ b/content/en/api/beta/models/retrieve.md @@ -283,9 +283,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -437,6 +441,9 @@ curl https://api.anthropic.com/v1/models/$MODEL_ID \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/beta/organization.md b/content/en/api/beta/organization.md index f285d95a6c..e8527c3d7e 100644 --- a/content/en/api/beta/organization.md +++ b/content/en/api/beta/organization.md @@ -22109,7 +22109,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -22161,7 +22161,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -22492,7 +22496,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -22544,7 +22548,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -22893,7 +22901,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -22945,7 +22953,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -23332,7 +23344,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -23384,7 +23396,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -23915,7 +23931,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -23923,7 +23939,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -24248,7 +24264,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -24256,7 +24272,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -24575,7 +24591,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -24583,7 +24599,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -26784,13 +26800,13 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `repository_url: string` - The `https://` URL of a public repository on github.com that holds the marketplace. Any other host, a URL with credentials in it, or one that does not name a repository is a 400. + 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. minLength: 1 - `ref: optional string or null` - The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, or a value that is neither a branch name nor a 40-character SHA, is a 400. + The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, a value longer than 255 characters, or one that contains `..` or a character other than ASCII letters, digits, `.`, `_`, `-`, `+`, and `/`, is a 400. Any other value that is not a 40-character SHA is read as a branch name; if the repository has no such branch, the response is a report with `valid: false`, not a 400. minLength: 1 diff --git a/content/en/api/beta/organization/plugin_marketplaces.md b/content/en/api/beta/organization/plugin_marketplaces.md index 55f488de04..938c3fcf22 100644 --- a/content/en/api/beta/organization/plugin_marketplaces.md +++ b/content/en/api/beta/organization/plugin_marketplaces.md @@ -986,13 +986,13 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `repository_url: string` - The `https://` URL of a public repository on github.com that holds the marketplace. Any other host, a URL with credentials in it, or one that does not name a repository is a 400. + 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. minLength: 1 - `ref: optional string or null` - The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, or a value that is neither a branch name nor a 40-character SHA, is a 400. + The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, a value longer than 255 characters, or one that contains `..` or a character other than ASCII letters, digits, `.`, `_`, `-`, `+`, and `/`, is a 400. Any other value that is not a 40-character SHA is read as a branch name; if the repository has no such branch, the response is a report with `valid: false`, not a 400. minLength: 1 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 2f7b2fbb17..3292dee69d 100644 --- a/content/en/api/beta/organization/plugin_marketplaces/validate_repository.md +++ b/content/en/api/beta/organization/plugin_marketplaces/validate_repository.md @@ -142,13 +142,13 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `repository_url: string` - The `https://` URL of a public repository on github.com that holds the marketplace. Any other host, a URL with credentials in it, or one that does not name a repository is a 400. + 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. minLength: 1 - `ref: optional string or null` - The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, or a value that is neither a branch name nor a 40-character SHA, is a 400. + The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, a value longer than 255 characters, or one that contains `..` or a character other than ASCII letters, digits, `.`, `_`, `-`, `+`, and `/`, is a 400. Any other value that is not a 40-character SHA is read as a branch name; if the repository has no such branch, the response is a report with `valid: false`, not a 400. minLength: 1 diff --git a/content/en/api/beta/organization/plugins.md b/content/en/api/beta/organization/plugins.md index 4312a73f70..7a90ca41e0 100644 --- a/content/en/api/beta/organization/plugins.md +++ b/content/en/api/beta/organization/plugins.md @@ -291,7 +291,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -343,7 +343,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -674,7 +678,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -726,7 +730,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -1075,7 +1083,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -1127,7 +1135,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -1514,7 +1526,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -1566,7 +1578,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -1958,7 +1974,7 @@ curl https://api.anthropic.com/v1/organizations/plugins/$PLUGIN_ID \ - `manifest_version: string or null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -2010,7 +2026,11 @@ curl https://api.anthropic.com/v1/organizations/plugins/$PLUGIN_ID \ - `reach: "contained" or "privileged" or "remote" or null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -2463,7 +2483,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -2471,7 +2491,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -2796,7 +2816,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -2804,7 +2824,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -3123,7 +3143,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -3131,7 +3151,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` diff --git a/content/en/api/beta/organization/plugins/create.md b/content/en/api/beta/organization/plugins/create.md index 01a4166672..10829b5796 100644 --- a/content/en/api/beta/organization/plugins/create.md +++ b/content/en/api/beta/organization/plugins/create.md @@ -289,7 +289,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -341,7 +341,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` diff --git a/content/en/api/beta/organization/plugins/list.md b/content/en/api/beta/organization/plugins/list.md index 7a83b70441..39e7d66094 100644 --- a/content/en/api/beta/organization/plugins/list.md +++ b/content/en/api/beta/organization/plugins/list.md @@ -313,7 +313,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -365,7 +365,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` diff --git a/content/en/api/beta/organization/plugins/retrieve.md b/content/en/api/beta/organization/plugins/retrieve.md index 071c7011e6..f9f744ff61 100644 --- a/content/en/api/beta/organization/plugins/retrieve.md +++ b/content/en/api/beta/organization/plugins/retrieve.md @@ -259,7 +259,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -311,7 +311,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` diff --git a/content/en/api/beta/organization/plugins/update.md b/content/en/api/beta/organization/plugins/update.md index 1fc8cf6cde..5fece8e58e 100644 --- a/content/en/api/beta/organization/plugins/update.md +++ b/content/en/api/beta/organization/plugins/update.md @@ -279,7 +279,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -331,7 +331,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` diff --git a/content/en/api/beta/organization/plugins/versions.md b/content/en/api/beta/organization/plugins/versions.md index 9045990d7b..35ba3e82b2 100644 --- a/content/en/api/beta/organization/plugins/versions.md +++ b/content/en/api/beta/organization/plugins/versions.md @@ -282,7 +282,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -290,7 +290,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -615,7 +615,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -623,7 +623,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -942,7 +942,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -950,7 +950,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -1287,7 +1287,7 @@ curl https://api.anthropic.com/v1/organizations/plugins/$PLUGIN_ID/versions/$VER - `manifest_version: string or null` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -1295,7 +1295,7 @@ curl https://api.anthropic.com/v1/organizations/plugins/$PLUGIN_ID/versions/$VER - `reach: "contained" or "privileged" or "remote" or null` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` diff --git a/content/en/api/beta/organization/plugins/versions/create.md b/content/en/api/beta/organization/plugins/versions/create.md index 94795d7d14..e69de84824 100644 --- a/content/en/api/beta/organization/plugins/versions/create.md +++ b/content/en/api/beta/organization/plugins/versions/create.md @@ -280,7 +280,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -288,7 +288,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` diff --git a/content/en/api/beta/organization/plugins/versions/list.md b/content/en/api/beta/organization/plugins/versions/list.md index b60f0ed9e6..db81a9fe0d 100644 --- a/content/en/api/beta/organization/plugins/versions/list.md +++ b/content/en/api/beta/organization/plugins/versions/list.md @@ -272,7 +272,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -280,7 +280,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` diff --git a/content/en/api/beta/organization/plugins/versions/retrieve.md b/content/en/api/beta/organization/plugins/versions/retrieve.md index eecfc4cf8c..b5dbc06895 100644 --- a/content/en/api/beta/organization/plugins/versions/retrieve.md +++ b/content/en/api/beta/organization/plugins/versions/retrieve.md @@ -259,7 +259,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string or null` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -267,7 +267,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote" or null` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` diff --git a/content/en/api/beta/vaults.md b/content/en/api/beta/vaults.md index 21ce0e07c5..cc9d8ffb53 100644 --- a/content/en/api/beta/vaults.md +++ b/content/en/api/beta/vaults.md @@ -5,11 +5,11 @@ url: https://platform.claude.com/docs/en/api/beta/vaults # Vaults -## Create Vault +## Create a Vault **POST** `/v1/vaults` -Create Vault +Create a Vault ### Headers @@ -155,7 +155,7 @@ Create Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string or null` @@ -225,7 +225,7 @@ List Vaults - `include_archived: optional boolean` - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `limit: optional number` @@ -235,7 +235,7 @@ List Vaults - `page: optional string` - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=http) response, to get the next page. Leave it out to get the first page. ### Headers @@ -363,13 +363,13 @@ List Vaults - `data: optional array of BetaManagedAgentsVault` - List of vaults. + The vaults on this page, newest first. - `type: "vault"` - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string or null` @@ -431,11 +431,11 @@ curl https://api.anthropic.com/v1/vaults \ } ``` -## Get Vault +## Retrieve a Vault **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault ### Path parameters @@ -575,7 +575,7 @@ Get Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string or null` @@ -628,11 +628,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID \ } ``` -## Update Vault +## Update a Vault **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault ### Path parameters @@ -784,7 +784,7 @@ Update Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string or null` @@ -844,11 +844,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID \ } ``` -## Delete Vault +## Delete a Vault **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault ### Path parameters @@ -988,7 +988,7 @@ Delete Vault - `id: string` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ### Example @@ -1009,11 +1009,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID \ } ``` -## Archive Vault +## Archive a Vault **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault ### Path parameters @@ -1153,7 +1153,7 @@ Archive Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string or null` @@ -1219,7 +1219,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/archive \ - `id: string` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ### Beta Managed Agents Vault @@ -1231,7 +1231,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/archive \ - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string or null` @@ -1261,11 +1261,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/archive \ ## Vaults › Credentials -### Create Credential +### Create a Credential **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential #### Path parameters @@ -1409,7 +1409,7 @@ Create Credential - `access_token: string` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -1421,7 +1421,9 @@ Create Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -1431,13 +1433,13 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -1463,7 +1465,7 @@ Create Credential - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -1475,7 +1477,7 @@ Create Credential - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -1499,7 +1501,7 @@ Create Credential - `token: string` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -1533,7 +1535,9 @@ Create Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: string` @@ -1543,7 +1547,7 @@ Create Credential - `secret_value: string` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -1579,7 +1583,7 @@ Create Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -1603,7 +1607,7 @@ Create Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1613,7 +1617,7 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -1693,7 +1697,9 @@ Create Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -1781,7 +1787,7 @@ List Credentials - `include_archived: optional boolean` - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit: optional number` @@ -1791,7 +1797,7 @@ List Credentials - `page: optional string` - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=http) response, to get the next page. Leave it out to get the first page. #### Headers @@ -1919,13 +1925,13 @@ List Credentials - `data: optional array of BetaManagedAgentsCredential` - List of credentials. + The credentials on this page, newest first. - `type: "vault_credential"` - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -1949,7 +1955,7 @@ List Credentials - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1959,7 +1965,7 @@ List Credentials - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -2039,7 +2045,9 @@ List Credentials - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -2108,11 +2116,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials \ } ``` -### Get Credential +### Retrieve a Credential **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential #### Path parameters @@ -2256,7 +2264,7 @@ Get Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -2280,7 +2288,7 @@ Get Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2290,7 +2298,7 @@ Get Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -2370,7 +2378,9 @@ Get Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -2430,11 +2440,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID \ } ``` -### Update Credential +### Update a Credential **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential #### Path parameters @@ -2572,7 +2582,7 @@ Update Credential - `auth: optional BetaManagedAgentsMCPOAuthUpdateParams or BetaManagedAgentsStaticBearerUpdateParams or BetaManagedAgentsEnvironmentVariableUpdateParams` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `BetaManagedAgentsMCPOAuthUpdateParams object` @@ -2582,13 +2592,17 @@ Update Credential - `access_token: optional string or null` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -2598,13 +2612,13 @@ Update Credential - `refresh_token: optional string or null` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: optional string or null` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -2618,7 +2632,9 @@ Update Credential - `client_secret: optional string or null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -2630,7 +2646,9 @@ Update Credential - `client_secret: optional string or null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -2642,7 +2660,7 @@ Update Credential - `token: optional string or null` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -2666,7 +2684,7 @@ Update Credential - `networking: optional BetaManagedAgentsCredentialNetworkingParams or null` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `BetaManagedAgentsUnrestrictedCredentialNetworkingParams object` @@ -2682,11 +2700,13 @@ Update Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value: optional string or null` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -2710,7 +2730,7 @@ Update Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -2734,7 +2754,7 @@ Update Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2744,7 +2764,7 @@ Update Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -2824,7 +2844,9 @@ Update Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -2891,11 +2913,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID \ } ``` -### Delete Credential +### Delete a Credential **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential #### Path parameters @@ -3039,7 +3061,7 @@ Delete Credential - `id: string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). #### Example @@ -3060,11 +3082,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID \ } ``` -### Archive Credential +### Archive a Credential **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential #### Path parameters @@ -3208,7 +3230,7 @@ Archive Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -3232,7 +3254,7 @@ Archive Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -3242,7 +3264,7 @@ Archive Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -3322,7 +3344,9 @@ Archive Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -3383,11 +3407,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/ar } ``` -### Validate Credential +### Validate an MCP OAuth Credential **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential #### Path parameters @@ -3539,11 +3563,11 @@ Validate Credential - `mcp_probe: BetaManagedAgentsMCPProbe or null` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: BetaManagedAgentsRefreshHTTPResponse or null` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: string` @@ -3605,11 +3629,11 @@ Validate Credential - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: string` diff --git a/content/en/api/beta/vaults/archive.md b/content/en/api/beta/vaults/archive.md index 397f37f4a2..cd0ba7d150 100644 --- a/content/en/api/beta/vaults/archive.md +++ b/content/en/api/beta/vaults/archive.md @@ -1,13 +1,13 @@ --- -title: Archive Vault +title: Archive a Vault url: https://platform.claude.com/docs/en/api/beta/vaults/archive --- -# Archive Vault +# Archive a Vault **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault ## Path parameters @@ -147,7 +147,7 @@ Archive Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string or null` diff --git a/content/en/api/beta/vaults/create.md b/content/en/api/beta/vaults/create.md index f776f19b2f..65f49ee355 100644 --- a/content/en/api/beta/vaults/create.md +++ b/content/en/api/beta/vaults/create.md @@ -1,13 +1,13 @@ --- -title: Create Vault +title: Create a Vault url: https://platform.claude.com/docs/en/api/beta/vaults/create --- -# Create Vault +# Create a Vault **POST** `/v1/vaults` -Create Vault +Create a Vault ## Headers @@ -153,7 +153,7 @@ Create Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string or null` diff --git a/content/en/api/beta/vaults/credentials.md b/content/en/api/beta/vaults/credentials.md index f02e7a795b..7cd902a95f 100644 --- a/content/en/api/beta/vaults/credentials.md +++ b/content/en/api/beta/vaults/credentials.md @@ -5,11 +5,11 @@ url: https://platform.claude.com/docs/en/api/beta/vaults/credentials # Credentials -## Create Credential +## Create a Credential **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential ### Path parameters @@ -153,7 +153,7 @@ Create Credential - `access_token: string` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -165,7 +165,9 @@ Create Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -175,13 +177,13 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -207,7 +209,7 @@ Create Credential - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -219,7 +221,7 @@ Create Credential - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -243,7 +245,7 @@ Create Credential - `token: string` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -277,7 +279,9 @@ Create Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: string` @@ -287,7 +291,7 @@ Create Credential - `secret_value: string` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -323,7 +327,7 @@ Create Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -347,7 +351,7 @@ Create Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -357,7 +361,7 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -437,7 +441,9 @@ Create Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -525,7 +531,7 @@ List Credentials - `include_archived: optional boolean` - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit: optional number` @@ -535,7 +541,7 @@ List Credentials - `page: optional string` - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=http) response, to get the next page. Leave it out to get the first page. ### Headers @@ -663,13 +669,13 @@ List Credentials - `data: optional array of BetaManagedAgentsCredential` - List of credentials. + The credentials on this page, newest first. - `type: "vault_credential"` - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -693,7 +699,7 @@ List Credentials - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -703,7 +709,7 @@ List Credentials - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -783,7 +789,9 @@ List Credentials - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -852,11 +860,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials \ } ``` -## Get Credential +## Retrieve a Credential **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential ### Path parameters @@ -1000,7 +1008,7 @@ Get Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -1024,7 +1032,7 @@ Get Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1034,7 +1042,7 @@ Get Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -1114,7 +1122,9 @@ Get Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -1174,11 +1184,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID \ } ``` -## Update Credential +## Update a Credential **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential ### Path parameters @@ -1316,7 +1326,7 @@ Update Credential - `auth: optional BetaManagedAgentsMCPOAuthUpdateParams or BetaManagedAgentsStaticBearerUpdateParams or BetaManagedAgentsEnvironmentVariableUpdateParams` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `BetaManagedAgentsMCPOAuthUpdateParams object` @@ -1326,13 +1336,17 @@ Update Credential - `access_token: optional string or null` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -1342,13 +1356,13 @@ Update Credential - `refresh_token: optional string or null` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: optional string or null` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -1362,7 +1376,9 @@ Update Credential - `client_secret: optional string or null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -1374,7 +1390,9 @@ Update Credential - `client_secret: optional string or null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -1386,7 +1404,7 @@ Update Credential - `token: optional string or null` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -1410,7 +1428,7 @@ Update Credential - `networking: optional BetaManagedAgentsCredentialNetworkingParams or null` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `BetaManagedAgentsUnrestrictedCredentialNetworkingParams object` @@ -1426,11 +1444,13 @@ Update Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value: optional string or null` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -1454,7 +1474,7 @@ Update Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -1478,7 +1498,7 @@ Update Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1488,7 +1508,7 @@ Update Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -1568,7 +1588,9 @@ Update Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -1635,11 +1657,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID \ } ``` -## Delete Credential +## Delete a Credential **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential ### Path parameters @@ -1783,7 +1805,7 @@ Delete Credential - `id: string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ### Example @@ -1804,11 +1826,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID \ } ``` -## Archive Credential +## Archive a Credential **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential ### Path parameters @@ -1952,7 +1974,7 @@ Archive Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -1976,7 +1998,7 @@ Archive Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1986,7 +2008,7 @@ Archive Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -2066,7 +2088,9 @@ Archive Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -2127,11 +2151,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/ar } ``` -## Validate Credential +## Validate an MCP OAuth Credential **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential ### Path parameters @@ -2283,11 +2307,11 @@ Validate Credential - `mcp_probe: BetaManagedAgentsMCPProbe or null` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: BetaManagedAgentsRefreshHTTPResponse or null` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: string` @@ -2349,11 +2373,11 @@ Validate Credential - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: string` @@ -2418,7 +2442,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -2442,7 +2466,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2452,7 +2476,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -2532,7 +2556,9 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -2580,7 +2606,9 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. ### Beta Managed Agents Credential Validation @@ -2600,11 +2628,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `mcp_probe: BetaManagedAgentsMCPProbe or null` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: BetaManagedAgentsRefreshHTTPResponse or null` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: string` @@ -2666,11 +2694,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: string` @@ -2694,11 +2722,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. ### Beta Managed Agents Deleted Credential @@ -2710,7 +2738,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `id: string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ### Beta Managed Agents Environment Variable Auth Response @@ -2750,7 +2778,9 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -2782,7 +2812,9 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: string` @@ -2792,7 +2824,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `secret_value: string` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -2830,7 +2862,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `networking: optional BetaManagedAgentsCredentialNetworkingParams or null` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `BetaManagedAgentsUnrestrictedCredentialNetworkingParams object` @@ -2846,11 +2878,13 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value: optional string or null` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -2886,7 +2920,11 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `BetaManagedAgentsInjectionLocationUpdateParams object` - Updated injection location. + Changes which parts of an outbound request the secret is substituted into. A location you leave out keeps its current setting. + + After the change, at least one location must be enabled. + + See [Authenticate with vaults](https://platform.claude.com/docs/en/managed-agents/vaults?sdk_languages=http#add-a-credential) to learn more about injection locations. - `body: optional boolean` @@ -2906,7 +2944,9 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. ### Beta Managed Agents Limited Credential Networking Response @@ -2918,7 +2958,9 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. ### Beta Managed Agents MCP OAuth Auth Response @@ -2934,7 +2976,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2944,7 +2986,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -2988,7 +3030,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `access_token: string` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -3000,7 +3042,9 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -3010,13 +3054,13 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `client_id: string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -3042,7 +3086,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3054,7 +3098,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3078,13 +3122,13 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `client_id: string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -3110,7 +3154,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3122,7 +3166,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3146,7 +3190,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -3188,13 +3232,13 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `refresh_token: optional string or null` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: optional string or null` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -3208,7 +3252,9 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `client_secret: optional string or null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3220,7 +3266,9 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `client_secret: optional string or null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3234,13 +3282,17 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `access_token: optional string or null` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -3250,13 +3302,13 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `refresh_token: optional string or null` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: optional string or null` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -3270,7 +3322,9 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `client_secret: optional string or null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3282,7 +3336,9 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `client_secret: optional string or null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3294,7 +3350,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `http_response: BetaManagedAgentsRefreshHTTPResponse or null` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: string` @@ -3412,7 +3468,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `token: string` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -3432,7 +3488,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `token: optional string or null` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -3446,7 +3502,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3468,7 +3524,9 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `client_secret: optional string or null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3498,7 +3556,7 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3520,7 +3578,9 @@ curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mc - `client_secret: optional string or null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 diff --git a/content/en/api/beta/vaults/credentials/archive.md b/content/en/api/beta/vaults/credentials/archive.md index 64a992543d..51fe001748 100644 --- a/content/en/api/beta/vaults/credentials/archive.md +++ b/content/en/api/beta/vaults/credentials/archive.md @@ -1,13 +1,13 @@ --- -title: Archive Credential +title: Archive a Credential url: https://platform.claude.com/docs/en/api/beta/vaults/credentials/archive --- -# Archive Credential +# Archive a Credential **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential ## Path parameters @@ -151,7 +151,7 @@ Archive Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -175,7 +175,7 @@ Archive Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -185,7 +185,7 @@ Archive Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -265,7 +265,9 @@ Archive Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` diff --git a/content/en/api/beta/vaults/credentials/create.md b/content/en/api/beta/vaults/credentials/create.md index 3ccc9e9958..8fe0d8a47b 100644 --- a/content/en/api/beta/vaults/credentials/create.md +++ b/content/en/api/beta/vaults/credentials/create.md @@ -1,13 +1,13 @@ --- -title: Create Credential +title: Create a Credential url: https://platform.claude.com/docs/en/api/beta/vaults/credentials/create --- -# Create Credential +# Create a Credential **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential ## Path parameters @@ -151,7 +151,7 @@ Create Credential - `access_token: string` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -163,7 +163,9 @@ Create Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -173,13 +175,13 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -205,7 +207,7 @@ Create Credential - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -217,7 +219,7 @@ Create Credential - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -241,7 +243,7 @@ Create Credential - `token: string` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -275,7 +277,9 @@ Create Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: string` @@ -285,7 +289,7 @@ Create Credential - `secret_value: string` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -321,7 +325,7 @@ Create Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -345,7 +349,7 @@ Create Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -355,7 +359,7 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -435,7 +439,9 @@ Create Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` diff --git a/content/en/api/beta/vaults/credentials/delete.md b/content/en/api/beta/vaults/credentials/delete.md index fcaf0a570c..c7fad9ab60 100644 --- a/content/en/api/beta/vaults/credentials/delete.md +++ b/content/en/api/beta/vaults/credentials/delete.md @@ -1,13 +1,13 @@ --- -title: Delete Credential +title: Delete a Credential url: https://platform.claude.com/docs/en/api/beta/vaults/credentials/delete --- -# Delete Credential +# Delete a Credential **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential ## Path parameters @@ -151,7 +151,7 @@ Delete Credential - `id: string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ## Example diff --git a/content/en/api/beta/vaults/credentials/list.md b/content/en/api/beta/vaults/credentials/list.md index 691f152af8..4affe6faed 100644 --- a/content/en/api/beta/vaults/credentials/list.md +++ b/content/en/api/beta/vaults/credentials/list.md @@ -19,7 +19,7 @@ List Credentials - `include_archived: optional boolean` - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit: optional number` @@ -29,7 +29,7 @@ List Credentials - `page: optional string` - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=http) response, to get the next page. Leave it out to get the first page. ## Headers @@ -157,13 +157,13 @@ List Credentials - `data: optional array of BetaManagedAgentsCredential` - List of credentials. + The credentials on this page, newest first. - `type: "vault_credential"` - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -187,7 +187,7 @@ List Credentials - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -197,7 +197,7 @@ List Credentials - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -277,7 +277,9 @@ List Credentials - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` 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 d9805a8152..817325f622 100644 --- a/content/en/api/beta/vaults/credentials/mcp_oauth_validate.md +++ b/content/en/api/beta/vaults/credentials/mcp_oauth_validate.md @@ -1,13 +1,13 @@ --- -title: Validate Credential +title: Validate an MCP OAuth Credential url: https://platform.claude.com/docs/en/api/beta/vaults/credentials/mcp_oauth_validate --- -# Validate Credential +# Validate an MCP OAuth Credential **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential ## Path parameters @@ -159,11 +159,11 @@ Validate Credential - `mcp_probe: BetaManagedAgentsMCPProbe or null` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: BetaManagedAgentsRefreshHTTPResponse or null` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: string` @@ -225,11 +225,11 @@ Validate Credential - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: string` diff --git a/content/en/api/beta/vaults/credentials/retrieve.md b/content/en/api/beta/vaults/credentials/retrieve.md index 3f03a40e59..20c44e9b60 100644 --- a/content/en/api/beta/vaults/credentials/retrieve.md +++ b/content/en/api/beta/vaults/credentials/retrieve.md @@ -1,13 +1,13 @@ --- -title: Get Credential +title: Retrieve a Credential url: https://platform.claude.com/docs/en/api/beta/vaults/credentials/retrieve --- -# Get Credential +# Retrieve a Credential **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential ## Path parameters @@ -151,7 +151,7 @@ Get Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -175,7 +175,7 @@ Get Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -185,7 +185,7 @@ Get Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -265,7 +265,9 @@ Get Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` diff --git a/content/en/api/beta/vaults/credentials/update.md b/content/en/api/beta/vaults/credentials/update.md index 460b487950..9debcc5628 100644 --- a/content/en/api/beta/vaults/credentials/update.md +++ b/content/en/api/beta/vaults/credentials/update.md @@ -1,13 +1,13 @@ --- -title: Update Credential +title: Update a Credential url: https://platform.claude.com/docs/en/api/beta/vaults/credentials/update --- -# Update Credential +# Update a Credential **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential ## Path parameters @@ -145,7 +145,7 @@ Update Credential - `auth: optional BetaManagedAgentsMCPOAuthUpdateParams or BetaManagedAgentsStaticBearerUpdateParams or BetaManagedAgentsEnvironmentVariableUpdateParams` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `BetaManagedAgentsMCPOAuthUpdateParams object` @@ -155,13 +155,17 @@ Update Credential - `access_token: optional string or null` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -171,13 +175,13 @@ Update Credential - `refresh_token: optional string or null` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: optional string or null` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -191,7 +195,9 @@ Update Credential - `client_secret: optional string or null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -203,7 +209,9 @@ Update Credential - `client_secret: optional string or null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -215,7 +223,7 @@ Update Credential - `token: optional string or null` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -239,7 +247,7 @@ Update Credential - `networking: optional BetaManagedAgentsCredentialNetworkingParams or null` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `BetaManagedAgentsUnrestrictedCredentialNetworkingParams object` @@ -255,11 +263,13 @@ Update Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value: optional string or null` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -283,7 +293,7 @@ Update Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string or null` @@ -307,7 +317,7 @@ Update Credential - `expires_at: optional string or null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -317,7 +327,7 @@ Update Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -397,7 +407,9 @@ Update Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` diff --git a/content/en/api/beta/vaults/delete.md b/content/en/api/beta/vaults/delete.md index a3b589dbcf..cf1b9b7467 100644 --- a/content/en/api/beta/vaults/delete.md +++ b/content/en/api/beta/vaults/delete.md @@ -1,13 +1,13 @@ --- -title: Delete Vault +title: Delete a Vault url: https://platform.claude.com/docs/en/api/beta/vaults/delete --- -# Delete Vault +# Delete a Vault **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault ## Path parameters @@ -147,7 +147,7 @@ Delete Vault - `id: string` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ## Example diff --git a/content/en/api/beta/vaults/list.md b/content/en/api/beta/vaults/list.md index b55f042f0e..45ebf8c9a5 100644 --- a/content/en/api/beta/vaults/list.md +++ b/content/en/api/beta/vaults/list.md @@ -13,7 +13,7 @@ List Vaults - `include_archived: optional boolean` - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `limit: optional number` @@ -23,7 +23,7 @@ List Vaults - `page: optional string` - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=http) response, to get the next page. Leave it out to get the first page. ## Headers @@ -151,13 +151,13 @@ List Vaults - `data: optional array of BetaManagedAgentsVault` - List of vaults. + The vaults on this page, newest first. - `type: "vault"` - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string or null` diff --git a/content/en/api/beta/vaults/retrieve.md b/content/en/api/beta/vaults/retrieve.md index 5c9b3676bb..9cf33073d9 100644 --- a/content/en/api/beta/vaults/retrieve.md +++ b/content/en/api/beta/vaults/retrieve.md @@ -1,13 +1,13 @@ --- -title: Get Vault +title: Retrieve a Vault url: https://platform.claude.com/docs/en/api/beta/vaults/retrieve --- -# Get Vault +# Retrieve a Vault **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault ## Path parameters @@ -147,7 +147,7 @@ Get Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string or null` diff --git a/content/en/api/beta/vaults/update.md b/content/en/api/beta/vaults/update.md index b2b715472b..f31f67bcda 100644 --- a/content/en/api/beta/vaults/update.md +++ b/content/en/api/beta/vaults/update.md @@ -1,13 +1,13 @@ --- -title: Update Vault +title: Update a Vault url: https://platform.claude.com/docs/en/api/beta/vaults/update --- -# Update Vault +# Update a Vault **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault ## Path parameters @@ -159,7 +159,7 @@ Update Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string or null` diff --git a/content/en/api/claude-code/routines-fire.md b/content/en/api/claude-code/routines-fire.md index b29c8bc570..1b9d93a7a2 100644 --- a/content/en/api/claude-code/routines-fire.md +++ b/content/en/api/claude-code/routines-fire.md @@ -20,7 +20,7 @@ The routine fire endpoint belongs to the Claude Code product surface, which diff | Aspect | This endpoint | Claude Platform APIs | | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| Authentication | `Authorization: Bearer` with a per-routine token (`sk-ant-oat01-...`) created at [claude.ai/code/routines](https://claude.ai/code/routines) | `x-api-key` with a Claude API key from Claude Console | +| Authentication | `Authorization: Bearer` with a per-routine token (`sk-ant-oat01-...`) created at [claude.ai/code/routines](https://claude.ai/code/routines) | A Claude API key from Claude Console, sent as `Authorization: Bearer` | | Token scope | One routine only; no read access | Workspace-level | | SDK support | None | Available in all [client SDKs](https://platform.claude.com/docs/en/cli-sdks-libraries/overview) | | Billing | Claude Code subscription usage on claude.ai | Claude Platform usage | diff --git a/content/en/api/cli/beta.md b/content/en/api/cli/beta.md index 86dadc49ab..501d03a9ed 100644 --- a/content/en/api/cli/beta.md +++ b/content/en/api/cli/beta.md @@ -479,9 +479,17 @@ The Models API response can be used to determine which models are available for Whether this capability is supported by the model. + - `between_tools: object` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + + - `supported: boolean` + + Whether this capability is supported by the model. + - `disabled: object` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `supported: boolean` @@ -652,6 +660,9 @@ ant beta:models list \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -914,9 +925,17 @@ The Models API response can be used to determine information about a specific mo Whether this capability is supported by the model. + - `between_tools: object` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + + - `supported: boolean` + + Whether this capability is supported by the model. + - `disabled: object` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `supported: boolean` @@ -1074,6 +1093,9 @@ ant beta:models retrieve \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -50294,13 +50316,13 @@ ant beta:deployment-runs retrieve \ ## Beta › Vaults -### Create Vault +### Create a Vault `$ ant beta:vaults create` **POST** `/v1/vaults` -Create Vault +Create a Vault #### Parameters @@ -50334,7 +50356,7 @@ Create Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string` @@ -50398,7 +50420,7 @@ List Vaults - `--include-archived: optional boolean` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `--limit: optional number` (query parameter) @@ -50408,7 +50430,7 @@ List Vaults - `--page: optional string` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=cli) response, to get the next page. Leave it out to get the first page. - `--beta: optional array of AnthropicBeta` (header parameter) @@ -50428,13 +50450,13 @@ List Vaults - `data: optional array of BetaManagedAgentsVault` - List of vaults. + The vaults on this page, newest first. - `type: "vault"` - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string` @@ -50494,13 +50516,13 @@ ant beta:vaults list \ } ``` -### Get Vault +### Retrieve a Vault `$ ant beta:vaults retrieve` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault #### Parameters @@ -50528,7 +50550,7 @@ Get Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string` @@ -50580,13 +50602,13 @@ ant beta:vaults retrieve \ } ``` -### Update Vault +### Update a Vault `$ ant beta:vaults update` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault #### Parameters @@ -50624,7 +50646,7 @@ Update Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string` @@ -50676,13 +50698,13 @@ ant beta:vaults update \ } ``` -### Delete Vault +### Delete a Vault `$ ant beta:vaults delete` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault #### Parameters @@ -50710,7 +50732,7 @@ Delete Vault - `id: string` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). #### Example @@ -50729,13 +50751,13 @@ ant beta:vaults delete \ } ``` -### Archive Vault +### Archive a Vault `$ ant beta:vaults archive` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault #### Parameters @@ -50763,7 +50785,7 @@ Archive Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string` @@ -50817,13 +50839,13 @@ ant beta:vaults archive \ ## Beta › Vaults › Credentials -### Create Credential +### Create a Credential `$ ant beta:vaults:credentials create` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential #### Parameters @@ -50865,7 +50887,7 @@ Create Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -50889,7 +50911,7 @@ Create Credential - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -50899,7 +50921,7 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -50979,7 +51001,9 @@ Create Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -51055,7 +51079,7 @@ List Credentials - `--include-archived: optional boolean` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `--limit: optional number` (query parameter) @@ -51065,7 +51089,7 @@ List Credentials - `--page: optional string` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=cli) response, to get the next page. Leave it out to get the first page. - `--beta: optional array of AnthropicBeta` (header parameter) @@ -51085,13 +51109,13 @@ List Credentials - `data: optional array of BetaManagedAgentsCredential` - List of credentials. + The credentials on this page, newest first. - `type: "vault_credential"` - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -51115,7 +51139,7 @@ List Credentials - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -51125,7 +51149,7 @@ List Credentials - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -51205,7 +51229,9 @@ List Credentials - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -51273,13 +51299,13 @@ ant beta:vaults:credentials list \ } ``` -### Get Credential +### Retrieve a Credential `$ ant beta:vaults:credentials retrieve` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential #### Parameters @@ -51311,7 +51337,7 @@ Get Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -51335,7 +51361,7 @@ Get Credential - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -51345,7 +51371,7 @@ Get Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -51425,7 +51451,9 @@ Get Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -51485,13 +51513,13 @@ ant beta:vaults:credentials retrieve \ } ``` -### Update Credential +### Update a Credential `$ ant beta:vaults:credentials update` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential #### Parameters @@ -51505,7 +51533,7 @@ Update Credential - `--auth: optional BetaManagedAgentsMCPOAuthUpdateParams or BetaManagedAgentsStaticBearerUpdateParams or BetaManagedAgentsEnvironmentVariableUpdateParams` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `--display-name: optional string` @@ -51537,7 +51565,7 @@ Update Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -51561,7 +51589,7 @@ Update Credential - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -51571,7 +51599,7 @@ Update Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -51651,7 +51679,9 @@ Update Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -51711,13 +51741,13 @@ ant beta:vaults:credentials update \ } ``` -### Delete Credential +### Delete a Credential `$ ant beta:vaults:credentials delete` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential #### Parameters @@ -51749,7 +51779,7 @@ Delete Credential - `id: string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). #### Example @@ -51769,13 +51799,13 @@ ant beta:vaults:credentials delete \ } ``` -### Archive Credential +### Archive a Credential `$ ant beta:vaults:credentials archive` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential #### Parameters @@ -51807,7 +51837,7 @@ Archive Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -51831,7 +51861,7 @@ Archive Credential - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -51841,7 +51871,7 @@ Archive Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -51921,7 +51951,9 @@ Archive Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -51981,13 +52013,13 @@ ant beta:vaults:credentials archive \ } ``` -### Validate Credential +### Validate an MCP OAuth Credential `$ ant beta:vaults:credentials mcp-oauth-validate` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential #### Parameters @@ -52027,11 +52059,11 @@ Validate Credential - `mcp_probe: object` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: object` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: string` @@ -52111,11 +52143,11 @@ Validate Credential - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: string` @@ -72821,7 +72853,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -72869,7 +72901,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote"` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -73085,7 +73121,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -73133,7 +73169,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote"` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -73369,7 +73409,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -73417,7 +73457,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote"` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -73688,7 +73732,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -73736,7 +73780,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote"` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -74045,7 +74093,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -74053,7 +74101,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote"` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -74266,7 +74314,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -74274,7 +74322,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote"` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -74480,7 +74528,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -74488,7 +74536,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" or "privileged" or "remote"` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -75644,13 +75692,13 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `--repository-url: string` - The `https://` URL of a public repository on github.com that holds the marketplace. Any other host, a URL with credentials in it, or one that does not name a repository is a 400. + 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. minLength: 1 - `--ref: optional string` - The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, or a value that is neither a branch name nor a 40-character SHA, is a 400. + The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, a value longer than 255 characters, or one that contains `..` or a character other than ASCII letters, digits, `.`, `_`, `-`, `+`, and `/`, is a 400. Any other value that is not a 40-character SHA is read as a branch name; if the repository has no such branch, the response is a report with `valid: false`, not a 400. minLength: 1 diff --git a/content/en/api/cli/beta/models.md b/content/en/api/cli/beta/models.md index 00f9b05035..556b4fc5a5 100644 --- a/content/en/api/cli/beta/models.md +++ b/content/en/api/cli/beta/models.md @@ -261,9 +261,17 @@ The Models API response can be used to determine which models are available for Whether this capability is supported by the model. + - `between_tools: object` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + + - `supported: boolean` + + Whether this capability is supported by the model. + - `disabled: object` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `supported: boolean` @@ -434,6 +442,9 @@ ant beta:models list \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -696,9 +707,17 @@ The Models API response can be used to determine information about a specific mo Whether this capability is supported by the model. + - `between_tools: object` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + + - `supported: boolean` + + Whether this capability is supported by the model. + - `disabled: object` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `supported: boolean` @@ -856,6 +875,9 @@ ant beta:models retrieve \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1187,9 +1209,17 @@ ant beta:models retrieve \ Whether this capability is supported by the model. + - `between_tools: object` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + + - `supported: boolean` + + Whether this capability is supported by the model. + - `disabled: object` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `supported: boolean` @@ -1413,9 +1443,17 @@ ant beta:models retrieve \ Whether this capability is supported by the model. + - `between_tools: object` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + + - `supported: boolean` + + Whether this capability is supported by the model. + - `disabled: object` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `supported: boolean` @@ -1551,9 +1589,17 @@ ant beta:models retrieve \ Whether this capability is supported by the model. + - `between_tools: object` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + + - `supported: boolean` + + Whether this capability is supported by the model. + - `disabled: object` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `supported: boolean` @@ -1581,9 +1627,17 @@ ant beta:models retrieve \ Whether this capability is supported by the model. + - `between_tools: object` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + + - `supported: boolean` + + Whether this capability is supported by the model. + - `disabled: object` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `supported: boolean` diff --git a/content/en/api/cli/beta/models/list.md b/content/en/api/cli/beta/models/list.md index 9089281b43..63cd486c91 100644 --- a/content/en/api/cli/beta/models/list.md +++ b/content/en/api/cli/beta/models/list.md @@ -259,9 +259,17 @@ The Models API response can be used to determine which models are available for Whether this capability is supported by the model. + - `between_tools: object` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + + - `supported: boolean` + + Whether this capability is supported by the model. + - `disabled: object` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `supported: boolean` @@ -432,6 +440,9 @@ ant beta:models list \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/cli/beta/models/retrieve.md b/content/en/api/cli/beta/models/retrieve.md index 00fc74a123..5ae79d746f 100644 --- a/content/en/api/cli/beta/models/retrieve.md +++ b/content/en/api/cli/beta/models/retrieve.md @@ -239,9 +239,17 @@ The Models API response can be used to determine information about a specific mo Whether this capability is supported by the model. + - `between_tools: object` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + + - `supported: boolean` + + Whether this capability is supported by the model. + - `disabled: object` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `supported: boolean` @@ -399,6 +407,9 @@ ant beta:models retrieve \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/cli/beta/vaults.md b/content/en/api/cli/beta/vaults.md index 21cb318135..c5b07ab5e8 100644 --- a/content/en/api/cli/beta/vaults.md +++ b/content/en/api/cli/beta/vaults.md @@ -5,13 +5,13 @@ url: https://platform.claude.com/docs/en/api/cli/beta/vaults # Vaults -## Create Vault +## Create a Vault `$ ant beta:vaults create` **POST** `/v1/vaults` -Create Vault +Create a Vault ### Parameters @@ -45,7 +45,7 @@ Create Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string` @@ -109,7 +109,7 @@ List Vaults - `--include-archived: optional boolean` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `--limit: optional number` (query parameter) @@ -119,7 +119,7 @@ List Vaults - `--page: optional string` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=cli) response, to get the next page. Leave it out to get the first page. - `--beta: optional array of AnthropicBeta` (header parameter) @@ -139,13 +139,13 @@ List Vaults - `data: optional array of BetaManagedAgentsVault` - List of vaults. + The vaults on this page, newest first. - `type: "vault"` - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string` @@ -205,13 +205,13 @@ ant beta:vaults list \ } ``` -## Get Vault +## Retrieve a Vault `$ ant beta:vaults retrieve` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault ### Parameters @@ -239,7 +239,7 @@ Get Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string` @@ -291,13 +291,13 @@ ant beta:vaults retrieve \ } ``` -## Update Vault +## Update a Vault `$ ant beta:vaults update` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault ### Parameters @@ -335,7 +335,7 @@ Update Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string` @@ -387,13 +387,13 @@ ant beta:vaults update \ } ``` -## Delete Vault +## Delete a Vault `$ ant beta:vaults delete` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault ### Parameters @@ -421,7 +421,7 @@ Delete Vault - `id: string` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ### Example @@ -440,13 +440,13 @@ ant beta:vaults delete \ } ``` -## Archive Vault +## Archive a Vault `$ ant beta:vaults archive` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault ### Parameters @@ -474,7 +474,7 @@ Archive Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string` @@ -538,7 +538,7 @@ ant beta:vaults archive \ - `id: string` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ### Beta Managed Agents Vault @@ -550,7 +550,7 @@ ant beta:vaults archive \ - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string` @@ -580,13 +580,13 @@ ant beta:vaults archive \ ## Vaults › Credentials -### Create Credential +### Create a Credential `$ ant beta:vaults:credentials create` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential #### Parameters @@ -628,7 +628,7 @@ Create Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -652,7 +652,7 @@ Create Credential - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -662,7 +662,7 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -742,7 +742,9 @@ Create Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -818,7 +820,7 @@ List Credentials - `--include-archived: optional boolean` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `--limit: optional number` (query parameter) @@ -828,7 +830,7 @@ List Credentials - `--page: optional string` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=cli) response, to get the next page. Leave it out to get the first page. - `--beta: optional array of AnthropicBeta` (header parameter) @@ -848,13 +850,13 @@ List Credentials - `data: optional array of BetaManagedAgentsCredential` - List of credentials. + The credentials on this page, newest first. - `type: "vault_credential"` - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -878,7 +880,7 @@ List Credentials - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -888,7 +890,7 @@ List Credentials - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -968,7 +970,9 @@ List Credentials - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -1036,13 +1040,13 @@ ant beta:vaults:credentials list \ } ``` -### Get Credential +### Retrieve a Credential `$ ant beta:vaults:credentials retrieve` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential #### Parameters @@ -1074,7 +1078,7 @@ Get Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -1098,7 +1102,7 @@ Get Credential - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1108,7 +1112,7 @@ Get Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -1188,7 +1192,9 @@ Get Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -1248,13 +1254,13 @@ ant beta:vaults:credentials retrieve \ } ``` -### Update Credential +### Update a Credential `$ ant beta:vaults:credentials update` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential #### Parameters @@ -1268,7 +1274,7 @@ Update Credential - `--auth: optional BetaManagedAgentsMCPOAuthUpdateParams or BetaManagedAgentsStaticBearerUpdateParams or BetaManagedAgentsEnvironmentVariableUpdateParams` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `--display-name: optional string` @@ -1300,7 +1306,7 @@ Update Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -1324,7 +1330,7 @@ Update Credential - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1334,7 +1340,7 @@ Update Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -1414,7 +1420,9 @@ Update Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -1474,13 +1482,13 @@ ant beta:vaults:credentials update \ } ``` -### Delete Credential +### Delete a Credential `$ ant beta:vaults:credentials delete` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential #### Parameters @@ -1512,7 +1520,7 @@ Delete Credential - `id: string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). #### Example @@ -1532,13 +1540,13 @@ ant beta:vaults:credentials delete \ } ``` -### Archive Credential +### Archive a Credential `$ ant beta:vaults:credentials archive` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential #### Parameters @@ -1570,7 +1578,7 @@ Archive Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -1594,7 +1602,7 @@ Archive Credential - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1604,7 +1612,7 @@ Archive Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -1684,7 +1692,9 @@ Archive Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -1744,13 +1754,13 @@ ant beta:vaults:credentials archive \ } ``` -### Validate Credential +### Validate an MCP OAuth Credential `$ ant beta:vaults:credentials mcp-oauth-validate` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential #### Parameters @@ -1790,11 +1800,11 @@ Validate Credential - `mcp_probe: object` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: object` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: string` @@ -1874,11 +1884,11 @@ Validate Credential - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: string` diff --git a/content/en/api/cli/beta/vaults/archive.md b/content/en/api/cli/beta/vaults/archive.md index 5d9ed46dec..fa06cad51c 100644 --- a/content/en/api/cli/beta/vaults/archive.md +++ b/content/en/api/cli/beta/vaults/archive.md @@ -1,15 +1,15 @@ --- -title: Archive Vault +title: Archive a Vault url: https://platform.claude.com/docs/en/api/cli/beta/vaults/archive --- -# Archive Vault +# Archive a Vault `$ ant beta:vaults archive` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault ## Parameters @@ -37,7 +37,7 @@ Archive Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string` diff --git a/content/en/api/cli/beta/vaults/create.md b/content/en/api/cli/beta/vaults/create.md index 666fbc7eba..661d5a7490 100644 --- a/content/en/api/cli/beta/vaults/create.md +++ b/content/en/api/cli/beta/vaults/create.md @@ -1,15 +1,15 @@ --- -title: Create Vault +title: Create a Vault url: https://platform.claude.com/docs/en/api/cli/beta/vaults/create --- -# Create Vault +# Create a Vault `$ ant beta:vaults create` **POST** `/v1/vaults` -Create Vault +Create a Vault ## Parameters @@ -43,7 +43,7 @@ Create Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string` diff --git a/content/en/api/cli/beta/vaults/credentials.md b/content/en/api/cli/beta/vaults/credentials.md index 400f1c5ce8..a40e25831b 100644 --- a/content/en/api/cli/beta/vaults/credentials.md +++ b/content/en/api/cli/beta/vaults/credentials.md @@ -5,13 +5,13 @@ url: https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials # Credentials -## Create Credential +## Create a Credential `$ ant beta:vaults:credentials create` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential ### Parameters @@ -53,7 +53,7 @@ Create Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -77,7 +77,7 @@ Create Credential - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -87,7 +87,7 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -167,7 +167,9 @@ Create Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -243,7 +245,7 @@ List Credentials - `--include-archived: optional boolean` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `--limit: optional number` (query parameter) @@ -253,7 +255,7 @@ List Credentials - `--page: optional string` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=cli) response, to get the next page. Leave it out to get the first page. - `--beta: optional array of AnthropicBeta` (header parameter) @@ -273,13 +275,13 @@ List Credentials - `data: optional array of BetaManagedAgentsCredential` - List of credentials. + The credentials on this page, newest first. - `type: "vault_credential"` - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -303,7 +305,7 @@ List Credentials - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -313,7 +315,7 @@ List Credentials - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -393,7 +395,9 @@ List Credentials - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -461,13 +465,13 @@ ant beta:vaults:credentials list \ } ``` -## Get Credential +## Retrieve a Credential `$ ant beta:vaults:credentials retrieve` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential ### Parameters @@ -499,7 +503,7 @@ Get Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -523,7 +527,7 @@ Get Credential - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -533,7 +537,7 @@ Get Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -613,7 +617,9 @@ Get Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -673,13 +679,13 @@ ant beta:vaults:credentials retrieve \ } ``` -## Update Credential +## Update a Credential `$ ant beta:vaults:credentials update` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential ### Parameters @@ -693,7 +699,7 @@ Update Credential - `--auth: optional BetaManagedAgentsMCPOAuthUpdateParams or BetaManagedAgentsStaticBearerUpdateParams or BetaManagedAgentsEnvironmentVariableUpdateParams` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `--display-name: optional string` @@ -725,7 +731,7 @@ Update Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -749,7 +755,7 @@ Update Credential - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -759,7 +765,7 @@ Update Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -839,7 +845,9 @@ Update Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -899,13 +907,13 @@ ant beta:vaults:credentials update \ } ``` -## Delete Credential +## Delete a Credential `$ ant beta:vaults:credentials delete` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential ### Parameters @@ -937,7 +945,7 @@ Delete Credential - `id: string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ### Example @@ -957,13 +965,13 @@ ant beta:vaults:credentials delete \ } ``` -## Archive Credential +## Archive a Credential `$ ant beta:vaults:credentials archive` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential ### Parameters @@ -995,7 +1003,7 @@ Archive Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -1019,7 +1027,7 @@ Archive Credential - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1029,7 +1037,7 @@ Archive Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -1109,7 +1117,9 @@ Archive Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -1169,13 +1179,13 @@ ant beta:vaults:credentials archive \ } ``` -## Validate Credential +## Validate an MCP OAuth Credential `$ ant beta:vaults:credentials mcp-oauth-validate` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential ### Parameters @@ -1215,11 +1225,11 @@ Validate Credential - `mcp_probe: object` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: object` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: string` @@ -1299,11 +1309,11 @@ Validate Credential - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: string` @@ -1367,7 +1377,7 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -1391,7 +1401,7 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1401,7 +1411,7 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -1481,7 +1491,9 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -1529,7 +1541,9 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. ### Beta Managed Agents Credential Validation @@ -1549,11 +1563,11 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `mcp_probe: object` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: object` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: string` @@ -1633,11 +1647,11 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: string` @@ -1661,11 +1675,11 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. ### Beta Managed Agents Deleted Credential @@ -1677,7 +1691,7 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `id: string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ### Beta Managed Agents Environment Variable Auth Response @@ -1717,7 +1731,9 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -1749,7 +1765,9 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: string` @@ -1759,7 +1777,7 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `secret_value: string` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -1797,7 +1815,7 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `networking: optional BetaManagedAgentsUnrestrictedCredentialNetworkingParams or BetaManagedAgentsLimitedCredentialNetworkingParams` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `beta_managed_agents_unrestricted_credential_networking_params: object` @@ -1813,11 +1831,13 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value: optional string` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -1853,7 +1873,11 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `beta_managed_agents_injection_location_update_params: object` - Updated injection location. + Changes which parts of an outbound request the secret is substituted into. A location you leave out keeps its current setting. + + After the change, at least one location must be enabled. + + See [Authenticate with vaults](https://platform.claude.com/docs/en/managed-agents/vaults?sdk_languages=cli#add-a-credential) to learn more about injection locations. - `body: optional boolean` @@ -1873,7 +1897,9 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. ### Beta Managed Agents Limited Credential Networking Response @@ -1885,7 +1911,9 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. ### Beta Managed Agents MCP OAuth Auth Response @@ -1901,7 +1929,7 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1911,7 +1939,7 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -1955,7 +1983,7 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `access_token: string` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -1967,7 +1995,9 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `expires_at: optional string` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -1977,13 +2007,13 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `client_id: string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -2009,7 +2039,7 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -2021,7 +2051,7 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -2045,13 +2075,13 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `client_id: string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -2077,7 +2107,7 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -2089,7 +2119,7 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -2113,7 +2143,7 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -2155,13 +2185,13 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `refresh_token: optional string` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: optional string` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -2175,7 +2205,9 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `client_secret: optional string` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -2187,7 +2219,9 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `client_secret: optional string` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -2201,13 +2235,17 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `access_token: optional string` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -2217,13 +2255,13 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `refresh_token: optional string` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: optional string` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -2237,7 +2275,9 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `client_secret: optional string` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -2249,7 +2289,9 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `client_secret: optional string` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -2261,7 +2303,7 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `http_response: object` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: string` @@ -2379,7 +2421,7 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `token: string` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -2399,7 +2441,7 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `token: optional string` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -2413,7 +2455,7 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -2435,7 +2477,9 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `client_secret: optional string` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -2465,7 +2509,7 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -2487,7 +2531,9 @@ ant beta:vaults:credentials mcp-oauth-validate \ - `client_secret: optional string` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 diff --git a/content/en/api/cli/beta/vaults/credentials/archive.md b/content/en/api/cli/beta/vaults/credentials/archive.md index 34b53896a4..04788e57b7 100644 --- a/content/en/api/cli/beta/vaults/credentials/archive.md +++ b/content/en/api/cli/beta/vaults/credentials/archive.md @@ -1,15 +1,15 @@ --- -title: Archive Credential +title: Archive a Credential url: https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/archive --- -# Archive Credential +# Archive a Credential `$ ant beta:vaults:credentials archive` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential ## Parameters @@ -41,7 +41,7 @@ Archive Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -65,7 +65,7 @@ Archive Credential - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -75,7 +75,7 @@ Archive Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -155,7 +155,9 @@ Archive Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` diff --git a/content/en/api/cli/beta/vaults/credentials/create.md b/content/en/api/cli/beta/vaults/credentials/create.md index 75f71494bd..acc52b57be 100644 --- a/content/en/api/cli/beta/vaults/credentials/create.md +++ b/content/en/api/cli/beta/vaults/credentials/create.md @@ -1,15 +1,15 @@ --- -title: Create Credential +title: Create a Credential url: https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/create --- -# Create Credential +# Create a Credential `$ ant beta:vaults:credentials create` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential ## Parameters @@ -51,7 +51,7 @@ Create Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -75,7 +75,7 @@ Create Credential - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -85,7 +85,7 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -165,7 +165,9 @@ Create Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` diff --git a/content/en/api/cli/beta/vaults/credentials/delete.md b/content/en/api/cli/beta/vaults/credentials/delete.md index 0ed226adfc..ae8908e8c4 100644 --- a/content/en/api/cli/beta/vaults/credentials/delete.md +++ b/content/en/api/cli/beta/vaults/credentials/delete.md @@ -1,15 +1,15 @@ --- -title: Delete Credential +title: Delete a Credential url: https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/delete --- -# Delete Credential +# Delete a Credential `$ ant beta:vaults:credentials delete` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential ## Parameters @@ -41,7 +41,7 @@ Delete Credential - `id: string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ## Example diff --git a/content/en/api/cli/beta/vaults/credentials/list.md b/content/en/api/cli/beta/vaults/credentials/list.md index 0d01b81e07..bd8ec60383 100644 --- a/content/en/api/cli/beta/vaults/credentials/list.md +++ b/content/en/api/cli/beta/vaults/credentials/list.md @@ -19,7 +19,7 @@ List Credentials - `--include-archived: optional boolean` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `--limit: optional number` (query parameter) @@ -29,7 +29,7 @@ List Credentials - `--page: optional string` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=cli) response, to get the next page. Leave it out to get the first page. - `--beta: optional array of AnthropicBeta` (header parameter) @@ -49,13 +49,13 @@ List Credentials - `data: optional array of BetaManagedAgentsCredential` - List of credentials. + The credentials on this page, newest first. - `type: "vault_credential"` - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -79,7 +79,7 @@ List Credentials - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -89,7 +89,7 @@ List Credentials - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -169,7 +169,9 @@ List Credentials - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` diff --git a/content/en/api/cli/beta/vaults/credentials/mcp_oauth_validate.md b/content/en/api/cli/beta/vaults/credentials/mcp_oauth_validate.md index cd8aea32a6..835700785b 100644 --- a/content/en/api/cli/beta/vaults/credentials/mcp_oauth_validate.md +++ b/content/en/api/cli/beta/vaults/credentials/mcp_oauth_validate.md @@ -1,15 +1,15 @@ --- -title: Validate Credential +title: Validate an MCP OAuth Credential url: https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/mcp_oauth_validate --- -# Validate Credential +# Validate an MCP OAuth Credential `$ ant beta:vaults:credentials mcp-oauth-validate` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential ## Parameters @@ -49,11 +49,11 @@ Validate Credential - `mcp_probe: object` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: object` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: string` @@ -133,11 +133,11 @@ Validate Credential - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: string` diff --git a/content/en/api/cli/beta/vaults/credentials/retrieve.md b/content/en/api/cli/beta/vaults/credentials/retrieve.md index e52cedca56..1e13d2be5c 100644 --- a/content/en/api/cli/beta/vaults/credentials/retrieve.md +++ b/content/en/api/cli/beta/vaults/credentials/retrieve.md @@ -1,15 +1,15 @@ --- -title: Get Credential +title: Retrieve a Credential url: https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/retrieve --- -# Get Credential +# Retrieve a Credential `$ ant beta:vaults:credentials retrieve` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential ## Parameters @@ -41,7 +41,7 @@ Get Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -65,7 +65,7 @@ Get Credential - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -75,7 +75,7 @@ Get Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -155,7 +155,9 @@ Get Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` diff --git a/content/en/api/cli/beta/vaults/credentials/update.md b/content/en/api/cli/beta/vaults/credentials/update.md index 618db2ddb5..e79a1f5df1 100644 --- a/content/en/api/cli/beta/vaults/credentials/update.md +++ b/content/en/api/cli/beta/vaults/credentials/update.md @@ -1,15 +1,15 @@ --- -title: Update Credential +title: Update a Credential url: https://platform.claude.com/docs/en/api/cli/beta/vaults/credentials/update --- -# Update Credential +# Update a Credential `$ ant beta:vaults:credentials update` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential ## Parameters @@ -23,7 +23,7 @@ Update Credential - `--auth: optional BetaManagedAgentsMCPOAuthUpdateParams or BetaManagedAgentsStaticBearerUpdateParams or BetaManagedAgentsEnvironmentVariableUpdateParams` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `--display-name: optional string` @@ -55,7 +55,7 @@ Update Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string` @@ -79,7 +79,7 @@ Update Credential - `expires_at: optional string` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -89,7 +89,7 @@ Update Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -169,7 +169,9 @@ Update Credential - `allowed_hosts: array of string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` diff --git a/content/en/api/cli/beta/vaults/delete.md b/content/en/api/cli/beta/vaults/delete.md index 4200417998..f079ee4905 100644 --- a/content/en/api/cli/beta/vaults/delete.md +++ b/content/en/api/cli/beta/vaults/delete.md @@ -1,15 +1,15 @@ --- -title: Delete Vault +title: Delete a Vault url: https://platform.claude.com/docs/en/api/cli/beta/vaults/delete --- -# Delete Vault +# Delete a Vault `$ ant beta:vaults delete` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault ## Parameters @@ -37,7 +37,7 @@ Delete Vault - `id: string` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ## Example diff --git a/content/en/api/cli/beta/vaults/list.md b/content/en/api/cli/beta/vaults/list.md index 28d5898c4a..17753bb5a2 100644 --- a/content/en/api/cli/beta/vaults/list.md +++ b/content/en/api/cli/beta/vaults/list.md @@ -15,7 +15,7 @@ List Vaults - `--include-archived: optional boolean` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `--limit: optional number` (query parameter) @@ -25,7 +25,7 @@ List Vaults - `--page: optional string` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=cli) response, to get the next page. Leave it out to get the first page. - `--beta: optional array of AnthropicBeta` (header parameter) @@ -45,13 +45,13 @@ List Vaults - `data: optional array of BetaManagedAgentsVault` - List of vaults. + The vaults on this page, newest first. - `type: "vault"` - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string` diff --git a/content/en/api/cli/beta/vaults/retrieve.md b/content/en/api/cli/beta/vaults/retrieve.md index 6534a367a8..589ab9bafa 100644 --- a/content/en/api/cli/beta/vaults/retrieve.md +++ b/content/en/api/cli/beta/vaults/retrieve.md @@ -1,15 +1,15 @@ --- -title: Get Vault +title: Retrieve a Vault url: https://platform.claude.com/docs/en/api/cli/beta/vaults/retrieve --- -# Get Vault +# Retrieve a Vault `$ ant beta:vaults retrieve` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault ## Parameters @@ -37,7 +37,7 @@ Get Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string` diff --git a/content/en/api/cli/beta/vaults/update.md b/content/en/api/cli/beta/vaults/update.md index 4cd30746f3..1256c5e67c 100644 --- a/content/en/api/cli/beta/vaults/update.md +++ b/content/en/api/cli/beta/vaults/update.md @@ -1,15 +1,15 @@ --- -title: Update Vault +title: Update a Vault url: https://platform.claude.com/docs/en/api/cli/beta/vaults/update --- -# Update Vault +# Update a Vault `$ ant beta:vaults update` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault ## Parameters @@ -47,7 +47,7 @@ Update Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string` diff --git a/content/en/api/cli/models.md b/content/en/api/cli/models.md index 14f88a97bb..dff2d2508b 100644 --- a/content/en/api/cli/models.md +++ b/content/en/api/cli/models.md @@ -243,9 +243,17 @@ The Models API response can be used to determine which models are available for Whether this capability is supported by the model. + - `between_tools: object` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + + - `supported: boolean` + + Whether this capability is supported by the model. + - `disabled: object` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `supported: boolean` @@ -407,6 +415,9 @@ ant models list \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -651,9 +662,17 @@ The Models API response can be used to determine information about a specific mo Whether this capability is supported by the model. + - `between_tools: object` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + + - `supported: boolean` + + Whether this capability is supported by the model. + - `disabled: object` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `supported: boolean` @@ -802,6 +821,9 @@ ant models retrieve \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1097,9 +1119,17 @@ ant models retrieve \ Whether this capability is supported by the model. + - `between_tools: object` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + + - `supported: boolean` + + Whether this capability is supported by the model. + - `disabled: object` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `supported: boolean` @@ -1303,9 +1333,17 @@ ant models retrieve \ Whether this capability is supported by the model. + - `between_tools: object` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + + - `supported: boolean` + + Whether this capability is supported by the model. + - `disabled: object` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `supported: boolean` @@ -1441,9 +1479,17 @@ ant models retrieve \ Whether this capability is supported by the model. + - `between_tools: object` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + + - `supported: boolean` + + Whether this capability is supported by the model. + - `disabled: object` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `supported: boolean` @@ -1471,9 +1517,17 @@ ant models retrieve \ Whether this capability is supported by the model. + - `between_tools: object` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + + - `supported: boolean` + + Whether this capability is supported by the model. + - `disabled: object` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `supported: boolean` diff --git a/content/en/api/cli/models/list.md b/content/en/api/cli/models/list.md index 7ad48f7b3e..c5397f2039 100644 --- a/content/en/api/cli/models/list.md +++ b/content/en/api/cli/models/list.md @@ -241,9 +241,17 @@ The Models API response can be used to determine which models are available for Whether this capability is supported by the model. + - `between_tools: object` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + + - `supported: boolean` + + Whether this capability is supported by the model. + - `disabled: object` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `supported: boolean` @@ -405,6 +413,9 @@ ant models list \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/cli/models/retrieve.md b/content/en/api/cli/models/retrieve.md index d62d884919..462e1fbf69 100644 --- a/content/en/api/cli/models/retrieve.md +++ b/content/en/api/cli/models/retrieve.md @@ -221,9 +221,17 @@ The Models API response can be used to determine information about a specific mo Whether this capability is supported by the model. + - `between_tools: object` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + + - `supported: boolean` + + Whether this capability is supported by the model. + - `disabled: object` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `supported: boolean` @@ -372,6 +380,9 @@ ant models retrieve \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/compliance.md b/content/en/api/compliance.md index b8483ea2ff..3352375364 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 "admin_api_key_created" or 525 more` +- `activity_types: optional array of "abuse_decision_received" or "account_deleted" or "admin_api_key_created" or 533 more` Filter activities by type. See the response `data` schema for the additional fields each type returns. Cannot be combined with `exclude_activity_types[]`. @@ -575,10 +575,18 @@ compliance activities that can be filtered by various criteria. A security scan of a plugin completed and produced a verdict. + - `"claude_plugin_served_version_updated"` + + 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. + - `"claude_plugin_updated"` Plugin was updated. + - `"claude_plugin_version_created"` + + A new version of a plugin was created. + - `"claude_project_archived"` A Claude project was archived. @@ -1283,6 +1291,14 @@ compliance activities that can be filtered by various criteria. An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. + - `"org_hipaa_claude_code_cowork_restrictions_deferred"` + + 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. + + - `"org_hipaa_claude_code_cowork_restrictions_enabled"` + + The HIPAA configuration was applied to Claude Code (local mode) and Cowork (local mode) for the organization. + - `"org_hipaa_self_serve_enabled"` A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. @@ -1343,10 +1359,26 @@ compliance activities that can be filtered by various criteria. Admin bulk-dismissed join requests. + - `"org_library_submission_created"` + + A member submitted one of their own skills or plugins for publication into the organization library. + + - `"org_library_submission_resolved"` + + A member's submission of a skill or plugin to the organization library was accepted or denied, or an accepted one finished publishing. + + - `"org_library_submission_withdrawn"` + + A pending submission to the organization library was withdrawn before any reviewer decided on it. + - `"org_magic_link_second_factor_toggled"` Organization magic link second factor was toggled. + - `"org_member_avatar_removed"` + + An administrator removed another member's profile picture. + - `"org_member_invites_disabled"` Admin disabled member invites for the organization. @@ -2190,7 +2222,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 "admin_api_key_created" or 525 more` +- `exclude_activity_types: optional array of "abuse_decision_received" or "account_deleted" or "admin_api_key_created" or 533 more` Exclude activities of these types. Cannot be combined with `activity_types[]`. @@ -2746,10 +2778,18 @@ compliance activities that can be filtered by various criteria. A security scan of a plugin completed and produced a verdict. + - `"claude_plugin_served_version_updated"` + + 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. + - `"claude_plugin_updated"` Plugin was updated. + - `"claude_plugin_version_created"` + + A new version of a plugin was created. + - `"claude_project_archived"` A Claude project was archived. @@ -3454,6 +3494,14 @@ compliance activities that can be filtered by various criteria. An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. + - `"org_hipaa_claude_code_cowork_restrictions_deferred"` + + 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. + + - `"org_hipaa_claude_code_cowork_restrictions_enabled"` + + The HIPAA configuration was applied to Claude Code (local mode) and Cowork (local mode) for the organization. + - `"org_hipaa_self_serve_enabled"` A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. @@ -3514,10 +3562,26 @@ compliance activities that can be filtered by various criteria. Admin bulk-dismissed join requests. + - `"org_library_submission_created"` + + A member submitted one of their own skills or plugins for publication into the organization library. + + - `"org_library_submission_resolved"` + + A member's submission of a skill or plugin to the organization library was accepted or denied, or an accepted one finished publishing. + + - `"org_library_submission_withdrawn"` + + A pending submission to the organization library was withdrawn before any reviewer decided on it. + - `"org_magic_link_second_factor_toggled"` Organization magic link second factor was toggled. + - `"org_member_avatar_removed"` + + An administrator removed another member's profile picture. + - `"org_member_invites_disabled"` Admin disabled member invites for the organization. @@ -4359,7 +4423,7 @@ compliance activities that can be filtered by various criteria. #### Returns -- `data: optional array of AbuseDecisionReceived or AccountDeleted or AdminAPIKeyCreated or 525 more` +- `data: optional array of AbuseDecisionReceived or AccountDeleted or AdminAPIKeyCreated or 533 more` List of activity records. Each element's `type` field identifies which activity it is and which additional fields are present. @@ -9027,10 +9091,26 @@ compliance activities that can be filtered by various criteria. 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. + + - `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`. @@ -9039,6 +9119,22 @@ compliance activities that can be filtered by various criteria. 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. @@ -34807,13 +34903,13 @@ compliance activities that can be filtered by various criteria. - `"user_action"` - - `ClaudeProjectSyncSourceCreated object` + - `ClaudePluginServedVersionUpdated object` - A sync source was connected to a Claude project's knowledge base. + 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_project_sync_source_created"` + - `type: optional "claude_plugin_served_version_updated"` - default: claude_project_sync_source_created + default: claude_plugin_served_version_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -35021,17 +35117,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_project_id: string` + - `marketplace_id: string` - Tagged ID of the project the sync source was connected to. + The marketplace the plugin belongs to. - - `claude_project_sync_source_id: string` + - `plugin_id: string` - Tagged ID of the per-project sync source that was created. + The plugin whose served version was updated. - - `provider: string` + - `to_plugin_version_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 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` @@ -35043,6 +35151,10 @@ compliance activities that can be filtered by various criteria. 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 @@ -35051,17 +35163,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudePluginVersionCreated 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 new version of a plugin was created. - - `ClaudeProjectSyncSourceDeleted object` + - `type: optional "claude_plugin_version_created"` - 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_plugin_version_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -35269,22 +35377,42 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_project_id: string` + - `is_initial_version: boolean` - Tagged ID of the project the sync source was disconnected from. + Whether this version also created the plugin (its first version). - - `claude_project_sync_source_id: string` + - `marketplace_id: string` - Tagged ID of the per-project sync source that was deleted. + The marketplace the plugin belongs to. - - `provider: string` + - `origin: "library_publish" or "marketplace_sync" or "unspecified" or "upload"` - The external provider backing the sync source. Always `unspecified` for deletion events. + 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' + - `became_served_version: optional boolean or null` + + 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` When this activity occurred. @@ -35299,13 +35427,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeProjectSyncSourceCreated object` - A Claude project sync source's configuration was updated. + A sync source was connected to a Claude project's knowledge base. - - `type: optional "claude_project_sync_source_updated"` + - `type: optional "claude_project_sync_source_created"` - default: claude_project_sync_source_updated + default: claude_project_sync_source_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -35515,11 +35643,11 @@ compliance activities that can be filtered by various criteria. - `claude_project_id: string` - Tagged ID of the project the sync source belongs to. + Tagged ID of the project the sync source was connected to. - `claude_project_sync_source_id: string` - Tagged ID of the per-project sync source that was updated. + Tagged ID of the per-project sync source that was created. - `provider: string` @@ -35529,10 +35657,6 @@ compliance activities that can be filtered by various criteria. 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. @@ -35549,15 +35673,15 @@ compliance activities that can be filtered by various criteria. - `resource_descriptor: 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. + 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. - - `ClaudeSkillDownloaded object` + - `ClaudeProjectSyncSourceDeleted 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 sync source was disconnected from a Claude project's knowledge base. - - `type: optional "claude_skill_downloaded"` + - `type: optional "claude_project_sync_source_deleted"` - default: claude_skill_downloaded + default: claude_project_sync_source_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -35765,21 +35889,17 @@ 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"` + - `claude_project_id: string` - - `"file"` + Tagged ID of the project the sync source was disconnected from. - - `"instructions"` + - `claude_project_sync_source_id: string` - - `"unspecified"` + Tagged ID of the per-project sync source that was deleted. - - `skill_id: string` + - `provider: string` - The skill that was downloaded. + The external provider backing the sync source. Always `unspecified` for deletion events. - `id: optional string` @@ -35791,10 +35911,6 @@ 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 @@ -35803,39 +35919,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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. - - - `plugin_id: optional string or null` - - 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` + - `ClaudeProjectSyncSourceUpdated 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 project sync source's configuration was updated. - - `type: optional "claude_survey_closed"` + - `type: optional "claude_project_sync_source_updated"` - default: claude_survey_closed + default: claude_project_sync_source_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -36043,14 +36133,26 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `survey_id: string` + - `claude_project_id: string` - Tagged ID of the closed survey, e.g. "srvy_01HX...". + Tagged ID of the project the sync source belongs to. + + - `claude_project_sync_source_id: string` + + Tagged ID of the per-project sync source that was updated. + + - `provider: string` + + 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. @@ -36065,13 +36167,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). - - `ClaudeSurveyCreated object` + - `resource_descriptor: optional string or null` - An organization admin launched an in-app survey to its chosen audience, opening it immediately or at a scheduled start time. + 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_survey_created"` + - `ClaudeSkillDownloaded object` - default: claude_survey_created + 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` @@ -36279,33 +36385,25 @@ 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` + - `download_kind: "bundle" or "file" or "instructions" or "unspecified"` - The name the admin gave the survey. Not shown to members. + Whether the whole bundle, one file, or only the instructions were downloaded. - - `id: optional string` + - `"bundle"` - Unique identifier for the activity e.g. 'activity_abcd1234' + - `"file"` - - `audience_cost_centers: optional array of string` + - `"instructions"` - 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. + - `"unspecified"` - - `audience_departments: optional array of string` + - `skill_id: 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. + The skill that was downloaded. - - `audience_group_ids: optional array of string` + - `id: optional string` - Tagged IDs of the groups the survey was opened to, e.g. "rbac_group_01HX...". + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -36313,6 +36411,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 @@ -36321,13 +36423,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). - - `ClaudeSurveyDeleted object` + - `owner_user_id: optional string or null` - An organization admin permanently deleted a closed in-app survey together with every response collected for it. + The member who owns the skill; unset for an organization-owned skill. - - `type: optional "claude_survey_deleted"` + - `plugin_id: optional string or null` - default: claude_survey_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` @@ -36535,13 +36663,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `response_count: number` - - The number of submitted responses that were deleted with the survey. - - `survey_id: string` - Tagged ID of the deleted survey, e.g. "srvy_01HX...". + Tagged ID of the closed survey, e.g. "srvy_01HX...". - `id: optional string` @@ -36561,13 +36685,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeSurveyCreated 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. + An organization admin launched an in-app survey to its chosen audience, opening it immediately or at a scheduled start time. - - `type: optional "claude_survey_response_submitted"` + - `type: optional "claude_survey_created"` - default: claude_survey_response_submitted + default: claude_survey_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -36775,253 +36899,33 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `survey_id: string` - - Tagged ID of the survey that was answered, e.g. "srvy_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). - - - `ClaudeSurveyResponsesExported 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. - - - `type: optional "claude_survey_responses_exported"` - - default: claude_survey_responses_exported - - - `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` + - `all_members: boolean` - An attested mobile device authenticated via Apple App Attest. + 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. - - `type: optional "attested_device_actor"` + - `survey_id: string` - default: attested_device_actor + Tagged ID of the created survey, e.g. "srvy_01HX...". - - `external_client_id: string` + - `survey_name: string` - - `kid_hash: string` + The name the admin gave the survey. Not shown to members. - - `ip_address: optional string or null` + - `id: optional string` - - `user_agent: optional string or null` + Unique identifier for the activity e.g. 'activity_abcd1234' - - `response_count: number` + - `audience_cost_centers: optional array of string` - The number of submitted responses included in the export. + 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. - - `survey_id: string` + - `audience_departments: optional array of string` - Tagged ID of the exported survey, e.g. "srvy_01HX...". + 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. - - `id: optional string` + - `audience_group_ids: optional array of string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged IDs of the groups the survey was opened to, e.g. "rbac_group_01HX...". - `created_at: optional string` @@ -37037,13 +36941,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeSurveyDeleted object` - 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. + An organization admin permanently deleted a closed in-app survey together with every response collected for it. - - `type: optional "claude_user_seat_tier_updated"` + - `type: optional "claude_survey_deleted"` - default: claude_user_seat_tier_updated + default: claude_survey_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -37251,13 +37155,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_email: string` + - `response_count: number` - Email address of the member at the time of the change. + The number of submitted responses that were deleted with the survey. - - `user_id: string` + - `survey_id: string` - Tagged ID of the member whose seat tier changed. + Tagged ID of the deleted survey, e.g. "srvy_01HX...". - `id: optional string` @@ -37269,10 +37173,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 @@ -37281,17 +37181,737 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - The member's seat tier before this change, or null if no seat was assigned. - - - `CliPluginExecPolicyUpdated object` + - `ClaudeSurveyResponseSubmitted object` - Admin set or cleared the per-op permission ceiling for a plugin CLI. + 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 "cli_plugin_exec_policy_updated"` + - `type: optional "claude_survey_response_submitted"` - default: cli_plugin_exec_policy_updated + default: claude_survey_response_submitted + + - `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` + + - `survey_id: string` + + Tagged ID of the survey that was answered, e.g. "srvy_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). + + - `ClaudeSurveyResponsesExported 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. + + - `type: optional "claude_survey_responses_exported"` + + default: claude_survey_responses_exported + + - `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` + + - `response_count: number` + + 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` + + 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). + + - `ClaudeUserSeatTierUpdated object` + + 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 "claude_user_seat_tier_updated"` + + default: claude_user_seat_tier_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` + + - `user_email: string` + + Email address of the member at the time of the change. + + - `user_id: string` + + Tagged ID of the member whose seat tier changed. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + 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 + + - `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_seat_tier: optional string or null` + + The member's seat tier before this change, or null if no seat was assigned. + + - `CliPluginExecPolicyUpdated object` + + Admin set or cleared the per-op permission ceiling for a plugin CLI. + + - `type: optional "cli_plugin_exec_policy_updated"` + + default: cli_plugin_exec_policy_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -37995,13 +38615,1479 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `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. + + 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). + + - `ClaudeCommandReplaced object` + + Command was replaced. + + - `type: optional "claude_command_replaced"` + + default: claude_command_replaced + + - `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' + + - `command_id: optional string or null` + + - `command_name: optional string or null` + + - `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). + + - `ComplianceAPIAccessed object` + + Logging event auto-generated for each compliance API request. + + - `type: optional "compliance_api_accessed"` + + default: compliance_api_accessed + + - `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` + + - `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` + + HTTP status code + + - `url: string` + + Full URL that was requested, including any query 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` + + 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). + + - `request_body: optional string or null` + + Serialized JSON request body + + - `CoworkSessionUpdated object` + + A Cowork session was updated. + + - `type: optional "cowork_session_updated"` + + default: cowork_session_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` + + - `cowork_session_id: string` + + 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. + + 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). + + - `DesignProjectArtifactPublished 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. + + - `type: optional "design_project_artifact_published"` + + default: design_project_artifact_published + + - `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` + + - `design_project_id: string` + + The Design project whose content was published, e.g. "design_proj_01HX...". + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + 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 + + - `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). + + - `project_type: optional string or null` + + The project's type: "project", "template", or "design_system". + + - `DesignProjectCreated object` + + A Claude Design project was created. + + - `type: optional "design_project_created"` + + default: design_project_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` + + - `creation_method: string` + + How the project was created: "direct", "duplicate", "remix", or "template_from_project". + + - `design_project_id: string` + + The Design project that was created, e.g. "design_proj_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). + + - `project_type: optional string or null` + + The project type: "project", "template", or "design_system". + + - `source_project_id: optional string or null` + + The source project this was created from, when created via duplicate, remix, or template-from-project. Unset for direct creation. + + - `DesignProjectDeleted object` + + A Claude Design project was deleted. + + - `type: optional "design_project_deleted"` + + default: design_project_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` + + - `design_project_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The Design project that was deleted, e.g. "design_proj_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` @@ -38017,13 +40103,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `DesignProjectMemberAdded object` - Command was replaced. + A member was granted access to a Claude Design project. - - `type: optional "claude_command_replaced"` + - `type: optional "design_project_member_added"` - default: claude_command_replaced + default: design_project_member_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -38231,13 +40317,25 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `design_project_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The Design project the member was added to, e.g. "design_proj_01HX...". - - `command_id: optional string or null` + - `principal_id: string` - - `command_name: optional string or null` + 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' - `created_at: optional string` @@ -38253,13 +40351,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). - - `ComplianceAPIAccessed object` + - `project_type: optional string or null` - Logging event auto-generated for each compliance API request. + The project's type: "project", "template", or "design_system". - - `type: optional "compliance_api_accessed"` + - `DesignProjectMemberRemoved object` - default: compliance_api_accessed + A member's access to a Claude Design project was revoked. + + - `type: optional "design_project_member_removed"` + + default: design_project_member_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -38467,31 +40569,17 @@ 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"` + - `design_project_id: string` - - `"unspecified"` + The Design project the member was removed from, e.g. "design_proj_01HX...". - - `status_code: number` + - `principal_id: string` - HTTP status code + 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". - - `url: string` + - `principal_type: string` - Full URL that was requested, including any query 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` @@ -38511,17 +40599,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_body: optional string or null` + - `project_type: optional string or null` - Serialized JSON request body + The project's type: "project", "template", or "design_system". - - `CoworkSessionUpdated object` + - `DesignProjectMemberRoleUpdated object` - A Cowork session was updated. + A Claude Design project member's role was changed. - - `type: optional "cowork_session_updated"` + - `type: optional "design_project_member_role_updated"` - default: cowork_session_updated + default: design_project_member_role_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -38729,17 +40817,25 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `cowork_session_id: string` + - `design_project_id: string` - Tagged ID of the updated session, e.g. "sess_01HX...". + The Design project the member belongs to, e.g. "design_proj_01HX...". - - `id: optional string` + - `principal_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + 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". - - `claude_project_id: optional string or null` + - `principal_type: string` - 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. + 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' - `created_at: optional string` @@ -38755,13 +40851,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). - - `DesignProjectArtifactPublished object` + - `previous_role: optional string or null` - 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. + The member's role before the change. - - `type: optional "design_project_artifact_published"` + - `project_type: optional string or null` - default: design_project_artifact_published + 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` @@ -38971,7 +41075,7 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project whose content was published, e.g. "design_proj_01HX...". + The Design project that was published, e.g. "design_proj_01HX...". - `id: optional string` @@ -38983,10 +41087,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 @@ -38997,15 +41097,15 @@ compliance activities that can be filtered by various criteria. - `project_type: optional string or null` - The project's type: "project", "template", or "design_system". + The project's type: "template" or "design_system". - - `DesignProjectCreated object` + - `DesignProjectSharingUpdated object` - A Claude Design project was created. + 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 "design_project_created"` + - `type: optional "design_project_sharing_updated"` - default: design_project_created + default: design_project_sharing_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -39213,13 +41313,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `creation_method: string` + - `design_project_id: string` - How the project was created: "direct", "duplicate", "remix", or "template_from_project". + The Design project whose sharing settings changed, e.g. "design_proj_01HX...". - - `design_project_id: string` + - `new_link_permission: string` - The Design project that was created, e.g. "design_proj_01HX...". + 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` @@ -39239,21 +41343,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). - - `project_type: optional string or null` + - `previous_link_permission: optional string or null` - The project type: "project", "template", or "design_system". + What people opening the project through its link could do before the change. - - `source_project_id: optional string or null` + - `previous_scope: optional string or null` - The source project this was created from, when created via duplicate, remix, or template-from-project. Unset for direct creation. + 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. - - `DesignProjectDeleted object` + - `project_type: optional string or null` - A Claude Design project was deleted. + The project's type: "project", "template", or "design_system". - - `type: optional "design_project_deleted"` + - `DesignProjectUnpublished object` - default: design_project_deleted + 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` @@ -39463,7 +41571,7 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project that was deleted, e.g. "design_proj_01HX...". + The Design project that was unpublished, e.g. "design_proj_01HX...". - `id: optional string` @@ -39483,13 +41591,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` + - `project_type: optional string or null` - A member was granted access to a Claude Design project. + The project's type: "template" or "design_system". - - `type: optional "design_project_member_added"` + - `DesignProjectUpdated object` - default: design_project_member_added + 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` @@ -39699,19 +41811,7 @@ compliance activities that can be filtered by various criteria. - `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. + The Design project that was updated, e.g. "design_proj_01HX...". - `id: optional string` @@ -39733,15 +41833,19 @@ compliance activities that can be filtered by various criteria. - `project_type: optional string or null` - The project's type: "project", "template", or "design_system". + The project's type after the update: "project", "template", or "design_system". Present only when the update changed it. - - `DesignProjectMemberRemoved object` + - `updated_fields: optional array of string` - A member's access to a Claude Design project was revoked. + Names of the fields changed by this update, e.g. "name", "description", "project_type", "design_systems". - - `type: optional "design_project_member_removed"` + - `DesignProjectVersionRestored object` - default: design_project_member_removed + 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` @@ -39951,15 +42055,7 @@ compliance activities that can be filtered by various criteria. - `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). + The Design project that was restored, e.g. "design_proj_01HX...". - `id: optional string` @@ -39983,13 +42079,17 @@ compliance activities that can be filtered by various criteria. The project's type: "project", "template", or "design_system". - - `DesignProjectMemberRoleUpdated object` + - `DesignProjectViewed object` - A Claude Design project member's role was changed. + 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. - - `type: optional "design_project_member_role_updated"` + 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. - default: design_project_member_role_updated + - `type: optional "design_project_viewed"` + + default: design_project_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40199,24 +42299,20 @@ compliance activities that can be filtered by various criteria. - `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). + The Design project whose content was read, e.g. "design_proj_01HX...". - - `role: string` + - `surface: string` - The member's role after the change: "viewer", "commenter", or "editor". + 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. @@ -40231,21 +42327,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` - - The member's role before the change. - - `project_type: optional string or null` The project's type: "project", "template", or "design_system". - - `DesignProjectPublished object` + - `DesktopExtensionAllowlisted object` - A Claude Design template or design system was published, making it discoverable by everyone in its organization. + A desktop extension was added to an org's allowlist. - - `type: optional "design_project_published"` + - `type: optional "desktop_extension_allowlisted"` - default: design_project_published + default: desktop_extension_allowlisted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40453,14 +42545,26 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` + - `extension_id: string` - The Design project that was published, e.g. "design_proj_01HX...". + Allowlisted DXT extension ID - `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. @@ -40475,17 +42579,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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: "template" or "design_system". - - - `DesignProjectSharingUpdated object` + - `DesktopExtensionBlocklisted 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 desktop extension was added to the global blocklist. - - `type: optional "design_project_sharing_updated"` + - `type: optional "desktop_extension_blocklisted"` - default: design_project_sharing_updated + default: desktop_extension_blocklisted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40693,17 +42793,9 @@ 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` + - `extension_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. + Blocklisted DXT extension ID - `id: optional string` @@ -40723,25 +42815,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `DesktopExtensionDeleted object` - A Claude Design template or design system was unpublished, removing it from its organization's shared gallery. + A desktop extension was deleted, either globally by an admin or org-scoped by an org owner. - - `type: optional "design_project_unpublished"` + - `type: optional "desktop_extension_deleted"` - default: design_project_unpublished + default: desktop_extension_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40949,9 +43029,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` + - `extension_id: string` - The Design project that was unpublished, e.g. "design_proj_01HX...". + DXT extension ID - `id: optional string` @@ -40971,17 +43051,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` + - `version: optional string or null` - The project's type: "template" or "design_system". + Specific version deleted (null if all versions) - - `DesignProjectUpdated object` + - `DesktopExtensionRemovedFromAllowlist object` - A Claude Design project's metadata was updated. + A desktop extension was removed from an org's allowlist. - - `type: optional "design_project_updated"` + - `type: optional "desktop_extension_removed_from_allowlist"` - default: design_project_updated + default: desktop_extension_removed_from_allowlist - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41189,9 +43269,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` + - `extension_id: string` - The Design project that was updated, e.g. "design_proj_01HX...". + DXT extension ID removed from allowlist - `id: optional string` @@ -41211,21 +43291,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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 after the update: "project", "template", or "design_system". Present only when the update changed it. - - - `updated_fields: optional array of string` - - Names of the fields changed by this update, e.g. "name", "description", "project_type", "design_systems". - - - `DesignProjectVersionRestored object` + - `DesktopExtensionUnblocked 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 desktop extension was removed from the global blocklist. - - `type: optional "design_project_version_restored"` + - `type: optional "desktop_extension_unblocked"` - default: design_project_version_restored + default: desktop_extension_unblocked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41433,9 +43505,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` + - `extension_id: string` - The Design project that was restored, e.g. "design_proj_01HX...". + Unblocked DXT extension ID - `id: optional string` @@ -41455,21 +43527,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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. + - `DesktopExtensionUploaded 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 desktop extension was uploaded, either globally by an admin or org-scoped by an org owner. - - `type: optional "design_project_viewed"` + - `type: optional "desktop_extension_uploaded"` - default: design_project_viewed + default: desktop_extension_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41677,21 +43741,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `design_project_id: string` + - `extension_id: string` - The Design project whose content was read, e.g. "design_proj_01HX...". + DXT extension ID - - `surface: string` + - `version: 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). + Version string from the manifest - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `access_via: optional string or null` + - `attestations: optional array of object` - 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). + 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` @@ -41707,17 +43779,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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". - - - `DesktopExtensionAllowlisted object` + - `DesktopExtensionVersionUploaded object` - A desktop extension was added to an org's allowlist. + A new version of an existing org-owned desktop extension was uploaded. - - `type: optional "desktop_extension_allowlisted"` + - `type: optional "desktop_extension_version_uploaded"` - default: desktop_extension_allowlisted + default: desktop_extension_version_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41927,7 +43995,11 @@ compliance activities that can be filtered by various criteria. - `extension_id: string` - Allowlisted DXT extension ID + DXT extension ID + + - `version: string` + + Version string from the manifest - `id: optional string` @@ -41959,13 +44031,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `InferenceHooksConfigDeleted object` - A desktop extension was added to the global blocklist. + Inference hooks configuration was removed for the organization. - - `type: optional "desktop_extension_blocklisted"` + - `type: optional "inference_hooks_config_deleted"` - default: desktop_extension_blocklisted + default: inference_hooks_config_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -42173,10 +44245,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` - - Blocklisted DXT extension ID - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -42195,13 +44263,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `InferenceHooksConfigUpdated object` - A desktop extension was deleted, either globally by an admin or org-scoped by an org owner. + Inference hooks configuration was created or updated for the organization. - - `type: optional "desktop_extension_deleted"` + - `type: optional "inference_hooks_config_updated"` - default: desktop_extension_deleted + default: inference_hooks_config_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -42409,9 +44477,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` + - `enabled: boolean` - DXT extension ID + 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` + + 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` @@ -42423,6 +44511,18 @@ 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 @@ -42431,17 +44531,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). - - `version: optional string or null` + - `reset_circuit_breaker: optional boolean or null` - Specific version deleted (null if all versions) + 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. - - `DesktopExtensionRemovedFromAllowlist object` + - `rollout_percentage: optional number or null` - A desktop extension was removed from an org's allowlist. + 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. - - `type: optional "desktop_extension_removed_from_allowlist"` + - `shadow_mode: optional boolean or null` - default: desktop_extension_removed_from_allowlist + 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` + + 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` @@ -42649,9 +44761,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` + - `rotated: boolean` - DXT extension ID removed from allowlist + 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` @@ -42671,13 +44783,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `DomainClaimInitiated object` - A desktop extension was removed from the global blocklist. + Domain capture claim initiated over personal accounts on verified domains. - - `type: optional "desktop_extension_unblocked"` + - `type: optional "domain_claim_initiated"` - default: desktop_extension_unblocked + default: domain_claim_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -42885,10 +44997,6 @@ 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' @@ -42907,13 +45015,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `EndUserInviteRequested object` - A desktop extension was uploaded, either globally by an admin or org-scoped by an org owner. + Non-admin member submitted an invite request for a new org member. - - `type: optional "desktop_extension_uploaded"` + - `type: optional "end_user_invite_requested"` - default: desktop_extension_uploaded + default: end_user_invite_requested - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43121,30 +45229,12 @@ 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 + - `invitee_email: string` - `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. @@ -43159,13 +45249,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ExtraUsageBillingEnabled object` - A new version of an existing org-owned desktop extension was uploaded. + Usage credit billing was enabled for an organization. - - `type: optional "desktop_extension_version_uploaded"` + - `type: optional "extra_usage_billing_enabled"` - default: desktop_extension_version_uploaded + default: extra_usage_billing_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43373,30 +45463,10 @@ 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. @@ -43411,13 +45481,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ExtraUsageCreditGranted object` - Inference hooks configuration was removed for the organization. + A promotional usage credit grant was claimed. - - `type: optional "inference_hooks_config_deleted"` + - `type: optional "extra_usage_credit_granted"` - default: inference_hooks_config_deleted + default: extra_usage_credit_granted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43643,13 +45713,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ExtraUsageSpendLimitCreated object` - Inference hooks configuration was created or updated for the organization. + Usage credit spend limit was created. - - `type: optional "inference_hooks_config_updated"` + - `type: optional "extra_usage_spend_limit_created"` - default: inference_hooks_config_updated + default: extra_usage_spend_limit_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43857,51 +45927,27 @@ 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` - - 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' + - `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 - - `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` + - `is_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. + Whether the spend limit is enabled. - - `extra_header_names: optional array of string or null` + - `limit_type: optional 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. + The type of spend limit created (e.g. organization, seat_tier, member, service, group). - `organization_id: optional string or null` @@ -43911,29 +45957,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). - - `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. + - `spend_limit_id: optional string or null` - - `shadow_mode: optional boolean or null` + Tagged ID of the spend limit. - 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. + - `user_id: optional string or null` - - `validate_tool_calls: optional boolean or null` + **Deprecated** - 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. + Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. - - `InferenceHooksSigningSecretGenerated object` + - `ExtraUsageSpendLimitDeleted object` - A request signing secret was generated for the organization's Inference hooks configuration. + Usage credit spend limit was deleted. - - `type: optional "inference_hooks_signing_secret_generated"` + - `type: optional "extra_usage_spend_limit_deleted"` - default: inference_hooks_signing_secret_generated + default: extra_usage_spend_limit_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44141,10 +46181,6 @@ 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' @@ -44163,13 +46199,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). - - `DomainClaimInitiated object` + - `spend_limit_id: optional string or null` - Domain capture claim initiated over personal accounts on verified domains. + Tagged ID of the spend limit. - - `type: optional "domain_claim_initiated"` + - `user_id: optional string or null` - default: domain_claim_initiated + **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` + + A usage credit spend limit increase request was approved. + + - `type: optional "extra_usage_spend_limit_increase_request_approved"` + + default: extra_usage_spend_limit_increase_request_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44381,6 +46427,10 @@ 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. @@ -44395,13 +46445,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). - - `EndUserInviteRequested object` + - `requester_user_id: optional string or null` - Non-admin member submitted an invite request for a new org member. + Tagged ID of the member who requested the increase, e.g. "user_01HX...". - - `type: optional "end_user_invite_requested"` + - `spend_limit_id: optional string or null` - default: end_user_invite_requested + 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` @@ -44609,8 +46671,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `invitee_email: string` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -44629,13 +46689,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). - - `ExtraUsageBillingEnabled object` + - `requester_user_id: optional string or null` - Usage credit billing was enabled for an organization. + Tagged ID of the member who requested the increase, e.g. "user_01HX...". - - `type: optional "extra_usage_billing_enabled"` + - `spend_limit_increase_request_id: optional string or null` - default: extra_usage_billing_enabled + 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` @@ -44847,12 +46915,24 @@ 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 @@ -44861,13 +46941,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). - - `ExtraUsageCreditGranted object` + - `spend_limit_id: optional string or null` - A promotional usage credit grant was claimed. + Tagged ID of the spend limit. - - `type: optional "extra_usage_credit_granted"` + - `user_id: optional string or null` - default: extra_usage_credit_granted + **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` @@ -45075,6 +47165,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 deleted, e.g. "claude_file_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -45093,13 +47187,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). - - `ExtraUsageSpendLimitCreated object` + - `filename: optional string or null` - Usage credit spend limit was created. + **Deprecated** - - `type: optional "extra_usage_spend_limit_created"` + No longer populated. The name can't be looked up once the file is deleted. - default: extra_usage_spend_limit_created + - `ClaudeFileUploaded object` + + A file was uploaded. + + - `type: optional "claude_file_uploaded"` + + default: claude_file_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45307,13 +47407,21 @@ 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' - - `amount: optional number or null` + - `claude_chat_id: optional string or null` - The monthly credit limit amount in minor units (e.g. cents). + 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` @@ -45321,14 +47429,6 @@ compliance activities that can be filtered by various criteria. 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 created (e.g. organization, seat_tier, member, service, group). - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -45337,23 +47437,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). - - `spend_limit_id: optional string or null` - - Tagged ID of the spend limit. - - - `user_id: optional string or null` + - `filename: 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. + No longer populated: the feed carries the object id; resolve the name via the Compliance API. - - `ExtraUsageSpendLimitDeleted object` + - `GheConfigurationCreated object` - Usage credit spend limit was deleted. + Admin created a GHE configuration. - - `type: optional "extra_usage_spend_limit_deleted"` + - `type: optional "ghe_configuration_created"` - default: extra_usage_spend_limit_deleted + default: ghe_configuration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45561,6 +47657,10 @@ 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' @@ -45571,6 +47671,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 GitHub Enterprise instance + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -45579,23 +47687,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` - - Tagged ID of the spend limit. - - - `user_id: optional string or null` - - **Deprecated** + - `port: optional number or null` - Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. + Custom port, if not the HTTPS default - - `ExtraUsageSpendLimitIncreaseRequestApproved object` + - `GheConfigurationDeleted object` - A usage credit spend limit increase request was approved. + Admin deleted a GHE configuration. - - `type: optional "extra_usage_spend_limit_increase_request_approved"` + - `type: optional "ghe_configuration_deleted"` - default: extra_usage_spend_limit_increase_request_approved + default: ghe_configuration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45803,13 +47905,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `ghe_configuration_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + ID of the GHE configuration - - `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` @@ -45817,33 +47919,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 the configuration had when deleted - - `organization_uuid: optional string or null` + - `hostname: 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). + Hostname of the GitHub Enterprise instance - - `requester_user_id: optional string or null` + - `organization_id: optional string or null` - Tagged ID of the member who requested the increase, e.g. "user_01HX...". + Organization ID this activity is associated with - - `spend_limit_id: optional string or null` + - `organization_uuid: optional string or null` - Tagged ID of the member's spend limit that the approval created or updated. + Organization UUID where the 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_increase_request_id: optional string or null` + - `port: optional number or null` - Tagged ID of the spend limit increase request that was approved. + Custom port, if not the HTTPS default - - `ExtraUsageSpendLimitIncreaseRequestDenied object` + - `GheConfigurationUpdated object` - A usage credit spend limit increase request was denied. + 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 "extra_usage_spend_limit_increase_request_denied"` + - `type: optional "ghe_configuration_updated"` - default: extra_usage_spend_limit_increase_request_denied + default: ghe_configuration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -46051,6 +48153,10 @@ 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' @@ -46061,6 +48167,38 @@ 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 @@ -46069,21 +48207,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). - - `requester_user_id: optional string or null` + - `port: optional number or null` - Tagged ID of the member who requested the increase, e.g. "user_01HX...". + New port, when it changed - - `spend_limit_increase_request_id: optional string or null` + - `previous_display_name: optional string or null` - Tagged ID of the spend limit increase request that was denied. + Display name before the change, when it changed - - `ExtraUsageSpendLimitUpdated object` + - `previous_github_app_client_id: optional string or null` - Usage credit spend limit was updated. + GitHub App client ID before the change, when it changed - - `type: optional "extra_usage_spend_limit_updated"` + - `previous_github_app_id: optional number or null` - default: extra_usage_spend_limit_updated + 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` @@ -46295,23 +48457,15 @@ 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` + - `ghe_configuration_id: optional string or null` - The type of spend limit updated (e.g. organization, seat_tier, member, service, group). + ID of the GHE configuration - `organization_id: optional string or null` @@ -46321,23 +48475,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GheUserDisconnected object` - A file was deleted. + User disconnected from a GHE instance. - - `type: optional "claude_file_deleted"` + - `type: optional "ghe_user_disconnected"` - default: claude_file_deleted + default: ghe_user_disconnected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -46545,10 +48689,6 @@ 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...". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -46559,6 +48699,10 @@ 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 @@ -46567,19 +48711,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GheWebhookSignatureInvalid object` - A file was uploaded. + Webhook signature validation failed. - - `type: optional "claude_file_uploaded"` + - `type: optional "ghe_webhook_signature_invalid"` - default: claude_file_uploaded + default: ghe_webhook_signature_invalid - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -46787,22 +48925,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_file_id: string` + - `ghe_configuration_id: string` - Tagged ID of the file that was uploaded, e.g. "claude_file_01HX...". + ID of the GHE configuration - `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. @@ -46817,19 +48947,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeGitHubIntegrationCreated object` - Admin created a GHE configuration. + A GitHub integration was enabled for the organization. - - `type: optional "ghe_configuration_created"` + - `type: optional "claude_github_integration_created"` - default: ghe_configuration_created + default: claude_github_integration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47037,47 +49161,63 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` + - `integration_id: string` - ID of the GHE 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' + - `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 - - `display_name: optional string or null` - - Display name given to the configuration - - - `hostname: optional string or null` + - `enabled: optional boolean or null` - Hostname of the GitHub Enterprise instance + 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). - - `port: optional number or null` + - `previous_enabled: optional boolean or null` - Custom port, if not the HTTPS default + Whether the integration was enabled before this change; null when the integration had never been configured. - - `GheConfigurationDeleted object` + - `repository_name: optional string or null` - Admin deleted a GHE configuration. + Name of the GitHub repository the integration is connected to, when known. - - `type: optional "ghe_configuration_deleted"` + - `ClaudeGitHubIntegrationDeleted object` - default: ghe_configuration_deleted + A GitHub integration was disabled for the organization. + + - `type: optional "claude_github_integration_deleted"` + + default: claude_github_integration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47285,9 +49425,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` + - `integration_id: string` - ID of the GHE configuration + Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -47299,33 +49439,37 @@ 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` + - `enabled: optional boolean or null` - Hostname of the GitHub Enterprise instance + 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). - - `port: optional number or null` + - `previous_enabled: optional boolean or null` - Custom port, if not the HTTPS default + Whether the integration was enabled before this change; null when the integration had never been configured. - - `GheConfigurationUpdated object` + - `repository_name: 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. + Name of the GitHub repository the integration was connected to, when known. - - `type: optional "ghe_configuration_updated"` + - `ClaudeGitHubIntegrationUpdated object` - default: ghe_configuration_updated + 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` @@ -47533,9 +49677,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` + - `integration_id: string` - ID of the GHE configuration + Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -47547,85 +49691,29 @@ 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 - - `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` - - 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` + - `organization_name: optional string or null` - Port before the change, when it changed + Name of the GitHub organization the integration is connected to, when known. - - `read_replica_hostnames_updated: optional boolean or null` + - `organization_uuid: optional string or null` - Whether the read replica hostnames were replaced in this update + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `webhook_secret_updated: optional boolean or null` + - `repository_name: optional string or null` - Whether the webhook secret was replaced in this update + Name of the GitHub repository the integration is connected to, when known. - - `GheUserConnected object` + - `GitHubAppInstallationLinked object` - User connected to a GHE instance. + 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 "ghe_user_connected"` + - `type: optional "github_app_installation_linked"` - default: ghe_user_connected + default: github_app_installation_linked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47833,6 +49921,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `github_installation_id: number` + + Numeric GitHub ID of the installation that was linked + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -47843,9 +49935,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `ghe_configuration_id: optional string or null` + - `github_account_login: optional string or null` - ID of the GHE configuration + 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` @@ -47855,13 +49951,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GitHubAppInstallationUnlinked object` - User disconnected from a GHE instance. + 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 "ghe_user_disconnected"` + - `type: optional "github_app_installation_unlinked"` - default: ghe_user_disconnected + default: github_app_installation_unlinked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48069,6 +50165,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `github_installation_id: number` + + Numeric GitHub ID of the installation that was unlinked + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -48079,9 +50179,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `ghe_configuration_id: optional string or null` + - `github_account_login: optional string or null` - ID of the GHE configuration + 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` @@ -48091,13 +50195,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GitHubTokenImport object` - Webhook signature validation failed. + 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 "ghe_webhook_signature_invalid"` + - `type: optional "github_token_import"` - default: ghe_webhook_signature_invalid + default: github_token_import - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48305,9 +50409,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` + - `result: "failed_internal" or "imported" or "rejected_feature_disabled" or 5 more` - ID of the GHE configuration + 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` @@ -48319,6 +50443,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 @@ -48327,13 +50459,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). - - `ClaudeGitHubIntegrationCreated object` + - `token_fingerprint_sha256: optional string or null` - A GitHub integration was enabled for the organization. + Org-scoped SHA-256 of the submitted token: `sha256(org_uuid || 0x00 || token)`, lowercase-hex-encoded, where `org_uuid` is the organization's UUID as a dashed lowercase string, `0x00` is a single zero byte, and `token` is the submitted value's raw bytes. Per-org correlation only — the same token in two orgs produces distinct fingerprints. Set only when the submitted value carries a known GitHub PAT prefix (a high-entropy token format); unset for all other submissions, including rejected non-PAT input. - - `type: optional "claude_github_integration_created"` + - `GitlabConfigurationCreated object` - default: claude_github_integration_created + 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` @@ -48541,63 +50677,47 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `gitlab_configuration_id: string` - Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + ID of the GitLab configuration - `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` + - `display_name: optional string or null` - Whether the integration is enabled after this change. + Display name given to the configuration - - `organization_id: optional string or null` + - `hostname: optional string or null` - Organization ID this activity is associated with + Hostname of the GitLab instance - - `organization_name: optional string or null` + - `organization_id: optional string or null` - Name of the GitHub organization the integration is connected to, when known. + 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_enabled: optional boolean or null` - - Whether the integration was enabled before this change; null when the integration had never been configured. - - - `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 - - `ClaudeGitHubIntegrationDeleted object` + - `GitlabConfigurationDeleted object` - A GitHub integration was disabled for the organization. + An organization admin deleted a self-managed GitLab configuration. - - `type: optional "claude_github_integration_deleted"` + - `type: optional "gitlab_configuration_deleted"` - default: claude_github_integration_deleted + default: gitlab_configuration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48805,9 +50925,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `gitlab_configuration_id: string` - Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + ID of the GitLab configuration - `id: optional string` @@ -48819,37 +50939,33 @@ compliance activities that can be filtered by various criteria. format: date-time - - `enabled: optional boolean or null` + - `display_name: optional string or null` - Whether the integration is enabled after this change. + Display name the configuration had when deleted - - `organization_id: optional string or null` + - `hostname: optional string or null` - Organization ID this activity is associated with + Hostname of the GitLab instance - - `organization_name: optional string or null` + - `organization_id: optional string or null` - Name of the GitHub organization the integration was connected to, when known. + 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_enabled: optional boolean or null` - - Whether the integration was enabled before this change; null when the integration had never been configured. - - - `repository_name: optional string or null` + - `port: optional number or null` - Name of the GitHub repository the integration was connected to, when known. + Custom port, if not the HTTPS default - - `ClaudeGitHubIntegrationUpdated object` + - `GitlabConfigurationUpdated object` - A GitHub integration's configuration was updated. + 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 "claude_github_integration_updated"` + - `type: optional "gitlab_configuration_updated"` - default: claude_github_integration_updated + default: gitlab_configuration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49057,43 +51173,71 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `gitlab_configuration_id: string` - Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + 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 - - `organization_id: optional string or null` + - `custom_ca_certificate_updated: optional boolean or null` - Organization ID this activity is associated with + Whether the custom CA certificate was replaced in this update - - `organization_name: optional string or null` + - `display_name: optional string or null` - Name of the GitHub organization the integration is connected to, when known. + 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` + + 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. + New port, when it changed - - `GitHubAppInstallationLinked object` + - `previous_display_name: optional string or null` - 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. + Display name before the change, when it changed - - `type: optional "github_app_installation_linked"` + - `previous_is_active: optional boolean or null` - default: github_app_installation_linked + 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` @@ -49301,27 +51445,35 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `github_installation_id: number` + - `integration_id: string` - Numeric GitHub ID of the installation that was linked + 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 - - `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` + - `folder_id: optional string or null` - Whether that GitHub account is an organization or a user account, as reported by GitHub ("Organization" or "User") + Identifier of the Google Drive folder the integration is connected to, when known. - `organization_id: optional string or null` @@ -49331,13 +51483,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeGdriveIntegrationDeleted object` - 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. + A Google Drive integration was disabled for the organization. - - `type: optional "github_app_installation_unlinked"` + - `type: optional "claude_gdrive_integration_deleted"` - default: github_app_installation_unlinked + default: claude_gdrive_integration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49545,9 +51697,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `github_installation_id: number` + - `integration_id: string` - Numeric GitHub ID of the installation that was unlinked + Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -49559,13 +51711,9 @@ 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` + - `folder_id: optional string or null` - Whether that GitHub account is an organization or a user account, as reported by GitHub ("Organization" or "User") + Identifier of the Google Drive folder the integration was connected to, when known. - `organization_id: optional string or null` @@ -49575,13 +51723,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeGdriveIntegrationUpdated object` - 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). + A Google Drive integration's configuration was updated. - - `type: optional "github_token_import"` + - `type: optional "claude_gdrive_integration_updated"` - default: github_token_import + default: claude_gdrive_integration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49789,29 +51937,9 @@ 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` + - `integration_id: string` - How the token was imported. + Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -49823,13 +51951,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` + - `folder_id: optional string or null` - The scopes granted to the imported token, when available. + Identifier of the Google Drive folder the integration is connected to, when known. - `organization_id: optional string or null` @@ -49839,17 +51963,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - Org-scoped SHA-256 of the submitted token: `sha256(org_uuid || 0x00 || token)`, lowercase-hex-encoded, where `org_uuid` is the organization's UUID as a dashed lowercase string, `0x00` is a single zero byte, and `token` is the submitted value's raw bytes. Per-org correlation only — the same token in two orgs produces distinct fingerprints. Set only when the submitted value carries a known GitHub PAT prefix (a high-entropy token format); unset for all other submissions, including rejected non-PAT input. - - - `GitlabConfigurationCreated object` + - `GroupCreated object` - An organization admin created a self-managed GitLab configuration for syncing plugin marketplaces. + A group was created (RBAC admin or SCIM provisioning). - - `type: optional "gitlab_configuration_created"` + - `type: optional "group_created"` - default: gitlab_configuration_created + default: group_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50057,9 +52177,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `gitlab_configuration_id: string` + - `group_id: string` - ID of the GitLab configuration + Tagged ID of the created group + + - `group_name: string` + + Name of the created group - `id: optional string` @@ -50071,14 +52195,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 GitLab instance - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -50087,17 +52203,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupDeleted object` - An organization admin deleted a self-managed GitLab configuration. + A group was deleted (RBAC admin or SCIM provisioning). - - `type: optional "gitlab_configuration_deleted"` + - `type: optional "group_deleted"` - default: gitlab_configuration_deleted + default: group_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50305,9 +52417,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `gitlab_configuration_id: string` + - `group_id: string` - ID of the GitLab configuration + Tagged ID of the deleted group - `id: optional string` @@ -50319,14 +52431,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 @@ -50335,17 +52439,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupListViewed 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. + Admin viewed the list of RBAC groups. - - `type: optional "gitlab_configuration_updated"` + - `type: optional "group_list_viewed"` - default: gitlab_configuration_updated + default: group_list_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50553,40 +52653,16 @@ 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' - - `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 - - `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 - - - `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` Organization ID this activity is associated with @@ -50595,29 +52671,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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_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` + - `GroupMemberAdded object` - A Google Drive integration was enabled for the organization. + One or more members were added to a group. - - `type: optional "claude_gdrive_integration_created"` + - `type: optional "group_member_added"` - default: claude_gdrive_integration_created + default: group_member_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50825,35 +52885,23 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `group_id: string` - Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". + Tagged ID of the group - `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` + - `member_ids: optional array of string` - Identifier of the Google Drive folder the integration is connected to, when known. + 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` @@ -50863,13 +52911,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupMemberAdditionFailed object` - A Google Drive integration was disabled for the organization. + A request to add members to a group failed. Some of the requested members may have been added before the failure. - - `type: optional "claude_gdrive_integration_deleted"` + - `type: optional "group_member_addition_failed"` - default: claude_gdrive_integration_deleted + default: group_member_addition_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51077,9 +53125,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `group_id: string` - Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". + Tagged ID of the group - `id: optional string` @@ -51091,9 +53139,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `folder_id: optional string or null` + - `member_ids: optional array of string` - Identifier of the Google Drive folder the integration was connected to, when known. + Tagged IDs of the members the request attempted to add - `organization_id: optional string or null` @@ -51103,13 +53151,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupMemberListViewed object` - A Google Drive integration's configuration was updated. + Admin viewed the members of an RBAC group. - - `type: optional "claude_gdrive_integration_updated"` + - `type: optional "group_member_list_viewed"` - default: claude_gdrive_integration_updated + default: group_member_list_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51317,9 +53365,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `group_id: string` - Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". + Tagged ID of the group - `id: optional string` @@ -51331,10 +53379,6 @@ 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 is connected to, when known. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -51343,13 +53387,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupMemberRemovalFailed object` - A group was created (RBAC admin or SCIM provisioning). + A request to remove members from a group failed. Some of the requested members may have been removed before the failure. - - `type: optional "group_created"` + - `type: optional "group_member_removal_failed"` - default: group_created + default: group_member_removal_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51559,11 +53603,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the created group - - - `group_name: string` - - Name of the created group + Tagged ID of the group - `id: optional string` @@ -51575,6 +53615,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 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` Organization ID this activity is associated with @@ -51583,13 +53627,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupMemberRemoved object` - A group was deleted (RBAC admin or SCIM provisioning). + One or more members were removed from a group. - - `type: optional "group_deleted"` + - `type: optional "group_member_removed"` - default: group_deleted + default: group_member_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51799,7 +53843,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the deleted group + Tagged ID of the group - `id: optional string` @@ -51811,6 +53855,10 @@ compliance activities that can be filtered by various criteria. 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 @@ -51819,13 +53867,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupProjectSharesRevoked object` - Admin viewed the list of RBAC groups. + An RBAC group's project shares in one organization were revoked in bulk. - - `type: optional "group_list_viewed"` + - `type: optional "group_project_shares_revoked"` - default: group_list_viewed + default: group_project_shares_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52033,10 +54081,22 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `group_id: string` + + Tagged ID of the group whose project shares were revoked. + + - `revoked_count: number` + + Number of distinct projects whose share with this group was revoked. + - `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. @@ -52051,13 +54111,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupSkillSharesRevoked object` - One or more members were added to a group. + An RBAC group's skill shares in one organization were revoked in bulk. - - `type: optional "group_member_added"` + - `type: optional "group_skill_shares_revoked"` - default: group_member_added + default: group_skill_shares_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52267,7 +54327,11 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group + 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` @@ -52279,10 +54343,6 @@ 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 @@ -52291,13 +54351,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). - - `GroupMemberAdditionFailed object` + - `plugin_ids: optional array of string` - A request to add members to a group failed. Some of the requested members may have been added before the failure. + Tagged IDs of the plugins whose share with this group was revoked. - - `type: optional "group_member_addition_failed"` + - `skill_ids: optional array of string` - default: group_member_addition_failed + 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` @@ -52507,7 +54575,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group + Tagged ID of the updated group - `id: optional string` @@ -52519,10 +54587,6 @@ 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 @@ -52531,13 +54595,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupViewed object` - Admin viewed the members of an RBAC group. + A group was viewed. - - `type: optional "group_member_list_viewed"` + - `type: optional "group_viewed"` - default: group_member_list_viewed + default: group_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52747,7 +54811,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group + Tagged ID of the viewed group - `id: optional string` @@ -52767,13 +54831,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupVisibilityUpdated object` - A request to remove members from a group failed. Some of the requested members may have been removed before the failure. + An RBAC group's visibility policy was updated. - - `type: optional "group_member_removal_failed"` + - `type: optional "group_visibility_updated"` - default: group_member_removal_failed + default: group_visibility_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52983,7 +55047,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group + Tagged ID of the group whose visibility policy was updated. - `id: optional string` @@ -52995,10 +55059,6 @@ 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 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` Organization ID this activity is associated with @@ -53007,13 +55067,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). - - `GroupMemberRemoved object` + - `policies: optional array of object` - One or more members were removed from a group. + The group's visibility policy after this update. - - `type: optional "group_member_removed"` + - `audience: "everyone" or "members" or "none" or "unspecified"` - default: group_member_removed + 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` @@ -53221,9 +55337,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `fail_mode: string` - Tagged ID of the group + 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` @@ -53235,10 +55355,6 @@ compliance activities that can be filtered by various criteria. 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 @@ -53247,13 +55363,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). - - `GroupProjectSharesRevoked object` + - `surface: optional string or null` - An RBAC group's project shares in one organization were revoked in bulk. + The product surface of the request whose failure tripped the breaker, e.g. "claude-ai" or "claude-code". - - `type: optional "group_project_shares_revoked"` + - `InferenceHooksRequestDenied object` - default: group_project_shares_revoked + 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` @@ -53461,21 +55581,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` - - Tagged ID of the group whose project shares were revoked. - - - `revoked_count: number` - - Number of distinct projects whose share with this group was revoked. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_project_ids: optional array of string` + - `conversation_id: optional string or null` - Tagged IDs of the projects whose share with this group was revoked. + The conversation the denied request belonged to, when available. The identifier format depends on `surface`. - `created_at: optional string` @@ -53483,6 +55595,10 @@ compliance activities that can be filtered by various criteria. 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 @@ -53491,13 +55607,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). - - `GroupSkillSharesRevoked object` + - `reference_id: optional string or null` - An RBAC group's skill shares in one organization were revoked in bulk. + 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 "group_skill_shares_revoked"` + - `request_id: optional string or null` - default: group_skill_shares_revoked + 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` @@ -53705,18 +55833,26 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `reason: "endpoint_error" or "endpoint_timeout" or "internal_error" or "unspecified"` - Tagged ID of the group whose skill shares were revoked. + Why Inference hooks inspection did not return a verdict. - - `revoked_count: number` + - `"endpoint_error"` - Number of distinct skills and plugins whose share with this group was revoked: the combined size of `skill_ids` and `plugin_ids`. + - `"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. @@ -53731,21 +55867,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). - - `plugin_ids: optional array of string` + - `request_id: optional string or null` - Tagged IDs of the plugins whose share with this group was revoked. + 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`. - - `skill_ids: optional array of string` + - `surface: optional string or null` - Tagged IDs of the skills whose share with this group was revoked. + The product surface the request came from, e.g. "claude-ai" or "claude-code". - - `GroupUpdated object` + - `IntegrationUserConnected object` - A group was updated (RBAC admin or SCIM provisioning). + User connected to an integration. - - `type: optional "group_updated"` + - `type: optional "integration_user_connected"` - default: group_updated + default: integration_user_connected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -53953,10 +56089,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' @@ -53967,6 +56099,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 @@ -53975,13 +56119,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). - - `GroupViewed object` + - `token_vault_connect_mode: optional string or null` - A group was viewed. + 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 "group_viewed"` + - `IntegrationUserDisconnected object` - default: group_viewed + User disconnected from an integration. + + - `type: optional "integration_user_disconnected"` + + default: integration_user_disconnected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54189,10 +56337,6 @@ 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' @@ -54203,6 +56347,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 @@ -54211,13 +56367,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `InvoiceCollectionMethodUpdated object` - An RBAC group's visibility policy was updated. + Invoice collection method was changed. - - `type: optional "group_visibility_updated"` + - `type: optional "invoice_collection_method_updated"` - default: group_visibility_updated + default: invoice_collection_method_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54425,10 +56581,6 @@ 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' @@ -54439,6 +56591,10 @@ 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 @@ -54447,69 +56603,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `UserLoggedOut 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. + A user signed out of one or all sessions. - - `type: optional "inference_hooks_circuit_breaker_tripped"` + - `type: optional "user_logged_out"` - default: inference_hooks_circuit_breaker_tripped + default: user_logged_out - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54717,14 +56817,6 @@ 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' @@ -54743,17 +56835,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `LtiLaunchInitiated object` - Inference hooks inspection denied a request. The request was blocked. + LTI launch was initiated. - - `type: optional "inference_hooks_request_denied"` + - `type: optional "lti_launch_initiated"` - default: inference_hooks_request_denied + default: lti_launch_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54965,20 +57053,12 @@ compliance activities that can be filtered by various criteria. 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 @@ -54987,25 +57067,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `LtiLaunchSuccess 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. + LTI launch completed successfully. - - `type: optional "inference_hooks_request_failed_open"` + - `type: optional "lti_launch_success"` - default: inference_hooks_request_failed_open + default: lti_launch_success - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55213,26 +57281,10 @@ 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"` - - - `"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. @@ -55247,21 +57299,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `LtiPlatformCreated object` - User connected to an integration. + Anthropic staff created an LTI platform integration on behalf of an org. - - `type: optional "integration_user_connected"` + - `type: optional "lti_platform_created"` - default: integration_user_connected + default: lti_platform_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55469,6 +57513,14 @@ 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' @@ -55479,18 +57531,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 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 @@ -55499,17 +57539,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `LtiPlatformUpdated object` - User disconnected from an integration. + Anthropic staff updated an LTI platform integration on behalf of an org. - - `type: optional "integration_user_disconnected"` + - `type: optional "lti_platform_updated"` - default: integration_user_disconnected + default: lti_platform_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55717,6 +57753,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `lti_platform_id: string` + + UUID of the LTI platform + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -55727,17 +57767,9 @@ 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` + - `lti_platform_issuer: optional string or null` - Display name of the disconnected remote MCP server, when the integration is a remote MCP server. + Platform issuer URL - `organization_id: optional string or null` @@ -55747,13 +57779,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MagicLinkLoginFailed object` - Invoice collection method was changed. + A magic link sign-in attempt failed. - - `type: optional "invoice_collection_method_updated"` + - `type: optional "magic_link_login_failed"` - default: invoice_collection_method_updated + default: magic_link_login_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55971,10 +58003,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 @@ -55983,13 +58011,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MagicLinkLoginInitiated object` - A user signed out of one or all sessions. + A user requested a magic link sign-in email. - - `type: optional "user_logged_out"` + - `type: optional "magic_link_login_initiated"` - default: user_logged_out + default: magic_link_login_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56215,13 +58243,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MagicLinkLoginSucceeded object` - LTI launch was initiated. + A user successfully signed in with a magic link email. - - `type: optional "lti_launch_initiated"` + - `type: optional "magic_link_login_succeeded"` - default: lti_launch_initiated + default: magic_link_login_succeeded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56433,12 +58461,28 @@ 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"` + + - `"unspecified"` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -56447,13 +58491,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ManagedOrganizationSetupCompleted object` - LTI launch completed successfully. + Managed (AWS Marketplace) organization setup was completed. - - `type: optional "lti_launch_success"` + - `type: optional "managed_organization_setup_completed"` - default: lti_launch_success + default: managed_organization_setup_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56679,13 +58723,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MarketplaceCreated object` - Anthropic staff created an LTI platform integration on behalf of an org. + Admin created an organization marketplace. - - `type: optional "lti_platform_created"` + - `type: optional "marketplace_created"` - default: lti_platform_created + default: marketplace_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56893,24 +58937,36 @@ 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` + - `marketplace_id: string` - Platform issuer URL + 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 @@ -56919,13 +58975,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MarketplaceDeleted object` - Anthropic staff updated an LTI platform integration on behalf of an org. + Admin deleted an organization marketplace. - - `type: optional "lti_platform_updated"` + - `type: optional "marketplace_deleted"` - default: lti_platform_updated + default: marketplace_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57133,9 +59189,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `lti_platform_id: string` + - `marketplace_id: string` - UUID of the LTI platform + Tagged ID of the marketplace - `id: optional string` @@ -57147,10 +59203,6 @@ 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 @@ -57159,13 +59211,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MarketplaceUpdated object` - A magic link sign-in attempt failed. + Admin updated an organization marketplace. - - `type: optional "magic_link_login_failed"` + - `type: optional "marketplace_updated"` - default: magic_link_login_failed + default: marketplace_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57373,10 +59425,26 @@ 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. @@ -57391,13 +59459,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). - - `MagicLinkLoginInitiated object` + - `updates: optional array of object` - A user requested a magic link sign-in email. + The setting changes applied in this update; empty for an update that changed no recorded setting (such as a sync) - - `type: optional "magic_link_login_initiated"` + - `type: "default_installation_preference" or "unspecified"` - default: magic_link_login_initiated + 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` @@ -57605,6 +59693,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' @@ -57623,13 +59715,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MarketplaceWebhookProvisioned object` - A user successfully signed in with a magic link email. + Admin provisioned a GitHub push webhook for a marketplace. - - `type: optional "magic_link_login_succeeded"` + - `type: optional "marketplace_webhook_provisioned"` - default: magic_link_login_succeeded + default: marketplace_webhook_provisioned - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57837,17 +59929,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' - - - `auth_method: optional "magic_link" or "unspecified" or null` + - `marketplace_id: string` - The method the user used to authenticate. May be absent on activities recorded before this field was introduced. + Tagged ID of the marketplace - - `"magic_link"` + - `id: optional string` - - `"unspecified"` + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -57855,13 +59943,9 @@ 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"` + - `github_webhook_id: optional number or null` - - `"unspecified"` + GitHub-assigned webhook ID returned by the hooks API - `organization_id: optional string or null` @@ -57871,13 +59955,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `McpDirectoryServerPublished object` - Managed (AWS Marketplace) organization setup was completed. + The organization published its approved MCP directory listing. - - `type: optional "managed_organization_setup_completed"` + - `type: optional "mcp_directory_server_published"` - default: managed_organization_setup_completed + default: mcp_directory_server_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58085,6 +60169,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' @@ -58103,13 +60195,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `McpServerCreated object` - Admin created an organization marketplace. + An MCP server was added to the organization. - - `type: optional "marketplace_created"` + - `type: optional "mcp_server_created"` - default: marketplace_created + default: mcp_server_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58317,9 +60409,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` + - `mcp_server_id: string` - Tagged ID of the marketplace + Tagged ID of the MCP server + + - `mcp_server_name: string` + + Display name of the MCP server - `id: optional string` @@ -58343,10 +60439,6 @@ compliance activities that can be filtered by various criteria. 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 @@ -58355,13 +60447,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `McpServerDeleted object` - Admin deleted an organization marketplace. + An MCP server was removed from the organization. - - `type: optional "marketplace_deleted"` + - `type: optional "mcp_server_deleted"` - default: marketplace_deleted + default: mcp_server_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58569,9 +60661,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` + - `mcp_server_id: string` - Tagged ID of the marketplace + Tagged ID of the MCP server + + - `mcp_server_name: string` + + Display name of the MCP server - `id: optional string` @@ -58591,13 +60687,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `McpServerManagedAuthTokenExchanged object` - Admin updated an organization marketplace. + 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 "marketplace_updated"` + - `type: optional "mcp_server_managed_auth_token_exchanged"` - default: marketplace_updated + default: mcp_server_managed_auth_token_exchanged - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58805,25 +60901,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` + - `managed_auth_mode: string` - Tagged ID of the marketplace + 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' - - `attestations: optional array of object` + - `assertion_jti: optional string or null` - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + 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. - - `type: string` + - `authorization_server_issuer: optional string or null` - Attestation type, such as "safe_for_phi" (may be used with protected health information). + The issuer identifier of the authorization server the exchange was attempted against. - - `content_hash: string` + - `correlation_id: 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). + An opaque identifier customers can quote when contacting Anthropic support about this exchange. - `created_at: optional string` @@ -58831,41 +60931,37 @@ 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` + - `error_subtype: 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). + 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. - - `updates: optional array of object` + - `error_type: optional string or null` - The setting changes applied in this update; empty for an update that changed no recorded setting (such as a sync) + 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. - - `type: "default_installation_preference" or "unspecified"` + - `mcp_server_name: optional string or null` - The marketplace setting that changed + The MCP server's display name at the time of the exchange, when available. - - `"default_installation_preference"` + - `organization_id: optional string or null` - - `"unspecified"` + Organization ID this activity is associated with - - `current_value: string` + - `organization_uuid: optional string or null` - Setting value immediately after this change; empty when the setting is no longer set + Organization UUID where the 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: string` + - `outcome: optional string or null` - Setting value immediately before this change; empty when the setting was not set + Whether the token exchange succeeded ("success") or was rejected ("failure"). - - `MarketplaceWebhookDeleted object` + - `McpServerManagedAuthUpdated object` - Admin removed the GitHub push webhook for a marketplace. + 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 "marketplace_webhook_deleted"` + - `type: optional "mcp_server_managed_auth_updated"` - default: marketplace_webhook_deleted + default: mcp_server_managed_auth_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59073,20 +61169,48 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` + - `mcp_server_id: string` - Tagged ID of the marketplace + 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 + - `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 @@ -59095,13 +61219,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). - - `MarketplaceWebhookProvisioned object` + - `previous_allowed_scopes: optional string or null` - Admin provisioned a GitHub push webhook for a marketplace. + The OAuth scope restriction before the change, as a space-delimited list; null when no scope restriction was configured. - - `type: optional "marketplace_webhook_provisioned"` + - `previous_built_in_roles_included: optional boolean or null` - default: marketplace_webhook_provisioned + 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` + + 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` @@ -59309,24 +61449,36 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` + - `mcp_server_id: string` - Tagged ID of the marketplace + 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 - - `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 @@ -59335,13 +61487,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `McpToolPolicyUpdated object` - The organization published its approved MCP directory listing. + The permission restriction for an MCP tool was set or cleared. - - `type: optional "mcp_directory_server_published"` + - `type: optional "mcp_tool_policy_updated"` - default: mcp_directory_server_published + default: mcp_tool_policy_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59549,24 +61701,52 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_directory_server_id: string` + - `mcp_server_id: string` - Tagged ID of the MCP directory listing + Tagged ID of the MCP server - - `mcp_directory_server_name: string` + - `mcp_server_name: string` - Display name of the MCP directory listing + 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 + - `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 @@ -59575,13 +61755,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgAnalyticsAPICapabilityUpdated object` - An MCP server was added to the organization. + Organization analytics_api capability was enabled or disabled. - - `type: optional "mcp_server_created"` + - `type: optional "org_analytics_api_capability_updated"` - default: mcp_server_created + default: org_analytics_api_capability_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59789,36 +61969,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 - - `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` + + Whether the analytics API capability is enabled immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -59827,13 +61991,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). - - `McpServerDeleted object` + - `previous_value: optional boolean or null` - An MCP server was removed from the organization. + Whether the analytics API capability was enabled immediately before this change - - `type: optional "mcp_server_deleted"` + - `OrgBulkDeleteInitiated object` - default: mcp_server_deleted + Organization bulk deletion was initiated. + + - `type: optional "org_bulk_delete_initiated"` + + default: org_bulk_delete_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60041,14 +62209,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' @@ -60067,13 +62227,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCapabilityGrantAdded 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. + A capability grant was added to a workspace or role. - - `type: optional "mcp_server_managed_auth_token_exchanged"` + - `type: optional "org_capability_grant_added"` - default: mcp_server_managed_auth_token_exchanged + default: org_capability_grant_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60281,29 +62441,27 @@ 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"). + - `grant_type: string` - - `mcp_server_id: string` + The type of capability grant that was added. - The MCP server the exchange was attempted for, e.g. "mcpsrv_01Ab...". + - `principal_id: string` - - `id: optional string` + Tagged ID of the principal the grant was added to. - Unique identifier for the activity e.g. 'activity_abcd1234' + - `principal_type: "rbac_role" or "unspecified" or "workspace"` - - `assertion_jti: optional string or null` + The kind of principal the grant was added to. - 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. + - `"rbac_role"` - - `authorization_server_issuer: optional string or null` + - `"unspecified"` - The issuer identifier of the authorization server the exchange was attempted against. + - `"workspace"` - - `correlation_id: optional string or null` + - `id: optional string` - An opaque identifier customers can quote when contacting Anthropic support about this exchange. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -60311,18 +62469,6 @@ 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` - - The MCP server's display name at the time of the exchange, when available. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -60331,17 +62477,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCapabilityGrantRemoved 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). + A capability grant was removed from a workspace or role. - - `type: optional "mcp_server_managed_auth_updated"` + - `type: optional "org_capability_grant_removed"` - default: mcp_server_managed_auth_updated + default: org_capability_grant_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60549,25 +62691,27 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_server_id: string` + - `grant_type: string` - Tagged ID of the MCP server + The type of capability grant that was removed. - - `mcp_server_name: string` + - `principal_id: string` - Display name of the MCP server + Tagged ID of the principal the grant was removed from. - - `id: optional string` + - `principal_type: "rbac_role" or "unspecified" or "workspace"` - Unique identifier for the activity e.g. 'activity_abcd1234' + The kind of principal the grant was removed from. - - `allowed_scopes: optional string or null` + - `"rbac_role"` - 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. + - `"unspecified"` - - `built_in_roles_included: optional boolean or null` + - `"workspace"` - 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. + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -60575,22 +62719,6 @@ compliance activities that can be filtered by various criteria. 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 @@ -60599,29 +62727,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgChatCoworkUnifiedDisabled object` - An MCP server's configuration was updated. + The organization's setting for the unified Chat and Cowork experience was turned off. - - `type: optional "mcp_server_updated"` + - `type: optional "org_chat_cowork_unified_disabled"` - default: mcp_server_updated + default: org_chat_cowork_unified_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60829,36 +62941,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 - - `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 @@ -60867,13 +62963,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). - - `McpToolPolicyUpdated object` + - `previous_value: optional boolean or null` - The permission restriction for an MCP tool was set or cleared. + Setting value immediately before this change - - `type: optional "mcp_tool_policy_updated"` + - `OrgChatCoworkUnifiedEnabled object` - default: mcp_tool_policy_updated + 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` @@ -61081,51 +63181,19 @@ 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 - - `max_permission: optional string or null` + - `current_value: optional boolean or null` - New max_permission value ('allow' | 'ask' | 'blocked'), or null when cleared + Setting value immediately after this change - `organization_id: optional string or null` @@ -61135,13 +63203,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). - - `OrgAnalyticsAPICapabilityUpdated object` + - `previous_value: optional boolean or null` - Organization analytics_api capability was enabled or disabled. + Setting value immediately before this change - - `type: optional "org_analytics_api_capability_updated"` + - `OrgClaudeCodeDataSharingDisabled object` - default: org_analytics_api_capability_updated + 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` @@ -61361,7 +63433,7 @@ compliance activities that can be filtered by various criteria. - `current_value: optional boolean or null` - Whether the analytics API capability is enabled immediately after this change + Setting value immediately after this change - `organization_id: optional string or null` @@ -61373,15 +63445,15 @@ compliance activities that can be filtered by various criteria. - `previous_value: optional boolean or null` - Whether the analytics API capability was enabled immediately before this change + Setting value immediately before this change - - `OrgBulkDeleteInitiated object` + - `OrgClaudeCodeDataSharingEnabled object` - Organization bulk deletion was initiated. + Organization Claude Code data sharing was enabled. - - `type: optional "org_bulk_delete_initiated"` + - `type: optional "org_claude_code_data_sharing_enabled"` - default: org_bulk_delete_initiated + default: org_claude_code_data_sharing_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -61599,6 +63671,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 @@ -61607,13 +63683,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). - - `OrgCapabilityGrantAdded object` + - `previous_value: optional boolean or null` - A capability grant was added to a workspace or role. + Setting value immediately before this change - - `type: optional "org_capability_grant_added"` + - `OrgClaudeCodeDesktopDisabled object` - default: org_capability_grant_added + Organization Claude Code Desktop was disabled. + + - `type: optional "org_claude_code_desktop_disabled"` + + default: org_claude_code_desktop_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -61821,24 +63901,6 @@ 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' @@ -61849,6 +63911,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 @@ -61857,13 +63923,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). - - `OrgCapabilityGrantRemoved object` + - `previous_value: optional boolean or null` - A capability grant was removed from a workspace or role. + Setting value immediately before this change - - `type: optional "org_capability_grant_removed"` + - `OrgClaudeCodeDesktopEnabled object` - default: org_capability_grant_removed + Organization Claude Code Desktop was enabled. + + - `type: optional "org_claude_code_desktop_enabled"` + + default: org_claude_code_desktop_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62071,24 +64141,6 @@ 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. - - - `"rbac_role"` - - - `"unspecified"` - - - `"workspace"` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -62099,6 +64151,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 @@ -62107,13 +64163,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). - - `OrgChatCoworkUnifiedDisabled object` + - `previous_value: optional boolean or null` - The organization's setting for the unified Chat and Cowork experience was turned off. + Setting value immediately before this change - - `type: optional "org_chat_cowork_unified_disabled"` + - `OrgClaudeCodeZeroDataRetentionDisabled object` - default: org_chat_cowork_unified_disabled + 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` @@ -62331,10 +64391,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 @@ -62343,17 +64399,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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 - - - `OrgChatCoworkUnifiedEnabled object` + - `OrgComplianceAPISettingsUpdated object` - The organization's setting for the unified Chat and Cowork experience was turned on. + Organization compliance API settings were updated. - - `type: optional "org_chat_cowork_unified_enabled"` + - `type: optional "org_compliance_api_settings_updated"` - default: org_chat_cowork_unified_enabled + default: org_compliance_api_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62565,16 +64617,20 @@ 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. 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 @@ -62583,17 +64639,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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 - - - `OrgClaudeCodeDataSharingDisabled object` + - `OrgConnectorDomainGuardUpdated object` - Organization Claude Code data sharing was disabled. + Enterprise admin changed whether connectors are restricted to verified domains. - - `type: optional "org_claude_code_data_sharing_disabled"` + - `type: optional "org_connector_domain_guard_updated"` - default: org_claude_code_data_sharing_disabled + default: org_connector_domain_guard_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62801,6 +64853,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' @@ -62811,10 +64865,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 @@ -62823,17 +64873,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkActWithoutAskingModeDisabled object` - Organization Claude Code data sharing was enabled. + 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_claude_code_data_sharing_enabled"` + - `type: optional "org_cowork_act_without_asking_mode_disabled"` - default: org_claude_code_data_sharing_enabled + default: org_cowork_act_without_asking_mode_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63051,10 +65097,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 @@ -63063,17 +65105,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkActWithoutAskingModeEnabled object` - Organization Claude Code Desktop was disabled. + 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_claude_code_desktop_disabled"` + - `type: optional "org_cowork_act_without_asking_mode_enabled"` - default: org_claude_code_desktop_disabled + default: org_cowork_act_without_asking_mode_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63291,10 +65329,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 @@ -63303,17 +65337,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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 - - - `OrgClaudeCodeDesktopEnabled object` + - `OrgCoworkAgentDisabled object` - Organization Claude Code Desktop was enabled. + Organization Cowork Agent was disabled. - - `type: optional "org_claude_code_desktop_enabled"` + - `type: optional "org_cowork_agent_disabled"` - default: org_claude_code_desktop_enabled + default: org_cowork_agent_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63547,13 +65577,13 @@ compliance activities that can be filtered by various criteria. Setting value immediately before this change - - `OrgClaudeCodeZeroDataRetentionDisabled object` + - `OrgCoworkAgentEnabled 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. + Organization Cowork Agent was enabled. - - `type: optional "org_claude_code_zero_data_retention_disabled"` + - `type: optional "org_cowork_agent_enabled"` - default: org_claude_code_zero_data_retention_disabled + default: org_cowork_agent_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63771,6 +65801,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 @@ -63779,13 +65813,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). - - `OrgComplianceAPISettingsUpdated object` + - `previous_value: optional boolean or null` - Organization compliance API settings were updated. + Setting value immediately before this change - - `type: optional "org_compliance_api_settings_updated"` + - `OrgCoworkAutoModeDisabled object` - default: org_compliance_api_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` @@ -63997,14 +66035,6 @@ 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. @@ -64019,13 +66049,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkAutoModeEnabled object` - Enterprise admin changed whether connectors are restricted to verified domains. + 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_connector_domain_guard_updated"` + - `type: optional "org_cowork_auto_mode_enabled"` - default: org_connector_domain_guard_updated + default: org_cowork_auto_mode_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64233,8 +66263,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' @@ -64253,13 +66281,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkBrowserPaneDisabled object` - The "Act without asking" mode in Cowork was disabled for the organization, so members can no longer let Claude act without asking for approval. + 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_act_without_asking_mode_disabled"` + - `type: optional "org_cowork_browser_pane_disabled"` - default: org_cowork_act_without_asking_mode_disabled + default: org_cowork_browser_pane_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64485,13 +66513,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkBrowserPaneEnabled object` - The "Act without asking" mode in Cowork was enabled for the organization, allowing members to let Claude act without asking for approval. + 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_cowork_act_without_asking_mode_enabled"` + - `type: optional "org_cowork_browser_pane_enabled"` - default: org_cowork_act_without_asking_mode_enabled + default: org_cowork_browser_pane_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64717,13 +66745,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkDisabled object` - Organization Cowork Agent was disabled. + Organization cowork was disabled. - - `type: optional "org_cowork_agent_disabled"` + - `type: optional "org_cowork_disabled"` - default: org_cowork_agent_disabled + default: org_cowork_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64957,13 +66985,13 @@ compliance activities that can be filtered by various criteria. Setting value immediately before this change - - `OrgCoworkAgentEnabled object` + - `OrgCoworkEnabled object` - Organization Cowork Agent was enabled. + Organization cowork was enabled. - - `type: optional "org_cowork_agent_enabled"` + - `type: optional "org_cowork_enabled"` - default: org_cowork_agent_enabled + default: org_cowork_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65197,13 +67225,13 @@ compliance activities that can be filtered by various criteria. Setting value immediately before this change - - `OrgCoworkAutoModeDisabled object` + - `OrgCoworkMcpAlwaysAllowDisabled 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. + 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_auto_mode_disabled"` + - `type: optional "org_cowork_mcp_always_allow_disabled"` - default: org_cowork_auto_mode_disabled + default: org_cowork_mcp_always_allow_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65429,13 +67457,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkMcpAlwaysAllowEnabled object` - The "Auto" permission mode in Cowork was enabled for the organization, allowing members to let Claude approve its own actions after a safety check. + 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_cowork_auto_mode_enabled"` + - `type: optional "org_cowork_mcp_always_allow_enabled"` - default: org_cowork_auto_mode_enabled + default: org_cowork_mcp_always_allow_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65661,13 +67689,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkOtlpSettingsUpdated 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. + The organization's Cowork OpenTelemetry monitoring export settings were updated. - - `type: optional "org_cowork_browser_pane_disabled"` + - `type: optional "org_cowork_otlp_settings_updated"` - default: org_cowork_browser_pane_disabled + default: org_cowork_otlp_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65885,6 +67913,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. Credentials in the URL userinfo or query string are removed; path segments are retained. 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 @@ -65893,13 +67937,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). - - `OrgCoworkBrowserPaneEnabled object` + - `otlp_headers_change: optional "cleared" or "set" or "unspecified" or null` - 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. + 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_cowork_browser_pane_enabled"` + - `"cleared"` - default: org_cowork_browser_pane_enabled + - `"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. Credentials in the URL userinfo or query string are removed; path segments are retained. 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` @@ -66125,13 +68195,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkRemoteEnabled object` - Organization cowork was disabled. + Running Cowork in the cloud was enabled for the organization, allowing members to run Cowork sessions in Anthropic-hosted remote environments. - - `type: optional "org_cowork_disabled"` + - `type: optional "org_cowork_remote_enabled"` - default: org_cowork_disabled + default: org_cowork_remote_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66349,10 +68419,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 @@ -66361,17 +68427,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCreationBlocked object` - Organization cowork was enabled. + Organization creation was blocked. - - `type: optional "org_cowork_enabled"` + - `type: optional "org_creation_blocked"` - default: org_cowork_enabled + default: org_creation_blocked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66589,10 +68651,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 @@ -66601,17 +68659,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` + - `reason: optional string or null` - Setting value immediately before this change + "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. - - `OrgCoworkMcpAlwaysAllowDisabled object` + - `OrgDataExportAccessed 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 data export file was accessed/downloaded via signed URL. - - `type: optional "org_cowork_mcp_always_allow_disabled"` + - `type: optional "org_data_export_accessed"` - default: org_cowork_mcp_always_allow_disabled + default: org_data_export_accessed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66829,6 +68887,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 @@ -66837,13 +68905,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDataExportCompleted object` - 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. + Organization data export was completed. - - `type: optional "org_cowork_mcp_always_allow_enabled"` + - `type: optional "org_data_export_completed"` - default: org_cowork_mcp_always_allow_enabled + default: org_data_export_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67061,6 +69129,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 @@ -67069,13 +69147,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDataExportStarted object` - The organization's Cowork OpenTelemetry monitoring export settings were updated. + Organization data export was started. - - `type: optional "org_cowork_otlp_settings_updated"` + - `type: optional "org_data_export_started"` - default: org_cowork_otlp_settings_updated + default: org_data_export_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67293,21 +69371,15 @@ 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. Credentials in the URL userinfo or query string are removed; path segments are retained. Null if the endpoint is unset or was not itself modified by this update. + - `export_type: optional "conversations" or "unspecified" or "workbench" or null` - - `new_otlp_protocol: optional string or null` + Which data set was exported. Absent on records written before this field was introduced. - The OpenTelemetry export protocol after the change. Null if the protocol is unset or was not itself modified by this update. + - `"conversations"` - - `new_otlp_resource_attributes: optional string or null` + - `"unspecified"` - The OpenTelemetry resource attributes after the change. Null if the attributes are unset or were not themselves modified by this update. + - `"workbench"` - `organization_id: optional string or null` @@ -67317,39 +69389,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). - - `otlp_headers_change: optional "cleared" or "set" or "unspecified" or null` + - `scope: optional "member_own_data" or "organization" 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. + Breadth of the export — the whole organization, or only the requesting member's own data. Absent on records written before this field was introduced. - - `"cleared"` + - `"member_own_data"` - - `"set"` + - `"organization"` - `"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. Credentials in the URL userinfo or query string are removed; path segments are retained. 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` + - `OrgDataResidencyUpdated 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 organization's inference data residency settings were updated. - - `type: optional "org_cowork_remote_disabled"` + - `type: optional "org_data_residency_updated"` - default: org_cowork_remote_disabled + default: org_data_residency_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67575,13 +69631,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). - - `OrgCoworkRemoteEnabled object` + - `updates: optional array of object` - Running Cowork in the cloud was enabled for the organization, allowing members to run Cowork sessions in Anthropic-hosted remote environments. + The field-level changes applied in this update - - `type: optional "org_cowork_remote_enabled"` + - `type: "allowed_inference_geos" or "default_inference_geo" or "unspecified"` - default: org_cowork_remote_enabled + 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` @@ -67807,13 +69885,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDeletionRequested object` - Organization creation was blocked. + Organization deletion was requested. - - `type: optional "org_creation_blocked"` + - `type: optional "org_deletion_requested"` - default: org_creation_blocked + default: org_deletion_requested - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68039,17 +70117,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDirectoryResyncCompleted object` - Organization data export file was accessed/downloaded via signed URL. + Organization directory resync completed successfully. - - `type: optional "org_data_export_accessed"` + - `type: optional "org_directory_resync_completed"` - default: org_data_export_accessed + default: org_directory_resync_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68257,6 +70331,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' @@ -68267,16 +70345,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 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 @@ -68285,13 +70353,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDirectoryResyncFailed object` - Organization data export was completed. + Organization directory resync failed. - - `type: optional "org_data_export_completed"` + - `type: optional "org_directory_resync_failed"` - default: org_data_export_completed + default: org_directory_resync_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68499,6 +70567,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' @@ -68509,16 +70581,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 @@ -68527,13 +70589,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDirectoryResyncStarted object` - Organization data export was started. + Organization directory resync was started asynchronously. - - `type: optional "org_data_export_started"` + - `type: optional "org_directory_resync_started"` - default: org_data_export_started + default: org_directory_resync_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68741,6 +70803,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' @@ -68751,16 +70817,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 @@ -68769,23 +70825,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). - - `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"` + - `sync_destinations: optional array of string` - - `"unspecified"` + Sync destinations the resync targets (for example, accounts and rbac) - - `OrgDataResidencyUpdated object` + - `OrgDirectorySyncActivated object` - The organization's inference data residency settings were updated. + Organization directory sync was activated. - - `type: optional "org_data_residency_updated"` + - `type: optional "org_directory_sync_activated"` - default: org_data_residency_updated + default: org_directory_sync_activated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69011,35 +71061,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDirectorySyncAddInitiated object` - Organization was deleted via bulk operation. + Organization directory sync setup was initiated. - - `type: optional "org_deleted_via_bulk"` + - `type: optional "org_directory_sync_add_initiated"` - default: org_deleted_via_bulk + default: org_directory_sync_add_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69265,13 +71293,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDirectorySyncDeleted object` - Organization deletion was requested. + Organization directory sync was deleted. - - `type: optional "org_deletion_requested"` + - `type: optional "org_directory_sync_deleted"` - default: org_deletion_requested + default: org_directory_sync_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69497,13 +71525,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDiscoverabilityDisabled object` - Organization directory resync completed successfully. + Admin disabled organization discoverability. - - `type: optional "org_directory_resync_completed"` + - `type: optional "org_discoverability_disabled"` - default: org_directory_resync_completed + default: org_discoverability_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69711,10 +71739,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' @@ -69733,13 +71757,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDiscoverabilityEnabled object` - Organization directory resync failed. + Admin enabled organization discoverability. - - `type: optional "org_directory_resync_failed"` + - `type: optional "org_discoverability_enabled"` - default: org_directory_resync_failed + default: org_discoverability_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69947,10 +71971,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' @@ -69969,13 +71989,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDiscoverabilitySettingsUpdated object` - Organization directory resync was started asynchronously. + Admin updated organization discoverability settings. - - `type: optional "org_directory_resync_started"` + - `type: optional "org_discoverability_settings_updated"` - default: org_directory_resync_started + default: org_discoverability_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70183,10 +72203,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' @@ -70205,17 +72221,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDomainAddInitiated object` - Organization directory sync was activated. + Organization domain verification was initiated. - - `type: optional "org_directory_sync_activated"` + - `type: optional "org_domain_add_initiated"` - default: org_directory_sync_activated + default: org_domain_add_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70441,13 +72453,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDomainRemoved object` - Organization directory sync setup was initiated. + Organization domain was removed. - - `type: optional "org_directory_sync_add_initiated"` + - `type: optional "org_domain_removed"` - default: org_directory_sync_add_initiated + default: org_domain_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70665,237 +72677,9 @@ 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). - - - `OrgDirectorySyncDeleted object` - - Organization directory sync was deleted. - - - `type: optional "org_directory_sync_deleted"` - - default: org_directory_sync_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. + - `domain: optional string or null` - format: date-time + The email domain that was removed from the organization, e.g. "example.com". - `organization_id: optional string or null` @@ -70905,13 +72689,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDomainVerified object` - Admin disabled organization discoverability. + Organization domain was verified. - - `type: optional "org_discoverability_disabled"` + - `type: optional "org_domain_verified"` - default: org_discoverability_disabled + default: org_domain_verified - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71129,6 +72913,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 @@ -71137,13 +72925,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgExternalKeyCreated object` - Admin enabled organization discoverability. + A CMEK external key config was created. - - `type: optional "org_discoverability_enabled"` + - `type: optional "org_external_key_created"` - default: org_discoverability_enabled + default: org_external_key_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71351,6 +73139,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' @@ -71369,13 +73173,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgExternalKeyDeleted object` - Admin updated organization discoverability settings. + A CMEK external key config was deleted. - - `type: optional "org_discoverability_settings_updated"` + - `type: optional "org_external_key_deleted"` - default: org_discoverability_settings_updated + default: org_external_key_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71583,6 +73387,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' @@ -71601,13 +73409,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgExternalKeyUpdated object` - Organization domain verification was initiated. + A CMEK external key config was updated. - - `type: optional "org_domain_add_initiated"` + - `type: optional "org_external_key_updated"` - default: org_domain_add_initiated + default: org_external_key_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71815,6 +73623,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' @@ -71833,13 +73645,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). - - `OrgDomainRemoved object` + - `updates: optional array of object` - Organization domain was removed. + The field-level changes applied in this update - - `type: optional "org_domain_removed"` + - `type: "display_name" or "geo" or "provider_config" or "unspecified"` - default: org_domain_removed + 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` + + A CMEK external key config was validated against the customer's KMS. + + - `type: optional "org_external_key_validated"` + + default: org_external_key_validated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72047,6 +73883,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' @@ -72057,10 +73907,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 @@ -72069,13 +73915,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgHipaaArtifactsTermsAccepted object` - Organization domain was verified. + An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. - - `type: optional "org_domain_verified"` + - `type: optional "org_hipaa_artifacts_terms_accepted"` - default: org_domain_verified + default: org_hipaa_artifacts_terms_accepted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72283,6 +74129,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' @@ -72293,10 +74147,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 @@ -72305,13 +74155,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgHipaaClaudeCodeCoworkRestrictionsDeferred object` - A CMEK external key config was created. + 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_external_key_created"` + - `type: optional "org_hipaa_claude_code_cowork_restrictions_deferred"` - default: org_external_key_created + default: org_hipaa_claude_code_cowork_restrictions_deferred - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72519,22 +74369,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' @@ -72553,13 +74387,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgHipaaClaudeCodeCoworkRestrictionsEnabled object` - A CMEK external key config was deleted. + The HIPAA configuration was applied to Claude Code (local mode) and Cowork (local mode) for the organization. - - `type: optional "org_external_key_deleted"` + - `type: optional "org_hipaa_claude_code_cowork_restrictions_enabled"` - default: org_external_key_deleted + default: org_hipaa_claude_code_cowork_restrictions_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72767,9 +74601,15 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `external_key_id: string` + - `reason: "admin_opt_in" or "enabled_by_anthropic" or "unspecified"` - Tagged ID of the deleted external key config + 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` @@ -72789,13 +74629,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgHipaaSelfServeEnabled object` - A CMEK external key config was updated. + A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. - - `type: optional "org_external_key_updated"` + - `type: optional "org_hipaa_self_serve_enabled"` - default: org_external_key_updated + default: org_hipaa_self_serve_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73003,9 +74843,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `external_key_id: string` + - `baa_content_hash: string` - Tagged ID of the updated external key config + 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` @@ -73025,37 +74873,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgIPRestrictionCreated object` - A CMEK external key config was validated against the customer's KMS. + Organization IP restriction was created. - - `type: optional "org_external_key_validated"` + - `type: optional "org_ip_restriction_created"` - default: org_external_key_validated + default: org_ip_restriction_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73263,20 +75087,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' @@ -73287,6 +75097,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 @@ -73295,13 +75109,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgIPRestrictionDeleted object` - An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. + Organization IP restriction was deleted. - - `type: optional "org_hipaa_artifacts_terms_accepted"` + - `type: optional "org_ip_restriction_deleted"` - default: org_hipaa_artifacts_terms_accepted + default: org_ip_restriction_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73509,14 +75323,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' @@ -73527,6 +75333,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 @@ -73535,13 +75345,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgIPRestrictionUpdated object` - A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. + Organization IP restriction was updated. - - `type: optional "org_hipaa_self_serve_enabled"` + - `type: optional "org_ip_restriction_updated"` - default: org_hipaa_self_serve_enabled + default: org_ip_restriction_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73749,27 +75559,27 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `baa_content_hash: string` + - `id: optional string` - SHA-256 digest (hex) of the Business Associate Agreement that was accepted. + Unique identifier for the activity e.g. 'activity_abcd1234' - - `baa_version_label: string` + - `created_at: optional string` - Version label of the Business Associate Agreement that was accepted, e.g. "2026-05-06". + When this activity occurred. - - `setup_guide_content_hash: string` + format: date-time - SHA-256 digest (hex) of the HIPAA setup guide that was current when the HIPAA configuration was enabled. + - `ip_allowlist_enabled: optional boolean or null` - - `id: optional string` + 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. - Unique identifier for the activity e.g. 'activity_abcd1234' + - `ip_range: optional string or null` - - `created_at: optional string` + 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. - When this activity occurred. + - `ip_range_active: optional boolean or null` - format: date-time + 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` @@ -73779,13 +75589,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). - - `OrgIPRestrictionCreated object` + - `previous_ip_range: optional string or null` - Organization IP restriction was created. + The IP range before this change; absent unless the range itself was changed. - - `type: optional "org_ip_restriction_created"` + - `OrgInviteLinkDisabled object` - default: org_ip_restriction_created + 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` @@ -74003,10 +75817,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 @@ -74015,13 +75825,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgInviteLinkGenerated object` - Organization IP restriction was deleted. + Organization invite link was generated. - - `type: optional "org_ip_restriction_deleted"` + - `type: optional "org_invite_link_generated"` - default: org_ip_restriction_deleted + default: org_invite_link_generated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74239,10 +76049,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 @@ -74251,13 +76057,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgInviteLinkRegenerated object` - Organization IP restriction was updated. + Organization invite link was regenerated (previous link invalidated). - - `type: optional "org_ip_restriction_updated"` + - `type: optional "org_invite_link_regenerated"` - default: org_ip_restriction_updated + default: org_invite_link_regenerated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74475,17 +76281,241 @@ compliance activities that can be filtered by various criteria. format: date-time - - `ip_allowlist_enabled: optional boolean or null` + - `organization_id: optional string 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. + Organization ID this activity is associated with - - `ip_range: optional string or null` + - `organization_uuid: 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. + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ip_range_active: optional boolean or null` + - `OrgInviteViewed object` - 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. + An organization invite was viewed. + + - `type: optional "org_invite_viewed"` + + default: org_invite_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` + + - `invite_id: string` + + Tagged ID of the viewed invite + + - `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` @@ -74495,17 +76525,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgInvitesListed object` - Organization invite link was disabled. + Organization invites were listed. - - `type: optional "org_invite_link_disabled"` + - `type: optional "org_invites_listed"` - default: org_invite_link_disabled + default: org_invites_listed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74731,13 +76757,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgInviteLinkGenerated object` + - `OrgJoinProposalDecided object` - Organization invite link was generated. + Approve or reject decision on a parent-org join proposal. - - `type: optional "org_invite_link_generated"` + - `type: optional "org_join_proposal_decided"` - default: org_invite_link_generated + default: org_join_proposal_decided - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74945,6 +76971,8 @@ 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' @@ -74963,13 +76991,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgJoinRequestApproved object` - Organization invite link was regenerated (previous link invalidated). + Admin approved a join request. - - `type: optional "org_invite_link_regenerated"` + - `type: optional "org_join_request_approved"` - default: org_invite_link_regenerated + default: org_join_request_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75195,13 +77223,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgJoinRequestCreated object` - An organization invite was viewed. + User requested to join an organization. - - `type: optional "org_invite_viewed"` + - `type: optional "org_join_request_created"` - default: org_invite_viewed + default: org_join_request_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75409,10 +77437,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' @@ -75431,13 +77455,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgJoinRequestDismissed object` - Organization invites were listed. + Admin dismissed a join request. - - `type: optional "org_invites_listed"` + - `type: optional "org_join_request_dismissed"` - default: org_invites_listed + default: org_join_request_dismissed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75663,13 +77687,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgJoinRequestInstantApproved object` - Approve or reject decision on a parent-org join proposal. + Join request was instantly approved. - - `type: optional "org_join_proposal_decided"` + - `type: optional "org_join_request_instant_approved"` - default: org_join_proposal_decided + default: org_join_request_instant_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75877,8 +77901,6 @@ 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' @@ -75897,13 +77919,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgJoinRequestsBulkDismissed object` - Admin approved a join request. + Admin bulk-dismissed join requests. - - `type: optional "org_join_request_approved"` + - `type: optional "org_join_requests_bulk_dismissed"` - default: org_join_request_approved + default: org_join_requests_bulk_dismissed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76129,13 +78151,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgLibrarySubmissionCreated object` - User requested to join an organization. + A member submitted one of their own skills or plugins for publication into the organization library. - - `type: optional "org_join_request_created"` + - `type: optional "org_library_submission_created"` - default: org_join_request_created + default: org_library_submission_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76343,6 +78365,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' @@ -76361,13 +78417,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). - - `OrgJoinRequestDismissed object` + - `updates_published_plugin_id: optional string or null` - Admin dismissed a join request. + The existing library entry this submission proposes to update; unset for a new entry. - - `type: optional "org_join_request_dismissed"` + - `OrgLibrarySubmissionResolved object` - default: org_join_request_dismissed + 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` @@ -76575,16 +78635,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 @@ -76593,13 +78707,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). - - `OrgJoinRequestInstantApproved object` + - `publish_policy: optional "off" or "open" or "review" or "unspecified" or null` - Join request was instantly approved. + 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_join_request_instant_approved"` + - `"off"` - default: org_join_request_instant_approved + - `"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` @@ -76807,6 +78941,36 @@ 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` + + The version that had been submitted. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -76825,13 +78989,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgMagicLinkSecondFactorToggled object` - Admin bulk-dismissed join requests. + Organization magic link second factor was toggled. - - `type: optional "org_join_requests_bulk_dismissed"` + - `type: optional "org_magic_link_second_factor_toggled"` - default: org_join_requests_bulk_dismissed + default: org_magic_link_second_factor_toggled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77039,6 +79203,10 @@ 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' @@ -77057,13 +79225,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgMemberAvatarRemoved object` - Organization magic link second factor was toggled. + An administrator removed another member's profile picture. - - `type: optional "org_magic_link_second_factor_toggled"` + - `type: optional "org_member_avatar_removed"` - default: org_magic_link_second_factor_toggled + default: org_member_avatar_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77271,9 +79439,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enabled: boolean` + - `user_id: string` - Whether members signing in with SSO must also complete a magic link as a second factor, after this change. + Tagged ID of the member whose profile picture was removed. - `id: optional string` @@ -136084,6 +138252,123 @@ curl https://api.anthropic.com/v1/compliance/organizations/$ORG_UUID/users \ } ``` +## Compliance API › Organizations › User Preferences + +### List organization members' personal preferences + +**GET** `/v1/compliance/organizations/{org_uuid}/user_preferences` + +List the personal preferences of an organization's current members. + +Returns each member's "Instructions for Claude" and Cowork "Global +instructions" text. Both are account-level settings: the same text is +returned under every organization the member belongs to. Members are +listed in the order they joined the organization, oldest first; use +`limit` and `page` to paginate. A page may hold fewer than `limit` +rows, or none at all, without being the last page: the server bounds +the work it does per request. Follow `next_page` until it is `null`. + +#### Path parameters + +- `org_uuid: string` + + The organization's UUID + +#### Query parameters + +- `include_unset: optional boolean` + + When true, list every current member, with `null` for each value they have not set. By default only members with at least one value set are listed. + + default: false + +- `limit: optional number` + + Maximum results (default: 20, max: 100) + + default: 20, minimum: 1, maximum: 100 + +- `page: optional string` + + Opaque pagination token from a previous response's `next_page` field. Pass this to retrieve the next page of results. Clients should treat this value as an opaque string and not attempt to parse or interpret its contents, as the format may change without notice. + +- `user_ids: optional array of string` + + Restrict the list to these users (max 10 per request). An entry that does not name a current member of the organization matches nothing. Omit to list every eligible member. Enumerate IDs via `GET /v1/compliance/organizations/{org_uuid}/users`. + + maxItems: 10 + +#### 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). + +- `"x-api-key": optional string` + +#### Returns + +- `data: array of object` + + Current organization members in the order they joined the organization, oldest first. By default only members with at least one value set are listed; with `include_unset=true` every member is. + + - `conversation_preferences: string or null` + + The member's "Instructions for Claude" text from their personal settings, with leading and trailing whitespace removed. `null` when the member has never set it or has cleared it. + + - `cowork_global_instructions: string or null` + + The member's "Global instructions" text for Cowork, Claude's desktop agent, with leading and trailing whitespace removed. `null` when the member has never set it or has cleared it. + + - `user: object` + + The organization member. + + - `id: string` + + User identifier + + - `email_address: string` + + User's current email address + +- `has_more: boolean` + + Whether there is a further page to request. A page can hold fewer records than `limit`, or none, and still have more: the server bounds the work it does per request. + +- `next_page: string or null` + + Token to retrieve the next page. Use this as the 'page' parameter in your next request; `null` on the last page. + +#### Example + +```bash +curl https://api.anthropic.com/v1/compliance/organizations/$ORG_UUID/user_preferences \ + -H 'anthropic-version: 2023-06-01' \ + -H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY" +``` + +##### Response (200) + +```json +{ + "data": [ + { + "conversation_preferences": "Always answer in British English.", + "cowork_global_instructions": "Prefer short status updates.", + "user": { + "id": "user_01WCz1FkmYMm4gnmykNKUu3Q", + "email_address": "jane.doe@example.com" + } + } + ], + "has_more": true, + "next_page": "cGFnZV90b2tlbl9leGFtcGxlXzE3MzQ1Njc4OTA=" +} +``` + ## Compliance API › Organizations › Roles ### List Compliance Roles @@ -140573,7 +142858,7 @@ only for identity-stored content; validate against it when present. - `multi_file_format: optional string` - Set to `zip`, its only value, to receive a version that has more than one file as a ZIP archive of its files with an index, `files.json`. Files the artifact copied from its type (the app that displays every artifact of that type) are listed under `omitted_files` in the index, and left out of the archive, when an organization other than the artifact's owns that type. A Claude Doc's version never comes back as a ZIP: it is answered as without this parameter, except that a version with more than one file, one of them with a name the API cannot export, gets 422 `file_set_unavailable`. A version with one file is returned as that file, as without this parameter. + Set to `zip`, its only value, to receive a version that has more than one file as a ZIP archive of its files with an index, `files.json`. Files the Artifact copied from its type (the app that displays every Artifact of that type) are listed under `omitted_files` in the index, and left out of the archive, when an organization other than the Artifact's owns that type. Files the version uses from another Artifact are always listed there and left out. A Claude Doc's version never comes back as a ZIP: it is answered as without this parameter, except that a version with more than one file, one of them with a name the API cannot export, gets 422 `file_set_unavailable`. A version with one file is returned as that file, as without this parameter. #### Headers diff --git a/content/en/api/compliance/activities.md b/content/en/api/compliance/activities.md index 04dce3f924..2bd8b81475 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 "admin_api_key_created" or 525 more` +- `activity_types: optional array of "abuse_decision_received" or "account_deleted" or "admin_api_key_created" or 533 more` Filter activities by type. See the response `data` schema for the additional fields each type returns. Cannot be combined with `exclude_activity_types[]`. @@ -573,10 +573,18 @@ compliance activities that can be filtered by various criteria. A security scan of a plugin completed and produced a verdict. + - `"claude_plugin_served_version_updated"` + + 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. + - `"claude_plugin_updated"` Plugin was updated. + - `"claude_plugin_version_created"` + + A new version of a plugin was created. + - `"claude_project_archived"` A Claude project was archived. @@ -1281,6 +1289,14 @@ compliance activities that can be filtered by various criteria. An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. + - `"org_hipaa_claude_code_cowork_restrictions_deferred"` + + 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. + + - `"org_hipaa_claude_code_cowork_restrictions_enabled"` + + The HIPAA configuration was applied to Claude Code (local mode) and Cowork (local mode) for the organization. + - `"org_hipaa_self_serve_enabled"` A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. @@ -1341,10 +1357,26 @@ compliance activities that can be filtered by various criteria. Admin bulk-dismissed join requests. + - `"org_library_submission_created"` + + A member submitted one of their own skills or plugins for publication into the organization library. + + - `"org_library_submission_resolved"` + + A member's submission of a skill or plugin to the organization library was accepted or denied, or an accepted one finished publishing. + + - `"org_library_submission_withdrawn"` + + A pending submission to the organization library was withdrawn before any reviewer decided on it. + - `"org_magic_link_second_factor_toggled"` Organization magic link second factor was toggled. + - `"org_member_avatar_removed"` + + An administrator removed another member's profile picture. + - `"org_member_invites_disabled"` Admin disabled member invites for the organization. @@ -2188,7 +2220,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 "admin_api_key_created" or 525 more` +- `exclude_activity_types: optional array of "abuse_decision_received" or "account_deleted" or "admin_api_key_created" or 533 more` Exclude activities of these types. Cannot be combined with `activity_types[]`. @@ -2744,10 +2776,18 @@ compliance activities that can be filtered by various criteria. A security scan of a plugin completed and produced a verdict. + - `"claude_plugin_served_version_updated"` + + 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. + - `"claude_plugin_updated"` Plugin was updated. + - `"claude_plugin_version_created"` + + A new version of a plugin was created. + - `"claude_project_archived"` A Claude project was archived. @@ -3452,6 +3492,14 @@ compliance activities that can be filtered by various criteria. An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. + - `"org_hipaa_claude_code_cowork_restrictions_deferred"` + + 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. + + - `"org_hipaa_claude_code_cowork_restrictions_enabled"` + + The HIPAA configuration was applied to Claude Code (local mode) and Cowork (local mode) for the organization. + - `"org_hipaa_self_serve_enabled"` A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. @@ -3512,10 +3560,26 @@ compliance activities that can be filtered by various criteria. Admin bulk-dismissed join requests. + - `"org_library_submission_created"` + + A member submitted one of their own skills or plugins for publication into the organization library. + + - `"org_library_submission_resolved"` + + A member's submission of a skill or plugin to the organization library was accepted or denied, or an accepted one finished publishing. + + - `"org_library_submission_withdrawn"` + + A pending submission to the organization library was withdrawn before any reviewer decided on it. + - `"org_magic_link_second_factor_toggled"` Organization magic link second factor was toggled. + - `"org_member_avatar_removed"` + + An administrator removed another member's profile picture. + - `"org_member_invites_disabled"` Admin disabled member invites for the organization. @@ -4357,7 +4421,7 @@ compliance activities that can be filtered by various criteria. ### Returns -- `data: optional array of AbuseDecisionReceived or AccountDeleted or AdminAPIKeyCreated or 525 more` +- `data: optional array of AbuseDecisionReceived or AccountDeleted or AdminAPIKeyCreated or 533 more` List of activity records. Each element's `type` field identifies which activity it is and which additional fields are present. @@ -9025,10 +9089,26 @@ compliance activities that can be filtered by various criteria. 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. + + - `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`. @@ -9037,6 +9117,22 @@ compliance activities that can be filtered by various criteria. 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. @@ -34805,13 +34901,13 @@ compliance activities that can be filtered by various criteria. - `"user_action"` - - `ClaudeProjectSyncSourceCreated object` + - `ClaudePluginServedVersionUpdated object` - A sync source was connected to a Claude project's knowledge base. + 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_project_sync_source_created"` + - `type: optional "claude_plugin_served_version_updated"` - default: claude_project_sync_source_created + default: claude_plugin_served_version_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -35019,17 +35115,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_project_id: string` + - `marketplace_id: string` - Tagged ID of the project the sync source was connected to. + The marketplace the plugin belongs to. - - `claude_project_sync_source_id: string` + - `plugin_id: string` - Tagged ID of the per-project sync source that was created. + The plugin whose served version was updated. - - `provider: string` + - `to_plugin_version_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 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` @@ -35041,6 +35149,10 @@ compliance activities that can be filtered by various criteria. 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 @@ -35049,17 +35161,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudePluginVersionCreated 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 new version of a plugin was created. - - `ClaudeProjectSyncSourceDeleted object` + - `type: optional "claude_plugin_version_created"` - 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_plugin_version_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -35267,22 +35375,42 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_project_id: string` + - `is_initial_version: boolean` - Tagged ID of the project the sync source was disconnected from. + Whether this version also created the plugin (its first version). - - `claude_project_sync_source_id: string` + - `marketplace_id: string` - Tagged ID of the per-project sync source that was deleted. + The marketplace the plugin belongs to. - - `provider: string` + - `origin: "library_publish" or "marketplace_sync" or "unspecified" or "upload"` - The external provider backing the sync source. Always `unspecified` for deletion events. + 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' + - `became_served_version: optional boolean or null` + + 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` When this activity occurred. @@ -35297,13 +35425,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeProjectSyncSourceCreated object` - A Claude project sync source's configuration was updated. + A sync source was connected to a Claude project's knowledge base. - - `type: optional "claude_project_sync_source_updated"` + - `type: optional "claude_project_sync_source_created"` - default: claude_project_sync_source_updated + default: claude_project_sync_source_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -35513,11 +35641,11 @@ compliance activities that can be filtered by various criteria. - `claude_project_id: string` - Tagged ID of the project the sync source belongs to. + Tagged ID of the project the sync source was connected to. - `claude_project_sync_source_id: string` - Tagged ID of the per-project sync source that was updated. + Tagged ID of the per-project sync source that was created. - `provider: string` @@ -35527,10 +35655,6 @@ compliance activities that can be filtered by various criteria. 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. @@ -35547,15 +35671,15 @@ compliance activities that can be filtered by various criteria. - `resource_descriptor: 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. + 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. - - `ClaudeSkillDownloaded object` + - `ClaudeProjectSyncSourceDeleted 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 sync source was disconnected from a Claude project's knowledge base. - - `type: optional "claude_skill_downloaded"` + - `type: optional "claude_project_sync_source_deleted"` - default: claude_skill_downloaded + default: claude_project_sync_source_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -35763,21 +35887,17 @@ 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"` + - `claude_project_id: string` - - `"file"` + Tagged ID of the project the sync source was disconnected from. - - `"instructions"` + - `claude_project_sync_source_id: string` - - `"unspecified"` + Tagged ID of the per-project sync source that was deleted. - - `skill_id: string` + - `provider: string` - The skill that was downloaded. + The external provider backing the sync source. Always `unspecified` for deletion events. - `id: optional string` @@ -35789,10 +35909,6 @@ 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 @@ -35801,39 +35917,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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. - - - `plugin_id: optional string or null` - - 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` + - `ClaudeProjectSyncSourceUpdated 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 project sync source's configuration was updated. - - `type: optional "claude_survey_closed"` + - `type: optional "claude_project_sync_source_updated"` - default: claude_survey_closed + default: claude_project_sync_source_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -36041,14 +36131,26 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `survey_id: string` + - `claude_project_id: string` - Tagged ID of the closed survey, e.g. "srvy_01HX...". + Tagged ID of the project the sync source belongs to. + + - `claude_project_sync_source_id: string` + + Tagged ID of the per-project sync source that was updated. + + - `provider: string` + + 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. @@ -36063,13 +36165,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). - - `ClaudeSurveyCreated object` + - `resource_descriptor: optional string or null` - An organization admin launched an in-app survey to its chosen audience, opening it immediately or at a scheduled start time. + 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_survey_created"` + - `ClaudeSkillDownloaded object` - default: claude_survey_created + 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` @@ -36277,33 +36383,25 @@ 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` + - `download_kind: "bundle" or "file" or "instructions" or "unspecified"` - The name the admin gave the survey. Not shown to members. + Whether the whole bundle, one file, or only the instructions were downloaded. - - `id: optional string` + - `"bundle"` - Unique identifier for the activity e.g. 'activity_abcd1234' + - `"file"` - - `audience_cost_centers: optional array of string` + - `"instructions"` - 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. + - `"unspecified"` - - `audience_departments: optional array of string` + - `skill_id: 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. + The skill that was downloaded. - - `audience_group_ids: optional array of string` + - `id: optional string` - Tagged IDs of the groups the survey was opened to, e.g. "rbac_group_01HX...". + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -36311,6 +36409,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 @@ -36319,13 +36421,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). - - `ClaudeSurveyDeleted object` + - `owner_user_id: optional string or null` - An organization admin permanently deleted a closed in-app survey together with every response collected for it. + The member who owns the skill; unset for an organization-owned skill. - - `type: optional "claude_survey_deleted"` + - `plugin_id: optional string or null` - default: claude_survey_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` @@ -36533,13 +36661,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `response_count: number` - - The number of submitted responses that were deleted with the survey. - - `survey_id: string` - Tagged ID of the deleted survey, e.g. "srvy_01HX...". + Tagged ID of the closed survey, e.g. "srvy_01HX...". - `id: optional string` @@ -36559,13 +36683,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeSurveyCreated 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. + An organization admin launched an in-app survey to its chosen audience, opening it immediately or at a scheduled start time. - - `type: optional "claude_survey_response_submitted"` + - `type: optional "claude_survey_created"` - default: claude_survey_response_submitted + default: claude_survey_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -36773,14 +36897,34 @@ 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 survey that was answered, e.g. "srvy_01HX...". + 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' + - `audience_cost_centers: optional array of string` + + 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` When this activity occurred. @@ -36795,13 +36939,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeSurveyDeleted 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. + An organization admin permanently deleted a closed in-app survey together with every response collected for it. - - `type: optional "claude_survey_responses_exported"` + - `type: optional "claude_survey_deleted"` - default: claude_survey_responses_exported + default: claude_survey_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -37011,11 +37155,11 @@ compliance activities that can be filtered by various criteria. - `response_count: number` - The number of submitted responses included in the export. + The number of submitted responses that were deleted with the survey. - `survey_id: string` - Tagged ID of the exported survey, e.g. "srvy_01HX...". + Tagged ID of the deleted survey, e.g. "srvy_01HX...". - `id: optional string` @@ -37035,13 +37179,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeSurveyResponseSubmitted object` - 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. + 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 "claude_user_seat_tier_updated"` + - `type: optional "claude_survey_response_submitted"` - default: claude_user_seat_tier_updated + default: claude_survey_response_submitted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -37249,13 +37393,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_email: string` - - Email address of the member at the time of the change. - - - `user_id: string` + - `survey_id: string` - Tagged ID of the member whose seat tier changed. + Tagged ID of the survey that was answered, e.g. "srvy_01HX...". - `id: optional string` @@ -37267,10 +37407,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 @@ -37279,17 +37415,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - The member's seat tier before this change, or null if no seat was assigned. - - - `CliPluginExecPolicyUpdated object` + - `ClaudeSurveyResponsesExported object` - Admin set or cleared the per-op permission ceiling for a plugin CLI. + 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 "cli_plugin_exec_policy_updated"` + - `type: optional "claude_survey_responses_exported"` - default: cli_plugin_exec_policy_updated + default: claude_survey_responses_exported - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -37497,25 +37629,13 @@ 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` - - Op name (or '*' for the per-CLI default) - - - `plugin_id: string` + - `response_count: number` - Plugin ID resolved from the URL + The number of submitted responses included in the export. - - `plugin_name: string` + - `survey_id: string` - Plugin name within its marketplace + Tagged ID of the exported survey, e.g. "srvy_01HX...". - `id: optional string` @@ -37527,10 +37647,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 @@ -37539,17 +37655,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - Max permission the op had before this change ('allow' | 'ask' | 'blocked'), or null when no policy existed for the op - - - `ClaudeCommandCreated object` + - `ClaudeUserSeatTierUpdated object` - Command 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 "claude_command_created"` + - `type: optional "claude_user_seat_tier_updated"` - default: claude_command_created + default: claude_user_seat_tier_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -37757,13 +37869,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `user_email: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Email address of the member at the time of the change. - - `command_id: optional string or null` + - `user_id: string` - - `command_name: optional string or null` + Tagged ID of the member whose seat tier changed. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -37771,6 +37887,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 @@ -37779,13 +37899,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). - - `ClaudeCommandDeleted object` + - `previous_seat_tier: optional string or null` - Command was deleted. + The member's seat tier before this change, or null if no seat was assigned. - - `type: optional "claude_command_deleted"` + - `CliPluginExecPolicyUpdated object` - default: claude_command_deleted + Admin set or cleared the per-op permission ceiling for a plugin CLI. + + - `type: optional "cli_plugin_exec_policy_updated"` + + default: cli_plugin_exec_policy_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -37993,13 +38117,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `cli_name: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + CLI name as declared by the plugin manifest - - `command_id: optional string or null` + - `marketplace_id: string` - - `command_name: optional string or null` + 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` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -38007,6 +38147,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 @@ -38015,13 +38159,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). - - `ClaudeCommandReplaced object` + - `previous_max_permission: optional string or null` - Command was replaced. + Max permission the op had before this change ('allow' | 'ask' | 'blocked'), or null when no policy existed for the op - - `type: optional "claude_command_replaced"` + - `ClaudeCommandCreated object` - default: claude_command_replaced + Command was created. + + - `type: optional "claude_command_created"` + + default: claude_command_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -38251,13 +38399,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeCommandDeleted object` - Logging event auto-generated for each compliance API request. + Command was deleted. - - `type: optional "compliance_api_accessed"` + - `type: optional "claude_command_deleted"` - default: compliance_api_accessed + default: claude_command_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -38465,36 +38613,14 @@ 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` - - HTTP status code - - - `url: string` - - Full URL that was requested, including any query string - - `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. @@ -38509,17 +38635,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeCommandReplaced object` - A Cowork session was updated. + Command was replaced. - - `type: optional "cowork_session_updated"` + - `type: optional "claude_command_replaced"` - default: cowork_session_updated + default: claude_command_replaced - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -38727,17 +38849,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `cowork_session_id: string` - - 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` + - `command_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. + - `command_name: optional string or null` - `created_at: optional string` @@ -38753,13 +38871,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ComplianceAPIAccessed 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. + Logging event auto-generated for each compliance API request. - - `type: optional "design_project_artifact_published"` + - `type: optional "compliance_api_accessed"` - default: design_project_artifact_published + default: compliance_api_accessed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -38967,9 +39085,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 whose content 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` @@ -38981,10 +39121,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 @@ -38993,17 +39129,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: "project", "template", or "design_system". + Serialized JSON request body - - `DesignProjectCreated object` + - `CoworkSessionUpdated object` - A Claude Design project was created. + A Cowork session was updated. - - `type: optional "design_project_created"` + - `type: optional "cowork_session_updated"` - default: design_project_created + default: cowork_session_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -39211,18 +39347,18 @@ 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` + - `cowork_session_id: string` - The Design project that was created, e.g. "design_proj_01HX...". + 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. @@ -39237,21 +39373,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - The source project this was created from, when created via duplicate, remix, or template-from-project. Unset for direct creation. - - - `DesignProjectDeleted object` + - `DesignProjectArtifactPublished object` - A Claude Design project was deleted. + 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_deleted"` + - `type: optional "design_project_artifact_published"` - default: design_project_deleted + default: design_project_artifact_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -39461,7 +39589,7 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project that was deleted, e.g. "design_proj_01HX...". + The Design project whose content was published, e.g. "design_proj_01HX...". - `id: optional string` @@ -39473,6 +39601,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 @@ -39481,13 +39613,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` + - `project_type: optional string or null` - A member was granted access to a Claude Design project. + The project's type: "project", "template", or "design_system". - - `type: optional "design_project_member_added"` + - `DesignProjectCreated object` - default: design_project_member_added + A Claude Design project was created. + + - `type: optional "design_project_created"` + + default: design_project_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -39695,21 +39831,13 @@ 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` + - `creation_method: string` - The kind of member that was added: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). + How the project was created: "direct", "duplicate", "remix", or "template_from_project". - - `role: string` + - `design_project_id: string` - The role the member was granted: "viewer", "commenter", or "editor". Access-group ("compartment") members are always view-only. + The Design project that was created, e.g. "design_proj_01HX...". - `id: optional string` @@ -39731,15 +39859,19 @@ compliance activities that can be filtered by various criteria. - `project_type: optional string or null` - The project's type: "project", "template", or "design_system". + The project type: "project", "template", or "design_system". - - `DesignProjectMemberRemoved object` + - `source_project_id: optional string or null` - A member's access to a Claude Design project was revoked. + The source project this was created from, when created via duplicate, remix, or template-from-project. Unset for direct creation. - - `type: optional "design_project_member_removed"` + - `DesignProjectDeleted object` - default: design_project_member_removed + A Claude Design project was deleted. + + - `type: optional "design_project_deleted"` + + default: design_project_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -39949,15 +40081,7 @@ compliance activities that can be filtered by various criteria. - `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). + The Design project that was deleted, e.g. "design_proj_01HX...". - `id: optional string` @@ -39977,17 +40101,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `DesignProjectMemberAdded object` - A Claude Design project member's role was changed. + A member was granted access to a Claude Design project. - - `type: optional "design_project_member_role_updated"` + - `type: optional "design_project_member_added"` - default: design_project_member_role_updated + default: design_project_member_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40197,7 +40317,7 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project the member belongs to, e.g. "design_proj_01HX...". + The Design project the member was added to, e.g. "design_proj_01HX...". - `principal_id: string` @@ -40205,11 +40325,11 @@ compliance activities that can be filtered by various criteria. - `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). + The kind of member that was added: "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". + The role the member was granted: "viewer", "commenter", or "editor". Access-group ("compartment") members are always view-only. - `id: optional string` @@ -40229,21 +40349,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` - - The member's role before the change. - - `project_type: optional string or null` The project's type: "project", "template", or "design_system". - - `DesignProjectPublished object` + - `DesignProjectMemberRemoved object` - A Claude Design template or design system was published, making it discoverable by everyone in its organization. + A member's access to a Claude Design project was revoked. - - `type: optional "design_project_published"` + - `type: optional "design_project_member_removed"` - default: design_project_published + default: design_project_member_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40453,7 +40569,15 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project that was published, e.g. "design_proj_01HX...". + 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` @@ -40475,15 +40599,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". - - `DesignProjectSharingUpdated object` + - `DesignProjectMemberRoleUpdated 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 Claude Design project member's role was changed. - - `type: optional "design_project_sharing_updated"` + - `type: optional "design_project_member_role_updated"` - default: design_project_sharing_updated + default: design_project_member_role_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40693,15 +40817,19 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project whose sharing settings changed, e.g. "design_proj_01HX...". + The Design project the member belongs to, e.g. "design_proj_01HX...". - - `new_link_permission: string` + - `principal_id: string` - What people opening the project through its link may do after the change: "view", "comment", or "edit". + 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". - - `new_scope: string` + - `principal_type: 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. + 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` @@ -40721,25 +40849,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_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` + - `previous_role: 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. + The member's role before the change. - `project_type: optional string or null` The project's type: "project", "template", or "design_system". - - `DesignProjectUnpublished object` + - `DesignProjectPublished object` - A Claude Design template or design system was unpublished, removing it from its organization's shared gallery. + A Claude Design template or design system was published, making it discoverable by everyone in its organization. - - `type: optional "design_project_unpublished"` + - `type: optional "design_project_published"` - default: design_project_unpublished + default: design_project_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40949,7 +41073,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 that was published, e.g. "design_proj_01HX...". - `id: optional string` @@ -40973,13 +41097,13 @@ compliance activities that can be filtered by various criteria. The project's type: "template" or "design_system". - - `DesignProjectUpdated object` + - `DesignProjectSharingUpdated object` - A Claude Design project's metadata was updated. + 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 "design_project_updated"` + - `type: optional "design_project_sharing_updated"` - default: design_project_updated + default: design_project_sharing_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41189,7 +41313,15 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project that was updated, e.g. "design_proj_01HX...". + 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` @@ -41209,21 +41341,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). - - `project_type: optional string or null` + - `previous_link_permission: optional string or null` - The project's type after the update: "project", "template", or "design_system". Present only when the update changed it. + What people opening the project through its link could do before the change. - - `updated_fields: optional array of string` + - `previous_scope: optional string or null` - Names of the fields changed by this update, e.g. "name", "description", "project_type", "design_systems". + 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. - - `DesignProjectVersionRestored object` + - `project_type: optional string or null` - A Claude Design project's working tree was rolled back to a previously saved version, replacing its current files with that version's files. + The project's type: "project", "template", or "design_system". - - `type: optional "design_project_version_restored"` + - `DesignProjectUnpublished object` - default: design_project_version_restored + 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` @@ -41433,7 +41569,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 unpublished, e.g. "design_proj_01HX...". - `id: optional string` @@ -41455,19 +41591,15 @@ compliance activities that can be filtered by various criteria. - `project_type: optional string or null` - The project's type: "project", "template", or "design_system". - - - `DesignProjectViewed object` + The project's type: "template" or "design_system". - 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. + - `DesignProjectUpdated 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 Claude Design project's metadata was updated. - - `type: optional "design_project_viewed"` + - `type: optional "design_project_updated"` - default: design_project_viewed + default: design_project_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41677,20 +41809,12 @@ 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...". - - - `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). + The Design project that was updated, e.g. "design_proj_01HX...". - `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. @@ -41707,15 +41831,19 @@ compliance activities that can be filtered by various criteria. - `project_type: optional string or null` - The project's type: "project", "template", or "design_system". + The project's type after the update: "project", "template", or "design_system". Present only when the update changed it. - - `DesktopExtensionAllowlisted object` + - `updated_fields: optional array of string` - A desktop extension was added to an org's allowlist. + Names of the fields changed by this update, e.g. "name", "description", "project_type", "design_systems". - - `type: optional "desktop_extension_allowlisted"` + - `DesignProjectVersionRestored object` - default: desktop_extension_allowlisted + 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` @@ -41923,26 +42051,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` + - `design_project_id: string` - Allowlisted DXT extension ID + 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. @@ -41957,13 +42073,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). - - `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"` + - `DesignProjectViewed object` - default: desktop_extension_blocklisted + 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` @@ -42171,14 +42295,22 @@ 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 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. @@ -42193,13 +42325,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). - - `DesktopExtensionDeleted object` + - `project_type: optional string or null` - A desktop extension was deleted, either globally by an admin or org-scoped by an org owner. + The project's type: "project", "template", or "design_system". - - `type: optional "desktop_extension_deleted"` + - `DesktopExtensionAllowlisted object` - default: desktop_extension_deleted + 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` @@ -42409,251 +42545,23 @@ compliance activities that can be filtered by various criteria. - `extension_id: string` - DXT extension ID + Allowlisted DXT extension ID - `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). - - - `version: optional string or null` - - Specific version deleted (null if all versions) - - - `DesktopExtensionRemovedFromAllowlist object` - - A desktop extension was removed from an org's allowlist. - - - `type: optional "desktop_extension_removed_from_allowlist"` - - default: desktop_extension_removed_from_allowlist - - - `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` + - `attestations: optional array of object` - - `user_agent: optional string or null` + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - `extension_id: string` + - `type: string` - DXT extension ID removed from allowlist + 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` @@ -42669,13 +42577,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `DesktopExtensionBlocklisted object` - A desktop extension was removed from the global blocklist. + A desktop extension was added to the global blocklist. - - `type: optional "desktop_extension_unblocked"` + - `type: optional "desktop_extension_blocklisted"` - default: desktop_extension_unblocked + default: desktop_extension_blocklisted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -42885,7 +42793,7 @@ compliance activities that can be filtered by various criteria. - `extension_id: string` - Unblocked DXT extension ID + Blocklisted DXT extension ID - `id: optional string` @@ -42905,13 +42813,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `DesktopExtensionDeleted object` - A desktop extension was uploaded, either globally by an admin or org-scoped by an org owner. + A desktop extension was deleted, either globally by an admin or org-scoped by an org owner. - - `type: optional "desktop_extension_uploaded"` + - `type: optional "desktop_extension_deleted"` - default: desktop_extension_uploaded + default: desktop_extension_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43123,26 +43031,10 @@ compliance activities that can be filtered by various criteria. 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. @@ -43157,13 +43049,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). - - `DesktopExtensionVersionUploaded object` + - `version: optional string or null` - A new version of an existing org-owned desktop extension was uploaded. + Specific version deleted (null if all versions) - - `type: optional "desktop_extension_version_uploaded"` + - `DesktopExtensionRemovedFromAllowlist object` - default: desktop_extension_version_uploaded + A desktop extension was removed from an org's allowlist. + + - `type: optional "desktop_extension_removed_from_allowlist"` + + default: desktop_extension_removed_from_allowlist - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43373,28 +43269,12 @@ compliance activities that can be filtered by various criteria. - `extension_id: string` - DXT extension ID - - - `version: string` - - Version string from the manifest + DXT extension ID removed from allowlist - `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. @@ -43409,13 +43289,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `DesktopExtensionUnblocked object` - Inference hooks configuration was removed for the organization. + A desktop extension was removed from the global blocklist. - - `type: optional "inference_hooks_config_deleted"` + - `type: optional "desktop_extension_unblocked"` - default: inference_hooks_config_deleted + default: desktop_extension_unblocked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43623,6 +43503,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' @@ -43641,13 +43525,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `DesktopExtensionUploaded object` - Inference hooks configuration was created or updated for the organization. + A desktop extension was uploaded, either globally by an admin or org-scoped by an org owner. - - `type: optional "inference_hooks_config_updated"` + - `type: optional "desktop_extension_uploaded"` - default: inference_hooks_config_updated + default: desktop_extension_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43855,33 +43739,29 @@ 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` + - `extension_id: string` - Whether Inference hooks inspects both prompts and responses (prompt_and_response) or prompts only (prompt_only). + DXT extension ID - - `fail_mode: string` + - `version: string` - Whether requests are allowed (fail_open) or blocked (fail_closed) when the Inference hooks endpoint cannot be reached. + Version string from the manifest - - `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` @@ -43889,18 +43769,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 @@ -43909,29 +43777,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `DesktopExtensionVersionUploaded object` - A request signing secret was generated for the organization's Inference hooks configuration. + A new version of an existing org-owned desktop extension was uploaded. - - `type: optional "inference_hooks_signing_secret_generated"` + - `type: optional "desktop_extension_version_uploaded"` - default: inference_hooks_signing_secret_generated + default: desktop_extension_version_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44139,14 +43991,30 @@ 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. + 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. @@ -44161,13 +44029,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DomainClaimInitiated object` + - `InferenceHooksConfigDeleted object` - Domain capture claim initiated over personal accounts on verified domains. + Inference hooks configuration was removed for the organization. - - `type: optional "domain_claim_initiated"` + - `type: optional "inference_hooks_config_deleted"` - default: domain_claim_initiated + default: inference_hooks_config_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44393,13 +44261,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `InferenceHooksConfigUpdated object` - Non-admin member submitted an invite request for a new org member. + Inference hooks configuration was created or updated for the organization. - - `type: optional "end_user_invite_requested"` + - `type: optional "inference_hooks_config_updated"` - default: end_user_invite_requested + default: inference_hooks_config_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44607,7 +44475,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `invitee_email: string` + - `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` + + 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` @@ -44619,6 +44509,18 @@ 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 @@ -44627,13 +44529,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). - - `ExtraUsageBillingEnabled object` + - `reset_circuit_breaker: optional boolean or null` - Usage credit billing was enabled for an organization. + 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. - - `type: optional "extra_usage_billing_enabled"` + - `rollout_percentage: optional number or null` - default: extra_usage_billing_enabled + 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` + + 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` @@ -44841,6 +44759,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' @@ -44859,13 +44781,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `DomainClaimInitiated object` - A promotional usage credit grant was claimed. + Domain capture claim initiated over personal accounts on verified domains. - - `type: optional "extra_usage_credit_granted"` + - `type: optional "domain_claim_initiated"` - default: extra_usage_credit_granted + default: domain_claim_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45091,13 +45013,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `EndUserInviteRequested object` - Usage credit spend limit was created. + Non-admin member submitted an invite request for a new org member. - - `type: optional "extra_usage_spend_limit_created"` + - `type: optional "end_user_invite_requested"` - default: extra_usage_spend_limit_created + default: end_user_invite_requested - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45305,28 +45227,18 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `invitee_email: string` + - `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 - - `is_enabled: optional boolean or null` - - Whether the spend limit is enabled. - - - `limit_type: optional string or null` - - The type of spend limit created (e.g. organization, seat_tier, member, service, group). - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -45335,23 +45247,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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. - - - `ExtraUsageSpendLimitDeleted object` + - `ExtraUsageBillingEnabled object` - Usage credit spend limit was deleted. + Usage credit billing was enabled for an organization. - - `type: optional "extra_usage_spend_limit_deleted"` + - `type: optional "extra_usage_billing_enabled"` - default: extra_usage_spend_limit_deleted + default: extra_usage_billing_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45577,23 +45479,245 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ExtraUsageCreditGranted object` - Tagged ID of the spend limit. + A promotional usage credit grant was claimed. - - `user_id: optional string or null` + - `type: optional "extra_usage_credit_granted"` - **Deprecated** + default: extra_usage_credit_granted - Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - `ExtraUsageSpendLimitIncreaseRequestApproved object` + - `APIActor object` - A usage credit spend limit increase request was approved. + - `type: optional "api_actor"` - - `type: optional "extra_usage_spend_limit_increase_request_approved"` + default: api_actor - default: extra_usage_spend_limit_increase_request_approved + - `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). + + - `ExtraUsageSpendLimitCreated object` + + Usage credit spend limit was created. + + - `type: optional "extra_usage_spend_limit_created"` + + default: extra_usage_spend_limit_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45807,7 +45931,7 @@ compliance activities that can be filtered by various criteria. - `amount: optional number or null` - The approved spend limit amount in minor units (e.g. cents). + The monthly credit limit amount in minor units (e.g. cents). - `created_at: optional string` @@ -45815,6 +45939,14 @@ compliance activities that can be filtered by various criteria. 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 created (e.g. organization, seat_tier, member, service, group). + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -45823,25 +45955,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...". - - `spend_limit_id: optional string or null` - Tagged ID of the member's spend limit that the approval created or updated. + Tagged ID of the spend limit. - - `spend_limit_increase_request_id: optional string or null` + - `user_id: optional string or null` - Tagged ID of the spend limit increase request that was approved. + **Deprecated** - - `ExtraUsageSpendLimitIncreaseRequestDenied object` + Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. - A usage credit spend limit increase request was denied. + - `ExtraUsageSpendLimitDeleted object` - - `type: optional "extra_usage_spend_limit_increase_request_denied"` + Usage credit spend limit was deleted. - default: extra_usage_spend_limit_increase_request_denied + - `type: optional "extra_usage_spend_limit_deleted"` + + default: extra_usage_spend_limit_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -46067,21 +46197,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` + - `spend_limit_id: optional string or null` - Tagged ID of the member who requested the increase, e.g. "user_01HX...". + Tagged ID of the spend limit. - - `spend_limit_increase_request_id: optional string or null` + - `user_id: optional string or null` - Tagged ID of the spend limit increase request that was denied. + **Deprecated** - - `ExtraUsageSpendLimitUpdated object` + Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. - Usage credit spend limit was updated. + - `ExtraUsageSpendLimitIncreaseRequestApproved object` - - `type: optional "extra_usage_spend_limit_updated"` + A usage credit spend limit increase request was approved. - default: extra_usage_spend_limit_updated + - `type: optional "extra_usage_spend_limit_increase_request_approved"` + + default: extra_usage_spend_limit_increase_request_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -46295,7 +46427,7 @@ compliance activities that can be filtered by various criteria. - `amount: optional number or null` - The new monthly credit limit amount in minor units (e.g. cents). + The approved spend limit amount in minor units (e.g. cents). - `created_at: optional string` @@ -46303,14 +46435,6 @@ compliance activities that can be filtered by various criteria. 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 @@ -46319,23 +46443,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). - - `spend_limit_id: optional string or null` + - `requester_user_id: optional string or null` - Tagged ID of the spend limit. + Tagged ID of the member who requested the increase, e.g. "user_01HX...". - - `user_id: optional string or null` + - `spend_limit_id: optional string or null` - **Deprecated** + Tagged ID of the member's spend limit that the approval created or 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. + - `spend_limit_increase_request_id: optional string or null` - - `ClaudeFileDeleted object` + Tagged ID of the spend limit increase request that was approved. - A file was deleted. + - `ExtraUsageSpendLimitIncreaseRequestDenied object` - - `type: optional "claude_file_deleted"` + A usage credit spend limit increase request was denied. - default: claude_file_deleted + - `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` @@ -46543,10 +46669,6 @@ 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...". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -46565,19 +46687,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). - - `filename: optional string or null` + - `requester_user_id: optional string or null` - **Deprecated** + Tagged ID of the member who requested the increase, e.g. "user_01HX...". - No longer populated. The name can't be looked up once the file is deleted. + - `spend_limit_increase_request_id: optional string or null` - - `ClaudeFileUploaded object` + Tagged ID of the spend limit increase request that was denied. - A file was uploaded. + - `ExtraUsageSpendLimitUpdated object` - - `type: optional "claude_file_uploaded"` + Usage credit spend limit was updated. - default: claude_file_uploaded + - `type: optional "extra_usage_spend_limit_updated"` + + default: extra_usage_spend_limit_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -46785,21 +46909,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 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` + - `amount: optional number or null` - Project ID if file was uploaded to a project + The new monthly credit limit amount in minor units (e.g. cents). - `created_at: optional string` @@ -46807,6 +46923,14 @@ compliance activities that can be filtered by various criteria. 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 @@ -46815,19 +46939,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). - - `filename: optional string or null` + - `spend_limit_id: optional string or null` + + Tagged ID of the spend limit. + + - `user_id: optional string or null` **Deprecated** - No longer populated: the feed carries the object id; resolve the name via the Compliance API. + Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. - - `GheConfigurationCreated object` + - `ClaudeFileDeleted object` - Admin created a GHE configuration. + A file was deleted. - - `type: optional "ghe_configuration_created"` + - `type: optional "claude_file_deleted"` - default: ghe_configuration_created + default: claude_file_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47035,9 +47163,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` + - `claude_file_id: string` - ID of the GHE configuration + Tagged ID of the file that was deleted, e.g. "claude_file_01HX...". - `id: optional string` @@ -47049,14 +47177,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 @@ -47065,17 +47185,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). - - `port: optional number or null` + - `filename: optional string or null` - Custom port, if not the HTTPS default + **Deprecated** - - `GheConfigurationDeleted object` + No longer populated. The name can't be looked up once the file is deleted. - Admin deleted a GHE configuration. + - `ClaudeFileUploaded object` - - `type: optional "ghe_configuration_deleted"` + A file was uploaded. - default: ghe_configuration_deleted + - `type: optional "claude_file_uploaded"` + + default: claude_file_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47283,27 +47405,27 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` + - `claude_file_id: string` - ID of the GHE configuration + 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' - - `created_at: optional string` + - `claude_chat_id: optional string or null` - When this activity occurred. + 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}`. - format: date-time + - `claude_project_id: optional string or null` - - `display_name: optional string or null` + Project ID if file was uploaded to a project - Display name the configuration had when deleted + - `created_at: optional string` - - `hostname: optional string or null` + When this activity occurred. - Hostname of the GitHub Enterprise instance + format: date-time - `organization_id: optional string or null` @@ -47313,17 +47435,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). - - `port: optional number or null` + - `filename: optional string or null` - Custom port, if not the HTTPS default + **Deprecated** - - `GheConfigurationUpdated object` + No longer populated: the feed carries the object id; resolve the name via the Compliance API. - 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. + - `GheConfigurationCreated object` - - `type: optional "ghe_configuration_updated"` + Admin created a GHE configuration. - default: ghe_configuration_updated + - `type: optional "ghe_configuration_created"` + + default: ghe_configuration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47545,37 +47669,13 @@ 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 + Display name given to the configuration - `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 + Hostname of the GitHub Enterprise instance - `organization_id: optional string or null` @@ -47587,43 +47687,15 @@ compliance activities that can be filtered by various criteria. - `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 - - - `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 + Custom port, if not the HTTPS default - - `GheUserConnected object` + - `GheConfigurationDeleted object` - User connected to a GHE instance. + Admin deleted a GHE configuration. - - `type: optional "ghe_user_connected"` + - `type: optional "ghe_configuration_deleted"` - default: ghe_user_connected + default: ghe_configuration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47831,6 +47903,10 @@ 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' @@ -47841,9 +47917,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `ghe_configuration_id: optional string or null` + - `display_name: optional string or null` - ID of the GHE configuration + Display name the configuration had when deleted + + - `hostname: optional string or null` + + Hostname of the GitHub Enterprise instance - `organization_id: optional string or null` @@ -47853,13 +47933,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). - - `GheUserDisconnected object` + - `port: optional number or null` - User disconnected from a GHE instance. + Custom port, if not the HTTPS default - - `type: optional "ghe_user_disconnected"` + - `GheConfigurationUpdated object` - default: ghe_user_disconnected + 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` @@ -48067,6 +48151,10 @@ 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' @@ -48077,9 +48165,37 @@ compliance activities that can be filtered by various criteria. format: date-time - - `ghe_configuration_id: optional string or null` + - `custom_ca_certificate_updated: optional boolean or null` - ID of the GHE configuration + 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` @@ -48089,13 +48205,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). - - `GheWebhookSignatureInvalid object` + - `port: optional number or null` - Webhook signature validation failed. + New port, when it changed - - `type: optional "ghe_webhook_signature_invalid"` + - `previous_display_name: optional string or null` - default: ghe_webhook_signature_invalid + 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` @@ -48303,10 +48451,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' @@ -48317,6 +48461,10 @@ 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 @@ -48325,13 +48473,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GheUserDisconnected object` - A GitHub integration was enabled for the organization. + User disconnected from a GHE instance. - - `type: optional "claude_github_integration_created"` + - `type: optional "ghe_user_disconnected"` - default: claude_github_integration_created + default: ghe_user_disconnected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48539,63 +48687,35 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` - - 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 - - `enabled: optional boolean or null` + - `ghe_configuration_id: optional string or null` - Whether the integration is enabled after this change. + ID of the GHE configuration - `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. - - - `repository_name: optional string or null` - - Name of the GitHub repository the integration is connected to, when known. - - - `ClaudeGitHubIntegrationDeleted object` + - `GheWebhookSignatureInvalid object` - A GitHub integration was disabled for the organization. + Webhook signature validation failed. - - `type: optional "claude_github_integration_deleted"` + - `type: optional "ghe_webhook_signature_invalid"` - default: claude_github_integration_deleted + default: ghe_webhook_signature_invalid - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48803,9 +48923,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` @@ -48817,37 +48937,21 @@ compliance activities that can be filtered by various criteria. 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. - - - `repository_name: optional string or null` - - Name of the GitHub repository the integration was connected to, when known. - - - `ClaudeGitHubIntegrationUpdated object` + - `ClaudeGitHubIntegrationCreated object` - A GitHub integration's configuration was updated. + A GitHub integration was enabled for the organization. - - `type: optional "claude_github_integration_updated"` + - `type: optional "claude_github_integration_created"` - default: claude_github_integration_updated + default: claude_github_integration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49063,12 +49167,28 @@ compliance activities that can be filtered by various criteria. 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 @@ -49081,17 +49201,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_enabled: optional boolean or null` + + Whether the integration was enabled before this change; null when the integration had never been configured. + - `repository_name: optional string or null` Name of the GitHub repository the integration is connected to, when known. - - `GitHubAppInstallationLinked object` + - `ClaudeGitHubIntegrationDeleted 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. + A GitHub integration was disabled for the organization. - - `type: optional "github_app_installation_linked"` + - `type: optional "claude_github_integration_deleted"` - default: github_app_installation_linked + default: claude_github_integration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49299,9 +49423,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `github_installation_id: number` + - `integration_id: string` - Numeric GitHub ID of the installation that was linked + Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -49313,29 +49437,37 @@ 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` + - `enabled: optional boolean or null` - Whether that GitHub account is an organization or a user account, as reported by GitHub ("Organization" or "User") + 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). - - `GitHubAppInstallationUnlinked object` + - `previous_enabled: optional boolean 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. + Whether the integration was enabled before this change; null when the integration had never been configured. - - `type: optional "github_app_installation_unlinked"` + - `repository_name: optional string or null` - default: github_app_installation_unlinked + 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` @@ -49543,9 +49675,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `github_installation_id: number` + - `integration_id: string` - Numeric GitHub ID of the installation that was unlinked + Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -49557,29 +49689,29 @@ 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 + - `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). - - `GitHubTokenImport object` + - `repository_name: optional string 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). + Name of the GitHub repository the integration is connected to, when known. - - `type: optional "github_token_import"` + - `GitHubAppInstallationLinked object` - default: github_token_import + 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` @@ -49787,29 +49919,9 @@ 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` + - `github_installation_id: number` - How the token was imported. + Numeric GitHub ID of the installation that was linked - `id: optional string` @@ -49821,13 +49933,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `github_username: optional string or null` + - `github_account_login: optional string or null` - The GitHub username the imported token authenticates as, when known. + Login of the GitHub organization or user account the App is installed on - - `granted_scopes: optional string or null` + - `github_account_type: optional string or null` - The scopes granted to the imported token, when available. + Whether that GitHub account is an organization or a user account, as reported by GitHub ("Organization" or "User") - `organization_id: optional string or null` @@ -49837,17 +49949,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - Org-scoped SHA-256 of the submitted token: `sha256(org_uuid || 0x00 || token)`, lowercase-hex-encoded, where `org_uuid` is the organization's UUID as a dashed lowercase string, `0x00` is a single zero byte, and `token` is the submitted value's raw bytes. Per-org correlation only — the same token in two orgs produces distinct fingerprints. Set only when the submitted value carries a known GitHub PAT prefix (a high-entropy token format); unset for all other submissions, including rejected non-PAT input. - - - `GitlabConfigurationCreated object` + - `GitHubAppInstallationUnlinked object` - An organization admin created a self-managed GitLab configuration for syncing plugin marketplaces. + 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 "gitlab_configuration_created"` + - `type: optional "github_app_installation_unlinked"` - default: gitlab_configuration_created + default: github_app_installation_unlinked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50055,9 +50163,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `gitlab_configuration_id: string` + - `github_installation_id: number` - ID of the GitLab configuration + Numeric GitHub ID of the installation that was unlinked - `id: optional string` @@ -50069,13 +50177,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `display_name: optional string or null` + - `github_account_login: optional string or null` - Display name given to the configuration + Login of the GitHub organization or user account the App is installed on - - `hostname: optional string or null` + - `github_account_type: optional string or null` - Hostname of the GitLab instance + Whether that GitHub account is an organization or a user account, as reported by GitHub ("Organization" or "User") - `organization_id: optional string or null` @@ -50085,17 +50193,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GitHubTokenImport object` - An organization admin deleted a self-managed GitLab configuration. + 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 "gitlab_configuration_deleted"` + - `type: optional "github_token_import"` - default: gitlab_configuration_deleted + default: github_token_import - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50303,9 +50407,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `gitlab_configuration_id: string` + - `result: "failed_internal" or "imported" or "rejected_feature_disabled" or 5 more` - ID of the GitLab configuration + 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` @@ -50317,13 +50441,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `display_name: optional string or null` + - `github_username: optional string or null` - Display name the configuration had when deleted + The GitHub username the imported token authenticates as, when known. - - `hostname: optional string or null` + - `granted_scopes: optional string or null` - Hostname of the GitLab instance + The scopes granted to the imported token, when available. - `organization_id: optional string or null` @@ -50333,17 +50457,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). - - `port: optional number or null` + - `token_fingerprint_sha256: optional string or null` - Custom port, if not the HTTPS default + Org-scoped SHA-256 of the submitted token: `sha256(org_uuid || 0x00 || token)`, lowercase-hex-encoded, where `org_uuid` is the organization's UUID as a dashed lowercase string, `0x00` is a single zero byte, and `token` is the submitted value's raw bytes. Per-org correlation only — the same token in two orgs produces distinct fingerprints. Set only when the submitted value carries a known GitHub PAT prefix (a high-entropy token format); unset for all other submissions, including rejected non-PAT input. - - `GitlabConfigurationUpdated object` + - `GitlabConfigurationCreated 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. + An organization admin created a self-managed GitLab configuration for syncing plugin marketplaces. - - `type: optional "gitlab_configuration_updated"` + - `type: optional "gitlab_configuration_created"` - default: gitlab_configuration_updated + default: gitlab_configuration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50559,31 +50683,19 @@ compliance activities that can be filtered by various criteria. 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 - - `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 + Display name given to the configuration - `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 + Hostname of the GitLab instance - `organization_id: optional string or null` @@ -50595,27 +50707,15 @@ compliance activities that can be filtered by various criteria. - `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_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 + Custom port, if not the HTTPS default - - `ClaudeGdriveIntegrationCreated object` + - `GitlabConfigurationDeleted object` - A Google Drive integration was enabled for the organization. + An organization admin deleted a self-managed GitLab configuration. - - `type: optional "claude_gdrive_integration_created"` + - `type: optional "gitlab_configuration_deleted"` - default: claude_gdrive_integration_created + default: gitlab_configuration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50823,35 +50923,27 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `gitlab_configuration_id: string` - Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". + ID of the GitLab configuration - `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` + - `display_name: optional string or null` - Identifier of the Google Drive folder the integration is connected to, when known. + Display name the configuration had when deleted + + - `hostname: optional string or null` + + Hostname of the GitLab instance - `organization_id: optional string or null` @@ -50861,13 +50953,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). - - `ClaudeGdriveIntegrationDeleted object` + - `port: optional number or null` - A Google Drive integration was disabled for the organization. + Custom port, if not the HTTPS default - - `type: optional "claude_gdrive_integration_deleted"` + - `GitlabConfigurationUpdated object` - default: claude_gdrive_integration_deleted + 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` @@ -51075,23 +51171,39 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `gitlab_configuration_id: string` - Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". + 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 - - `folder_id: optional string or null` + - `custom_ca_certificate_updated: optional boolean or null` - Identifier of the Google Drive folder the integration was connected to, when known. + 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` @@ -51101,13 +51213,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). - - `ClaudeGdriveIntegrationUpdated object` + - `port: optional number or null` - A Google Drive integration's configuration was updated. + New port, when it changed - - `type: optional "claude_gdrive_integration_updated"` + - `previous_display_name: optional string or null` - default: claude_gdrive_integration_updated + 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` @@ -51323,6 +51451,18 @@ compliance activities that can be filtered by various criteria. 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. @@ -51341,13 +51481,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeGdriveIntegrationDeleted object` - A group was created (RBAC admin or SCIM provisioning). + A Google Drive integration was disabled for the organization. - - `type: optional "group_created"` + - `type: optional "claude_gdrive_integration_deleted"` - default: group_created + default: claude_gdrive_integration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51555,13 +51695,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` + - `integration_id: string` - Name of the created group + Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -51573,6 +51709,10 @@ 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 @@ -51581,13 +51721,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeGdriveIntegrationUpdated object` - A group was deleted (RBAC admin or SCIM provisioning). + A Google Drive integration's configuration was updated. - - `type: optional "group_deleted"` + - `type: optional "claude_gdrive_integration_updated"` - default: group_deleted + default: claude_gdrive_integration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51795,9 +51935,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 deleted group + Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -51809,6 +51949,10 @@ 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 is connected to, when known. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -51817,13 +51961,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupCreated object` - Admin viewed the list of RBAC groups. + A group was created (RBAC admin or SCIM provisioning). - - `type: optional "group_list_viewed"` + - `type: optional "group_created"` - default: group_list_viewed + default: group_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52031,6 +52175,14 @@ 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` + + Name of the created group + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -52049,13 +52201,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupDeleted object` - One or more members were added to a group. + A group was deleted (RBAC admin or SCIM provisioning). - - `type: optional "group_member_added"` + - `type: optional "group_deleted"` - default: group_member_added + default: group_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52265,7 +52417,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group + Tagged ID of the deleted group - `id: optional string` @@ -52277,10 +52429,6 @@ 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 @@ -52289,13 +52437,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupListViewed object` - A request to add members to a group failed. Some of the requested members may have been added before the failure. + Admin viewed the list of RBAC groups. - - `type: optional "group_member_addition_failed"` + - `type: optional "group_list_viewed"` - default: group_member_addition_failed + default: group_list_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52503,10 +52651,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` - - Tagged ID of the group - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -52517,10 +52661,6 @@ 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 @@ -52529,13 +52669,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupMemberAdded object` - Admin viewed the members of an RBAC group. + One or more members were added to a group. - - `type: optional "group_member_list_viewed"` + - `type: optional "group_member_added"` - default: group_member_list_viewed + default: group_member_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52757,6 +52897,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 @@ -52765,13 +52909,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupMemberAdditionFailed object` - A request to remove members from a group failed. Some of the requested members may have been removed before the failure. + A request to add members to a group failed. Some of the requested members may have been added before the failure. - - `type: optional "group_member_removal_failed"` + - `type: optional "group_member_addition_failed"` - default: group_member_removal_failed + default: group_member_addition_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52995,7 +53139,7 @@ compliance activities that can be filtered by various criteria. - `member_ids: optional array of string` - 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 + Tagged IDs of the members the request attempted to add - `organization_id: optional string or null` @@ -53005,13 +53149,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupMemberListViewed object` - One or more members were removed from a group. + Admin viewed the members of an RBAC group. - - `type: optional "group_member_removed"` + - `type: optional "group_member_list_viewed"` - default: group_member_removed + default: group_member_list_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -53233,10 +53377,6 @@ compliance activities that can be filtered by various criteria. 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 @@ -53245,13 +53385,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupMemberRemovalFailed object` - An RBAC group's project shares in one organization were revoked in bulk. + A request to remove members from a group failed. Some of the requested members may have been removed before the failure. - - `type: optional "group_project_shares_revoked"` + - `type: optional "group_member_removal_failed"` - default: group_project_shares_revoked + default: group_member_removal_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -53461,26 +53601,22 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group whose project shares were revoked. - - - `revoked_count: number` - - Number of distinct projects whose share with this group was revoked. + Tagged ID of the 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. format: date-time + - `member_ids: optional array of string` + + 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` Organization ID this activity is associated with @@ -53489,13 +53625,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupMemberRemoved object` - An RBAC group's skill shares in one organization were revoked in bulk. + One or more members were removed from a group. - - `type: optional "group_skill_shares_revoked"` + - `type: optional "group_member_removed"` - default: group_skill_shares_revoked + default: group_member_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -53705,11 +53841,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 group - `id: optional string` @@ -53721,6 +53853,10 @@ compliance activities that can be filtered by various criteria. 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 @@ -53729,21 +53865,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupProjectSharesRevoked object` - A group was updated (RBAC admin or SCIM provisioning). + An RBAC group's project shares in one organization were revoked in bulk. - - `type: optional "group_updated"` + - `type: optional "group_project_shares_revoked"` - default: group_updated + default: group_project_shares_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -53953,12 +54081,20 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the updated group + Tagged ID of the group whose project shares were revoked. + + - `revoked_count: number` + + Number of distinct projects whose share with this group was revoked. - `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. @@ -53973,13 +54109,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupSkillSharesRevoked object` - A group was viewed. + An RBAC group's skill shares in one organization were revoked in bulk. - - `type: optional "group_viewed"` + - `type: optional "group_skill_shares_revoked"` - default: group_viewed + default: group_skill_shares_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54189,7 +54325,11 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the viewed group + 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` @@ -54209,13 +54349,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). - - `GroupVisibilityUpdated object` + - `plugin_ids: optional array of string` - An RBAC group's visibility policy was updated. + Tagged IDs of the plugins whose share with this group was revoked. - - `type: optional "group_visibility_updated"` + - `skill_ids: optional array of string` - default: group_visibility_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` @@ -54425,7 +54573,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 updated group - `id: optional string` @@ -54445,69 +54593,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupViewed 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. + A group was viewed. - - `type: optional "inference_hooks_circuit_breaker_tripped"` + - `type: optional "group_viewed"` - default: inference_hooks_circuit_breaker_tripped + default: group_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54715,13 +54807,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 viewed group - `id: optional string` @@ -54741,17 +54829,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupVisibilityUpdated object` - Inference hooks inspection denied a request. The request was blocked. + An RBAC group's visibility policy was updated. - - `type: optional "inference_hooks_request_denied"` + - `type: optional "group_visibility_updated"` - default: inference_hooks_request_denied + default: group_visibility_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54959,13 +55043,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 whose visibility policy was updated. - - `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` @@ -54973,10 +55057,6 @@ compliance activities that can be filtered by various criteria. 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 @@ -54985,25 +55065,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). - - `reference_id: optional string or null` + - `policies: optional array of object` - 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. + The group's visibility policy after this update. - - `request_id: optional string or null` + - `audience: "everyone" or "members" or "none" or "unspecified"` - Anthropic's identifier for the denied request — the same value sent to the Inference hooks endpoint as `request_id`. + The audience granted this visibility facet. - - `surface: optional string or null` + - `"everyone"` - The product surface the request came from, e.g. "claude-ai" or "claude-code". + - `"members"` - - `InferenceHooksRequestFailedOpen object` + - `"none"` - 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. + - `"unspecified"` - - `type: optional "inference_hooks_request_failed_open"` + - `visibility_type: "discover" or "share_with" or "unspecified" or "view_members"` - default: inference_hooks_request_failed_open + 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` @@ -55211,26 +55335,18 @@ 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"` + - `fail_mode: string` - - `"endpoint_timeout"` + The failure handling in effect when the breaker tripped: "fail_open" (requests proceed uninspected) or "fail_closed" (requests are rejected). - - `"internal_error"` + - `trigger_reason: string` - - `"unspecified"` + 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' - - `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. @@ -55245,21 +55361,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` - - 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". + The product surface of the request whose failure tripped the breaker, e.g. "claude-ai" or "claude-code". - - `IntegrationUserConnected object` + - `InferenceHooksRequestDenied object` - User connected to an integration. + Inference hooks inspection denied a request. The request was blocked. - - `type: optional "integration_user_connected"` + - `type: optional "inference_hooks_request_denied"` - default: integration_user_connected + default: inference_hooks_request_denied - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55471,23 +55583,19 @@ compliance activities that can be filtered by various criteria. 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 - - `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` + - `event: optional string or null` - Display name of the connected remote MCP server, when the integration is a remote MCP server. + 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` @@ -55497,17 +55605,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). - - `token_vault_connect_mode: optional string or null` + - `reference_id: 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. + 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. - - `IntegrationUserDisconnected object` + - `request_id: optional string or null` - User disconnected from an integration. + Anthropic's identifier for the denied request — the same value sent to the Inference hooks endpoint as `request_id`. - - `type: optional "integration_user_disconnected"` + - `surface: optional string or null` - default: integration_user_disconnected + 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` @@ -55715,27 +55831,31 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `reason: "endpoint_error" or "endpoint_timeout" or "internal_error" or "unspecified"` - Unique identifier for the activity e.g. 'activity_abcd1234' + Why Inference hooks inspection did not return a verdict. - - `created_at: optional string` + - `"endpoint_error"` - When this activity occurred. + - `"endpoint_timeout"` - format: date-time + - `"internal_error"` - - `integration_type: optional string or null` + - `"unspecified"` - The kind of integration the user disconnected, e.g. "github", "gdrive", "slack", or "mcp" for a remote MCP server. + - `id: optional string` - - `mcp_server_id: optional string or null` + Unique identifier for the activity e.g. 'activity_abcd1234' - ID of the disconnected remote MCP server, when the integration is a remote MCP server. + - `conversation_id: optional string or null` - - `mcp_server_name: optional string or null` + The conversation the request belonged to, when available. The identifier format depends on `surface`. - Display name of the disconnected remote MCP server, when the integration is a remote MCP server. + - `created_at: optional string` + + When this activity occurred. + + format: date-time - `organization_id: optional string or null` @@ -55745,13 +55865,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` + - `request_id: optional string or null` - Invoice collection method was changed. + 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 "invoice_collection_method_updated"` + - `surface: optional string or null` - default: invoice_collection_method_updated + 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` @@ -55969,9 +56097,17 @@ compliance activities that can be filtered by various criteria. format: date-time - - `new_collection_method: optional string or null` + - `integration_type: optional string or null` - New collection method (e.g. charge_automatically, send_invoice). + 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` @@ -55981,13 +56117,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). - - `UserLoggedOut object` + - `token_vault_connect_mode: optional string or null` - A user signed out of one or all sessions. + 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 "user_logged_out"` + - `IntegrationUserDisconnected object` - default: user_logged_out + User disconnected from an integration. + + - `type: optional "integration_user_disconnected"` + + default: integration_user_disconnected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56205,6 +56345,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 @@ -56213,13 +56365,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `InvoiceCollectionMethodUpdated object` - LTI launch was initiated. + Invoice collection method was changed. - - `type: optional "lti_launch_initiated"` + - `type: optional "invoice_collection_method_updated"` - default: lti_launch_initiated + default: invoice_collection_method_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56437,6 +56589,10 @@ 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 @@ -56445,13 +56601,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `UserLoggedOut object` - LTI launch completed successfully. + A user signed out of one or all sessions. - - `type: optional "lti_launch_success"` + - `type: optional "user_logged_out"` - default: lti_launch_success + default: user_logged_out - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56677,13 +56833,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `LtiLaunchInitiated object` - Anthropic staff created an LTI platform integration on behalf of an org. + LTI launch was initiated. - - `type: optional "lti_platform_created"` + - `type: optional "lti_launch_initiated"` - default: lti_platform_created + default: lti_launch_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56891,14 +57047,6 @@ 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' @@ -56917,13 +57065,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `LtiLaunchSuccess object` - Anthropic staff updated an LTI platform integration on behalf of an org. + LTI launch completed successfully. - - `type: optional "lti_platform_updated"` + - `type: optional "lti_launch_success"` - default: lti_platform_updated + default: lti_launch_success - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57131,10 +57279,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `lti_platform_id: string` - - UUID of the LTI platform - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -57145,10 +57289,6 @@ 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 @@ -57157,13 +57297,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `LtiPlatformCreated object` - A magic link sign-in attempt failed. + Anthropic staff created an LTI platform integration on behalf of an org. - - `type: optional "magic_link_login_failed"` + - `type: optional "lti_platform_created"` - default: magic_link_login_failed + default: lti_platform_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57371,6 +57511,14 @@ 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' @@ -57389,13 +57537,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `LtiPlatformUpdated object` - A user requested a magic link sign-in email. + Anthropic staff updated an LTI platform integration on behalf of an org. - - `type: optional "magic_link_login_initiated"` + - `type: optional "lti_platform_updated"` - default: magic_link_login_initiated + default: lti_platform_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57603,6 +57751,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `lti_platform_id: string` + + UUID of the LTI platform + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -57613,6 +57765,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 @@ -57621,13 +57777,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MagicLinkLoginFailed object` - A user successfully signed in with a magic link email. + A magic link sign-in attempt failed. - - `type: optional "magic_link_login_succeeded"` + - `type: optional "magic_link_login_failed"` - default: magic_link_login_succeeded + default: magic_link_login_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57839,28 +57995,12 @@ 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"` - - - `"unspecified"` - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -57869,13 +58009,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MagicLinkLoginInitiated object` - Managed (AWS Marketplace) organization setup was completed. + A user requested a magic link sign-in email. - - `type: optional "managed_organization_setup_completed"` + - `type: optional "magic_link_login_initiated"` - default: managed_organization_setup_completed + default: magic_link_login_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58101,13 +58241,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MagicLinkLoginSucceeded object` - Admin created an organization marketplace. + A user successfully signed in with a magic link email. - - `type: optional "marketplace_created"` + - `type: optional "magic_link_login_succeeded"` - default: marketplace_created + default: magic_link_login_succeeded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58315,25 +58455,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` - - 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` @@ -58341,9 +58473,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `default_installation_preference: optional string or null` + - `mfa_method: optional "not_used" or "unspecified" 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 + 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` @@ -58353,13 +58489,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ManagedOrganizationSetupCompleted object` - Admin deleted an organization marketplace. + Managed (AWS Marketplace) organization setup was completed. - - `type: optional "marketplace_deleted"` + - `type: optional "managed_organization_setup_completed"` - default: marketplace_deleted + default: managed_organization_setup_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58567,10 +58703,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' @@ -58589,13 +58721,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MarketplaceCreated object` - Admin updated an organization marketplace. + Admin created an organization marketplace. - - `type: optional "marketplace_updated"` + - `type: optional "marketplace_created"` - default: marketplace_updated + default: marketplace_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58829,261 +58961,9 @@ 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 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` - - 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` - - - `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` - - - `marketplace_id: string` - - Tagged ID of the marketplace - - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' - - - `created_at: optional string` - - When this activity occurred. + - `default_installation_preference: optional string or null` - format: date-time + 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` @@ -59093,13 +58973,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MarketplaceDeleted object` - Admin provisioned a GitHub push webhook for a marketplace. + Admin deleted an organization marketplace. - - `type: optional "marketplace_webhook_provisioned"` + - `type: optional "marketplace_deleted"` - default: marketplace_webhook_provisioned + default: marketplace_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59321,10 +59201,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 @@ -59333,13 +59209,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MarketplaceUpdated object` - The organization published its approved MCP directory listing. + Admin updated an organization marketplace. - - `type: optional "mcp_directory_server_published"` + - `type: optional "marketplace_updated"` - default: mcp_directory_server_published + default: marketplace_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59547,18 +59423,26 @@ 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` + - `marketplace_id: string` - Display name of the MCP directory listing + 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. @@ -59573,13 +59457,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). - - `McpServerCreated object` + - `updates: optional array of object` - An MCP server was added to the organization. + The setting changes applied in this update; empty for an update that changed no recorded setting (such as a sync) - - `type: optional "mcp_server_created"` + - `type: "default_installation_preference" or "unspecified"` - default: mcp_server_created + 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` @@ -59787,30 +59691,14 @@ 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' - - `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. @@ -59825,13 +59713,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MarketplaceWebhookProvisioned object` - An MCP server was removed from the organization. + Admin provisioned a GitHub push webhook for a marketplace. - - `type: optional "mcp_server_deleted"` + - `type: optional "marketplace_webhook_provisioned"` - default: mcp_server_deleted + default: marketplace_webhook_provisioned - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60039,13 +59927,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` @@ -60057,6 +59941,10 @@ 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 @@ -60065,13 +59953,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `McpDirectoryServerPublished 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. + The organization published its approved MCP directory listing. - - `type: optional "mcp_server_managed_auth_token_exchanged"` + - `type: optional "mcp_directory_server_published"` - default: mcp_server_managed_auth_token_exchanged + default: mcp_directory_server_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60279,48 +60167,24 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `managed_auth_mode: string` + - `mcp_directory_server_id: string` - The managed-authorization mode used for the exchange ("claude" or "sso"). + Tagged ID of the MCP directory listing - - `mcp_server_id: string` + - `mcp_directory_server_name: string` - The MCP server the exchange was attempted for, e.g. "mcpsrv_01Ab...". + Display name of the MCP directory listing - `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 - - `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` - - The MCP server's display name at the time of the exchange, when available. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -60329,17 +60193,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `McpServerCreated 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). + An MCP server was added to the organization. - - `type: optional "mcp_server_managed_auth_updated"` + - `type: optional "mcp_server_created"` - default: mcp_server_managed_auth_updated + default: mcp_server_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60559,13 +60419,17 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' - - `allowed_scopes: optional string or null` + - `attestations: optional array of object` - 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. + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - `built_in_roles_included: optional boolean or null` + - `type: string` - 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. + 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` @@ -60573,22 +60437,6 @@ compliance activities that can be filtered by various criteria. 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 @@ -60597,29 +60445,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `McpServerDeleted object` - An MCP server's configuration was updated. + An MCP server was removed from the organization. - - `type: optional "mcp_server_updated"` + - `type: optional "mcp_server_deleted"` - default: mcp_server_updated + default: mcp_server_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60839,18 +60671,6 @@ compliance activities that can be filtered by various criteria. 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. @@ -60865,13 +60685,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `McpServerManagedAuthTokenExchanged object` - The permission restriction for an MCP tool was set or cleared. + 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 "mcp_tool_policy_updated"` + - `type: optional "mcp_server_managed_auth_token_exchanged"` - default: mcp_tool_policy_updated + default: mcp_server_managed_auth_token_exchanged - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -61079,51 +60899,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` + - `managed_auth_mode: string` - Display name of the MCP server + The managed-authorization mode used for the exchange ("claude" or "sso"). - - `tool_name: string` + - `mcp_server_id: string` - Tool name (or '*' for the MCP-server-wide default) + The MCP server the exchange was attempted for, e.g. "mcpsrv_01Ab...". - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `action: optional "reenabled" or "unspecified" or null` + - `assertion_jti: optional string 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. + 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. - - `"reenabled"` + - `authorization_server_issuer: optional string or null` - - `"unspecified"` + The issuer identifier of the authorization server the exchange was attempted against. - - `attestations: optional array of object` + - `correlation_id: optional string or null` - 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). + An opaque identifier customers can quote when contacting Anthropic support about this exchange. - - `type: string` + - `created_at: optional string` - Attestation type, such as "safe_for_phi" (may be used with protected health information). + When this activity occurred. - - `content_hash: string` + format: date-time - Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). + - `error_subtype: optional string or null` - - `created_at: optional string` + 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. - When this activity occurred. + - `error_type: optional string or null` - format: date-time + 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. - - `max_permission: optional string or null` + - `mcp_server_name: optional string or null` - New max_permission value ('allow' | 'ask' | 'blocked'), or null when cleared + The MCP server's display name at the time of the exchange, when available. - `organization_id: optional string or null` @@ -61133,13 +60949,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). - - `OrgAnalyticsAPICapabilityUpdated object` + - `outcome: optional string or null` - Organization analytics_api capability was enabled or disabled. + Whether the token exchange succeeded ("success") or was rejected ("failure"). - - `type: optional "org_analytics_api_capability_updated"` + - `McpServerManagedAuthUpdated object` - default: org_analytics_api_capability_updated + 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 "mcp_server_managed_auth_updated"` + + default: mcp_server_managed_auth_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -61347,19 +61167,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` - Whether the analytics API capability is enabled 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` @@ -61369,17 +61217,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` - Whether the analytics API capability was enabled immediately before this change + The OAuth scope restriction before the change, as a space-delimited list; null when no scope restriction was configured. - - `OrgBulkDeleteInitiated object` + - `previous_built_in_roles_included: optional boolean or null` - Organization bulk deletion was initiated. + Whether managed authorization extended to members holding one of the organization's built-in roles before the change. - - `type: optional "org_bulk_delete_initiated"` + - `previous_individual_auth_enabled: optional boolean or null` - default: org_bulk_delete_initiated + 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` @@ -61587,10 +61447,30 @@ 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. @@ -61605,13 +61485,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `McpToolPolicyUpdated object` - A capability grant was added to a workspace or role. + The permission restriction for an MCP tool was set or cleared. - - `type: optional "org_capability_grant_added"` + - `type: optional "mcp_tool_policy_updated"` - default: org_capability_grant_added + default: mcp_tool_policy_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -61819,27 +61699,41 @@ 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"` + - `tool_name: string` - The kind of principal the grant was added to. + Tool name (or '*' for the MCP-server-wide default) - - `"rbac_role"` + - `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"` - - `"workspace"` + - `attestations: optional array of object` - - `id: optional string` + 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). - Unique identifier for the activity e.g. 'activity_abcd1234' + - `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` @@ -61847,6 +61741,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 @@ -61855,13 +61753,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgAnalyticsAPICapabilityUpdated object` - A capability grant was removed from a workspace or role. + Organization analytics_api capability was enabled or disabled. - - `type: optional "org_capability_grant_removed"` + - `type: optional "org_analytics_api_capability_updated"` - default: org_capability_grant_removed + default: org_analytics_api_capability_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62069,24 +61967,6 @@ 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. - - - `"rbac_role"` - - - `"unspecified"` - - - `"workspace"` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -62097,6 +61977,10 @@ compliance activities that can be filtered by various criteria. format: date-time + - `current_value: optional boolean or null` + + Whether the analytics API capability is enabled immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -62105,13 +61989,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). - - `OrgChatCoworkUnifiedDisabled object` + - `previous_value: optional boolean or null` - The organization's setting for the unified Chat and Cowork experience was turned off. + Whether the analytics API capability was enabled immediately before this change - - `type: optional "org_chat_cowork_unified_disabled"` + - `OrgBulkDeleteInitiated object` - default: org_chat_cowork_unified_disabled + Organization bulk deletion was initiated. + + - `type: optional "org_bulk_delete_initiated"` + + default: org_bulk_delete_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62329,10 +62217,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 @@ -62341,17 +62225,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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 - - - `OrgChatCoworkUnifiedEnabled object` + - `OrgCapabilityGrantAdded object` - The organization's setting for the unified Chat and Cowork experience was turned on. + A capability grant was added to a workspace or role. - - `type: optional "org_chat_cowork_unified_enabled"` + - `type: optional "org_capability_grant_added"` - default: org_chat_cowork_unified_enabled + default: org_capability_grant_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62559,6 +62439,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' @@ -62569,10 +62467,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 @@ -62581,17 +62475,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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 - - - `OrgClaudeCodeDataSharingDisabled object` + - `OrgCapabilityGrantRemoved object` - Organization Claude Code data sharing was disabled. + A capability grant was removed from a workspace or role. - - `type: optional "org_claude_code_data_sharing_disabled"` + - `type: optional "org_capability_grant_removed"` - default: org_claude_code_data_sharing_disabled + default: org_capability_grant_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62799,6 +62689,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 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. + + - `"rbac_role"` + + - `"unspecified"` + + - `"workspace"` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -62809,10 +62717,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 @@ -62821,17 +62725,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgChatCoworkUnifiedDisabled object` - Organization Claude Code data sharing was enabled. + The organization's setting for the unified Chat and Cowork experience was turned off. - - `type: optional "org_claude_code_data_sharing_enabled"` + - `type: optional "org_chat_cowork_unified_disabled"` - default: org_claude_code_data_sharing_enabled + default: org_chat_cowork_unified_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63065,13 +62965,13 @@ compliance activities that can be filtered by various criteria. Setting value immediately before this change - - `OrgClaudeCodeDesktopDisabled object` + - `OrgChatCoworkUnifiedEnabled object` - Organization Claude Code Desktop was disabled. + The organization's setting for the unified Chat and Cowork experience was turned on. - - `type: optional "org_claude_code_desktop_disabled"` + - `type: optional "org_chat_cowork_unified_enabled"` - default: org_claude_code_desktop_disabled + default: org_chat_cowork_unified_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63305,13 +63205,13 @@ compliance activities that can be filtered by various criteria. Setting value immediately before this change - - `OrgClaudeCodeDesktopEnabled object` + - `OrgClaudeCodeDataSharingDisabled object` - Organization Claude Code Desktop was enabled. + Organization Claude Code data sharing was disabled. - - `type: optional "org_claude_code_desktop_enabled"` + - `type: optional "org_claude_code_data_sharing_disabled"` - default: org_claude_code_desktop_enabled + default: org_claude_code_data_sharing_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63545,13 +63445,13 @@ compliance activities that can be filtered by various criteria. Setting value immediately before this change - - `OrgClaudeCodeZeroDataRetentionDisabled object` + - `OrgClaudeCodeDataSharingEnabled 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. + Organization Claude Code data sharing was enabled. - - `type: optional "org_claude_code_zero_data_retention_disabled"` + - `type: optional "org_claude_code_data_sharing_enabled"` - default: org_claude_code_zero_data_retention_disabled + default: org_claude_code_data_sharing_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63769,6 +63669,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 @@ -63777,13 +63681,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). - - `OrgComplianceAPISettingsUpdated object` + - `previous_value: optional boolean or null` - Organization compliance API settings were updated. + Setting value immediately before this change - - `type: optional "org_compliance_api_settings_updated"` + - `OrgClaudeCodeDesktopDisabled object` - default: org_compliance_api_settings_updated + Organization Claude Code Desktop was disabled. + + - `type: optional "org_claude_code_desktop_disabled"` + + default: org_claude_code_desktop_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63995,20 +63903,16 @@ 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. 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 @@ -64017,13 +63921,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). - - `OrgConnectorDomainGuardUpdated object` + - `previous_value: optional boolean or null` - Enterprise admin changed whether connectors are restricted to verified domains. + Setting value immediately before this change - - `type: optional "org_connector_domain_guard_updated"` + - `OrgClaudeCodeDesktopEnabled object` - default: org_connector_domain_guard_updated + Organization Claude Code Desktop was enabled. + + - `type: optional "org_claude_code_desktop_enabled"` + + default: org_claude_code_desktop_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64231,8 +64139,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' @@ -64243,6 +64149,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 @@ -64251,13 +64161,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"` + - `OrgClaudeCodeZeroDataRetentionDisabled object` - default: org_cowork_act_without_asking_mode_disabled + 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` @@ -64483,13 +64397,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgComplianceAPISettingsUpdated object` - The "Act without asking" mode in Cowork was enabled for the organization, allowing members to let Claude act without asking for approval. + Organization compliance API settings were updated. - - `type: optional "org_cowork_act_without_asking_mode_enabled"` + - `type: optional "org_compliance_api_settings_updated"` - default: org_cowork_act_without_asking_mode_enabled + default: org_compliance_api_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64701,6 +64615,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. @@ -64715,13 +64637,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgConnectorDomainGuardUpdated object` - Organization Cowork Agent was disabled. + Enterprise admin changed whether connectors are restricted to verified domains. - - `type: optional "org_cowork_agent_disabled"` + - `type: optional "org_connector_domain_guard_updated"` - default: org_cowork_agent_disabled + default: org_connector_domain_guard_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64929,6 +64851,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' @@ -64939,10 +64863,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 @@ -64951,17 +64871,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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 - - - `OrgCoworkAgentEnabled object` + - `OrgCoworkActWithoutAskingModeDisabled object` - Organization Cowork Agent was enabled. + 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_agent_enabled"` + - `type: optional "org_cowork_act_without_asking_mode_disabled"` - default: org_cowork_agent_enabled + default: org_cowork_act_without_asking_mode_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65179,10 +65095,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 @@ -65191,17 +65103,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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 - - - `OrgCoworkAutoModeDisabled object` + - `OrgCoworkActWithoutAskingModeEnabled 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. + 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_auto_mode_disabled"` + - `type: optional "org_cowork_act_without_asking_mode_enabled"` - default: org_cowork_auto_mode_disabled + default: org_cowork_act_without_asking_mode_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65427,13 +65335,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkAgentDisabled object` - The "Auto" permission mode in Cowork was enabled for the organization, allowing members to let Claude approve its own actions after a safety check. + Organization Cowork Agent was disabled. - - `type: optional "org_cowork_auto_mode_enabled"` + - `type: optional "org_cowork_agent_disabled"` - default: org_cowork_auto_mode_enabled + default: org_cowork_agent_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65651,6 +65559,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 @@ -65659,13 +65571,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). - - `OrgCoworkBrowserPaneDisabled object` + - `previous_value: optional boolean or null` - 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. + Setting value immediately before this change - - `type: optional "org_cowork_browser_pane_disabled"` + - `OrgCoworkAgentEnabled object` - default: org_cowork_browser_pane_disabled + 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` @@ -65883,6 +65799,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 @@ -65891,13 +65811,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). - - `OrgCoworkBrowserPaneEnabled object` + - `previous_value: optional boolean or null` - 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. + Setting value immediately before this change - - `type: optional "org_cowork_browser_pane_enabled"` + - `OrgCoworkAutoModeDisabled object` - default: org_cowork_browser_pane_enabled + 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` @@ -66123,13 +66047,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkAutoModeEnabled object` - Organization cowork was disabled. + 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_disabled"` + - `type: optional "org_cowork_auto_mode_enabled"` - default: org_cowork_disabled + default: org_cowork_auto_mode_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66347,10 +66271,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 @@ -66359,17 +66279,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkBrowserPaneDisabled object` - Organization cowork was enabled. + 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_enabled"` + - `type: optional "org_cowork_browser_pane_disabled"` - default: org_cowork_enabled + default: org_cowork_browser_pane_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66587,10 +66503,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 @@ -66599,17 +66511,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkBrowserPaneEnabled 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. + 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_cowork_mcp_always_allow_disabled"` + - `type: optional "org_cowork_browser_pane_enabled"` - default: org_cowork_mcp_always_allow_disabled + default: org_cowork_browser_pane_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66835,13 +66743,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkDisabled object` - 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. + Organization cowork was disabled. - - `type: optional "org_cowork_mcp_always_allow_enabled"` + - `type: optional "org_cowork_disabled"` - default: org_cowork_mcp_always_allow_enabled + default: org_cowork_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67059,6 +66967,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 @@ -67067,13 +66979,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"` + - `OrgCoworkEnabled object` - default: org_cowork_otlp_settings_updated + Organization cowork was enabled. + + - `type: optional "org_cowork_enabled"` + + default: org_cowork_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67291,21 +67207,9 @@ 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. Credentials in the URL userinfo or query string are removed; path segments are retained. 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` + - `current_value: optional boolean or null` - The OpenTelemetry resource attributes after the change. Null if the attributes are unset or were not themselves modified by this update. + Setting value immediately after this change - `organization_id: optional string or null` @@ -67315,39 +67219,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). - - `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. Credentials in the URL userinfo or query string are removed; path segments are retained. 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` + - `previous_value: optional boolean or null` - The OpenTelemetry resource attributes before the change. Null if the attributes were previously unset or were not themselves modified by this update. + Setting value immediately before this change - - `OrgCoworkRemoteDisabled object` + - `OrgCoworkMcpAlwaysAllowDisabled 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 "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_remote_disabled"` + - `type: optional "org_cowork_mcp_always_allow_disabled"` - default: org_cowork_remote_disabled + default: org_cowork_mcp_always_allow_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67573,13 +67455,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkMcpAlwaysAllowEnabled object` - Running Cowork in the cloud was enabled for the organization, allowing members to run Cowork sessions in Anthropic-hosted remote environments. + 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_cowork_remote_enabled"` + - `type: optional "org_cowork_mcp_always_allow_enabled"` - default: org_cowork_remote_enabled + default: org_cowork_mcp_always_allow_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67805,13 +67687,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkOtlpSettingsUpdated object` - Organization creation was blocked. + The organization's Cowork OpenTelemetry monitoring export settings were updated. - - `type: optional "org_creation_blocked"` + - `type: optional "org_cowork_otlp_settings_updated"` - default: org_creation_blocked + default: org_cowork_otlp_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68029,6 +67911,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. Credentials in the URL userinfo or query string are removed; path segments are retained. 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 @@ -68037,17 +67935,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). - - `reason: optional string or null` + - `otlp_headers_change: optional "cleared" or "set" or "unspecified" 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. + 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. - - `OrgDataExportAccessed object` + - `"cleared"` - Organization data export file was accessed/downloaded via signed URL. + - `"set"` - - `type: optional "org_data_export_accessed"` + - `"unspecified"` - default: org_data_export_accessed + - `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. Credentials in the URL userinfo or query string are removed; path segments are retained. 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` @@ -68265,16 +68185,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 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 @@ -68283,13 +68193,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkRemoteEnabled object` - Organization data export was completed. + Running Cowork in the cloud was enabled for the organization, allowing members to run Cowork sessions in Anthropic-hosted remote environments. - - `type: optional "org_data_export_completed"` + - `type: optional "org_cowork_remote_enabled"` - default: org_data_export_completed + default: org_cowork_remote_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68507,16 +68417,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 @@ -68525,13 +68425,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCreationBlocked object` - Organization data export was started. + Organization creation was blocked. - - `type: optional "org_data_export_started"` + - `type: optional "org_creation_blocked"` - default: org_data_export_started + default: org_creation_blocked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68749,16 +68649,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 @@ -68767,23 +68657,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). - - `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"` + - `reason: optional string or null` - - `"unspecified"` + "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. - - `OrgDataResidencyUpdated object` + - `OrgDataExportAccessed object` - The organization's inference data residency settings were updated. + Organization data export file was accessed/downloaded via signed URL. - - `type: optional "org_data_residency_updated"` + - `type: optional "org_data_export_accessed"` - default: org_data_residency_updated + default: org_data_export_accessed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69001,43 +68885,31 @@ 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: "allowed_inference_geos" or "default_inference_geo" or "unspecified"` + - `export_type: optional "conversations" or "unspecified" or "workbench" or null` - The data residency setting that changed + Which data set was downloaded. Absent on records written before this field was introduced. - - `"allowed_inference_geos"` + - `"conversations"` - - `"default_inference_geo"` + - `"unspecified"` - - `"unspecified"` + - `"workbench"` - - `current_value: optional string or null` + - `organization_id: 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. + 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. 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. + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgDeletedViaBulk object` + - `OrgDataExportCompleted object` - Organization was deleted via bulk operation. + Organization data export was completed. - - `type: optional "org_deleted_via_bulk"` + - `type: optional "org_data_export_completed"` - default: org_deleted_via_bulk + default: org_data_export_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69255,6 +69127,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 @@ -69263,13 +69145,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDataExportStarted object` - Organization deletion was requested. + Organization data export was started. - - `type: optional "org_deletion_requested"` + - `type: optional "org_data_export_started"` - default: org_deletion_requested + default: org_data_export_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69487,6 +69369,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 @@ -69495,13 +69387,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). - - `OrgDirectoryResyncCompleted object` + - `scope: optional "member_own_data" or "organization" or "unspecified" or null` - Organization directory resync completed successfully. + 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_resync_completed"` + - `"member_own_data"` - default: org_directory_resync_completed + - `"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` @@ -69709,10 +69611,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' @@ -69731,13 +69629,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). - - `OrgDirectoryResyncFailed object` + - `updates: optional array of object` - Organization directory resync failed. + The field-level changes applied in this update - - `type: optional "org_directory_resync_failed"` + - `type: "allowed_inference_geos" or "default_inference_geo" or "unspecified"` - default: org_directory_resync_failed + 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` @@ -69945,10 +69865,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' @@ -69967,13 +69883,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDeletionRequested object` - Organization directory resync was started asynchronously. + Organization deletion was requested. - - `type: optional "org_directory_resync_started"` + - `type: optional "org_deletion_requested"` - default: org_directory_resync_started + default: org_deletion_requested - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70181,10 +70097,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' @@ -70203,17 +70115,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDirectoryResyncCompleted object` - Organization directory sync was activated. + Organization directory resync completed successfully. - - `type: optional "org_directory_sync_activated"` + - `type: optional "org_directory_resync_completed"` - default: org_directory_sync_activated + default: org_directory_resync_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70421,237 +70329,9 @@ compliance activities that can be filtered by various criteria. - `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). - - - `OrgDirectorySyncAddInitiated object` - - Organization directory sync setup was initiated. - - - `type: optional "org_directory_sync_add_initiated"` - - default: org_directory_sync_add_initiated - - - `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` + - `resync_uuid: string` - - `user_agent: optional string or null` + UUID identifying the directory resync run that completed. - `id: optional string` @@ -70671,13 +70351,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDirectoryResyncFailed object` - Organization directory sync was deleted. + Organization directory resync failed. - - `type: optional "org_directory_sync_deleted"` + - `type: optional "org_directory_resync_failed"` - default: org_directory_sync_deleted + default: org_directory_resync_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70885,6 +70565,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' @@ -70903,13 +70587,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDirectoryResyncStarted object` - Admin disabled organization discoverability. + Organization directory resync was started asynchronously. - - `type: optional "org_discoverability_disabled"` + - `type: optional "org_directory_resync_started"` - default: org_discoverability_disabled + default: org_directory_resync_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71117,237 +70801,9 @@ compliance activities that can be filtered by various criteria. - `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). - - - `OrgDiscoverabilityEnabled object` - - Admin enabled organization discoverability. - - - `type: optional "org_discoverability_enabled"` - - default: org_discoverability_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` + - `resync_uuid: string` - - `user_agent: optional string or null` + UUID identifying this directory resync run - `id: optional string` @@ -71367,13 +70823,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). - - `OrgDiscoverabilitySettingsUpdated object` + - `sync_destinations: optional array of string` - Admin updated organization discoverability settings. + Sync destinations the resync targets (for example, accounts and rbac) - - `type: optional "org_discoverability_settings_updated"` + - `OrgDirectorySyncActivated object` - default: org_discoverability_settings_updated + 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` @@ -71599,13 +71059,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDirectorySyncAddInitiated object` - Organization domain verification was initiated. + Organization directory sync setup was initiated. - - `type: optional "org_domain_add_initiated"` + - `type: optional "org_directory_sync_add_initiated"` - default: org_domain_add_initiated + default: org_directory_sync_add_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71831,13 +71291,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDirectorySyncDeleted object` - Organization domain was removed. + Organization directory sync was deleted. - - `type: optional "org_domain_removed"` + - `type: optional "org_directory_sync_deleted"` - default: org_domain_removed + default: org_directory_sync_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72055,10 +71515,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 @@ -72067,13 +71523,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDiscoverabilityDisabled object` - Organization domain was verified. + Admin disabled organization discoverability. - - `type: optional "org_domain_verified"` + - `type: optional "org_discoverability_disabled"` - default: org_domain_verified + default: org_discoverability_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72291,10 +71747,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 @@ -72303,13 +71755,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDiscoverabilityEnabled object` - A CMEK external key config was created. + Admin enabled organization discoverability. - - `type: optional "org_external_key_created"` + - `type: optional "org_discoverability_enabled"` - default: org_external_key_created + default: org_discoverability_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72517,22 +71969,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' @@ -72551,13 +71987,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDiscoverabilitySettingsUpdated object` - A CMEK external key config was deleted. + Admin updated organization discoverability settings. - - `type: optional "org_external_key_deleted"` + - `type: optional "org_discoverability_settings_updated"` - default: org_external_key_deleted + default: org_discoverability_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72765,10 +72201,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' @@ -72787,13 +72219,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDomainAddInitiated object` - A CMEK external key config was updated. + Organization domain verification was initiated. - - `type: optional "org_external_key_updated"` + - `type: optional "org_domain_add_initiated"` - default: org_external_key_updated + default: org_domain_add_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73001,10 +72433,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' @@ -73023,37 +72451,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDomainRemoved object` - A CMEK external key config was validated against the customer's KMS. + Organization domain was removed. - - `type: optional "org_external_key_validated"` + - `type: optional "org_domain_removed"` - default: org_external_key_validated + default: org_domain_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73261,20 +72665,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' @@ -73285,6 +72675,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 @@ -73293,13 +72687,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDomainVerified object` - An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. + Organization domain was verified. - - `type: optional "org_hipaa_artifacts_terms_accepted"` + - `type: optional "org_domain_verified"` - default: org_hipaa_artifacts_terms_accepted + default: org_domain_verified - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73507,14 +72901,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' @@ -73525,6 +72911,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 @@ -73533,13 +72923,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgExternalKeyCreated object` - A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. + A CMEK external key config was created. - - `type: optional "org_hipaa_self_serve_enabled"` + - `type: optional "org_external_key_created"` - default: org_hipaa_self_serve_enabled + default: org_external_key_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73747,17 +73137,21 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `baa_content_hash: string` + - `external_key_id: string` - SHA-256 digest (hex) of the Business Associate Agreement that was accepted. + Tagged ID of the created external key config - - `baa_version_label: string` + - `provider: "aws" or "azure" or "gcp" or "unspecified"` - Version label of the Business Associate Agreement that was accepted, e.g. "2026-05-06". + KMS provider backing the key - - `setup_guide_content_hash: string` + - `"aws"` - SHA-256 digest (hex) of the HIPAA setup guide that was current when the HIPAA configuration was enabled. + - `"azure"` + + - `"gcp"` + + - `"unspecified"` - `id: optional string` @@ -73777,13 +73171,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgExternalKeyDeleted object` - Organization IP restriction was created. + A CMEK external key config was deleted. - - `type: optional "org_ip_restriction_created"` + - `type: optional "org_external_key_deleted"` - default: org_ip_restriction_created + default: org_external_key_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73991,6 +73385,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' @@ -74001,10 +73399,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 @@ -74013,13 +73407,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgExternalKeyUpdated object` - Organization IP restriction was deleted. + A CMEK external key config was updated. - - `type: optional "org_ip_restriction_deleted"` + - `type: optional "org_external_key_updated"` - default: org_ip_restriction_deleted + default: org_external_key_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74227,6 +73621,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' @@ -74237,10 +73635,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 @@ -74249,13 +73643,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). - - `OrgIPRestrictionUpdated object` + - `updates: optional array of object` - Organization IP restriction was updated. + The field-level changes applied in this update - - `type: optional "org_ip_restriction_updated"` + - `type: "display_name" or "geo" or "provider_config" or "unspecified"` - default: org_ip_restriction_updated + 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` + + A CMEK external key config was validated against the customer's KMS. + + - `type: optional "org_external_key_validated"` + + default: org_external_key_validated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74463,27 +73881,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `external_key_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the validated external key config - - `created_at: optional string` + - `validation_result: "failure" or "success" or "unspecified"` - When this activity occurred. + Outcome of the encrypt/decrypt roundtrip - format: date-time + - `"failure"` - - `ip_allowlist_enabled: optional boolean or null` + - `"success"` - 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. + - `"unspecified"` - - `ip_range: optional string or null` + - `id: optional string` - 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. + Unique identifier for the activity e.g. 'activity_abcd1234' - - `ip_range_active: optional boolean or null` + - `created_at: optional string` - 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. + When this activity occurred. + + format: date-time - `organization_id: optional string or null` @@ -74493,17 +73913,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgHipaaArtifactsTermsAccepted object` - Organization invite link was disabled. + An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. - - `type: optional "org_invite_link_disabled"` + - `type: optional "org_hipaa_artifacts_terms_accepted"` - default: org_invite_link_disabled + default: org_hipaa_artifacts_terms_accepted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74711,6 +74127,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' @@ -74729,13 +74153,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgInviteLinkGenerated object` + - `OrgHipaaClaudeCodeCoworkRestrictionsDeferred object` - Organization invite link was generated. + 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_link_generated"` + - `type: optional "org_hipaa_claude_code_cowork_restrictions_deferred"` - default: org_invite_link_generated + default: org_hipaa_claude_code_cowork_restrictions_deferred - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74961,13 +74385,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgHipaaClaudeCodeCoworkRestrictionsEnabled object` - Organization invite link was regenerated (previous link invalidated). + The HIPAA configuration was applied to Claude Code (local mode) and Cowork (local mode) for the organization. - - `type: optional "org_invite_link_regenerated"` + - `type: optional "org_hipaa_claude_code_cowork_restrictions_enabled"` - default: org_invite_link_regenerated + default: org_hipaa_claude_code_cowork_restrictions_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75175,6 +74599,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' @@ -75193,13 +74627,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgHipaaSelfServeEnabled object` - An organization invite was viewed. + A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. - - `type: optional "org_invite_viewed"` + - `type: optional "org_hipaa_self_serve_enabled"` - default: org_invite_viewed + default: org_hipaa_self_serve_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75407,9 +74841,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `invite_id: string` + - `baa_content_hash: string` - Tagged ID of the viewed invite + 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` @@ -75429,13 +74871,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgIPRestrictionCreated object` - Organization invites were listed. + Organization IP restriction was created. - - `type: optional "org_invites_listed"` + - `type: optional "org_ip_restriction_created"` - default: org_invites_listed + default: org_ip_restriction_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75653,6 +75095,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 @@ -75661,13 +75107,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgIPRestrictionDeleted object` - Approve or reject decision on a parent-org join proposal. + Organization IP restriction was deleted. - - `type: optional "org_join_proposal_decided"` + - `type: optional "org_ip_restriction_deleted"` - default: org_join_proposal_decided + default: org_ip_restriction_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75875,8 +75321,6 @@ 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' @@ -75887,6 +75331,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 @@ -75895,13 +75343,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgIPRestrictionUpdated object` - Admin approved a join request. + Organization IP restriction was updated. - - `type: optional "org_join_request_approved"` + - `type: optional "org_ip_restriction_updated"` - default: org_join_request_approved + default: org_ip_restriction_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76119,6 +75567,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 @@ -76127,13 +75587,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). - - `OrgJoinRequestCreated object` + - `previous_ip_range: optional string or null` - User requested to join an organization. + The IP range before this change; absent unless the range itself was changed. - - `type: optional "org_join_request_created"` + - `OrgInviteLinkDisabled object` - default: org_join_request_created + 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` @@ -76359,13 +75823,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgInviteLinkGenerated object` - Admin dismissed a join request. + Organization invite link was generated. - - `type: optional "org_join_request_dismissed"` + - `type: optional "org_invite_link_generated"` - default: org_join_request_dismissed + default: org_invite_link_generated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76591,13 +76055,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgInviteLinkRegenerated object` - Join request was instantly approved. + Organization invite link was regenerated (previous link invalidated). - - `type: optional "org_join_request_instant_approved"` + - `type: optional "org_invite_link_regenerated"` - default: org_join_request_instant_approved + default: org_invite_link_regenerated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76823,13 +76287,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgInviteViewed object` - Admin bulk-dismissed join requests. + An organization invite was viewed. - - `type: optional "org_join_requests_bulk_dismissed"` + - `type: optional "org_invite_viewed"` - default: org_join_requests_bulk_dismissed + default: org_invite_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77037,6 +76501,10 @@ 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' @@ -77055,13 +76523,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` @@ -77269,10 +76737,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' @@ -77291,13 +76755,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgJoinProposalDecided object` - Admin disabled member invites for the organization. + Approve or reject decision on a parent-org join proposal. - - `type: optional "org_member_invites_disabled"` + - `type: optional "org_join_proposal_decided"` - default: org_member_invites_disabled + default: org_join_proposal_decided - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77505,6 +76969,8 @@ 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' @@ -77523,13 +76989,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgJoinRequestApproved object` - Admin enabled member invites for the organization. + Admin approved a join request. - - `type: optional "org_member_invites_enabled"` + - `type: optional "org_join_request_approved"` - default: org_member_invites_enabled + default: org_join_request_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77755,13 +77221,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgJoinRequestCreated object` - Organization members list was exported as CSV. + User requested to join an organization. - - `type: optional "org_members_exported"` + - `type: optional "org_join_request_created"` - default: org_members_exported + default: org_join_request_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77987,23 +77453,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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 + - `OrgJoinRequestDismissed object` - - `"cleared"` + Admin dismissed a join request. - - `"set"` + - `type: optional "org_join_request_dismissed"` - - `"unspecified"` + default: org_join_request_dismissed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -78211,24 +77667,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' @@ -78239,26 +77677,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 @@ -78267,13 +77685,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgJoinRequestInstantApproved object` - Organization parent join proposal was created. + Join request was instantly approved. - - `type: optional "org_parent_join_proposal_created"` + - `type: optional "org_join_request_instant_approved"` - default: org_parent_join_proposal_created + default: org_join_request_instant_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -78499,13 +77917,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgJoinRequestsBulkDismissed object` - Organization parent search was performed. + Admin bulk-dismissed join requests. - - `type: optional "org_parent_search_performed"` + - `type: optional "org_join_requests_bulk_dismissed"` - default: org_parent_search_performed + default: org_join_requests_bulk_dismissed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -78731,13 +78149,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgLibrarySubmissionCreated object` - Organization SSO setup was initiated. + A member submitted one of their own skills or plugins for publication into the organization library. - - `type: optional "org_sso_add_initiated"` + - `type: optional "org_library_submission_created"` - default: org_sso_add_initiated + default: org_library_submission_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -78945,6 +78363,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' @@ -78963,13 +78415,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). - - `OrgSSOConnectionActivated object` + - `updates_published_plugin_id: optional string or null` - Organization SSO connection was activated. + The existing library entry this submission proposes to update; unset for a new entry. - - `type: optional "org_sso_connection_activated"` + - `OrgLibrarySubmissionResolved object` - default: org_sso_connection_activated + 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` @@ -79177,17 +78633,55 @@ 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' - - `connection_id: optional string or null` + - `attestations: optional array of object` - Identifier of the SSO connection that was activated. + Legal attestations given with the decision, such as "safe_for_phi"; empty when none were given, and on a second accepted record. - - `connection_type: optional string or null` + - `type: string` - The type of SSO connection that was activated, e.g. "OktaSAML" or "GenericOIDC". + 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` @@ -79195,6 +78689,14 @@ compliance activities that can be filtered by various criteria. 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 @@ -79203,13 +78705,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). - - `OrgSSOConnectionDeactivated object` + - `publish_policy: optional "off" or "open" or "review" or "unspecified" or null` - Organization SSO connection was deactivated. + 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_deactivated"` + - `"off"` - default: org_sso_connection_deactivated + - `"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` @@ -79417,13 +78939,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 deactivated. + 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` + + The version that had been submitted. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -79439,13 +78987,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgMagicLinkSecondFactorToggled object` - Organization SSO connection was deleted. + Organization magic link second factor was toggled. - - `type: optional "org_sso_connection_deleted"` + - `type: optional "org_magic_link_second_factor_toggled"` - default: org_sso_connection_deleted + default: org_magic_link_second_factor_toggled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -79653,13 +79201,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 deleted. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -79675,13 +79223,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgMemberAvatarRemoved object` - Organization SSO group role mappings were updated. + An administrator removed another member's profile picture. - - `type: optional "org_sso_group_role_mappings_updated"` + - `type: optional "org_member_avatar_removed"` - default: org_sso_group_role_mappings_updated + default: org_member_avatar_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -79889,6 +79437,10 @@ 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. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -79907,13 +79459,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgMemberInvitesDisabled object` - Organization SSO provisioning mode was changed. + Admin disabled member invites for the organization. - - `type: optional "org_sso_provisioning_mode_changed"` + - `type: optional "org_member_invites_disabled"` - default: org_sso_provisioning_mode_changed + default: org_member_invites_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -80131,10 +79683,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 @@ -80143,17 +79691,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgMemberInvitesEnabled object` - Organization SCIM-provisioned welcome email was toggled. + Admin enabled member invites for the organization. - - `type: optional "org_sso_scim_welcome_email_toggled"` + - `type: optional "org_member_invites_enabled"` - default: org_sso_scim_welcome_email_toggled + default: org_member_invites_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -80361,10 +79905,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' @@ -80383,17 +79923,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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 SCIM welcome email was enabled before this change. - - - `OrgSSOSeatTierAssignmentToggled object` + - `OrgMembersExported object` - Organization SSO seat tier assignment was toggled. + Organization members list was exported as CSV. - - `type: optional "org_sso_seat_tier_assignment_toggled"` + - `type: optional "org_members_exported"` - default: org_sso_seat_tier_assignment_toggled + default: org_members_exported - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -80601,10 +80137,6 @@ 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' @@ -80623,17 +80155,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 SSO seat tier assignment was enabled before this change. + An organization or role default model setting was changed by an administrator. - - `OrgSSOSeatTierMappingsUpdated object` + - `type: optional "org_model_default_updated"` - Organization SSO seat tier mappings were updated. + default: org_model_default_updated - - `type: optional "org_sso_seat_tier_mappings_updated"` + - `action: "cleared" or "set" or "unspecified"` - default: org_sso_seat_tier_mappings_updated + Whether the default model was set or cleared + + - `"cleared"` + + - `"set"` + + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -80841,6 +80379,24 @@ 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' @@ -80851,45 +80407,41 @@ 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` + - `default_model: optional string or null` - Name of the identity provider group. + The model set as the default, when the action is set - - `seat_tier: optional string or null` + - `model_access: optional array of object` - Seat tier assigned to members of the identity provider group, or null if the mapping assigns no seat. + The per-model access overrides set for this principal; absent when no overrides are configured - - `organization_id: optional string or null` + - `api_name: string` - Organization ID this activity is associated with + The model the decision applies to - - `organization_uuid: optional string or null` + - `enabled: boolean` - Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). + Whether members with this principal may select the model - - `previous_mappings: optional array of object or null` + - `max_effort_level: optional string or null` - Identity provider group to seat tier mappings before this change. + The highest effort level members may select for this model, when capped - - `idp_group_name: string` + - `organization_id: optional string or null` - Name of the identity provider group. + Organization ID this activity is associated with - - `seat_tier: optional string or null` + - `organization_uuid: optional string or null` - Seat tier assigned to members of the identity provider group, or null if the mapping assigns no seat. + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgSSOToggled object` + - `OrgParentJoinProposalCreated object` - Organization SSO was toggled on or off. + Organization parent join proposal was created. - - `type: optional "org_sso_toggled"` + - `type: optional "org_parent_join_proposal_created"` - default: org_sso_toggled + default: org_parent_join_proposal_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -81097,10 +80649,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' @@ -81119,13 +80667,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgParentSearchPerformed object` - Organization started deleting synchronized files. + Organization parent search was performed. - - `type: optional "org_sync_deleting_synchronized_files_started"` + - `type: optional "org_parent_search_performed"` - default: org_sync_deleting_synchronized_files_started + default: org_parent_search_performed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -81351,13 +80899,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgSSOAddInitiated object` - Organization synchronized files were deleted. + Organization SSO setup was initiated. - - `type: optional "org_sync_synchronized_files_deleted"` + - `type: optional "org_sso_add_initiated"` - default: org_sync_synchronized_files_deleted + default: org_sso_add_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -81583,13 +81131,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgSSOConnectionActivated object` - A compliance marker (taint) was added to an organization, for example the marker that records its HIPAA configuration. + Organization SSO connection was activated. - - `type: optional "org_taint_added"` + - `type: optional "org_sso_connection_activated"` - default: org_taint_added + default: org_sso_connection_activated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -81801,6 +81349,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. @@ -81815,21 +81371,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgSSOConnectionDeactivated object` - A compliance marker (taint) was removed from an organization. + Organization SSO connection was deactivated. - - `type: optional "org_taint_removed"` + - `type: optional "org_sso_connection_deactivated"` - default: org_taint_removed + default: org_sso_connection_deactivated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -82041,6 +81589,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. @@ -82055,17 +81607,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgSSOConnectionDeleted object` - User was removed from organization. + Organization SSO connection was deleted. - - `type: optional "org_user_deleted"` + - `type: optional "org_sso_connection_deleted"` - default: org_user_deleted + default: org_sso_connection_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -82277,20 +81825,16 @@ 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. 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 @@ -82299,13 +81843,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgSSOGroupRoleMappingsUpdated object` - Organization user invite was accepted. + Organization SSO group role mappings were updated. - - `type: optional "org_user_invite_accepted"` + - `type: optional "org_sso_group_role_mappings_updated"` - default: org_user_invite_accepted + default: org_sso_group_role_mappings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -82523,10 +82067,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 accepted. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -82535,17 +82075,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - 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) - - - `OrgUserInviteDeleted object` + - `OrgSSOProvisioningModeChanged object` - Organization user invite was deleted. + Organization SSO provisioning mode was changed. - - `type: optional "org_user_invite_deleted"` + - `type: optional "org_sso_provisioning_mode_changed"` - default: org_user_invite_deleted + default: org_sso_provisioning_mode_changed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -82763,9 +82299,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 deleted. + 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` @@ -82775,13 +82311,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_mode: optional string or null` - Organization user invite was re-sent. + The SSO provisioning mode before this change, e.g. "LOGIN_ONLY", "JIT_PERMISSIVE", "JIT_ADVANCED", "SCIM_PERMISSIVE", or "SCIM_ADVANCED". - - `type: optional "org_user_invite_re_sent"` + - `OrgSSOScimWelcomeEmailToggled object` - default: org_user_invite_re_sent + Organization SCIM-provisioned welcome email was toggled. + + - `type: optional "org_sso_scim_welcome_email_toggled"` + + default: org_sso_scim_welcome_email_toggled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -82989,6 +82529,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' @@ -82999,18 +82543,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 @@ -83019,13 +82551,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 the SCIM welcome email was enabled before this change. - - `type: optional "org_user_invite_rejected"` + - `OrgSSOSeatTierAssignmentToggled object` - default: org_user_invite_rejected + 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` @@ -83233,6 +82769,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' @@ -83243,10 +82783,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 rejected. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -83255,13 +82791,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). - - `OrgUserInviteSent object` + - `previous_enabled: optional boolean or null` - Organization user invite was sent. + Whether SSO seat tier assignment was enabled before this change. - - `type: optional "org_user_invite_sent"` + - `OrgSSOSeatTierMappingsUpdated object` - default: org_user_invite_sent + 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` @@ -83479,21 +83019,17 @@ 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` + - `current_mappings: optional array of object or null` - RBAC group IDs the invited user will be added to on joining + Identity provider group to seat tier mappings after this change. - - `invited_role: optional string or null` + - `idp_group_name: string` - Role the invited user will receive on joining. + Name of the identity provider group. - - `invited_seat_tier: optional string or null` + - `seat_tier: optional string or null` - Seat tier the invited user will receive on joining + Seat tier assigned to members of the identity provider group, or null if the mapping assigns no seat. - `organization_id: optional string or null` @@ -83503,13 +83039,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). - - `OrgUserLeft object` + - `previous_mappings: optional array of object or null` - User removed themselves from organization. + Identity provider group to seat tier mappings before this change. - - `type: optional "org_user_left"` + - `idp_group_name: string` - default: org_user_left + 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` @@ -83717,6 +83265,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' @@ -83735,17 +83287,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgSyncDeletingSynchronizedFilesStarted 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 started deleting synchronized files. - - `type: optional "org_user_shares_retained"` + - `type: optional "org_sync_deleting_synchronized_files_started"` - default: org_user_shares_retained + default: org_sync_deleting_synchronized_files_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -83953,34 +83501,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. @@ -83995,21 +83519,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgSyncSynchronizedFilesDeleted object` - An organization admin revoked a member's trusted devices and signed the member out of all active sessions. + Organization synchronized files were deleted. - - `type: optional "org_user_trusted_devices_revoked"` + - `type: optional "org_sync_synchronized_files_deleted"` - default: org_user_trusted_devices_revoked + default: org_sync_synchronized_files_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -84217,22 +83733,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' @@ -84251,13 +83751,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgTaintAdded object` - An organization user was viewed. + A compliance marker (taint) was added to an organization, for example the marker that records its HIPAA configuration. - - `type: optional "org_user_viewed"` + - `type: optional "org_taint_added"` - default: org_user_viewed + default: org_taint_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -84465,10 +83965,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' @@ -84487,13 +83983,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). - - `OrgUsersListed object` + - `taint: optional string or null` - Organization users were listed. + The marker that was added, for example the HIPAA marker. - - `type: optional "org_users_listed"` + - `workspace_id: optional string or null` - default: org_users_listed + 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` @@ -84719,13 +84223,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). - - `OrgWorkAcrossAppsDisabled object` + - `taint: optional string or null` - The organization's "Let Claude work across apps" setting was turned off. + The marker that was removed, for example the HIPAA marker. - - `type: optional "org_work_across_apps_disabled"` + - `OrgUserDeleted object` - default: org_work_across_apps_disabled + User was removed from organization. + + - `type: optional "org_user_deleted"` + + default: org_user_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -84943,9 +84451,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` + - `deleted_user_email: optional string or null` - Setting value immediately after this change + 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` @@ -84955,17 +84467,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgUserInviteAccepted object` - The organization's "Let Claude work across apps" setting was turned on. + Organization user invite was accepted. - - `type: optional "org_work_across_apps_enabled"` + - `type: optional "org_user_invite_accepted"` - default: org_work_across_apps_enabled + default: org_user_invite_accepted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -85183,9 +84691,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` @@ -85195,17 +84703,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) - - `OrganizationAddressUpdated object` + - `OrgUserInviteDeleted object` - The organization's billing or shipping address was updated. + Organization user invite was deleted. - - `type: optional "organization_address_updated"` + - `type: optional "org_user_invite_deleted"` - default: organization_address_updated + default: org_user_invite_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -85417,259 +84925,15 @@ 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` - - 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. + - `invite_id: optional string or null` - format: date-time + Tagged ID of the invite that was deleted. - `organization_id: optional string or null` @@ -85679,13 +84943,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgUserInviteReSent object` - Organization's custom icon uploaded or replaced. + Organization user invite was re-sent. - - `type: optional "organization_icon_updated"` + - `type: optional "org_user_invite_re_sent"` - default: organization_icon_updated + default: org_user_invite_re_sent - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -85903,6 +85167,18 @@ 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 @@ -85911,13 +85187,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgUserInviteRejected object` - Organization settings were updated. + Organization user invite was rejected. - - `type: optional "claude_organization_settings_updated"` + - `type: optional "org_user_invite_rejected"` - default: claude_organization_settings_updated + default: org_user_invite_rejected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -86125,1940 +85401,6732 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `updates: array of Name or Capabilities or RedactContent or 104 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` + - `invite_id: optional string or null` - Setting value immediately after this change + Tagged ID of the invite that was rejected. - - `previous_value: optional string or null` + - `organization_id: optional string or null` - Setting value immediately before this change + Organization ID this activity is associated with - - `Capabilities object` + - `organization_uuid: optional string or null` - The organization capabilities setting was 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 "capabilities"` + - `OrgUserInviteSent object` - default: capabilities + Organization user invite was sent. - - `current_value: optional array of string or null` + - `type: optional "org_user_invite_sent"` - Setting value immediately after this change + default: org_user_invite_sent - - `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"` + - `id: optional string` - - `"human_support_restricted"` + Unique identifier for the activity e.g. 'activity_abcd1234' - - `"unspecified"` + - `created_at: optional string` - - `SupportContactAlwaysIncludeAdminsOwners object` + When this activity occurred. - The support contact always-include-admins-owners setting was changed for the organization. + format: date-time - - `type: optional "support_contact_always_include_admins_owners"` + - `invited_email: optional string or null` - default: support_contact_always_include_admins_owners + Email address the invite was sent to. - - `current_value: optional boolean or null` + - `invited_rbac_group_ids: optional array of string or null` - Setting value immediately after this change + RBAC group IDs the invited user will be added to on joining - - `previous_value: optional boolean or null` + - `invited_role: optional string or null` - Setting value immediately before this change + Role the invited user will receive on joining. - - `SupportContactDesignatedGroups object` + - `invited_seat_tier: optional string or null` - The support contact designated groups setting was changed for the organization. + Seat tier the invited user will receive on joining - - `type: optional "support_contact_designated_groups"` + - `organization_id: optional string or null` - default: support_contact_designated_groups + 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` + - `OrgUserLeft object` - Setting value immediately before this change + User removed themselves from organization. - - `SubscriptionItemQuotas object` + - `type: optional "org_user_left"` - The organization's subscription seat quotas were changed. + default: org_user_left - - `type: optional "subscription_item_quotas"` + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - default: subscription_item_quotas + - `APIActor object` - - `current_value: optional map[number] or null` + - `type: optional "api_actor"` - Seat-type to quantity mapping immediately after this change. A null quantity means the item is unlimited/unmetered. + default: api_actor - - `previous_value: optional map[number] or null` + - `api_key_id: string` - Seat-type to quantity mapping immediately before this change. A null quantity means the item was unlimited/unmetered. + - `ip_address: string` - - `MembersBulkSeatTierAssignment object` + - `user_agent: string` - All organization members were assigned the specified seat tier. + - `UserActor object` - - `type: optional "members_bulk_seat_tier_assignment"` + - `type: optional "user_actor"` - default: members_bulk_seat_tier_assignment + default: user_actor - - `current_value: optional string or null` + - `email_address: string` - The seat tier every member was assigned to + format: email - - `member_count: optional number or null` + - `ip_address: string` - Number of members whose seat tier was changed + - `user_agent: string` - - `previous_value: optional string or null` + - `user_id: string` - Not populated; members may have held differing seat tiers before the bulk assignment + - `UnauthenticatedUserActor object` - - `ClaudeCodeWebEnabled object` + - `type: optional "unauthenticated_user_actor"` - The Claude Code cloud sessions setting was changed for the organization. + default: unauthenticated_user_actor - - `type: optional "claude_code_web_enabled"` + - `ip_address: string` - default: claude_code_web_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"` - - `ClaudeCodeDesktopBypassPermissionsEnabled object` + default: anthropic_actor - The Claude Code Desktop bypass-permissions mode setting was changed for the organization. + - `email_address: optional string or null` - - `type: optional "claude_code_desktop_bypass_permissions_enabled"` + format: email - default: claude_code_desktop_bypass_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` - - `ClaudeCodeDesktopAutoPermissionsEnabled object` + Name of the automated process that performed the action, when known. - The Claude Code Desktop auto-permissions mode setting was changed for the organization. + - `AdminAPIKeyActor object` - - `type: optional "claude_code_desktop_auto_permissions_enabled"` + - `type: optional "admin_api_key_actor"` - default: claude_code_desktop_auto_permissions_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` - - `SkillsEnabled object` + - `type: optional "service_account_actor"` - The Claude.ai skills setting was changed for the organization. + default: service_account_actor - - `type: optional "skills_enabled"` + - `ip_address: string` - default: skills_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 - - `WorkbenchCompletionFeedbackEnabled object` + - `directory_id: string` - The Workbench completion feedback setting was changed for the organization. + - `workos_event_id: string` - - `type: optional "workbench_completion_feedback_enabled"` + - `idp_connection_type: optional string or null` - default: workbench_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 - - `ClaudeAICompletionFeedbackEnabled object` + - `issuer: string` - The Claude.ai completion feedback setting was changed for the organization. + - `subject: string` - - `type: optional "claude_ai_completion_feedback_enabled"` + - `audience: optional array of string` - default: claude_ai_completion_feedback_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"` - - `ClaudeAIIntegrationSharingEnabled object` + default: federated_actor - The Claude.ai integration sharing setting was changed for the organization. + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - - `type: optional "claude_ai_integration_sharing_enabled"` + - `FederatedActorAwsProvider object` - default: claude_ai_integration_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` - - `ClaudeAIChatSharingEnabled object` + The AWS-signed ARN of the IAM principal that requested the token. - The Claude.ai chat sharing setting was changed for the organization. + - `FederatedActorAzureProvider object` - - `type: optional "claude_ai_chat_sharing_enabled"` + Asserting party: the Azure subscription the organization is bound to. - default: claude_ai_chat_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. - - `ClaudeAICcrSharingEnabled object` + - `type: optional "gcp"` - The Claude.ai remote Claude Code session sharing setting was changed for the organization. + default: gcp - - `type: optional "claude_ai_ccr_sharing_enabled"` + - `project_number: string` - default: claude_ai_ccr_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` - - `ClaudeAICcrSupportSharingEnabled object` + The federation issuer's URL. Null when the presented credential failed verification. - The Anthropic support access setting for Claude Code sessions was changed for the organization. + - `ip_address: optional string or null` - - `type: optional "claude_ai_ccr_support_sharing_enabled"` + - `subject: optional string or null` - default: claude_ai_ccr_support_sharing_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"` - - `BatchesDownloadUiVisibility object` + default: attested_device_actor - The batches download UI visibility setting was changed for the organization. + - `external_client_id: string` - - `type: optional "batches_download_ui_visibility"` + - `kid_hash: string` - default: batches_download_ui_visibility + - `ip_address: optional string or null` - - `current_value: optional "all" or "none" or "selected" or "unspecified" or null` + - `user_agent: optional string or null` - Setting value immediately after this change + - `id: optional string` - - `"all"` + Unique identifier for the activity e.g. 'activity_abcd1234' - - `"none"` + - `created_at: optional string` - - `"selected"` + When this activity occurred. - - `"unspecified"` + format: date-time - - `previous_value: optional "all" or "none" or "selected" or "unspecified" or null` + - `organization_id: optional string or null` - Setting value immediately before this change + Organization ID this activity is associated with - - `"all"` + - `organization_uuid: optional string or null` - - `"none"` + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `"selected"` + - `previous_role: optional string or null` - - `"unspecified"` + The role the member held in the organization before leaving, e.g. "user" or "admin". - - `AllowedInviteDomains object` + - `OrgUserSharesRetained object` - The allowed invite domains setting was changed for the organization. + 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 "allowed_invite_domains"` + - `type: optional "org_user_shares_retained"` - default: allowed_invite_domains + default: org_user_shares_retained - - `current_value: optional array of string or null` + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - Setting value immediately after this change + - `APIActor object` - - `previous_value: optional array of string or null` + - `type: optional "api_actor"` - Setting value immediately before this change + default: api_actor - - `WebSearchAPISettings object` + - `api_key_id: string` - The web search API setting was changed for the organization. + - `ip_address: string` - - `type: optional "web_search_api_settings"` + - `user_agent: string` - default: web_search_api_settings + - `UserActor object` - - `current_value: optional object or null` + - `type: optional "user_actor"` - Setting value immediately after this change + default: user_actor - - `domain_filters: object or null` + - `email_address: string` - Allowed/blocked domain filters shared by web_search and web_fetch tools. + format: email - - `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` + - `user_id: string` - - `previous_value: optional object or null` + - `UnauthenticatedUserActor object` - Setting value immediately before this change + - `type: optional "unauthenticated_user_actor"` - - `domain_filters: object or null` + default: unauthenticated_user_actor - Allowed/blocked domain filters shared by web_search and web_fetch tools. + - `ip_address: string` - - `allowed_domains: optional array of string or null` + - `user_agent: string` - - `blocked_domains: optional array of string or null` + - `unauthenticated_email_address: optional string or null` - - `is_enabled: boolean` + format: email - - `WebFetchAPISettings object` + - `AnthropicActor object` - The web fetch API setting was changed for the organization. + - `type: optional "anthropic_actor"` - - `type: optional "web_fetch_api_settings"` + default: anthropic_actor - default: web_fetch_api_settings + - `email_address: optional string or null` - - `current_value: optional object or null` + format: email - Setting value immediately after this change + - `SystemActor object` - - `domain_filters: object or null` + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. - Allowed/blocked domain filters shared by web_search and web_fetch tools. + - `type: optional "system_actor"` - - `allowed_domains: optional array of string or null` + default: system_actor - - `blocked_domains: optional array of string or null` + - `service: optional string or null` - - `is_enabled: boolean` + Name of the automated process that performed the action, when known. - - `previous_value: optional object or null` + - `AdminAPIKeyActor object` - Setting value immediately before this change + - `type: optional "admin_api_key_actor"` - - `domain_filters: object or null` + default: admin_api_key_actor - Allowed/blocked domain filters shared by web_search and web_fetch tools. + - `admin_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` + - `ServiceAccountActor object` - - `DefaultWorkspaceSettings object` + - `type: optional "service_account_actor"` - The default workspace setting was changed for the organization. + default: service_account_actor - - `type: optional "default_workspace_settings"` + - `ip_address: string` - default: default_workspace_settings + - `service_account_id: string` - - `current_value: optional object or null` + - `user_agent: string` - Setting value immediately after this change + - `ScimDirectorySyncActor object` - - `enable_api_keys: optional boolean` + - `type: optional "scim_directory_sync_actor"` - default: true + default: scim_directory_sync_actor - - `previous_value: optional object or null` + - `directory_id: string` - Setting value immediately before this change + - `workos_event_id: string` - - `enable_api_keys: optional boolean` + - `idp_connection_type: optional string or null` - default: true + - `FederatedIdentityActor object` - - `BatchesDownloadUiEnabledWorkspaceIDs object` + A federated external workload authenticated via a verified OIDC token. - The batches download UI enabled workspace IDs setting was changed for the organization. + Carries the verified issuer, subject, and audience claims from the + presented JWT. - - `type: optional "batches_download_ui_enabled_workspace_ids"` + - `type: optional "federated_identity_actor"` - default: batches_download_ui_enabled_workspace_ids + default: federated_identity_actor - - `current_value: optional array of string or null` + - `issuer: string` - Setting value immediately after this change + - `subject: string` - - `previous_value: optional array of string or null` + - `audience: optional array of string` - Setting value immediately before this change + - `ip_address: optional string or null` - - `ClaudeCodeManagedSettings object` + - `user_agent: optional string or null` - The organization's Claude Code managed settings were changed. + - `FederatedActor object` - The full previous and current settings content is provided in the - `previous_value` and `current_value` fields. + 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_managed_settings"` + - `type: optional "federated_actor"` - default: claude_code_managed_settings + default: federated_actor - - `current_value: optional map[unknown] or null` + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - - `current_version: optional number or null` + - `FederatedActorAwsProvider object` - - `previous_value: optional map[unknown] or null` + Asserting party: the AWS account the organization is bound to. - - `previous_version: optional number or null` + - `type: optional "aws"` - - `settings_uuid: optional string or null` + default: aws - - `AccountSessionDurationSeconds object` + - `account_id: string` - Tracks changes to the enterprise account session duration setting (in seconds). + - `signed_principal: string` - - `type: optional "account_session_duration_seconds"` + The AWS-signed ARN of the IAM principal that requested the token. - default: account_session_duration_seconds + - `FederatedActorAzureProvider object` - - `current_value: optional number or null` + Asserting party: the Azure subscription the organization is bound to. - Setting value immediately after this change + - `type: optional "azure"` - - `previous_value: optional number or null` + default: azure - Setting value immediately before this change + - `subscription_id: string` - - `VcsConnections object` + - `FederatedActorGcpProvider object` - Tracks changes to VCS (GitHub, etc.) organization connections. + Asserting party: the GCP project the organization is bound to. - - `type: optional "vcs_connections"` + - `type: optional "gcp"` - default: vcs_connections + default: gcp - - `current_value: optional array of object or null` + - `project_number: string` - Setting value immediately after this change + - `FederatedActorOidcProvider object` - - `type: "github"` + Asserting party: a customer-registered OIDC federation issuer. - Supported Version Control System providers. + - `type: optional "oidc"` - - `org_name: string` + default: oidc - - `metadata: optional map[string] or null` + - `issuer: optional string or null` - - `org_id: optional string or null` + The federation issuer's URL. Null when the presented credential failed verification. - - `previous_value: optional array of object or null` + - `ip_address: optional string or null` - Setting value immediately before this change + - `subject: optional string or null` - - `type: "github"` + The provider's verified identifier for the caller; its form depends on the provider. - Supported Version Control System providers. + - `user_agent: optional string or null` - - `org_name: string` + - `AttestedDeviceActor object` - - `metadata: optional map[string] or null` + An attested mobile device authenticated via Apple App Attest. - - `org_id: optional string or null` + - `type: optional "attested_device_actor"` - - `DisabledAdminRequestTypes object` + default: attested_device_actor - Tracks changes to which admin request types are disabled. + - `external_client_id: string` - - `type: optional "disabled_admin_request_types"` + - `kid_hash: string` - default: disabled_admin_request_types + - `ip_address: optional string or null` - - `current_value: optional array of string or null` + - `user_agent: optional string or null` - Setting value immediately after this change + - `resource_count: number` - - `previous_value: optional array of string or null` + 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. - Setting value immediately before this change + - `share_count: number` - - `MemberUsageDashboardVisible 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 member usage dashboard visibility setting was changed for the organization. + - `truncated: boolean` - - `type: optional "member_usage_dashboard_visible"` + True when the ID lists do not include every still-shared resource or the counts stopped at their limit. - default: member_usage_dashboard_visible + - `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` - - `CodeExecutionNetworkEgressEnabled object` + Tagged IDs of chats among those resources. - The code execution network egress setting was changed for the organization. + - `claude_project_ids: optional array of string` - - `type: optional "code_execution_network_egress_enabled"` + Tagged IDs of projects among those resources; the four ID lists hold at most the first 50 resources between them. - default: code_execution_network_egress_enabled + - `created_at: optional string` - - `current_value: optional boolean or null` + When this activity occurred. - Setting value immediately after this change + format: date-time - - `previous_value: optional boolean or null` + - `organization_id: optional string or null` - Setting value immediately before this change + Organization ID this activity is associated with - - `CodeExecutionDomainAllowlistChanged object` + - `organization_uuid: optional string or null` - The code execution domain allowlist setting was changed for the 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). - - `type: optional "code_execution_domain_allowlist_changed"` + - `plugin_ids: optional array of string` - default: code_execution_domain_allowlist_changed + Tagged IDs of plugins among those resources. - - `current_value: optional array of string or null` + - `skill_ids: optional array of string` - Setting value immediately after this change + Tagged IDs of skills among those resources. - - `previous_value: optional array of string or null` + - `OrgUserTrustedDevicesRevoked object` - Setting value immediately before this change + An organization admin revoked a member's trusted devices and signed the member out of all active sessions. - - `CodeExecutionDomainAllowlistTemplateChanged object` + - `type: optional "org_user_trusted_devices_revoked"` - The code execution domain allowlist template setting was changed for the organization. + default: org_user_trusted_devices_revoked - - `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` + + 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` + + - `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 104 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 + + - `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. + + - `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` + + - `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"` - - `previous_value: optional boolean or null` + default: gcp - Setting value immediately before this change + - `project_number: string` - - `ClaudeScienceCustomConnectorsEnabled object` + - `FederatedActorOidcProvider object` - The Claude Science custom connectors setting was changed for the organization. + Asserting party: a customer-registered OIDC federation issuer. - - `type: optional "claude_science_custom_connectors_enabled"` + - `type: optional "oidc"` - default: claude_science_custom_connectors_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` - - `ClaudeScienceCustomSkillsEnabled object` + The provider's verified identifier for the caller; its form depends on the provider. - The Claude Science custom skills setting was changed for the organization. + - `user_agent: optional string or null` - - `type: optional "claude_science_custom_skills_enabled"` + - `AttestedDeviceActor object` - default: claude_science_custom_skills_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` - - `ClaudeScienceManagedNetworkAllowlistEnabled object` + - `ip_address: optional string or null` - 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. + - `user_agent: optional string or null` - - `type: optional "claude_science_managed_network_allowlist_enabled"` + - `invitee_email: string` - default: claude_science_managed_network_allowlist_enabled + Email address the share had been created for. - - `current_value: optional boolean or null` + - `resource_id: string` - Setting value immediately after this change + Tagged ID of the resource that was shared. - - `previous_value: optional boolean or null` + - `resource_type: string` - Setting value immediately before this change + The type of resource that was shared. - - `ClaudeScienceSSHHostsEnabled object` + - `id: optional string` - The Claude Science SSH hosts setting was changed for the organization. + Unique identifier for the activity e.g. 'activity_abcd1234' - - `type: optional "claude_science_ssh_hosts_enabled"` + - `created_at: optional string` - default: claude_science_ssh_hosts_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` - - `ClaudeScienceModalEnabled 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 Claude Science setting that lets members connect Modal cloud compute was changed for the organization. + - `PhoneCodeSent object` - - `type: optional "claude_science_modal_enabled"` + User requested a phone verification code. - default: claude_science_modal_enabled + - `type: optional "phone_code_sent"` - - `current_value: optional boolean or null` + default: phone_code_sent - 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"` + - `id: optional string` - default: claude_ai_skill_publish_policy + Unique identifier for the activity e.g. 'activity_abcd1234' - - `current_value: optional "off" or "open" or "review" or "unspecified" or null` + - `created_at: optional string` - Setting value immediately after this change + When this activity occurred. - - `"off"` + format: date-time - - `"open"` + - `organization_id: optional string or null` - - `"review"` + Organization ID this activity is associated with - - `"unspecified"` + - `organization_uuid: optional string or null` - - `previous_value: optional "off" or "open" or "review" or "unspecified" 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 + - `PhoneCodeVerified object` - - `"off"` + User successfully verified their phone code. - - `"open"` + - `type: optional "phone_code_verified"` - - `"review"` + default: phone_code_verified - - `"unspecified"` + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - `ClaudeCodeRemoteControlEnabled object` + - `APIActor object` - The Claude Code remote control setting was changed for the organization. + - `type: optional "api_actor"` - - `type: optional "claude_code_remote_control_enabled"` + default: api_actor - default: claude_code_remote_control_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"` - - `ClaudeCodeRemoteControlDefaultEnabled object` + default: user_actor - The Claude Code remote control auto-enable default was changed for the organization. + - `email_address: string` - - `type: optional "claude_code_remote_control_default_enabled"` + format: email - default: claude_code_remote_control_default_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"` - - `ClaudeCodeRoutinesEnabled object` + default: unauthenticated_user_actor - The Claude Code routines setting was changed for the organization. + - `ip_address: string` - - `type: optional "claude_code_routines_enabled"` + - `user_agent: string` - default: claude_code_routines_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 - - `ClaudeCodeWorkflowsEnabled object` + - `email_address: optional string or null` - The Claude Code Workflows setting was changed for the organization. + format: email - - `type: optional "claude_code_workflows_enabled"` + - `SystemActor object` - default: claude_code_workflows_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. - - `FrontierServicesDataUseEnabled object` + - `AdminAPIKeyActor object` - The frontier services data use setting was changed for the organization. + - `type: optional "admin_api_key_actor"` - - `type: optional "frontier_services_data_use_enabled"` + default: admin_api_key_actor - default: frontier_services_data_use_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"` - - `LtiCourseProjectsEnabled object` + default: service_account_actor - The LTI course projects setting was changed for the organization. + - `ip_address: string` - - `type: optional "lti_course_projects_enabled"` + - `service_account_id: string` - default: lti_course_projects_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` - - `ClaudeAISkillCreationEnabled object` + - `workos_event_id: string` - The Claude.ai skill creation setting was changed for the organization. + - `idp_connection_type: optional string or null` - - `type: optional "claude_ai_skill_creation_enabled"` + - `FederatedIdentityActor object` - default: claude_ai_skill_creation_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` - - `ClaudeCodeGitHubAnalyticsEnabled object` + - `subject: string` - The Claude Code GitHub analytics setting was changed for the organization. + - `audience: optional array of string` - - `type: optional "claude_code_github_analytics_enabled"` + - `ip_address: optional string or null` - default: claude_code_github_analytics_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 + default: federated_actor - - `ClaudeCodeHideManagedEnvironments object` + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - The Claude Code hide managed environments setting was changed for the organization. + - `FederatedActorAwsProvider object` - - `type: optional "claude_code_hide_managed_environments"` + Asserting party: the AWS account the organization is bound to. - default: claude_code_hide_managed_environments + - `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 + The AWS-signed ARN of the IAM principal that requested the token. - - `ClaudeCodeAllowSessionPoolMoves object` + - `FederatedActorAzureProvider object` - The Claude Code allow session pool moves setting was changed for the organization. + Asserting party: the Azure subscription the organization is bound to. - - `type: optional "claude_code_allow_session_pool_moves"` + - `type: optional "azure"` - default: claude_code_allow_session_pool_moves + 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"` - - `ClaudeCodeDisableAnthropicCompute object` + default: gcp - The Claude Code disable Anthropic compute setting was changed for the organization. + - `project_number: string` - - `type: optional "claude_code_disable_anthropic_compute"` + - `FederatedActorOidcProvider object` - default: claude_code_disable_anthropic_compute + 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. - - `ClaudeCodeMetricsLoggingEnabled object` + - `ip_address: optional string or null` - The Claude Code metrics logging setting was changed for the organization. + - `subject: optional string or null` - - `type: optional "claude_code_metrics_logging_enabled"` + The provider's verified identifier for the caller; its form depends on the provider. - default: claude_code_metrics_logging_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 - - `ClaudeCodeFastModeEnabled object` + - `external_client_id: string` - The Claude Code fast mode setting was changed for the organization. + - `kid_hash: string` - - `type: optional "claude_code_fast_mode_enabled"` + - `ip_address: optional string or null` - default: claude_code_fast_mode_enabled + - `user_agent: optional string or null` - - `current_value: optional boolean or null` + - `id: optional string` - Setting value immediately after this change + Unique identifier for the activity e.g. 'activity_abcd1234' - - `previous_value: optional boolean or null` + - `created_at: optional string` - Setting value immediately before this change + When this activity occurred. - - `ClaudeCodeTrustedDevicesRequired object` + format: date-time - The Claude Code trusted devices setting was changed for the organization. + - `organization_id: optional string or null` - - `type: optional "claude_code_trusted_devices_required"` + Organization ID this activity is associated with - default: claude_code_trusted_devices_required + - `organization_uuid: optional string or null` - - `current_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 after this change + - `PlatformAgentArchived object` - - `previous_value: optional boolean or null` + An agent was archived on the API platform. - Setting value immediately before this change + - `type: optional "platform_agent_archived"` - - `CoworkTrustedDevicesRequired object` + default: platform_agent_archived - The Cowork trusted devices enforcement setting was changed for the organization. + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - `type: optional "cowork_trusted_devices_required"` + - `APIActor object` - default: cowork_trusted_devices_required + - `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` - - `InlineVisualizationsEnabled object` + - `UserActor object` - The inline visualizations setting was changed for the organization. + - `type: optional "user_actor"` - - `type: optional "inline_visualizations_enabled"` + default: user_actor - default: inline_visualizations_enabled + - `email_address: string` - - `current_value: optional boolean or null` + format: email - Setting value immediately after this change + - `ip_address: string` - - `previous_value: optional boolean or null` + - `user_agent: string` - Setting value immediately before this change + - `user_id: string` - - `OrganizationBannerSettings object` + - `UnauthenticatedUserActor object` - The organization banner setting was changed. + - `type: optional "unauthenticated_user_actor"` - - `type: optional "organization_banner_settings"` + default: unauthenticated_user_actor - default: organization_banner_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` - - `ClaudeInSlackSettings object` + - `type: optional "anthropic_actor"` - The Claude in Slack setting was changed for the organization. + default: anthropic_actor - - `type: optional "claude_in_slack_settings"` + - `email_address: optional string or null` - default: claude_in_slack_settings + format: email - - `current_value: optional map[unknown] 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 map[unknown] or null` + - `type: optional "system_actor"` - Setting value immediately before this change + default: system_actor - - `ClaudeCodeDefaultWorkerEnvironmentID object` + - `service: optional string or null` - The Claude Code default worker environment setting was changed for the organization. + Name of the automated process that performed the action, when known. - - `type: optional "claude_code_default_worker_environment_id"` + - `AdminAPIKeyActor object` - default: claude_code_default_worker_environment_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` - - `ClaudeCodeDefaultWorkerPoolID object` + - `ServiceAccountActor object` - The Claude Code default worker pool setting was changed for the organization. + - `type: optional "service_account_actor"` - - `type: optional "claude_code_default_worker_pool_id"` + default: service_account_actor - default: claude_code_default_worker_pool_id + - `ip_address: string` - - `current_value: optional string or null` + - `service_account_id: string` - Setting value immediately after this change + - `user_agent: string` - - `previous_value: optional string or null` + - `ScimDirectorySyncActor object` - Setting value immediately before this change + - `type: optional "scim_directory_sync_actor"` - - `ManagedAgentsEnabled object` + default: scim_directory_sync_actor - The managed agents setting was changed for the organization. + - `directory_id: string` - - `type: optional "managed_agents_enabled"` + - `workos_event_id: string` - default: managed_agents_enabled + - `idp_connection_type: optional string or null` - - `current_value: optional boolean or null` + - `FederatedIdentityActor object` - Setting value immediately after this change + 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 + - `type: optional "federated_identity_actor"` - - `ClaudeScienceFeaturedConnectorsDefaultChanged object` + default: federated_identity_actor - The organization-wide default for Claude Science featured connectors was changed for the organization. + - `issuer: string` - - `type: optional "claude_science_featured_connectors_default_changed"` + - `subject: string` - default: claude_science_featured_connectors_default_changed + - `audience: optional array of string` - - `current_value: optional boolean or null` + - `ip_address: optional string 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. + - `user_agent: optional string or null` - - `previous_value: optional boolean or null` + - `FederatedActor object` - 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. + 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. - - `ClaudeScienceFeaturedConnectorsEnabledListChanged object` + - `type: optional "federated_actor"` - The list of Claude Science featured connectors individually turned on for members was changed for the organization. + default: federated_actor - - `type: optional "claude_science_featured_connectors_enabled_list_changed"` + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - default: claude_science_featured_connectors_enabled_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 on. 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 on. Null or an empty list means none. + - `account_id: string` - - `ClaudeScienceFeaturedConnectorsDisabledListChanged object` + - `signed_principal: string` - The list of Claude Science featured connectors individually turned off for members was changed for the organization. + The AWS-signed ARN of the IAM principal that requested the token. - - `type: optional "claude_science_featured_connectors_disabled_list_changed"` + - `FederatedActorAzureProvider object` - default: claude_science_featured_connectors_disabled_list_changed + Asserting party: the Azure subscription the organization is bound to. - - `current_value: optional array of string or null` + - `type: optional "azure"` - Setting value immediately after this change: the ids of the featured connectors individually turned off. Null or an empty list means none. + default: azure - - `previous_value: optional array of string or null` + - `subscription_id: string` - Setting value immediately before this change: the ids of the featured connectors individually turned off. Null or an empty list means none. + - `FederatedActorGcpProvider object` - - `ClaudeScienceFeaturedSkillsDefaultChanged object` + Asserting party: the GCP project the organization is bound to. - The organization-wide default for Claude Science featured skills was changed for the organization. + - `type: optional "gcp"` - - `type: optional "claude_science_featured_skills_default_changed"` + default: gcp - default: claude_science_featured_skills_default_changed + - `project_number: string` - - `current_value: optional boolean or null` + - `FederatedActorOidcProvider object` - 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. + Asserting party: a customer-registered OIDC federation issuer. - - `previous_value: optional boolean or null` + - `type: optional "oidc"` - 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. + default: oidc - - `ClaudeScienceFeaturedSkillsEnabledListChanged object` + - `issuer: optional string or null` - The list of Claude Science featured skills individually turned on 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_enabled_list_changed"` + - `ip_address: optional string or null` - default: claude_science_featured_skills_enabled_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 on. 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 on. Null or an empty list means none. + An attested mobile device authenticated via Apple App Attest. - - `ClaudeScienceFeaturedSkillsDisabledListChanged object` + - `type: optional "attested_device_actor"` - The list of Claude Science featured skills individually turned off for members was changed for the organization. + default: attested_device_actor - - `type: optional "claude_science_featured_skills_disabled_list_changed"` + - `external_client_id: string` - default: claude_science_featured_skills_disabled_list_changed + - `kid_hash: 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 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` + - `agent_id: string` - Setting value immediately before this change: the ids of the featured skills individually turned off. Null or an empty list means none. + The agent that was archived, e.g. "agent_01HX...". - - `FilesAPIEnabled object` + - `id: optional string` - The Files API was turned on or off for the organization. + Unique identifier for the activity e.g. 'activity_abcd1234' - - `type: optional "files_api_enabled"` + - `created_at: optional string` - default: files_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` - - `SkillsAPIEnabled 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 Skills API was turned on or off for the organization. + - `workspace_id: optional string or null` - - `type: optional "skills_api_enabled"` + Tagged workspace ID, e.g. "wrkspc_01HX...". Optional because org-scoped credentials may not resolve a workspace at request time. - default: skills_api_enabled + - `PlatformAgentCreated object` - - `current_value: optional boolean or null` + An agent was created on the API platform. - Setting value immediately after this change + - `type: optional "platform_agent_created"` - - `previous_value: optional boolean or null` + default: platform_agent_created - Setting value immediately before this change + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - `PasswordManagerIntegrationEnabled object` + - `APIActor object` - The password manager integration setting was changed for the organization. + - `type: optional "api_actor"` - - `type: optional "password_manager_integration_enabled"` + default: api_actor - default: password_manager_integration_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"` - - `APIKeyCreationEnabled object` + default: user_actor - The setting that allows members to create new API keys was changed for the organization. + - `email_address: string` - - `type: optional "api_key_creation_enabled"` + format: email - default: api_key_creation_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"` - - `ClaudeAcademyInferenceEnabled object` + default: unauthenticated_user_actor - The setting that lets members use Claude in Claude Academy was changed for the organization. + - `ip_address: string` - - `type: optional "claude_academy_inference_enabled"` + - `user_agent: string` - default: claude_academy_inference_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 - - `ClaudeScienceLocalWorkImportEnabled object` + - `email_address: optional string or null` - 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. + format: email - - `type: optional "claude_science_local_work_import_enabled"` + - `SystemActor object` - default: claude_science_local_work_import_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. - - `ClaudeAIProjectSharingEnabled object` + - `AdminAPIKeyActor 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 "admin_api_key_actor"` - - `type: optional "claude_ai_project_sharing_enabled"` + default: admin_api_key_actor - default: claude_ai_project_sharing_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"` - - `ArtifactTypeSlidesEnabled object` + default: service_account_actor - The setting that lets members create Slides, one of Anthropic's built-in Artifact types, was changed for the organization. + - `ip_address: string` - - `type: optional "artifact_type_slides_enabled"` + - `service_account_id: string` - default: artifact_type_slides_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` - - `ArtifactTypeDesignEnabled object` + - `workos_event_id: string` - 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. + - `idp_connection_type: optional string or null` - - `type: optional "artifact_type_design_enabled"` + - `FederatedIdentityActor object` - default: artifact_type_design_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` - - `ArtifactTypeDesignSystemsEnabled object` + - `subject: string` - The setting that lets members create Design systems, one of Anthropic's built-in Artifact types, was changed for the organization. + - `audience: optional array of string` - - `type: optional "artifact_type_design_systems_enabled"` + - `ip_address: optional string or null` - default: artifact_type_design_systems_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 - - `ArtifactTypeDocsEnabled object` + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - The setting that lets members create Claude Docs, one of Anthropic's built-in Artifact types, was changed for the organization. + - `FederatedActorAwsProvider object` - - `type: optional "artifact_type_docs_enabled"` + Asserting party: the AWS account the organization is bound to. - default: artifact_type_docs_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. - - `ArtifactTypeMotionEnabled object` + - `FederatedActorAzureProvider object` - The setting that lets members create Motion, 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_motion_enabled"` + - `type: optional "azure"` - default: artifact_type_motion_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"` - - `ArtifactTypeDashboardsEnabled object` + default: gcp - The setting that lets members create Dashboards, one of Anthropic's built-in Artifact types, was changed for the organization. + - `project_number: string` - - `type: optional "artifact_type_dashboards_enabled"` + - `FederatedActorOidcProvider object` - default: artifact_type_dashboards_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 had not been set for the organization, so the plan default applied. + The federation issuer's URL. Null when the presented credential failed verification. - - `BuiltInBrowserDataImportEnabled object` + - `ip_address: optional string or null` - 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. + - `subject: optional string or null` - - `type: optional "built_in_browser_data_import_enabled"` + The provider's verified identifier for the caller; its form depends on the provider. - default: built_in_browser_data_import_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. Null means the setting was not set, so its default applied. + 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` + - `agent_id: string` - Attestation type, such as "safe_for_phi" (may be used with protected health information). + The agent that was created, e.g. "agent_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` @@ -88074,13 +92142,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"` + - `PlatformAgentDeleted object` - default: owned_projects_access_restored + An agent was deleted from the API platform. + + - `type: optional "platform_agent_deleted"` + + default: platform_agent_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -88288,6 +92360,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `agent_id: string` + + The agent that was deleted, e.g. "agent_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -88306,17 +92382,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` + - `PlatformAgentDeploymentArchived object` - The organization's default payment method was updated. + An agent deployment was archived on the API platform. - - `type: optional "payment_method_updated"` + - `type: optional "platform_agent_deployment_archived"` - default: payment_method_updated + default: platform_agent_deployment_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -88524,6 +92600,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `deployment_id: string` + + The agent deployment that was archived, e.g. "depl_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -88542,13 +92622,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"` + - `PlatformAgentDeploymentCreated object` - default: pending_share_created + An agent deployment was created on the API platform. + + - `type: optional "platform_agent_deployment_created"` + + default: platform_agent_deployment_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -88756,21 +92840,249 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `invitee_email: string` + - `deployment_id: string` - Email address the share was created for. + The agent deployment that was created, e.g. "depl_01HX...". - - `resource_id: string` + - `id: optional string` - Tagged ID of the resource being shared. + Unique identifier for the activity e.g. 'activity_abcd1234' - - `resource_type: string` + - `created_at: optional string` - The type of resource being shared. + When this activity occurred. - - `role: string` + format: date-time - The role that will be granted when the invitee joins the organization. + - `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. + + - `PlatformAgentDeploymentDeleted object` + + An agent deployment was deleted from the API platform. + + - `type: optional "platform_agent_deployment_deleted"` + + default: platform_agent_deployment_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` + + - `deployment_id: string` + + The agent deployment that was deleted, e.g. "depl_01HX...". - `id: optional string` @@ -88790,13 +93102,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"` + - `PlatformAgentDeploymentPaused object` - default: pending_share_revoked + 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` @@ -89004,17 +93320,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 paused, e.g. "depl_01HX...". - `id: optional string` @@ -89034,13 +93342,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"` + - `PlatformAgentDeploymentRunTriggered object` - default: phone_code_sent + An agent deployment was run on demand on the API platform. + + - `type: optional "platform_agent_deployment_run_triggered"` + + default: platform_agent_deployment_run_triggered - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -89248,237 +93560,9 @@ compliance activities that can be filtered by various criteria. - `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` + - `deployment_id: string` - - `user_agent: optional string or null` + The agent deployment that was run, e.g. "depl_01HX...". - `id: optional string` @@ -89498,13 +93582,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"` + - `PlatformAgentDeploymentUnpaused object` - default: platform_agent_archived + 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` @@ -89712,9 +93800,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `agent_id: string` + - `deployment_id: string` - The agent that was archived, e.g. "agent_01HX...". + The agent deployment that was resumed, e.g. "depl_01HX...". - `id: optional string` @@ -89738,13 +93826,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` + - `PlatformAgentDeploymentUpdated object` - An agent was created on the API platform. + An agent deployment was updated on the API platform. - - `type: optional "platform_agent_created"` + - `type: optional "platform_agent_deployment_updated"` - default: platform_agent_created + default: platform_agent_deployment_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -89952,9 +94040,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `agent_id: string` + - `deployment_id: string` - The agent that was created, e.g. "agent_01HX...". + The agent deployment that was updated, e.g. "depl_01HX...". - `id: optional string` @@ -89978,13 +94066,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` + - `PlatformAgentSessionArchived object` - An agent was deleted from the API platform. + An agent session was archived on the API platform. - - `type: optional "platform_agent_deleted"` + - `type: optional "platform_agent_session_archived"` - default: platform_agent_deleted + default: platform_agent_session_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -90192,9 +94280,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 deleted, e.g. "agent_01HX...". + The agent session that was archived, e.g. "session_01HX...". - `id: optional string` @@ -90218,13 +94306,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` + - `PlatformAgentSessionCreated object` - An agent deployment was archived on the API platform. + An agent session was created on the API platform. - - `type: optional "platform_agent_deployment_archived"` + - `type: optional "platform_agent_session_created"` - default: platform_agent_deployment_archived + default: platform_agent_session_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -90432,9 +94520,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 archived, e.g. "depl_01HX...". + The agent session that was created, e.g. "session_01HX...". - `id: optional string` @@ -90458,13 +94546,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` + - `PlatformAgentSessionDeleted object` - An agent deployment was created on the API platform. + An agent session was deleted from the API platform. - - `type: optional "platform_agent_deployment_created"` + - `type: optional "platform_agent_session_deleted"` - default: platform_agent_deployment_created + default: platform_agent_session_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -90672,9 +94760,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 created, e.g. "depl_01HX...". + The agent session that was deleted, e.g. "session_01HX...". - `id: optional string` @@ -90698,13 +94786,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` + - `PlatformAgentSessionResourceAdded object` - An agent deployment was deleted from the API platform. + A resource was attached to an agent session. - - `type: optional "platform_agent_deployment_deleted"` + - `type: optional "platform_agent_session_resource_added"` - default: platform_agent_deployment_deleted + default: platform_agent_session_resource_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -90912,249 +95000,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `deployment_id: string` - - The agent deployment that was deleted, e.g. "depl_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. - - - `PlatformAgentDeploymentPaused object` - - 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` - - - `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` + - `resource_id: string` - - `user_agent: optional string or null` + The resource that was attached, e.g. "resource_01HX...". - - `deployment_id: string` + - `session_id: string` - The agent deployment that was paused, e.g. "depl_01HX...". + The agent session the resource was attached to, e.g. "session_01HX...". - `id: optional string` @@ -91178,13 +95030,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` + - `PlatformAgentSessionResourceDeleted object` - An agent deployment was run on demand on the API platform. + A resource attached to an agent session was removed. - - `type: optional "platform_agent_deployment_run_triggered"` + - `type: optional "platform_agent_session_resource_deleted"` - default: platform_agent_deployment_run_triggered + default: platform_agent_session_resource_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -91392,9 +95244,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 run, e.g. "depl_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` @@ -91418,13 +95274,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. - - `PlatformAgentDeploymentUnpaused object` + - `PlatformAgentSessionResourceUpdated object` - An agent deployment was resumed on the API platform. + A resource attached to an agent session was updated. - - `type: optional "platform_agent_deployment_unpaused"` + - `type: optional "platform_agent_session_resource_updated"` - default: platform_agent_deployment_unpaused + default: platform_agent_session_resource_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -91632,9 +95488,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 resumed, 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` @@ -91658,13 +95518,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. - - `PlatformAgentDeploymentUpdated object` + - `PlatformAgentSessionThreadArchived object` - An agent deployment was updated on the API platform. + A thread within an agent session was archived. - - `type: optional "platform_agent_deployment_updated"` + - `type: optional "platform_agent_session_thread_archived"` - default: platform_agent_deployment_updated + default: platform_agent_session_thread_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -91872,9 +95732,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 updated, 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` @@ -91898,13 +95762,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. - - `PlatformAgentSessionArchived object` + - `PlatformAgentSessionUpdated object` - An agent session was archived on the API platform. + An agent session was updated on the API platform. - - `type: optional "platform_agent_session_archived"` + - `type: optional "platform_agent_session_updated"` - default: platform_agent_session_archived + default: platform_agent_session_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -92114,7 +95978,7 @@ compliance activities that can be filtered by various criteria. - `session_id: string` - The agent session that was archived, e.g. "session_01HX...". + The agent session that was updated, e.g. "session_01HX...". - `id: optional string` @@ -92138,13 +96002,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. - - `PlatformAgentSessionCreated object` + - `PlatformAgentUpdated object` - An agent session was created on the API platform. + An agent was updated on the API platform. - - `type: optional "platform_agent_session_created"` + - `type: optional "platform_agent_updated"` - default: platform_agent_session_created + default: platform_agent_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -92352,9 +96216,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `session_id: string` + - `agent_id: string` - The agent session that was created, e.g. "session_01HX...". + The agent that was updated, e.g. "agent_01HX...". - `id: optional string` @@ -92378,13 +96242,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. - - `PlatformAgentSessionDeleted object` + - `PlatformAPIKeyCreated object` - An agent session was deleted from the API platform. + An API key was created. - - `type: optional "platform_agent_session_deleted"` + - `type: optional "platform_api_key_created"` - default: platform_agent_session_deleted + default: platform_api_key_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -92592,9 +96456,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `session_id: string` + - `api_key_id: string` - The agent session that was deleted, e.g. "session_01HX...". + Tagged ID of the created API key - `id: optional string` @@ -92614,17 +96478,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. - - `PlatformAgentSessionResourceAdded object` + - `principal_type: optional "service_account" or "unspecified" or "user" or null` - A resource was attached to an agent session. + 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_session_resource_added"` + - `"service_account"` - default: platform_agent_session_resource_added + - `"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` @@ -92832,13 +96730,9 @@ 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` + - `api_key_id: string` - The agent session the resource was attached to, e.g. "session_01HX...". + Tagged ID of the updated API key - `id: optional string` @@ -92858,17 +96752,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 - - `PlatformAgentSessionResourceDeleted object` + - `type: "name" or "status" or "unspecified" or "workspace"` - A resource attached to an agent session was removed. + The API key field that changed - - `type: optional "platform_agent_session_resource_deleted"` + - `"name"` - default: platform_agent_session_resource_deleted + - `"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` @@ -93076,14 +96990,6 @@ 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` - - The agent session the resource belonged to, e.g. "session_01HX...". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -93094,6 +97000,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 @@ -93102,17 +97024,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. - - `PlatformAgentSessionResourceUpdated object` + - `status: optional object or null` - A resource attached to an agent session was updated. + The outcome of the token exchange. - - `type: optional "platform_agent_session_resource_updated"` + - `outcome: string` - default: platform_agent_session_resource_updated + 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` @@ -93320,13 +97254,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` + - `previous_billing_type: string` - The agent session the resource belongs to, e.g. "session_01HX...". + The organization's billing type before this upgrade, for example "api_evaluation". - `id: optional string` @@ -93346,17 +97276,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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. - - - `PlatformAgentSessionThreadArchived object` + - `PlatformClearanceWorkspaceProgramRequestCleared object` - A thread within an agent session was archived. + A workspace's clearance program assignment was removed. - - `type: optional "platform_agent_session_thread_archived"` + - `type: optional "platform_clearance_workspace_program_request_cleared"` - default: platform_agent_session_thread_archived + default: platform_clearance_workspace_program_request_cleared - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -93564,13 +97490,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 the thread belongs to, e.g. "session_01HX...". + The clearance program's identifier - - `thread_id: string` + - `workspace_id: string` - The thread that was archived, e.g. "thread_01HX...". + Tagged ID of the workspace - `id: optional string` @@ -93590,17 +97516,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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. - - - `PlatformAgentSessionUpdated object` + - `PlatformClearanceWorkspaceProgramRequestSet object` - An agent session was updated on the API platform. + A workspace's clearance program assignment was created or updated. - - `type: optional "platform_agent_session_updated"` + - `type: optional "platform_clearance_workspace_program_request_set"` - default: platform_agent_session_updated + default: platform_clearance_workspace_program_request_set - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -93808,9 +97730,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 updated, 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` @@ -93830,17 +97766,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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. - - - `PlatformAgentUpdated object` + - `PlatformCostReportViewed object` - An agent was updated on the API platform. + The cost report was viewed. - - `type: optional "platform_agent_updated"` + - `type: optional "platform_cost_report_viewed"` - default: platform_agent_updated + default: platform_cost_report_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -94048,10 +97980,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `agent_id: string` - - The agent that was updated, e.g. "agent_01HX...". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -94070,17 +97998,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformDreamArchived object` - An API key was created. + A Dream (asynchronous memory-consolidation job) was archived. - - `type: optional "platform_api_key_created"` + - `type: optional "platform_dream_archived"` - default: platform_api_key_created + default: platform_dream_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -94288,9 +98212,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `api_key_id: string` + - `dream_id: string` - Tagged ID of the created API key + Tagged dream ID, e.g. "drm_01HX...". - `id: optional string` @@ -94310,51 +98234,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). - - `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"` - - default: organization - - - `Workspace object` - - The API key belongs to one workspace. - - - `type: optional "workspace"` - - default: workspace - - - `workspace_id: string` + - `workspace_id: optional string or null` - Tagged ID of the workspace the API key belongs to, including when that is the organization's default workspace. + Tagged ID of the workspace the dream belongs to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. - - `PlatformAPIKeyUpdated object` + - `PlatformDreamCancelled object` - An API key was updated. + A Dream (asynchronous memory-consolidation job) was cancelled before it completed. - - `type: optional "platform_api_key_updated"` + - `type: optional "platform_dream_cancelled"` - default: platform_api_key_updated + default: platform_dream_cancelled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -94562,9 +98452,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `api_key_id: string` + - `dream_id: string` - Tagged ID of the updated API key + Tagged dream ID, e.g. "drm_01HX...". - `id: optional string` @@ -94584,37 +98474,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: "name" or "status" or "unspecified" or "workspace"` - - The API key field that changed - - - `"name"` - - - `"status"` - - - `"unspecified"` - - - `"workspace"` - - - `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 dream belongs to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. - - `PlatformAppAttestAuthentication object` + - `PlatformDreamCreated object` - An attested mobile device attempted to exchange an Apple App Attest assertion for Anthropic API credentials. + A Dream (asynchronous memory-consolidation job) was created. - - `type: optional "platform_app_attest_authentication"` + - `type: optional "platform_dream_created"` - default: platform_app_attest_authentication + default: platform_dream_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -94822,6 +98692,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `dream_id: string` + + Tagged dream ID, e.g. "drm_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -94832,22 +98706,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 @@ -94856,29 +98714,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. - - - `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` + - `workspace_id: optional string or null` - A short reason code when the exchange did not succeed. + Tagged ID of the workspace the dream belongs to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. - - `PlatformBillingUpgradedToPrepaid object` + - `PlatformFederatedAuthentication object` - The organization's API billing was upgraded to the prepaid plan. + A federated workload identity attempted to exchange an OIDC token for Anthropic API credentials. - - `type: optional "platform_billing_upgraded_to_prepaid"` + - `type: optional "platform_federated_authentication"` - default: platform_billing_upgraded_to_prepaid + default: platform_federated_authentication - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -95086,10 +98932,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `previous_billing_type: string` - - The organization's billing type before this upgrade, for example "api_evaluation". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -95100,6 +98942,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 @@ -95108,13 +98978,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). - - `PlatformClearanceWorkspaceProgramRequestCleared object` + - `request_id: optional string or null` - A workspace's clearance program assignment was removed. + The Anthropic API request identifier for correlation, e.g. "req_01HXZ4K7M9P2QR5T8V6W3Y1N0B". - - `type: optional "platform_clearance_workspace_program_request_cleared"` + - `resources: optional array of object` - default: platform_clearance_workspace_program_request_cleared + 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` + + 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` @@ -95322,13 +99224,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_issuer_id: string` - Tagged ID of the workspace + Tagged ID of the archived issuer - `id: optional string` @@ -95348,13 +99246,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformFederationIssuerCreated object` - A workspace's clearance program assignment was created or updated. + An OIDC federation issuer was created, registering an external identity provider that federation rules can trust for workload authentication. - - `type: optional "platform_clearance_workspace_program_request_set"` + - `type: optional "platform_federation_issuer_created"` - default: platform_clearance_workspace_program_request_set + default: platform_federation_issuer_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -95562,23 +99460,17 @@ 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"` + - `federation_issuer_id: string` - - `"unspecified"` + Tagged ID of the created issuer, e.g. "fdis_..." - - `program_slug: string` + - `issuer_url: string` - The clearance program's identifier + URL of the external OIDC identity provider that was registered - - `workspace_id: string` + - `jwks_source: string` - Tagged ID of the workspace + 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` @@ -95590,6 +99482,14 @@ 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 @@ -95598,13 +99498,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformFederationIssuerUpdated object` - The cost report was viewed. + An OIDC federation issuer was updated. - - `type: optional "platform_cost_report_viewed"` + - `type: optional "platform_federation_issuer_updated"` - default: platform_cost_report_viewed + default: platform_federation_issuer_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -95812,6 +99712,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `federation_issuer_id: string` + + Tagged ID of the updated issuer + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -95830,13 +99734,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). - - `PlatformDreamArchived object` + - `updates: optional array of object` - A Dream (asynchronous memory-consolidation job) was archived. + The field-level changes applied in this update - - `type: optional "platform_dream_archived"` + - `type: "ca_cert_pem_sha256" or "check_jti" or "discovery_base" or 8 more` - default: platform_dream_archived + 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` + + Field value immediately before this change + + - `PlatformFederationRuleArchived object` + + An OIDC federation rule was archived. + + - `type: optional "platform_federation_rule_archived"` + + default: platform_federation_rule_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -96044,9 +99986,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `dream_id: string` + - `federation_rule_id: string` - Tagged dream ID, e.g. "drm_01HX...". + Tagged ID of the archived rule - `id: optional string` @@ -96066,17 +100008,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformFederationRuleCreated object` - A Dream (asynchronous memory-consolidation job) was cancelled before it completed. + 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_dream_cancelled"` + - `type: optional "platform_federation_rule_created"` - default: platform_dream_cancelled + default: platform_federation_rule_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -96284,9 +100222,25 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `dream_id: string` + - `applies_to_all_workspaces: boolean` - Tagged dream ID, e.g. "drm_01HX...". + 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` @@ -96298,6 +100252,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 @@ -96306,17 +100268,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). + - `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 dream belongs to, e.g. "wrkspc_01HX...". For organization-scoped credentials this is the organization's default workspace. + 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. - - `PlatformDreamCreated object` + - `PlatformFederationRuleUpdated object` - A Dream (asynchronous memory-consolidation job) was created. + An OIDC federation rule was updated. - - `type: optional "platform_dream_created"` + - `type: optional "platform_federation_rule_updated"` - default: platform_dream_created + default: platform_federation_rule_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -96524,9 +100494,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `dream_id: string` + - `federation_rule_id: string` - Tagged dream ID, e.g. "drm_01HX...". + Tagged ID of the updated rule - `id: optional string` @@ -96546,17 +100516,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). - - `workspace_id: optional string or null` + - `updates: optional array of object` - 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 field-level changes applied in this update - - `PlatformFederatedAuthentication object` + - `type: "applies_to_all_workspaces" or "attributes" or "description" or 12 more` - A federated workload identity attempted to exchange an OIDC token for Anthropic API credentials. + The OIDC federation rule field that changed - - `type: optional "platform_federated_authentication"` + - `"applies_to_all_workspaces"` - default: platform_federated_authentication + - `"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` @@ -96764,6 +100776,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 enabled for + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -96774,34 +100794,6 @@ 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 @@ -96810,45 +100802,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - A short reason code when the exchange did not succeed. - - - `PlatformFederationIssuerArchived object` + - `PlatformFederationRuleWorkspaceRemoved object` - An OIDC federation issuer was archived. + A federation rule was disabled for a workspace. - - `type: optional "platform_federation_issuer_archived"` + - `type: optional "platform_federation_rule_workspace_removed"` - default: platform_federation_issuer_archived + default: platform_federation_rule_workspace_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -97056,9 +101016,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `federation_issuer_id: string` + - `federation_rule_id: string` - Tagged ID of the archived issuer + Tagged ID of the federation rule + + - `workspace_id: string` + + Tagged ID of the workspace the rule was disabled for - `id: optional string` @@ -97078,13 +101042,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformFileContentDownloaded object` - An OIDC federation issuer was created, registering an external identity provider that federation rules can trust for workload authentication. + Activity logged when file content is downloaded via GET /v1/files/{file_id}/content. - - `type: optional "platform_federation_issuer_created"` + - `type: optional "platform_file_content_downloaded"` - default: platform_federation_issuer_created + default: platform_file_content_downloaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -97292,17 +101256,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` + - `file_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. + The tagged ID of the downloaded file - `id: optional string` @@ -97314,14 +101270,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 @@ -97330,13 +101278,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformFileDeleted object` - An OIDC federation issuer was updated. + Activity logged when a file is deleted via DELETE /v1/files/{file_id}. - - `type: optional "platform_federation_issuer_updated"` + - `type: optional "platform_file_deleted"` - default: platform_federation_issuer_updated + default: platform_file_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -97544,9 +101492,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `federation_issuer_id: string` + - `file_id: string` - Tagged ID of the updated issuer + The tagged ID of the deleted file - `id: optional string` @@ -97566,51 +101514,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - Field value immediately before this change - - - `PlatformFederationRuleArchived object` + - `PlatformFileUploaded object` - An OIDC federation rule was archived. + Activity logged when a file is uploaded via POST /v1/files. - - `type: optional "platform_federation_rule_archived"` + - `type: optional "platform_file_uploaded"` - default: platform_federation_rule_archived + default: platform_file_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -97818,9 +101728,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `federation_rule_id: string` + - `file_id: string` - Tagged ID of the archived rule + The tagged ID of the uploaded file - `id: optional string` @@ -97840,13 +101750,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` + - `session_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. + The tagged session ID (agent-api only) - - `type: optional "platform_federation_rule_created"` + - `PlatformMemoryCreated object` - default: platform_federation_rule_created + An agent memory document was created. + + - `type: optional "platform_memory_created"` + + default: platform_memory_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -98054,25 +101968,13 @@ 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` + - `memory_id: string` - Space-separated OAuth scopes that tokens minted through the rule carry, e.g. "workspace:inference" or "org:admin". + Tagged memory ID, e.g. "mem_01HX...". - - `target_type: string` + - `memory_store_id: string` - What the rule authenticates as — typically "service_account" or "user". An unrecognized kind is recorded verbatim. + Tagged ID of the memory store the memory belongs to, e.g. "memstore_01HX...". - `id: optional string` @@ -98084,13 +101986,9 @@ 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` + - `memory_version_id: 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/*". + 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` @@ -98100,25 +101998,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` + - `PlatformMemoryDeleted object` - An OIDC federation rule was updated. + An agent memory document was deleted. - - `type: optional "platform_federation_rule_updated"` + - `type: optional "platform_memory_deleted"` - default: platform_federation_rule_updated + default: platform_memory_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -98326,9 +102216,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` @@ -98340,6 +102234,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 @@ -98348,59 +102246,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` + - `PlatformMemoryStoreArchived object` - A federation rule was enabled for a workspace. + 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_federation_rule_workspace_added"` + - `type: optional "platform_memory_store_archived"` - default: platform_federation_rule_workspace_added + default: platform_memory_store_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -98608,13 +102464,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` + - `memory_store_id: string` - Tagged ID of the workspace the rule was enabled for + Tagged memory store ID, e.g. "memstore_01HX...". - `id: optional string` @@ -98634,13 +102486,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"` + - `PlatformMemoryStoreCreated object` - default: platform_federation_rule_workspace_removed + 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` @@ -98848,13 +102704,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` + - `memory_store_id: string` - Tagged ID of the workspace the rule was disabled for + Tagged memory store ID, e.g. "memstore_01HX...". - `id: optional string` @@ -98874,13 +102726,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 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_file_content_downloaded"` + - `PlatformMemoryStoreDeleted object` - default: platform_file_content_downloaded + An agent memory store was deleted. Memory content removal may complete asynchronously for very large stores. + + - `type: optional "platform_memory_store_deleted"` + + default: platform_memory_store_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -99088,9 +102944,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `file_id: string` + - `memory_store_id: string` - The tagged ID of the downloaded file + Tagged memory store ID, e.g. "memstore_01HX...". - `id: optional string` @@ -99110,13 +102966,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). - - `PlatformFileDeleted object` + - `workspace_id: optional string or null` - Activity logged when a file is deleted via DELETE /v1/files/{file_id}. + 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_file_deleted"` + - `PlatformMemoryStoreUpdated object` - default: platform_file_deleted + 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` @@ -99324,9 +103184,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `file_id: string` + - `memory_store_id: string` - The tagged ID of the deleted file + Tagged memory store ID, e.g. "memstore_01HX...". - `id: optional string` @@ -99346,13 +103206,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). - - `PlatformFileUploaded object` + - `workspace_id: optional string or null` - Activity logged when a file is uploaded via POST /v1/files. + 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_file_uploaded"` + - `PlatformMemoryUpdated object` - default: platform_file_uploaded + An agent memory document's content or path was updated. + + - `type: optional "platform_memory_updated"` + + default: platform_memory_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -99560,9 +103424,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `file_id: string` + - `memory_id: string` - The tagged ID of the uploaded file + 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` @@ -99574,6 +103442,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 @@ -99582,17 +103454,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). - - `session_id: optional string or null` + - `workspace_id: optional string or null` - The tagged session ID (agent-api only) + 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. - - `PlatformMemoryCreated object` + - `PlatformMemoryVersionRedacted object` - An agent memory document was created. + 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_memory_created"` + - `type: optional "platform_memory_version_redacted"` - default: platform_memory_created + default: platform_memory_version_redacted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -99802,12 +103674,16 @@ compliance activities that can be filtered by various criteria. - `memory_id: string` - Tagged memory ID, e.g. "mem_01HX...". + Tagged ID of the memory the version belongs to, e.g. "mem_01HX...". - `memory_store_id: string` 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` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -99818,10 +103694,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 @@ -99834,13 +103706,13 @@ compliance activities that can be filtered by various criteria. 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` + - `PlatformOAuthAppCreated object` - An agent memory document was deleted. + An OAuth app was created. - - `type: optional "platform_memory_deleted"` + - `type: optional "platform_oauth_app_created"` - default: platform_memory_deleted + default: platform_oauth_app_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -100048,13 +103920,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` + - `oauth_app_id: string` - Tagged ID of the memory store the memory belongs to, e.g. "memstore_01HX...". + Tagged ID of the created app - `id: optional string` @@ -100066,10 +103934,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 @@ -100080,15 +103944,15 @@ compliance activities that can be filtered by various criteria. - `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. + Tagged ID of the workspace the app is scoped to. Null or absent if the app is not scoped to a workspace. - - `PlatformMemoryStoreArchived object` + - `PlatformOAuthAppRevoked 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. + An OAuth app was revoked. - - `type: optional "platform_memory_store_archived"` + - `type: optional "platform_oauth_app_revoked"` - default: platform_memory_store_archived + default: platform_oauth_app_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -100296,9 +104160,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `memory_store_id: string` + - `oauth_app_id: string` - Tagged memory store ID, e.g. "memstore_01HX...". + Tagged ID of the revoked app - `id: optional string` @@ -100318,17 +104182,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformOAuthAppUpdated object` - An agent memory store was created. + An OAuth app was updated. - - `type: optional "platform_memory_store_created"` + - `type: optional "platform_oauth_app_updated"` - default: platform_memory_store_created + default: platform_oauth_app_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -100536,9 +104396,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `memory_store_id: string` + - `oauth_app_id: string` - Tagged memory store ID, e.g. "memstore_01HX...". + Tagged ID of the updated app - `id: optional string` @@ -100558,17 +104418,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). - - `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 - - `PlatformMemoryStoreDeleted object` + - `type: "apple_ios_attestation_environment" or "apple_ios_bundles" or "name" or 2 more` - An agent memory store was deleted. Memory content removal may complete asynchronously for very large stores. + The OAuth app field that changed - - `type: optional "platform_memory_store_deleted"` + - `"apple_ios_attestation_environment"` - default: platform_memory_store_deleted + - `"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` @@ -100776,9 +104658,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `memory_store_id: string` + - `admin_email: string` - Tagged memory store ID, e.g. "memstore_01HX...". + 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` @@ -100798,17 +104688,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformPluginDirectorySubmissionCreated object` - An agent memory store's name, description, or metadata was updated. + 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_store_updated"` + - `type: optional "platform_plugin_directory_submission_created"` - default: platform_memory_store_updated + default: platform_plugin_directory_submission_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -101016,9 +104902,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `memory_store_id: string` + - `plugin_name: string` - Tagged memory store ID, e.g. "memstore_01HX...". + The name of the plugin being submitted. + + - `submission_id: string` + + The submission that was created, e.g. "psub_01HX...". - `id: optional string` @@ -101038,17 +104928,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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. - - - `PlatformMemoryUpdated object` + - `PlatformPluginDirectorySubmissionDeleted object` - An agent memory document's content or path was updated. + A plugin directory submission was deleted on the API platform. - - `type: optional "platform_memory_updated"` + - `type: optional "platform_plugin_directory_submission_deleted"` - default: platform_memory_updated + default: platform_plugin_directory_submission_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -101256,13 +105142,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` @@ -101274,10 +105156,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 @@ -101286,17 +105164,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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. - - - `PlatformMemoryVersionRedacted object` + - `PlatformPluginDirectorySubmissionUpdated 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 plugin directory submission was updated on the API platform. - - `type: optional "platform_memory_version_redacted"` + - `type: optional "platform_plugin_directory_submission_updated"` - default: platform_memory_version_redacted + default: platform_plugin_directory_submission_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -101504,17 +105378,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` + - `status: string` - Tagged ID of the memory store the memory belongs to, e.g. "memstore_01HX...". + The submission's status after the update. - - `memory_version_id: string` + - `submission_id: string` - Tagged memory version ID, e.g. "memver_01HX...". + The submission that was updated, e.g. "psub_01HX...". - `id: optional string` @@ -101534,17 +105404,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformServiceAccountArchived object` - An OAuth app was created. + A service account was archived. - - `type: optional "platform_oauth_app_created"` + - `type: optional "platform_service_account_archived"` - default: platform_oauth_app_created + default: platform_service_account_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -101752,9 +105618,9 @@ 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 archived service account - `id: optional string` @@ -101774,17 +105640,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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 app is scoped to. Null or absent if the app is not scoped to a workspace. - - - `PlatformOAuthAppRevoked object` + - `PlatformServiceAccountCreated object` - An OAuth app was revoked. + A service account was created. - - `type: optional "platform_oauth_app_revoked"` + - `type: optional "platform_service_account_created"` - default: platform_oauth_app_revoked + default: platform_service_account_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -101992,9 +105854,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `oauth_app_id: string` + - `organization_role: string` - Tagged ID of the revoked app + 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` @@ -102014,13 +105880,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformServiceAccountUpdated object` - An OAuth app was updated. + A service account was updated. - - `type: optional "platform_oauth_app_updated"` + - `type: optional "platform_service_account_updated"` - default: platform_oauth_app_updated + default: platform_service_account_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -102228,9 +106094,9 @@ 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 updated app + Tagged ID of the updated service account - `id: optional string` @@ -102254,17 +106120,13 @@ compliance activities that can be filtered by various criteria. 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"` + - `type: "description" or "organization_role" or "unspecified"` - - `"apple_ios_bundles"` + The service account field that changed - - `"name"` + - `"description"` - - `"status"` + - `"organization_role"` - `"unspecified"` @@ -102276,13 +106138,13 @@ compliance activities that can be filtered by various criteria. Field value immediately before this change - - `PlatformOrganizationCreated object` + - `PlatformServiceAccountWorkspaceMemberAdded object` - An owner of the organization created a Claude Console organization under the same parent organization. + A service account was added as a member of a workspace. - - `type: optional "platform_organization_created"` + - `type: optional "platform_service_account_workspace_member_added"` - default: platform_organization_created + default: platform_service_account_workspace_member_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -102490,17 +106352,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `admin_email: string` - - The email address of the new organization's initial administrator. - - - `created_organization_id: string` + - `service_account_id: string` - The Claude Console organization that was created, e.g. "org_01HX...". + Tagged ID of the service account - - `parent_organization_id: string` + - `workspace_id: string` - The parent organization both organizations belong to, e.g. "parent_org_01HX...". + Tagged ID of the workspace - `id: optional string` @@ -102520,13 +106378,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). - - `PlatformPluginDirectorySubmissionCreated object` + - `workspace_role: optional string or null` - 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. + Role the service account was given in the workspace, for example workspace_developer. - - `type: optional "platform_plugin_directory_submission_created"` + - `PlatformServiceAccountWorkspaceMemberRemoved object` - default: platform_plugin_directory_submission_created + A service account was removed from a workspace. + + - `type: optional "platform_service_account_workspace_member_removed"` + + default: platform_service_account_workspace_member_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -102734,13 +106596,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `plugin_name: string` + - `service_account_id: string` - The name of the plugin being submitted. + Tagged ID of the service account - - `submission_id: string` + - `workspace_id: string` - The submission that was created, e.g. "psub_01HX...". + Tagged ID of the workspace - `id: optional string` @@ -102760,13 +106622,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformServiceAccountWorkspaceMemberUpdated object` - A plugin directory submission was deleted on the API platform. + A service account's workspace membership role was updated. - - `type: optional "platform_plugin_directory_submission_deleted"` + - `type: optional "platform_service_account_workspace_member_updated"` - default: platform_plugin_directory_submission_deleted + default: platform_service_account_workspace_member_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -102974,9 +106836,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `submission_id: string` + - `service_account_id: string` - The submission that was deleted, e.g. "psub_01HX...". + Tagged ID of the service account + + - `workspace_id: string` + + Tagged ID of the workspace - `id: optional string` @@ -102996,13 +106862,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). - - `PlatformPluginDirectorySubmissionUpdated object` + - `updates: optional array of object` - A plugin directory submission was updated on the API platform. + The field-level changes applied in this update - - `type: optional "platform_plugin_directory_submission_updated"` + - `type: "unspecified" or "workspace_role"` - default: platform_plugin_directory_submission_updated + 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` + + 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` @@ -103210,13 +107096,21 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `status: string` + - `algorithm: string` - The submission's status after the update. + The signing algorithm (e.g. ecdsa-p256-sha256) - - `submission_id: string` + - `key_backing_type: string` - The submission that was updated, e.g. "psub_01HX...". + 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` @@ -103236,13 +107130,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformSigningKeyDeleted object` - A service account was archived. + Activity logged when a signing key is permanently deleted. - - `type: optional "platform_service_account_archived"` + - `type: optional "platform_signing_key_deleted"` - default: platform_service_account_archived + default: platform_signing_key_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -103450,9 +107344,21 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `service_account_id: string` + - `algorithm: string` - Tagged ID of the archived service account + 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` @@ -103472,13 +107378,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformSigningKeyRotated object` - A service account was created. + Activity logged when an in-memory signing key is rotated. - - `type: optional "platform_service_account_created"` + - `type: optional "platform_signing_key_rotated"` - default: platform_service_account_created + default: platform_signing_key_rotated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -103686,13 +107592,21 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `organization_role: string` + - `algorithm: string` - Organization role the service account was created with — typically "admin" or "developer". A role this service does not recognize is recorded verbatim. + The algorithm of the new key - - `service_account_id: string` + - `key_group_identifier: string` - Tagged ID of the created service account, e.g. "svac_..." + 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` + + The tagged ID of the expired old key - `id: optional string` @@ -103712,13 +107626,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformSkillVersionContentDownloaded object` - A service account was updated. + The content of a skill version was downloaded through the Skills API. - - `type: optional "platform_service_account_updated"` + - `type: optional "platform_skill_version_content_downloaded"` - default: platform_service_account_updated + default: platform_skill_version_content_downloaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -103926,9 +107840,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `service_account_id: string` + - `skill_id: string` - Tagged ID of the updated service account + The tagged ID of the skill + + - `version: string` + + The version of the skill whose content was downloaded - `id: optional string` @@ -103948,35 +107866,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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 - - - `"description"` - - - `"organization_role"` - - - `"unspecified"` - - - `current_value: string` - - Field value immediately after this change - - - `previous_value: string` - - Field value immediately before this change - - - `PlatformServiceAccountWorkspaceMemberAdded object` + - `PlatformSkillVersionCreated object` - A service account was added as a member of a workspace. + Activity logged when a skill version is created via POST /v1/skills/{skill_id}/versions. - - `type: optional "platform_service_account_workspace_member_added"` + - `type: optional "platform_skill_version_created"` - default: platform_service_account_workspace_member_added + default: platform_skill_version_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -104184,13 +108080,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `service_account_id: string` + - `skill_id: string` - Tagged ID of the service account + The tagged ID of the skill - - `workspace_id: string` + - `version: string` - Tagged ID of the workspace + The version number of the created version - `id: optional string` @@ -104210,17 +108106,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - Role the service account was given in the workspace, for example workspace_developer. - - - `PlatformServiceAccountWorkspaceMemberRemoved object` + - `PlatformSkillVersionDeleted object` - A service account was removed from a workspace. + Activity logged when a skill version is deleted via DELETE /v1/skills/{skill_id}/versions/{version}. - - `type: optional "platform_service_account_workspace_member_removed"` + - `type: optional "platform_skill_version_deleted"` - default: platform_service_account_workspace_member_removed + default: platform_skill_version_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -104428,13 +108320,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `service_account_id: string` + - `skill_id: string` - Tagged ID of the service account + The tagged ID of the skill - - `workspace_id: string` + - `version: string` - Tagged ID of the workspace + The version number of the deleted version - `id: optional string` @@ -104454,13 +108346,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformSpendLimitAlertEmailsUpdated object` - A service account's workspace membership role was updated. + Spend limit alert email addresses and role targets were updated for an org. - - `type: optional "platform_service_account_workspace_member_updated"` + - `type: optional "platform_spend_limit_alert_emails_updated"` - default: platform_service_account_workspace_member_updated + default: platform_spend_limit_alert_emails_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -104668,17 +108560,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `service_account_id: string` + - `id: optional string` - Tagged ID of the service account + Unique identifier for the activity e.g. 'activity_abcd1234' - - `workspace_id: string` + - `alert_emails: optional array of string or null` - Tagged ID of the workspace + 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` @@ -104694,33 +108586,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformSpendLimitCreated object` - Activity logged when a new request-signing key is registered for the org. + An org-level fixed-dollar spend limit was created. - - `type: optional "platform_signing_key_created"` + - `type: optional "platform_spend_limit_created"` - default: platform_signing_key_created + default: platform_spend_limit_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -104928,22 +108800,6 @@ 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` - - The initial status of the key (ACTIVE or PENDING) - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -104954,6 +108810,14 @@ 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 @@ -104962,13 +108826,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformSpendLimitDeleted object` - Activity logged when a signing key is permanently deleted. + An org-level spend limit was removed. - - `type: optional "platform_signing_key_deleted"` + - `type: optional "platform_spend_limit_deleted"` - default: platform_signing_key_deleted + default: platform_spend_limit_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -105176,22 +109040,6 @@ 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` - - The tagged ID of the deleted signing key - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -105210,13 +109058,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). - - `PlatformSigningKeyRotated object` + - `spend_limit_id: optional string or null` - Activity logged when an in-memory signing key is rotated. + UUID of the deleted spend limit. - - `type: optional "platform_signing_key_rotated"` + - `PlatformSpendLimitUpdated object` - default: platform_signing_key_rotated + An org-level spend limit snooze/ignore state was changed. + + - `type: optional "platform_spend_limit_updated"` + + default: platform_spend_limit_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -105424,22 +109276,6 @@ 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` - - The tagged ID of the expired old key - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -105450,6 +109286,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 @@ -105458,13 +109298,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). - - `PlatformSkillVersionContentDownloaded object` + - `spend_limit_id: optional string or null` - The content of a skill version was downloaded through the Skills API. + UUID of the spend limit. - - `type: optional "platform_skill_version_content_downloaded"` + - `PlatformUsageReportClaudeCodeViewed object` - default: platform_skill_version_content_downloaded + The Claude Code usage report was viewed. + + - `type: optional "platform_usage_report_claude_code_viewed"` + + default: platform_usage_report_claude_code_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -105672,14 +109516,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 of the skill whose content was downloaded - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -105698,13 +109534,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformUsageReportMessagesViewed object` - Activity logged when a skill version is created via POST /v1/skills/{skill_id}/versions. + The messages usage report was viewed. - - `type: optional "platform_skill_version_created"` + - `type: optional "platform_usage_report_messages_viewed"` - default: platform_skill_version_created + default: platform_usage_report_messages_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -105912,14 +109748,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 created version - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -105938,13 +109766,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformWorkspaceArchived object` - Activity logged when a skill version is deleted via DELETE /v1/skills/{skill_id}/versions/{version}. + A workspace was archived. - - `type: optional "platform_skill_version_deleted"` + - `type: optional "platform_workspace_archived"` - default: platform_skill_version_deleted + default: platform_workspace_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -106152,13 +109980,9 @@ 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` + - `workspace_id: string` - The version number of the deleted version + Tagged ID of the archived workspace - `id: optional string` @@ -106178,13 +110002,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformWorkspaceCreated object` - Spend limit alert email addresses and role targets were updated for an org. + A workspace was created. - - `type: optional "platform_spend_limit_alert_emails_updated"` + - `type: optional "platform_workspace_created"` - default: platform_spend_limit_alert_emails_updated + default: platform_workspace_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -106392,17 +110216,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `workspace_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the created workspace - - `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' - - `alerted_roles: optional array of string or null` + - `allowed_inference_geos: optional string or null` - Updated list of alerted roles. + 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` @@ -106410,6 +110234,22 @@ compliance activities that can be filtered by various criteria. 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 @@ -106418,13 +110258,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). - - `PlatformSpendLimitCreated object` + - `tag_count: optional number or null` - An org-level fixed-dollar spend limit was created. + Number of tags the workspace was created with; tag keys and values are never recorded - - `type: optional "platform_spend_limit_created"` + - `PlatformWorkspaceInferenceDataRetentionDisabled object` - default: platform_spend_limit_created + The zero data retention override was disabled for a workspace. + + - `type: optional "platform_workspace_inference_data_retention_disabled"` + + default: platform_workspace_inference_data_retention_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -106632,6 +110476,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' @@ -106642,14 +110490,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 @@ -106658,13 +110498,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). - - `PlatformSpendLimitDeleted object` + - `previous_value: optional boolean or null` - An org-level spend limit was removed. + Override state immediately before this change - - `type: optional "platform_spend_limit_deleted"` + - `PlatformWorkspaceInferenceDataRetentionEnabled object` - default: platform_spend_limit_deleted + The zero data retention override was enabled for a workspace. + + - `type: optional "platform_workspace_inference_data_retention_enabled"` + + default: platform_workspace_inference_data_retention_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -106872,6 +110716,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' @@ -106890,17 +110738,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 deleted spend limit. + Override state immediately before this change - - `PlatformSpendLimitUpdated object` + - `PlatformWorkspaceMemberAdded object` - An org-level spend limit snooze/ignore state was changed. + A member was added to a workspace. - - `type: optional "platform_spend_limit_updated"` + - `type: optional "platform_workspace_member_added"` - default: platform_spend_limit_updated + default: platform_workspace_member_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -107108,6 +110956,14 @@ 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' @@ -107118,10 +110974,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 @@ -107130,17 +110982,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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. - - - `PlatformUsageReportClaudeCodeViewed object` + - `PlatformWorkspaceMemberRemoved object` - The Claude Code usage report was viewed. + A member was removed from a workspace. - - `type: optional "platform_usage_report_claude_code_viewed"` + - `type: optional "platform_workspace_member_removed"` - default: platform_usage_report_claude_code_viewed + default: platform_workspace_member_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -107348,6 +111196,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `user_id: string` + + Tagged ID of the removed member + + - `workspace_id: string` + + Tagged ID of the workspace + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -107366,13 +111222,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformWorkspaceMemberUpdated object` - The messages usage report was viewed. + A workspace member was updated. - - `type: optional "platform_usage_report_messages_viewed"` + - `type: optional "platform_workspace_member_updated"` - default: platform_usage_report_messages_viewed + default: platform_workspace_member_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -107580,6 +111436,14 @@ 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' @@ -107598,13 +111462,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). - - `PlatformWorkspaceArchived object` + - `updates: optional array of object` - A workspace was archived. + The field-level changes applied in this update - - `type: optional "platform_workspace_archived"` + - `type: "unspecified" or "workspace_role"` - default: platform_workspace_archived + The workspace member field that changed + + - `"unspecified"` + + - `"workspace_role"` + + - `current_value: string` + + Field value immediately after this change + + - `previous_value: string` + + Field value immediately before this change + + - `PlatformWorkspaceMemberViewed object` + + A workspace member was viewed. + + - `type: optional "platform_workspace_member_viewed"` + + default: platform_workspace_member_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -107812,9 +111696,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `user_id: string` + + Tagged ID of the viewed member + - `workspace_id: string` - Tagged ID of the archived workspace + Tagged ID of the workspace - `id: optional string` @@ -107834,13 +111722,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PlatformWorkspaceMembersListed object` - A workspace was created. + Workspace members were listed. - - `type: optional "platform_workspace_created"` + - `type: optional "platform_workspace_members_listed"` - default: platform_workspace_created + default: platform_workspace_members_listed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -108050,38 +111938,18 @@ compliance activities that can be filtered by various criteria. - `workspace_id: string` - Tagged ID of the created workspace + Tagged ID of the 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 @@ -108090,17 +111958,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - Number of tags the workspace was created with; tag keys and values are never recorded - - - `PlatformWorkspaceInferenceDataRetentionDisabled object` + - `PlatformWorkspaceRateLimitDeleted object` - The zero data retention override was disabled for a workspace. + A workspace rate limit was deleted. - - `type: optional "platform_workspace_inference_data_retention_disabled"` + - `type: optional "platform_workspace_rate_limit_deleted"` - default: platform_workspace_inference_data_retention_disabled + default: platform_workspace_rate_limit_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -108308,6 +112172,14 @@ 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 @@ -108330,17 +112202,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - Override state immediately before this change - - - `PlatformWorkspaceInferenceDataRetentionEnabled object` + - `PlatformWorkspaceRateLimitUpdated object` - The zero data retention override was enabled for a workspace. + A workspace rate limit was created or updated. - - `type: optional "platform_workspace_inference_data_retention_enabled"` + - `type: optional "platform_workspace_rate_limit_updated"` - default: platform_workspace_inference_data_retention_enabled + default: platform_workspace_rate_limit_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -108548,6 +112416,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 applies to + + - `value: number` + + New rate limit value + - `workspace_id: string` Tagged ID of the workspace @@ -108570,17 +112450,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - Override state immediately before this change - - - `PlatformWorkspaceMemberAdded object` + - `PlatformWorkspaceUpdated object` - A member was added to a workspace. + A workspace was updated. - - `type: optional "platform_workspace_member_added"` + - `type: optional "platform_workspace_updated"` - default: platform_workspace_member_added + default: platform_workspace_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -108788,13 +112664,9 @@ 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 + Tagged ID of the updated workspace - `id: optional string` @@ -108814,13 +112686,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). - - `PlatformWorkspaceMemberRemoved object` + - `updates: optional array of object` - A member was removed from a workspace. + The field-level changes applied in this update - - `type: optional "platform_workspace_member_removed"` + - `type: "allowed_inference_geos" or "default_inference_geo" or "display_color" or 5 more` - default: platform_workspace_member_removed + 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` @@ -109028,14 +112932,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_id: string` - - Tagged ID of the removed member - - - `workspace_id: string` - - Tagged ID of the workspace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -109054,13 +112950,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` + - `plugin_id: optional string or null` - A workspace member was updated. + - `plugin_name: optional string or null` - - `type: optional "platform_workspace_member_updated"` + - `ClaudePluginDeleted object` - default: platform_workspace_member_updated + Plugin was deleted. + + - `type: optional "claude_plugin_deleted"` + + default: claude_plugin_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -109268,14 +113168,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' @@ -109294,33 +113186,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` + - `ClaudePluginDisabled object` - A workspace member was viewed. + User disabled a plugin for their account. - - `type: optional "platform_workspace_member_viewed"` + - `type: optional "claude_plugin_disabled"` - default: platform_workspace_member_viewed + default: claude_plugin_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -109528,14 +113404,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_id: string` - - Tagged ID of the viewed member - - - `workspace_id: string` - - Tagged ID of the workspace - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -109546,6 +113414,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 @@ -109554,13 +113426,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). - - `PlatformWorkspaceMembersListed object` + - `plugin_id: optional string or null` - Workspace members were listed. + Identifier of the plugin that was disabled. - - `type: optional "platform_workspace_members_listed"` + - `plugin_name: optional string or null` - default: platform_workspace_members_listed + Name of the plugin that was disabled. + + - `ClaudePluginEnabled object` + + 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` @@ -109768,10 +113648,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' @@ -109782,6 +113658,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 @@ -109790,13 +113670,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). - - `PlatformWorkspaceRateLimitDeleted object` + - `plugin_id: optional string or null` - A workspace rate limit was deleted. + Identifier of the plugin that was enabled. - - `type: optional "platform_workspace_rate_limit_deleted"` + - `plugin_name: optional string or null` - default: platform_workspace_rate_limit_deleted + 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` @@ -110004,28 +113892,52 @@ 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` + - `marketplace_id: string` - Model group the rate limit applied to + 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 @@ -110034,13 +113946,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). - - `PlatformWorkspaceRateLimitUpdated object` + - `previous_installation_preference: optional string or null` - A workspace rate limit was created or updated. + Installation preference value before this change, at the same level (organization or group); absent when none was set before - - `type: optional "platform_workspace_rate_limit_updated"` + - `ClaudePluginReplaced object` - default: platform_workspace_rate_limit_updated + Plugin was replaced. + + - `type: optional "claude_plugin_replaced"` + + default: claude_plugin_replaced - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -110248,22 +114164,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' @@ -110282,13 +114182,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). - - `PlatformWorkspaceUpdated object` + - `plugin_id: optional string or null` - A workspace was updated. + - `plugin_name: optional string or null` - - `type: optional "platform_workspace_updated"` + - `ClaudePluginSecurityScanCompleted object` - default: platform_workspace_updated + A security scan of a plugin completed and produced a verdict. + + - `type: optional "claude_plugin_security_scan_completed"` + + default: claude_plugin_security_scan_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -110496,9 +114400,23 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `workspace_id: string` + - `scan_id: string` - Tagged ID of the updated workspace + 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` @@ -110518,45 +114436,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). - - `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"` + - `plugin_id: optional string or null` - - `"unspecified"` + Identifier of the plugin that was scanned. - - `current_value: string` + - `plugin_name: optional string or null` - Field value immediately after this change. For tag_count, the number of tags as a decimal string; tag keys and values are never recorded. + Name of the plugin that was scanned. - - `previous_value: string` + - `plugin_version: optional string or null` - Field value immediately before this change. For tag_count, the number of tags as a decimal string; tag keys and values are never recorded. + Version of the plugin that was scanned. - - `ClaudePluginCreated object` + - `ClaudePluginUpdated object` - Plugin was created. + Plugin was updated. - - `type: optional "claude_plugin_created"` + - `type: optional "claude_plugin_updated"` - default: claude_plugin_created + default: claude_plugin_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -110786,13 +114684,13 @@ compliance activities that can be filtered by various criteria. - `plugin_name: optional string or null` - - `ClaudePluginDeleted object` + - `PrepaidAutoRechargeDisabled object` - Plugin was deleted. + Auto-recharge was disabled for API prepaid org. - - `type: optional "claude_plugin_deleted"` + - `type: optional "prepaid_auto_recharge_disabled"` - default: claude_plugin_deleted + default: prepaid_auto_recharge_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -111018,17 +114916,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PrepaidAutoRechargeUpdated object` - User disabled a plugin for their account. + Auto-recharge settings were updated for API prepaid org. - - `type: optional "claude_plugin_disabled"` + - `type: optional "prepaid_auto_recharge_updated"` - default: claude_plugin_disabled + default: prepaid_auto_recharge_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -111246,10 +115140,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 @@ -111258,21 +115148,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). - - `plugin_id: optional string or null` + - `target_amount: optional number or null` - Identifier of the plugin that was disabled. + Target recharge amount in minor units. - - `plugin_name: optional string or null` + - `threshold_amount: optional number or null` - Name of the plugin that was disabled. + Threshold amount to trigger recharge in minor units. - - `ClaudePluginEnabled object` + - `PrepaidExtraUsageAutoReloadDisabled object` - User enabled a plugin for their account. + Prepaid usage credit auto-reload was disabled. - - `type: optional "claude_plugin_enabled"` + - `type: optional "prepaid_extra_usage_auto_reload_disabled"` - default: claude_plugin_enabled + default: prepaid_extra_usage_auto_reload_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -111490,10 +115380,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 @@ -111502,21 +115388,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PrepaidExtraUsageAutoReloadEnabled object` - An org admin changed the installation preference for a plugin. + Prepaid usage credit auto-reload was enabled. - - `type: optional "plugin_installation_preference_updated"` + - `type: optional "prepaid_extra_usage_auto_reload_enabled"` - default: plugin_installation_preference_updated + default: prepaid_extra_usage_auto_reload_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -111724,52 +115602,16 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` - - Marketplace ID - - - `plugin_name: string` - - 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 @@ -111778,17 +115620,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PrepaidExtraUsageAutoReloadSettingsUpdated object` - Plugin was replaced. + Prepaid usage credit auto-reload settings were updated. - - `type: optional "claude_plugin_replaced"` + - `type: optional "prepaid_extra_usage_auto_reload_settings_updated"` - default: claude_plugin_replaced + default: prepaid_extra_usage_auto_reload_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -112014,17 +115852,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `PrimaryOwnerTransferred object` - A security scan of a plugin completed and produced a verdict. + Primary owner role was transferred to another org member. - - `type: optional "claude_plugin_security_scan_completed"` + - `type: optional "primary_owner_transferred"` - default: claude_plugin_security_scan_completed + default: primary_owner_transferred - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -112232,23 +116066,13 @@ 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"` + - `new_owner_id: string` - - `"unknown"` + Tagged ID of the member who became the primary owner. - - `"unspecified"` + - `previous_owner_id: string` - - `"warn"` + Tagged ID of the member who was the primary owner before the transfer. - `id: optional string` @@ -112268,25 +116092,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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. - - - `plugin_version: optional string or null` - - Version of the plugin that was scanned. - - - `ClaudePluginUpdated object` + - `ClaudeProjectArchived object` - Plugin was updated. + A Claude project was archived. - - `type: optional "claude_plugin_updated"` + - `type: optional "claude_project_archived"` - default: claude_plugin_updated + default: claude_project_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -112494,6 +116306,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' @@ -112512,17 +116328,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeProjectCreated object` - Auto-recharge was disabled for API prepaid org. + A Claude project was created. - - `type: optional "prepaid_auto_recharge_disabled"` + - `type: optional "claude_project_created"` - default: prepaid_auto_recharge_disabled + default: claude_project_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -112730,6 +116542,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 created, e.g. "claude_proj_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -112748,13 +116564,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeProjectDeleted object` - Auto-recharge settings were updated for API prepaid org. + A Claude project was deleted. - - `type: optional "prepaid_auto_recharge_updated"` + - `type: optional "claude_project_deleted"` - default: prepaid_auto_recharge_updated + default: claude_project_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -112962,6 +116778,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' @@ -112980,21 +116800,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeProjectDocumentAccessFailed object` - Prepaid usage credit auto-reload was disabled. + An attempt to access a document in a Claude project failed. - - `type: optional "prepaid_extra_usage_auto_reload_disabled"` + - `type: optional "claude_project_document_access_failed"` - default: prepaid_extra_usage_auto_reload_disabled + default: claude_project_document_access_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -113202,10 +117014,18 @@ 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 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. @@ -113220,13 +117040,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. Where `claude_project_document_id` is present, resolve the name via the Compliance API project documents endpoint. - default: prepaid_extra_usage_auto_reload_enabled + - `ClaudeProjectDocumentBulkDeletionAuditTruncated object` + + 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_project_document_bulk_deletion_audit_truncated"` + + default: claude_project_document_bulk_deletion_audit_truncated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -113434,6 +117260,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' @@ -113452,13 +117290,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeProjectDocumentDeleted object` - Prepaid usage credit auto-reload settings were updated. + A document was deleted from a Claude project. - - `type: optional "prepaid_extra_usage_auto_reload_settings_updated"` + - `type: optional "claude_project_document_deleted"` - default: prepaid_extra_usage_auto_reload_settings_updated + default: claude_project_document_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -113666,6 +117504,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' @@ -113684,13 +117530,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 name can't be looked up once the document is deleted. - default: primary_owner_transferred + - `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` @@ -113898,24 +117750,28 @@ 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` + - `claude_project_id: string` - Tagged ID of the member who was the primary owner before the transfer. + 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 @@ -113924,13 +117780,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeProjectDocumentUpdated object` - A Claude project was archived. + The content of a document in a Claude project was replaced in place. - - `type: optional "claude_project_archived"` + - `type: optional "claude_project_document_updated"` - default: claude_project_archived + default: claude_project_document_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -114138,9 +117994,13 @@ 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 that was archived, e.g. "claude_proj_01HX...". + Tagged ID of the project containing the document, e.g. "claude_proj_01HX...". - `id: optional string` @@ -114160,13 +118020,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). - - `ClaudeProjectCreated object` + - `filename: optional string or null` - A Claude project was created. + **Deprecated** - - `type: optional "claude_project_created"` + No longer populated: the feed carries the object id; resolve the name via the Compliance API. - default: claude_project_created + - `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` @@ -114374,9 +118240,13 @@ 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 that was created, e.g. "claude_proj_01HX...". + Tagged ID of the project the document was uploaded to, e.g. "claude_proj_01HX...". - `id: optional string` @@ -114396,13 +118266,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). - - `ClaudeProjectDeleted object` + - `filename: optional string or null` - A Claude project was deleted. + **Deprecated** - - `type: optional "claude_project_deleted"` + No longer populated: the feed carries the object id; resolve the name via the Compliance API. - default: claude_project_deleted + - `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` @@ -114610,9 +118486,13 @@ 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 that was deleted, e.g. "claude_proj_01HX...". + Tagged ID of the project containing the document, e.g. "claude_proj_01HX...". - `id: optional string` @@ -114632,13 +118512,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). - - `ClaudeProjectDocumentAccessFailed object` + - `filename: optional string or null` - An attempt to access a document in a Claude project failed. + **Deprecated** - - `type: optional "claude_project_document_access_failed"` + No longer populated: the feed carries the object id; resolve the name via the Compliance API. - default: claude_project_document_access_failed + - `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` @@ -114846,6 +118732,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 the request tried to access, e.g. "claude_file_01HX...". + - `claude_project_id: string` Tagged ID of the project the request targeted, e.g. "claude_proj_01HX...". @@ -114854,10 +118744,6 @@ compliance activities that can be filtered by various criteria. 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. @@ -114872,19 +118758,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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. Where `claude_project_document_id` is present, resolve the name via the Compliance API project documents endpoint. - - - `ClaudeProjectDocumentBulkDeletionAuditTruncated object` + - `ClaudeProjectFileBulkDeletionAuditTruncated 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 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_document_bulk_deletion_audit_truncated"` + - `type: optional "claude_project_file_bulk_deletion_audit_truncated"` - default: claude_project_document_bulk_deletion_audit_truncated + default: claude_project_file_bulk_deletion_audit_truncated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -115094,7 +118974,7 @@ compliance activities that can be filtered by various criteria. - `audited_count: number` - Number of documents that received an individual audit record. + Number of files that received an individual audit record. - `claude_project_id: string` @@ -115102,7 +118982,7 @@ compliance activities that can be filtered by various criteria. - `requested_count: number` - Total number of documents the request asked to delete. + Total number of files the request asked to delete. - `id: optional string` @@ -115122,13 +119002,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeProjectFileDeleted object` - A document was deleted from a Claude project. + A file was deleted from a Claude project. - - `type: optional "claude_project_document_deleted"` + - `type: optional "claude_project_file_deleted"` - default: claude_project_document_deleted + default: claude_project_file_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -115336,13 +119216,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_project_document_id: string` + - `claude_file_id: string` - Tagged ID of the document that was deleted, e.g. "claude_proj_doc_01HX...". + Tagged ID of the file that was deleted, e.g. "claude_file_01HX...". - `claude_project_id: string` - Tagged ID of the project the document was deleted from, e.g. "claude_proj_01HX...". + Tagged ID of the project the file was deleted from, e.g. "claude_proj_01HX...". - `id: optional string` @@ -115362,19 +119242,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeProjectFileDeletionFailed object` - A request to delete a document from a Claude project failed. + A request to delete a file from a Claude project failed. - - `type: optional "claude_project_document_deletion_failed"` + - `type: optional "claude_project_file_deletion_failed"` - default: claude_project_document_deletion_failed + default: claude_project_file_deletion_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -115590,9 +119464,9 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_project_document_id: optional string or null` + - `claude_file_id: optional string or null` - Tagged ID of the document the deletion targeted, e.g. "claude_proj_doc_01HX...". + Tagged ID of the file that was not deleted, e.g. "claude_file_01HX...". - `created_at: optional string` @@ -115600,10 +119474,6 @@ compliance activities that can be filtered by various criteria. 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 @@ -115612,13 +119482,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeProjectFileUploaded object` - The content of a document in a Claude project was replaced in place. + A file was uploaded to a Claude project. - - `type: optional "claude_project_document_updated"` + - `type: optional "claude_project_file_uploaded"` - default: claude_project_document_updated + default: claude_project_file_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -115826,13 +119696,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_project_document_id: string` + - `claude_file_id: string` - Tagged ID of the document whose content was replaced, e.g. "claude_proj_doc_01HX...". + Tagged ID of the file that was uploaded, e.g. "claude_file_01HX...". - `claude_project_id: string` - Tagged ID of the project containing the document, e.g. "claude_proj_01HX...". + Tagged ID of the project the file was uploaded to, e.g. "claude_proj_01HX...". - `id: optional string` @@ -115858,13 +119728,13 @@ compliance activities that can be filtered by various criteria. No longer populated: the feed carries the object id; resolve the name via the Compliance API. - - `ClaudeProjectDocumentUploaded object` + - `ClaudeProjectReported object` - A document was uploaded to a Claude project. + A Claude project was reported. - - `type: optional "claude_project_document_uploaded"` + - `type: optional "claude_project_reported"` - default: claude_project_document_uploaded + default: claude_project_reported - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -116072,13 +119942,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 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...". + Tagged ID of the project that was reported, e.g. "claude_proj_01HX...". - `id: optional string` @@ -116098,19 +119964,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeProjectSharingUpdated object` - A document in a Claude project was viewed. + A Claude project's sharing settings were updated. - - `type: optional "claude_project_document_viewed"` + - `type: optional "claude_project_sharing_updated"` - default: claude_project_document_viewed + default: claude_project_sharing_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -116318,13 +120178,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 viewed, 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 containing the document, e.g. "claude_proj_01HX...". + The project's identifier, e.g. "claude_proj_01Ab...". - `id: optional string` @@ -116344,19 +120220,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeProjectViewed object` - An attempt to access a file in a Claude project failed. + A Claude project was viewed. - - `type: optional "claude_project_file_access_failed"` + - `type: optional "claude_project_viewed"` - default: claude_project_file_access_failed + default: claude_project_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -116564,13 +120434,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` - Tagged ID of the project the request targeted, e.g. "claude_proj_01HX...". + Tagged ID of the project that was viewed, e.g. "claude_proj_01HX...". - `id: optional string` @@ -116590,13 +120456,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). - - `ClaudeProjectFileBulkDeletionAuditTruncated object` + - `preview_only: optional boolean or null` - A bulk request to delete files from a Claude project failed with more files requested than were individually recorded in the audit log. + Whether only the project's summary metadata was viewed rather than the full project. - - `type: optional "claude_project_file_bulk_deletion_audit_truncated"` + - `ClaudePubsecIdentityConfigured object` - default: claude_project_file_bulk_deletion_audit_truncated + 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` @@ -116804,17 +120674,9 @@ 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 the bulk deletion targeted, e.g. "claude_proj_01HX...". - - - `requested_count: number` + - `idp_saml_config_updated: boolean` - Total number of files the request asked to delete. + - `magic_link_toggled: boolean` - `id: optional string` @@ -116826,6 +120688,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 @@ -116834,13 +120698,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `RbacRoleAssigned object` - A file was deleted from a Claude project. + Admin assigned an RBAC custom role to a principal. - - `type: optional "claude_project_file_deleted"` + - `type: optional "rbac_role_assigned"` - default: claude_project_file_deleted + default: rbac_role_assigned - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -117048,13 +120912,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 deleted, 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 deleted from, e.g. "claude_proj_01HX...". + Type of principal: account, group, or service_account + + - `role_id: string` + + Tagged ID of the role - `id: optional string` @@ -117074,13 +120942,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `RbacRoleCreated object` - A request to delete a file from a Claude project failed. + Admin created an RBAC custom role. - - `type: optional "claude_project_file_deletion_failed"` + - `type: optional "rbac_role_created"` - default: claude_project_file_deletion_failed + default: rbac_role_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -117288,17 +121156,17 @@ 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 the deletion targeted, e.g. "claude_proj_01HX...". + Tagged ID of the created role - - `id: optional string` + - `role_name: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Name of the created role - - `claude_file_id: optional string or null` + - `id: optional string` - Tagged ID of the file that was not deleted, e.g. "claude_file_01HX...". + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -117314,13 +121182,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `RbacRoleDeleted object` - A file was uploaded to a Claude project. + Admin deleted an RBAC custom role. - - `type: optional "claude_project_file_uploaded"` + - `type: optional "rbac_role_deleted"` - default: claude_project_file_uploaded + default: rbac_role_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -117528,13 +121396,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 that was uploaded, e.g. "claude_file_01HX...". - - - `claude_project_id: string` + - `role_id: string` - Tagged ID of the project the file was uploaded to, e.g. "claude_proj_01HX...". + Tagged ID of the deleted role - `id: optional string` @@ -117554,19 +121418,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). - - `filename: optional string or null` + - `RbacRoleGrantUpdated object` - **Deprecated** + Admin requested a capability grant for an RBAC custom role, or removed it. - No longer populated: the feed carries the object id; resolve the name via the Compliance API. + Records the admin's change to the role. Whether the grant is currently in + effect on the role is reported separately. - - `ClaudeProjectReported object` + - `type: optional "rbac_role_grant_updated"` - A Claude project was reported. + default: rbac_role_grant_updated - - `type: optional "claude_project_reported"` + - `action: "removed" or "requested" or "unspecified"` - default: claude_project_reported + Whether the grant was requested for the role or removed from it + + - `"removed"` + + - `"requested"` + + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -117774,9 +121645,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_project_id: string` + - `grant_type: string` - Tagged ID of the project that was reported, e.g. "claude_proj_01HX...". + The type of capability grant + + - `role_id: string` + + Tagged ID of the role - `id: optional string` @@ -117796,13 +121671,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). - - `ClaudeProjectSharingUpdated object` + - `RbacRolePermissionAdded object` - A Claude project's sharing settings were updated. + Admin added a permission to an RBAC custom role. - - `type: optional "claude_project_sharing_updated"` + Emitted once per requested permission, including permissions the role + already had, so a retried request still produces a complete audit record. - default: claude_project_sharing_updated + - `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` @@ -118010,29 +121892,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `audience: array of Public or Organization` - - 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` + - `resource_id: string` - Sharing audience: the project is visible to members of the owning organization. + ID of the resource - - `type: optional "organization"` + - `resource_type: string` - default: organization + Type of resource the permission applies to - - `claude_project_id: string` + - `role_id: string` - The project's identifier, e.g. "claude_proj_01Ab...". + Tagged ID of the role - `id: optional string` @@ -118052,13 +121922,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). - - `ClaudeProjectViewed object` + - `RbacRolePermissionRemoved object` - A Claude project was viewed. + Admin removed a permission from an RBAC custom role. - - `type: optional "claude_project_viewed"` + Emitted once per requested permission, including permissions the role + already lacked, so a retried request still produces a complete audit + record. - default: claude_project_viewed + - `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` @@ -118266,9 +122144,17 @@ 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 that was viewed, e.g. "claude_proj_01HX...". + ID of the resource + + - `resource_type: string` + + Type of resource the permission applied to + + - `role_id: string` + + Tagged ID of the role - `id: optional string` @@ -118288,17 +122174,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - Whether only the project's summary metadata was viewed rather than the full project. - - - `ClaudePubsecIdentityConfigured object` + - `RbacRoleUnassigned object` - SAML IdP configuration updated for a public sector organization. + Admin unassigned an RBAC custom role from a principal. - - `type: optional "claude_pubsec_identity_configured"` + - `type: optional "rbac_role_unassigned"` - default: claude_pubsec_identity_configured + default: rbac_role_unassigned - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -118506,9 +122388,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `idp_saml_config_updated: boolean` + - `principal_id: string` - - `magic_link_toggled: boolean` + 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` @@ -118520,8 +122410,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 @@ -118530,13 +122418,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `RbacRoleUpdated object` - Admin assigned an RBAC custom role to a principal. + Admin updated an RBAC custom role. - - `type: optional "rbac_role_assigned"` + - `type: optional "rbac_role_updated"` - default: rbac_role_assigned + default: rbac_role_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -118744,17 +122632,9 @@ 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 + Tagged ID of the updated role - `id: optional string` @@ -118774,13 +122654,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `RoleAssignmentGranted object` - Admin created an RBAC custom role. + Role assignment was granted. - - `type: optional "rbac_role_created"` + - `type: optional "role_assignment_granted"` - default: rbac_role_created + default: role_assignment_granted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -118988,14 +122868,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `role_id: string` - - Tagged ID of the created role - - - `role_name: string` - - Name of the created role - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -119014,13 +122886,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). - - `RbacRoleDeleted object` + - `resource_id: optional string or null` - Admin deleted an RBAC custom role. + ID of the resource the role is on. - - `type: optional "rbac_role_deleted"` + - `resource_type: optional string or null` - default: rbac_role_deleted + 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` + + Role assignment was revoked. + + - `type: optional "role_assignment_revoked"` + + default: role_assignment_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -119228,10 +123124,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' @@ -119250,26 +123142,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). - - `RbacRoleGrantUpdated object` + - `resource_id: optional string or null` - Admin requested a capability grant for an RBAC custom role, or removed it. + ID of the resource the role was on. - Records the admin's change to the role. Whether the grant is currently in - effect on the role is reported separately. + - `resource_type: optional string or null` - - `type: optional "rbac_role_grant_updated"` + What kind of resource the role was on, for example "chat_project", "skill", or "plugin". - default: rbac_role_grant_updated + - `role: optional string or null` - - `action: "removed" or "requested" or "unspecified"` + The role that was revoked, for example "skill:viewer" or "plugin:viewer". - Whether the grant was requested for the role or removed from it + - `target_email: optional string or null` - - `"removed"` + 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. - - `"requested"` + - `target_id: optional string or null` - - `"unspecified"` + 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` @@ -119477,14 +123380,6 @@ 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 - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -119503,20 +123398,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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"` + - `SSOLoginInitiated object` - default: rbac_role_permission_added + A user started an SSO sign-in flow. - - `action: string` + - `type: optional "sso_login_initiated"` - Action permitted on the resource + default: sso_login_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -119724,18 +123612,6 @@ 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 - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -119754,21 +123630,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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"` + - `SSOLoginSucceeded object` - default: rbac_role_permission_removed + A user successfully signed in with SSO. - - `action: string` + - `type: optional "sso_login_succeeded"` - Action that was permitted on the resource + default: sso_login_succeeded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -119976,21 +123844,17 @@ 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` + - `id: optional string` - Type of resource the permission applied to + Unique identifier for the activity e.g. 'activity_abcd1234' - - `role_id: string` + - `auth_method: optional "sso" or "unspecified" or null` - Tagged ID of the 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` @@ -119998,6 +123862,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 @@ -120006,13 +123878,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `SSOSecondFactorMagicLink object` - Admin unassigned an RBAC custom role from a principal. + SSO second factor magic link was used. - - `type: optional "rbac_role_unassigned"` + - `type: optional "sso_second_factor_magic_link"` - default: rbac_role_unassigned + default: sso_second_factor_magic_link - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -120220,18 +124092,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' @@ -120250,13 +124110,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ScimUserCreated object` - Admin updated an RBAC custom role. + A SCIM user was provisioned. - - `type: optional "rbac_role_updated"` + - `type: optional "scim_user_created"` - default: rbac_role_updated + default: scim_user_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -120464,9 +124324,7 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `role_id: string` - - Tagged ID of the updated role + - `user_id: string` - `id: optional string` @@ -120486,13 +124344,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ScimUserDeleted object` - Role assignment was granted. + A SCIM user was deleted. - - `type: optional "role_assignment_granted"` + - `type: optional "scim_user_deleted"` - default: role_assignment_granted + default: scim_user_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -120700,6 +124558,8 @@ 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' @@ -120718,37 +124578,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ScimUserUpdated object` - Role assignment was revoked. + A SCIM user was updated. - - `type: optional "role_assignment_revoked"` + - `type: optional "scim_user_updated"` - default: role_assignment_revoked + default: scim_user_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -120956,6 +124792,8 @@ 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' @@ -120974,37 +124812,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ScopedAPIKeyDeleted object` - An SSO sign-in attempt failed. + A scoped API key was deleted. - - `type: optional "sso_login_failed"` + - `type: optional "scoped_api_key_deleted"` - default: sso_login_failed + default: scoped_api_key_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -121212,6 +125026,14 @@ 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' @@ -121230,13 +125052,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). - - `SSOLoginInitiated object` + - `scopes: optional array of string` - A user started an SSO sign-in flow. + Scopes the deleted key had - - `type: optional "sso_login_initiated"` + - `ScopedAPIKeyUpdated object` - default: sso_login_initiated + 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` @@ -121444,6 +125270,10 @@ 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' @@ -121462,13 +125292,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). - - `SSOLoginSucceeded object` + - `updates: optional array of object` - A user successfully signed in with SSO. + The field-level changes applied in this update - - `type: optional "sso_login_succeeded"` + - `type: "activation_state" or "name" or "unspecified"` - default: sso_login_succeeded + 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` @@ -121680,28 +125532,12 @@ compliance activities that can be filtered by various criteria. Unique identifier for the activity e.g. 'activity_abcd1234' - - `auth_method: optional "sso" or "unspecified" or null` - - The method the user used to authenticate. May be absent on activities recorded before this field was introduced. - - - `"sso"` - - - `"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 @@ -121710,13 +125546,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `SeatTiersPurchased object` - SSO second factor magic link was used. + Seat tiers were purchased or upgraded on a subscription. - - `type: optional "sso_second_factor_magic_link"` + - `type: optional "seat_tiers_purchased"` - default: sso_second_factor_magic_link + default: seat_tiers_purchased - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -121934,6 +125770,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 @@ -121942,13 +125782,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ServiceCreated object` - A SCIM user was provisioned. + Activity logged when an org service is explicitly created. - - `type: optional "scim_user_created"` + - `type: optional "service_created"` - default: scim_user_created + default: service_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -122156,7 +125996,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_id: string` + - `service_name: string` + + The org service name (e.g., 'external:my-service') - `id: optional string` @@ -122176,13 +126018,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ServiceDeleted object` - A SCIM user was deleted. + Activity logged when an org service is deleted. - - `type: optional "scim_user_deleted"` + - `type: optional "service_deleted"` - default: scim_user_deleted + default: service_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -122390,7 +126232,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_id: string` + - `service_name: string` + + The org service name (e.g., 'external:my-service') - `id: optional string` @@ -122410,13 +126254,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ServiceKeyCreated object` - A SCIM user was updated. + Activity logged when a new org service key is created. - - `type: optional "scim_user_updated"` + - `type: optional "service_key_created"` - default: scim_user_updated + default: service_key_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -122624,7 +126468,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_id: string` + - `is_service_created: boolean` + + Whether the org service was implicitly created in this request + + - `key_name: string` + + The human-readable name of the key + + - `service_name: string` + + The service name this key belongs to - `id: optional string` @@ -122644,13 +126498,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). - - `ScopedAPIKeyDeleted object` + - `scopes: optional array of string` - A scoped API key was deleted. + The scopes granted to this service key - - `type: optional "scoped_api_key_deleted"` + - `service_key_id: optional string or null` - default: scoped_api_key_deleted + 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` @@ -122858,13 +126720,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `api_key_id: string` + - `service_key_id: string` - Tagged ID of the deleted scoped API key + The tagged ID of the revoked service key - - `api_key_name: string` + - `service_name: string` - Name of the deleted scoped API key + The service name this key belongs to - `id: optional string` @@ -122884,17 +126746,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - Scopes the deleted key had - - - `ScopedAPIKeyUpdated object` + - `SessionRevoked object` - A scoped API key was renamed or its activation state changed. + User revoked a specific session. - - `type: optional "scoped_api_key_updated"` + - `type: optional "session_revoked"` - default: scoped_api_key_updated + default: session_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -123102,10 +126960,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' @@ -123124,35 +126978,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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: "activation_state" or "name" or "unspecified"` - - 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` + - `SessionShareAccessed object` - Scheduled seat tier downgrades were cancelled. + Session share was accessed. - - `type: optional "seat_tier_changes_cancelled"` + - `type: optional "session_share_accessed"` - default: seat_tier_changes_cancelled + default: session_share_accessed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -123378,13 +127210,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). - - `SeatTiersPurchased object` + - `share_id: optional string or null` - Seat tiers were purchased or upgraded on a subscription. + - `SessionShareCreated object` - - `type: optional "seat_tiers_purchased"` + Session share was created. - default: seat_tiers_purchased + - `type: optional "session_share_created"` + + default: session_share_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -123596,16 +127430,16 @@ compliance activities that can be filtered by various criteria. 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. 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 @@ -123614,13 +127448,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). - - `ServiceCreated object` + - `share_id: optional string or null` - Activity logged when an org service is explicitly created. + - `SessionShareRevoked object` - - `type: optional "service_created"` + Session share was revoked. - default: service_created + - `type: optional "session_share_revoked"` + + default: session_share_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -123828,10 +127664,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' @@ -123850,13 +127682,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). - - `ServiceDeleted object` + - `reason: optional string or null` - Activity logged when an org service is deleted. + Why the share was revoked. - - `type: optional "service_deleted"` + - `share_id: optional string or null` - default: service_deleted + - `ClaudeSkillCreated object` + + Skill was created. + + - `type: optional "claude_skill_created"` + + default: claude_skill_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -124064,10 +127902,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' @@ -124086,13 +127920,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 that was created. + + - `ClaudeSkillDeleted object` + + Skill was deleted. + + - `type: optional "claude_skill_deleted"` + + default: claude_skill_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -124300,18 +128156,6 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `is_service_created: boolean` - - Whether the org service was implicitly created in this request - - - `key_name: string` - - The human-readable name of the key - - - `service_name: string` - - The service name this key belongs to - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -124322,6 +128166,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 @@ -124330,21 +128176,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). - - `scopes: optional array of string` + - `owner_user_id: optional string or null` - The scopes granted to this service key + The member who owns the skill; unset for an organization-owned skill. - - `service_key_id: optional string or null` + - `scope: optional "organization" or "personal" or "unspecified" or null` - The ID of the created service key + Whether the skill is the member's own or the organization's. - - `ServiceKeyRevoked object` + - `"organization"` - Activity logged when an org service key is revoked. + - `"personal"` - - `type: optional "service_key_revoked"` + - `"unspecified"` - default: service_key_revoked + - `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` @@ -124552,14 +128416,6 @@ 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' @@ -124578,13 +128434,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` + - `skill_id: optional string or null` - User revoked a specific session. + - `skill_name: optional string or null` - - `type: optional "session_revoked"` + - `ClaudeSkillEnabled object` - default: session_revoked + 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` @@ -124810,13 +128670,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` + - `skill_id: optional string or null` - Session share was accessed. + - `skill_name: optional string or null` - - `type: optional "session_share_accessed"` + - `ClaudeSkillReplaced object` - default: session_share_accessed + Skill was replaced. + + - `type: optional "claude_skill_replaced"` + + default: claude_skill_replaced - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -125042,15 +128906,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). - - `share_id: optional string or null` + - `owner_user_id: optional string or null` - - `SessionShareCreated object` + The member who owns the skill; unset for an organization-owned skill. - Session share was created. + - `scope: optional "organization" or "personal" or "unspecified" or null` - - `type: optional "session_share_created"` + Whether the skill is the member's own or the organization's. - default: session_share_created + - `"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` @@ -125258,13 +129142,27 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `scan_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Identifier of the security scan. - - `access_level: optional string or null` + - `verdict: "fail" or "pass" or "unknown" or 2 more` - Access level granted for the share. + Verdict the scan produced. + + - `"fail"` + + - `"pass"` + + - `"unknown"` + + - `"unspecified"` + + - `"warn"` + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -125280,15 +129178,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). - - `share_id: optional string or null` + - `skill_id: optional string or null` - - `SessionShareRevoked object` + Identifier of the skill that was scanned. - Session share was revoked. + - `skill_name: optional string or null` - - `type: optional "session_share_revoked"` + Name of the skill that was scanned. - default: session_share_revoked + - `skill_version: optional string or null` + + Version of the skill that was scanned. + + - `SlackWorkspaceClaimRevoked object` + + 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` @@ -125496,6 +129404,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' @@ -125514,19 +129426,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. + - `scope: optional string or null` - - `share_id: 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 - - `ClaudeSkillCreated object` + - `SlackWorkspaceClaimed object` - Skill was created. + A Slack workspace or Enterprise Grid organization was connected to the organization for Claude in Slack. - - `type: optional "claude_skill_created"` + - `type: optional "slack_workspace_claimed"` - default: claude_skill_created + default: slack_workspace_claimed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -125734,6 +129644,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' @@ -125752,35 +129666,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). - - `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` + - `scope: optional string or null` - Version of the skill that was created. + Blast radius of the claim: 'workspace' for one Slack workspace, 'enterprise_grid' for every workspace in a Slack Enterprise Grid organization - - `ClaudeSkillDeleted object` + - `SocialLoginSucceeded object` - Skill was deleted. + A user successfully signed in with a social identity provider (Google, Apple, or Microsoft). - - `type: optional "claude_skill_deleted"` + - `type: optional "social_login_succeeded"` - default: claude_skill_deleted + default: social_login_succeeded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -125988,59 +129884,59 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `provider: "apple" or "google" or "microsoft" or "unspecified"` - Unique identifier for the activity e.g. 'activity_abcd1234' + The social identity provider the user signed in with: "google", "apple", or "microsoft". - - `created_at: optional string` + - `"apple"` - When this activity occurred. + - `"google"` - format: date-time + - `"microsoft"` - - `deleted_version_ids: optional array of string` + - `"unspecified"` - - `organization_id: optional string or null` + - `id: optional string` - Organization ID this activity is associated with + Unique identifier for the activity e.g. 'activity_abcd1234' - - `organization_uuid: optional string or null` + - `auth_method: optional "social" or "unspecified" 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). + The method the user used to authenticate. May be absent on activities recorded before this field was introduced. - - `owner_user_id: optional string or null` + - `"social"` - The member who owns the skill; unset for an organization-owned skill. + - `"unspecified"` - - `scope: optional "organization" or "personal" or "unspecified" or null` + - `created_at: optional string` - Whether the skill is the member's own or the organization's. + When this activity occurred. - - `"organization"` + format: date-time - - `"personal"` + - `mfa_method: optional "not_used" or "unspecified" or null` - - `"unspecified"` + 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. - - `skill_id: optional string or null` + - `"not_used"` - - `skill_name: optional string or null` + - `"unspecified"` - - `skill_version: optional string or null` + - `organization_id: optional string or null` - Latest version of the skill when it was deleted. + Organization ID this activity is associated with - - `versions_deleted: optional number or null` + - `organization_uuid: optional string 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). + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `ClaudeSkillDisabled object` + - `StepUpAuthenticationFailed object` - User disabled a skill for their account. + An additional identity check failed. - - `type: optional "claude_skill_disabled"` + - `type: optional "step_up_authentication_failed"` - default: claude_skill_disabled + default: step_up_authentication_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -126248,6 +130144,26 @@ 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: "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' @@ -126266,17 +130182,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` + - `trusted_device_id: optional string or null` - - `skill_name: optional string or null` + Identifier of the trusted device the attempt referenced, e.g. "tdev_...". Present only for the device key method. - - `ClaudeSkillEnabled object` + - `StepUpAuthenticationSucceeded object` - User enabled a skill for their account. + The user completed an additional identity check to confirm a sensitive action. - - `type: optional "claude_skill_enabled"` + - `type: optional "step_up_authentication_succeeded"` - default: claude_skill_enabled + default: step_up_authentication_succeeded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -126484,6 +130400,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' @@ -126502,17 +130428,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` + - `trusted_device_id: optional string or null` - - `skill_name: optional string or null` + Identifier of the trusted device used, e.g. "tdev_...". Present only for the device key method. - - `ClaudeSkillReplaced object` + - `StepUpCredentialEnrolled object` - Skill was replaced. + A user enrolled a passkey for confirming sensitive actions on their account. - - `type: optional "claude_skill_replaced"` + - `type: optional "step_up_credential_enrolled"` - default: claude_skill_replaced + default: step_up_credential_enrolled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -126720,6 +130646,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' @@ -126738,35 +130668,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `SubscriptionCancellationScheduled object` - A security scan of a skill completed and produced a verdict. + Subscription cancellation was scheduled at end of billing period. - - `type: optional "claude_skill_security_scan_completed"` + - `type: optional "subscription_cancellation_scheduled"` - default: claude_skill_security_scan_completed + default: subscription_cancellation_scheduled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -126974,24 +130882,6 @@ 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' @@ -127010,25 +130900,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - Name of the skill that was scanned. - - - `skill_version: optional string or null` - - Version of the skill that was scanned. - - - `SlackWorkspaceClaimRevoked object` + - `SubscriptionQuantityUpdated object` - A Slack workspace or Enterprise Grid organization was disconnected from the organization for Claude in Slack. + Contracted subscription seat quantity was updated. - - `type: optional "slack_workspace_claim_revoked"` + - `type: optional "subscription_quantity_updated"` - default: slack_workspace_claim_revoked + default: subscription_quantity_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -127236,9 +131114,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `slack_team_id: string` + - `added_seats: number` - 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) + The number of seats added by this change. + + - `new_quantity: number` + + The contracted seat quantity after this change. - `id: optional string` @@ -127258,17 +131140,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). - - `scope: optional string or null` + - `previous_quantity: optional number or null` - Blast radius of the revocation: 'workspace' for one Slack workspace, 'enterprise_grid' for every workspace in a Slack Enterprise Grid organization + The contracted seat quantity before this change. - - `SlackWorkspaceClaimed object` + - `SubscriptionRenewed object` - A Slack workspace or Enterprise Grid organization was connected to the organization for Claude in Slack. + A cancelled subscription was renewed. - - `type: optional "slack_workspace_claimed"` + - `type: optional "subscription_renewed"` - default: slack_workspace_claimed + default: subscription_renewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -127476,14 +131358,14 @@ 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' + - `billing_interval: optional string or null` + + Billing interval (e.g. monthly, annual). + - `created_at: optional string` When this activity occurred. @@ -127498,17 +131380,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). - - `scope: optional string or null` + - `plan_type: 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 + Plan type being renewed into (e.g. team). - - `SocialLoginSucceeded object` + - `SubscriptionResumed object` - A user successfully signed in with a social identity provider (Google, Apple, or Microsoft). + A scheduled subscription cancellation was reversed. - - `type: optional "social_login_succeeded"` + - `type: optional "subscription_resumed"` - default: social_login_succeeded + default: subscription_resumed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -127716,44 +131598,16 @@ 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 @@ -127762,13 +131616,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `SubscriptionStarted object` - An additional identity check failed. + A new subscription was created (Team or Enterprise). - - `type: optional "step_up_authentication_failed"` + - `type: optional "subscription_started"` - default: step_up_authentication_failed + default: subscription_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -127976,30 +131830,14 @@ 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: "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' + - `billing_interval: optional string or null` + + Billing interval (e.g. monthly, annual). + - `created_at: optional string` When this activity occurred. @@ -128014,17 +131852,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). - - `trusted_device_id: optional string or null` + - `plan_type: optional string or null` - Identifier of the trusted device the attempt referenced, e.g. "tdev_...". Present only for the device key method. + Type of subscription started (e.g. team, enterprise). - - `StepUpAuthenticationSucceeded object` + - `seat_count: optional number or null` - The user completed an additional identity check to confirm a sensitive action. + Number of seats purchased. - - `type: optional "step_up_authentication_succeeded"` + - `SubscriptionUpgraded object` - default: step_up_authentication_succeeded + Subscription plan was upgraded (e.g. Team to Enterprise). + + - `type: optional "subscription_upgraded"` + + default: subscription_upgraded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -128232,16 +132074,6 @@ 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' @@ -128252,6 +132084,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 @@ -128260,17 +132100,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `TrustedDeviceCredentialRotated object` - A user enrolled a passkey for confirming sensitive actions on their account. + The identity-verification credential of a trusted device was rotated to a new key. - - `type: optional "step_up_credential_enrolled"` + - `type: optional "trusted_device_credential_rotated"` - default: step_up_credential_enrolled + default: trusted_device_credential_rotated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -128478,9 +132314,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `credential_id: string` + - `trusted_device_id: string` - Identifier of the enrolled credential, e.g. "sucr_...". + Identifier of the device whose credential was rotated, e.g. "tdev_...". - `id: optional string` @@ -128500,13 +132336,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `TrustedDeviceEnrolled object` - Subscription cancellation was scheduled at end of billing period. + 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 "subscription_cancellation_scheduled"` + - `type: optional "trusted_device_enrolled"` - default: subscription_cancellation_scheduled + default: trusted_device_enrolled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -128714,6 +132550,38 @@ 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' @@ -128732,13 +132600,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `TrustedDeviceRevoked object` - Contracted subscription seat quantity was updated. + A trusted device was removed from the user's account. - - `type: optional "subscription_quantity_updated"` + - `type: optional "trusted_device_revoked"` - default: subscription_quantity_updated + default: trusted_device_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -128946,13 +132814,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `added_seats: number` + - `reason: "org_member_removed" or "superseded" or "unspecified" or "user_revoked"` - The number of seats added by this change. + Why the device trust was removed. - - `new_quantity: number` + - `"org_member_removed"` - The contracted seat quantity after this change. + - `"superseded"` + + - `"unspecified"` + + - `"user_revoked"` - `id: optional string` @@ -128972,17 +132844,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_quantity: optional number or null` + - `revoked_count: optional number or null` - The contracted seat quantity before this change. + 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). - - `SubscriptionRenewed object` + - `trusted_device_id: optional string or null` - A cancelled subscription was renewed. + 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). - - `type: optional "subscription_renewed"` + - `TunnelArchived object` - default: subscription_renewed + An MCP tunnel was archived. + + - `type: optional "tunnel_archived"` + + default: tunnel_archived - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -129190,14 +133066,12 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `tunnel_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. @@ -129212,17 +133086,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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). - - - `SubscriptionResumed object` + - `TunnelCertificateAdded object` - A scheduled subscription cancellation was reversed. + An inner-TLS CA certificate was added to a tunnel. - - `type: optional "subscription_resumed"` + - `type: optional "tunnel_certificate_added"` - default: subscription_resumed + default: tunnel_certificate_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -129430,10 +133300,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. @@ -129448,13 +133324,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `TunnelCertificateRevoked object` - A new subscription was created (Team or Enterprise). + An inner-TLS CA certificate was revoked from a tunnel. - - `type: optional "subscription_started"` + - `type: optional "tunnel_certificate_revoked"` - default: subscription_started + default: tunnel_certificate_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -129662,13 +133538,15 @@ 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' - - `billing_interval: optional string or null` - - Billing interval (e.g. monthly, annual). + - `certificate_fingerprint: optional string or null` - `created_at: optional string` @@ -129684,21 +133562,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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). - - - `seat_count: optional number or null` - - Number of seats purchased. - - - `SubscriptionUpgraded object` + - `TunnelCreated object` - Subscription plan was upgraded (e.g. Team to Enterprise). + An MCP tunnel was created. - - `type: optional "subscription_upgraded"` + - `type: optional "tunnel_created"` - default: subscription_upgraded + default: tunnel_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -129906,6 +133776,8 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `tunnel_id: string` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -129916,14 +133788,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 @@ -129932,13 +133796,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). - - `TrustedDeviceCredentialRotated object` + - `tunnel_token_id: optional string or null` - The identity-verification credential of a trusted device was rotated to a new key. + 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 - - `type: optional "trusted_device_credential_rotated"` + - `TunnelTokenMinted object` - default: trusted_device_credential_rotated + An OAuth bearer token for the tunnel management API was minted. + + - `type: optional "tunnel_token_minted"` + + default: tunnel_token_minted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -130146,9 +134014,7 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `trusted_device_id: string` - - Identifier of the device whose credential was rotated, e.g. "tdev_...". + - `token_id: string` - `id: optional string` @@ -130168,13 +134034,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). - - `TrustedDeviceEnrolled object` + - `token_name: optional string or null` - 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. + - `TunnelTokenRevealed object` - - `type: optional "trusted_device_enrolled"` + The Cloudflare connector secret for a tunnel was revealed to the caller. - default: trusted_device_enrolled + - `type: optional "tunnel_token_revealed"` + + default: tunnel_token_revealed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -130382,37 +134250,9 @@ 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` + - `tunnel_id: string` - Identifier of the device that was enrolled, e.g. "tdev_...". + - `tunnel_token_id: string` - `id: optional string` @@ -130432,13 +134272,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `TunnelTokenRevoked object` - A trusted device was removed from the user's account. + An OAuth bearer token for the tunnel management API was revoked. - - `type: optional "trusted_device_revoked"` + - `type: optional "tunnel_token_revoked"` - default: trusted_device_revoked + default: tunnel_token_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -130646,17 +134486,7 @@ 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"` - - - `"superseded"` - - - `"unspecified"` - - - `"user_revoked"` + - `token_id: string` - `id: optional string` @@ -130676,21 +134506,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). - - `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). + - `token_name: optional string or null` - - `trusted_device_id: optional string or null` + Name the administrator gave the token when it was created, if any - 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). + - `TunnelTokenRotated object` - - `TunnelArchived object` + The Cloudflare connector secret for a tunnel was rotated. - An MCP tunnel was archived. + `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 "tunnel_archived"` + - `type: optional "tunnel_token_rotated"` - default: tunnel_archived + default: tunnel_token_rotated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -130900,6 +134729,8 @@ compliance activities that can be filtered by various criteria. - `tunnel_id: string` + - `tunnel_token_id: string` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -130918,13 +134749,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). - - `TunnelCertificateAdded object` + - `reason: optional string or null` - An inner-TLS CA certificate was added to a tunnel. + - `UserConsentRecorded object` - - `type: optional "tunnel_certificate_added"` + User granted a consent for a specific entity (e.g. consumer health consent for an MCP server). - default: tunnel_certificate_added + - `type: optional "user_consent_recorded"` + + default: user_consent_recorded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -131132,16 +134965,16 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `certificate_id: string` + - `consent_type: string` - - `tunnel_id: string` + - `entity_id: string` + + - `entity_type: 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. @@ -131156,13 +134989,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `UserConsentRevoked object` - An inner-TLS CA certificate was revoked from a tunnel. + User revoked a previously granted consent for a specific entity. - - `type: optional "tunnel_certificate_revoked"` + - `type: optional "user_consent_revoked"` - default: tunnel_certificate_revoked + default: user_consent_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -131370,15 +135203,13 @@ 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` + - `consent_id: optional string or null` + + - `consent_type: optional string or null` - `created_at: optional string` @@ -131386,6 +135217,10 @@ 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 @@ -131394,13 +135229,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeUserRoleUpdated object` - An MCP tunnel was created. + A user's role within the organization was changed, or the user was added to or removed from the organization. - - `type: optional "tunnel_created"` + - `type: optional "claude_user_role_updated"` - default: tunnel_created + default: claude_user_role_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -131608,7 +135443,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `tunnel_id: string` + - `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` @@ -131620,6 +135461,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 @@ -131628,17 +135473,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). - - `tunnel_token_id: optional string or null` + - `previous_role: 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 + If null, then user was added to the Organization - - `TunnelTokenMinted object` + - `ClaudeUserSettingsUpdated object` - An OAuth bearer token for the tunnel management API was minted. + User updated their personal settings. - - `type: optional "tunnel_token_minted"` + - `type: optional "claude_user_settings_updated"` - default: tunnel_token_minted + default: claude_user_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -131846,245 +135691,359 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `token_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` - - `token_name: optional string or null` + The display name setting was changed. - - `TunnelTokenRevealed object` + - `type: optional "display_name"` - The Cloudflare connector secret for a tunnel was revealed to the caller. + default: display_name - - `type: optional "tunnel_token_revealed"` + - `current_value: optional string or null` - default: tunnel_token_revealed + Setting value immediately after this change - - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` + - `previous_value: optional string or null` - - `APIActor object` + Setting value immediately before this change - - `type: optional "api_actor"` + - `ArtifactsEnabled object` - default: api_actor + The artifacts setting was changed. - - `api_key_id: string` + - `type: optional "artifacts_enabled"` - - `ip_address: string` + default: artifacts_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` + - `LatexEnabled object` - format: email + The LaTeX setting was changed. - - `ip_address: string` + - `type: optional "latex_enabled"` - - `user_agent: string` + default: latex_enabled - - `user_id: string` + - `current_value: optional boolean or null` - - `UnauthenticatedUserActor object` + Setting value immediately after this change - - `type: optional "unauthenticated_user_actor"` + - `previous_value: optional boolean or null` - default: unauthenticated_user_actor + Setting value immediately before this change - - `ip_address: string` + - `AnalysisToolEnabled object` - - `user_agent: string` + The analysis tool setting was changed. - - `unauthenticated_email_address: optional string or null` + - `type: optional "analysis_tool_enabled"` - format: email + default: analysis_tool_enabled - - `AnthropicActor object` + - `current_value: optional boolean or null` - - `type: optional "anthropic_actor"` + Setting value immediately after this change - default: anthropic_actor + - `previous_value: optional boolean or null` - - `email_address: optional string or null` + Setting value immediately before this change - format: email + - `ChatSuggestionsEnabled object` - - `SystemActor object` + The chat suggestions setting was changed. - Automated background processing performed by Anthropic systems, acting - without a user or customer credential. + - `type: optional "chat_suggestions_enabled"` - - `type: optional "system_actor"` + default: chat_suggestions_enabled - default: system_actor + - `current_value: optional boolean or null` - - `service: optional string or null` + Setting value immediately after this change - Name of the automated process that performed the action, when known. + - `previous_value: optional boolean or null` - - `AdminAPIKeyActor object` + Setting value immediately before this change - - `type: optional "admin_api_key_actor"` + - `MultimodalPdfsEnabled object` - default: admin_api_key_actor + The multimodal PDFs setting was changed. - - `admin_api_key_id: string` + - `type: optional "multimodal_pdfs_enabled"` - - `ip_address: string` + default: multimodal_pdfs_enabled - - `user_agent: string` + - `current_value: optional boolean or null` - - `ServiceAccountActor object` + Setting value immediately after this change - - `type: optional "service_account_actor"` + - `previous_value: optional boolean or null` - default: service_account_actor + Setting value immediately before this change - - `ip_address: string` + - `GdriveEnabled object` - - `service_account_id: string` + The Google Drive setting was changed. - - `user_agent: string` + - `type: optional "gdrive_enabled"` - - `ScimDirectorySyncActor object` + default: gdrive_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` + - `WebSearchEnabled object` - - `FederatedIdentityActor object` + The web search setting was changed. - A federated external workload authenticated via a verified OIDC token. + - `type: optional "web_search_enabled"` - Carries the verified issuer, subject, and audience claims from the - presented JWT. + default: web_search_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` + - `GeolocationEnabled object` - - `ip_address: optional string or null` + The geolocation setting was changed. - - `user_agent: optional string or null` + - `type: optional "geolocation_enabled"` - - `FederatedActor object` + default: 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. + - `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` + - `EnabledSaffron object` - Asserting party: the AWS account the organization is bound to. + The memory setting was changed for the user. - - `type: optional "aws"` + - `type: optional "enabled_saffron"` - default: aws + default: enabled_saffron - - `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. + - `McpToolsEnabled object` - - `type: optional "azure"` + The MCP tools setting was changed. - default: azure + - `type: optional "mcp_tools_enabled"` - - `subscription_id: string` + default: mcp_tools_enabled - - `FederatedActorGcpProvider object` + - `current_value: optional map[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 map[boolean] or null` - default: gcp + Setting value immediately before this change - - `project_number: string` + - `CliOpPermissionsEnabled object` - - `FederatedActorOidcProvider object` + The CLI operation permissions setting was changed. - Asserting party: a customer-registered OIDC federation issuer. + - `type: optional "cli_op_permissions_enabled"` - - `type: optional "oidc"` + default: cli_op_permissions_enabled - default: oidc + - `current_value: optional map[string] 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 map[string] or null` - - `ip_address: optional string or null` + Setting value immediately before this change - - `subject: optional string or null` + - `GoogleDriveSearchEnabled object` - The provider's verified identifier for the caller; its form depends on the provider. + The Google Drive search setting was changed. - - `user_agent: optional string or null` + - `type: optional "google_drive_search_enabled"` - - `AttestedDeviceActor object` + default: google_drive_search_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` + - `GmailIntegrationEnabled object` - - `ip_address: optional string or null` + The Gmail integration setting was changed. - - `user_agent: optional string or null` + - `type: optional "gmail_integration_enabled"` - - `tunnel_id: string` + default: gmail_integration_enabled - - `tunnel_token_id: string` + - `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` @@ -132104,13 +136063,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `VerificationEvidenceSubmitted object` - An OAuth bearer token for the tunnel management API was revoked. + Verification evidence was submitted for an organization's verification. - - `type: optional "tunnel_token_revoked"` + - `type: optional "verification_evidence_submitted"` - default: tunnel_token_revoked + default: verification_evidence_submitted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -132318,7 +136277,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `token_id: string` + - `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` @@ -132338,20 +136303,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - Name the administrator gave the token when it was created, if any - - - `TunnelTokenRotated object` - - The Cloudflare connector secret for a tunnel was rotated. + - `VerificationProgramApplicationCreated object` - `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. + An organization applied to a verification program. - - `type: optional "tunnel_token_rotated"` + - `type: optional "verification_program_application_created"` - default: tunnel_token_rotated + default: verification_program_application_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -132559,249 +136517,9 @@ 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' - - - `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). - - - `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` + - `program_slug: string` - - `entity_type: string` + The verification program the organization applied to. - `id: optional string` @@ -132821,13 +136539,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `UserConsentRevoked object` + - `WorkspaceMemberSpendLimitCreated object` - User revoked a previously granted consent for a specific entity. + A per-member or workspace-default Claude Code spend limit was created. - - `type: optional "user_consent_revoked"` + - `type: optional "workspace_member_spend_limit_created"` - default: user_consent_revoked + default: workspace_member_spend_limit_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -133039,9 +136757,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` + - `account_id: optional string or null` - - `consent_type: optional string or null` + Tagged ID of the user (null for workspace-wide default). - `created_at: optional string` @@ -133049,9 +136767,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `entity_id: optional string or null` + - `limit_action: optional string or null` - - `entity_type: optional string or null` + The action taken when the limit is reached. + + - `limit_usd: optional number or null` + + The spend limit threshold in USD cents. - `organization_id: optional string or null` @@ -133061,13 +136783,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"` + - `WorkspaceMemberSpendLimitDeleted object` - default: claude_user_role_updated + 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` @@ -133275,28 +137001,20 @@ 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' + - `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 - - `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 @@ -133305,17 +137023,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_role: optional string or null` + - `spend_limit_id: optional string or null` - If null, then user was added to the Organization + UUID of the deleted spend limit. - - `ClaudeUserSettingsUpdated object` + - `workspace_id: optional string or null` - User updated their personal settings. + Tagged ID of the workspace. - - `type: optional "claude_user_settings_updated"` + - `WorkspaceMemberSpendLimitUpdated object` - default: claude_user_settings_updated + A per-member Claude Code spend limit amount was updated. + + - `type: optional "workspace_member_spend_limit_updated"` + + default: workspace_member_spend_limit_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -133523,364 +137245,262 @@ 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 - - - `current_value: optional boolean or null` - - Setting value immediately after this change - - - `previous_value: optional boolean or null` - - Setting value immediately before this change - - - `MultimodalPdfsEnabled object` - - The multimodal PDFs setting was changed. - - - `type: optional "multimodal_pdfs_enabled"` - - default: multimodal_pdfs_enabled - - - `current_value: optional boolean or null` - - Setting value immediately after this change - - - `previous_value: optional boolean or null` + - `id: optional string` - Setting value immediately before this change + Unique identifier for the activity e.g. 'activity_abcd1234' - - `GdriveEnabled object` + - `account_id: optional string or null` - The Google Drive setting was changed. + Tagged ID of the user (null for workspace-wide default). - - `type: optional "gdrive_enabled"` + - `created_at: optional string` - default: gdrive_enabled + When this activity occurred. - - `current_value: optional boolean or null` + format: date-time - Setting value immediately after this change + - `new_limit_usd: optional number or null` - - `previous_value: optional boolean or null` + The new spend limit threshold in USD cents. - Setting value immediately before this change + - `organization_id: optional string or null` - - `WebSearchEnabled object` + Organization ID this activity is associated with - The web search setting was changed. + - `organization_uuid: optional string or null` - - `type: optional "web_search_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). - default: web_search_enabled + - `spend_limit_id: optional string or null` - - `current_value: optional boolean or null` + UUID of the spend limit. - Setting value immediately after this change + - `workspace_id: optional string or null` - - `previous_value: optional boolean or null` + Tagged ID of the workspace. - Setting value immediately before this change + - `WorkspaceSpendLimitAlertEmailsUpdated object` - - `GeolocationEnabled object` + Spend limit alert email recipients were updated for a workspace. - The geolocation setting was changed. + - `type: optional "workspace_spend_limit_alert_emails_updated"` - - `type: optional "geolocation_enabled"` + default: workspace_spend_limit_alert_emails_updated - default: geolocation_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` - - `EnabledSaffron object` + - `ip_address: string` - The memory setting was changed for the user. + - `user_agent: string` - - `type: optional "enabled_saffron"` + - `UserActor object` - default: enabled_saffron + - `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` - - `McpToolsEnabled object` + - `user_agent: string` - The MCP tools setting was changed. + - `user_id: string` - - `type: optional "mcp_tools_enabled"` + - `UnauthenticatedUserActor object` - default: mcp_tools_enabled + - `type: optional "unauthenticated_user_actor"` - - `current_value: optional map[boolean] or null` + default: unauthenticated_user_actor - Setting value immediately after this change + - `ip_address: string` - - `previous_value: optional map[boolean] or null` + - `user_agent: string` - Setting value immediately before this change + - `unauthenticated_email_address: optional string or null` - - `CliOpPermissionsEnabled object` + format: email - The CLI operation permissions setting was changed. + - `AnthropicActor object` - - `type: optional "cli_op_permissions_enabled"` + - `type: optional "anthropic_actor"` - default: cli_op_permissions_enabled + default: anthropic_actor - - `current_value: optional map[string] or null` + - `email_address: optional string or null` - Setting value immediately after this change + format: email - - `previous_value: optional map[string] or null` + - `SystemActor object` - Setting value immediately before this change + Automated background processing performed by Anthropic systems, acting + without a user or customer credential. - - `GoogleDriveSearchEnabled object` + - `type: optional "system_actor"` - The Google Drive search setting was changed. + default: system_actor - - `type: optional "google_drive_search_enabled"` + - `service: optional string or null` - default: google_drive_search_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` - - `GmailIntegrationEnabled object` + - `ip_address: string` - The Gmail integration setting was changed. + - `user_agent: string` - - `type: optional "gmail_integration_enabled"` + - `ServiceAccountActor object` - default: gmail_integration_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` - - `GoogleCalendarIntegrationEnabled object` + - `ScimDirectorySyncActor object` - The Google Calendar integration setting was changed. + - `type: optional "scim_directory_sync_actor"` - - `type: optional "google_calendar_integration_enabled"` + default: scim_directory_sync_actor - default: google_calendar_integration_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. - - `ThinkingModeEnabled object` + Carries the verified issuer, subject, and audience claims from the + presented JWT. - The thinking mode setting was changed. + - `type: optional "federated_identity_actor"` - - `type: optional "thinking_mode_enabled"` + default: federated_identity_actor - default: thinking_mode_enabled + - `issuer: string` - - `current_value: optional "adaptive" or "extended" or "off" or "unspecified" or null` + - `subject: string` - Setting value immediately after this change + - `audience: optional array of string` - - `"adaptive"` + - `ip_address: optional string or null` - - `"extended"` + - `user_agent: optional string or null` - - `"off"` + - `FederatedActor object` - - `"unspecified"` + 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 "adaptive" or "extended" or "off" or "unspecified" or null` + - `type: optional "federated_actor"` - Setting value immediately before this change + default: federated_actor - - `"adaptive"` + - `provider: FederatedActorAwsProvider or FederatedActorAzureProvider or FederatedActorGcpProvider or FederatedActorOidcProvider` - - `"extended"` + - `FederatedActorAwsProvider object` - - `"off"` + Asserting party: the AWS account the organization is bound to. - - `"unspecified"` + - `type: optional "aws"` - - `ResearchModeEnabled object` + default: aws - The research mode setting was changed. + - `account_id: string` - - `type: optional "research_mode_enabled"` + - `signed_principal: string` - default: research_mode_enabled + 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 - - `ComputerUseEnabled object` + - `subscription_id: string` - The computer use setting was changed. + - `FederatedActorGcpProvider object` - - `type: optional "computer_use_enabled"` + Asserting party: the GCP project the organization is bound to. - default: computer_use_enabled + - `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. - - `ClaudeAPIInArtifactsEnabled object` + - `type: optional "oidc"` - The Claude API in Artifacts setting was changed. + default: oidc - - `type: optional "claude_api_in_artifacts_enabled"` + - `issuer: optional string or null` - default: claude_api_in_artifacts_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` - - `ConversationPreferences object` + - `AttestedDeviceActor object` - The 'conversation_preferences' for the user were updated. Values omitted. + An attested mobile device authenticated via Apple App Attest. - - `type: optional "conversation_preferences"` + - `type: optional "attested_device_actor"` - default: conversation_preferences + default: attested_device_actor - - `CoworkGlobalInstructions object` + - `external_client_id: string` - The Cowork global instructions were updated. Values omitted. + - `kid_hash: string` - - `type: optional "cowork_global_instructions"` + - `ip_address: optional string or null` - default: cowork_global_instructions + - `user_agent: optional string or null` - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `alert_emails: optional array of string or null` + + Updated list of alert email addresses. + - `created_at: optional string` When this activity occurred. @@ -133895,13 +137515,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). - - `VerificationEvidenceSubmitted object` + - `workspace_id: optional string or null` - Verification evidence was submitted for an organization's verification. + Tagged ID of the workspace. - - `type: optional "verification_evidence_submitted"` + - `WorkspaceSpendLimitCreated object` - default: verification_evidence_submitted + 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` @@ -134109,14 +137733,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' @@ -134127,6 +137743,14 @@ 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 @@ -134135,13 +137759,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` + - `workspace_id: optional string or null` - An organization applied to a verification program. + Tagged ID of the workspace. - - `type: optional "verification_program_application_created"` + - `WorkspaceSpendLimitDeleted object` - default: verification_program_application_created + A workspace-level API spend limit was deleted. + + - `type: optional "workspace_spend_limit_deleted"` + + default: workspace_spend_limit_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -134349,10 +137977,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' @@ -134371,13 +137995,70 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `spend_limit_id: optional string or null` - A per-member or workspace-default Claude Code spend limit was created. + UUID of the deleted spend limit. - - `type: optional "workspace_member_spend_limit_created"` + - `workspace_id: optional string or null` - default: workspace_member_spend_limit_created + 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 AdminAPIKeyCreated or 533 more` + + - `AbuseDecisionReceived object` + + An external anti-abuse service reported a consequential decision about a sign-in or sign-up attempt. + + - `type: optional "abuse_decision_received"` + + default: abuse_decision_received - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -134585,13 +138266,21 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `decision: "blocked" or "unspecified"` + + The decision applied to the session. + + - `"blocked"` + + - `"unspecified"` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `account_id: optional string or null` + - `abuse_session_id: optional string or null` - Tagged ID of the user (null for workspace-wide default). + The anti-abuse service's opaque session identifier for correlation. - `created_at: optional string` @@ -134599,13 +138288,237 @@ compliance activities that can be filtered by various criteria. format: date-time - - `limit_action: optional string or null` + - `organization_id: optional string or null` - The action taken when the limit is reached. + Organization ID this activity is associated with - - `limit_usd: optional number or null` + - `organization_uuid: optional string or null` - The spend limit threshold in USD cents. + Organization UUID where the 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` + + User-initiated self-service account deletion. + + - `type: optional "account_deleted"` + + default: account_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` @@ -134615,17 +138528,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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. - - - `WorkspaceMemberSpendLimitDeleted object` + - `AdminAPIKeyCreated object` - A per-member or workspace-default Claude Code spend limit was deleted. + An admin API key was created. - - `type: optional "workspace_member_spend_limit_deleted"` + - `type: optional "admin_api_key_created"` - default: workspace_member_spend_limit_deleted + default: admin_api_key_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -134833,13 +138742,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` @@ -134855,21 +138764,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 deleted 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) - - `WorkspaceMemberSpendLimitUpdated object` + - `AdminAPIKeyDeleted object` - A per-member Claude Code spend limit amount was updated. + An admin API key was deleted. - - `type: optional "workspace_member_spend_limit_updated"` + - `type: optional "admin_api_key_deleted"` - default: workspace_member_spend_limit_updated + default: admin_api_key_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -135077,13 +138982,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 - - `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` @@ -135091,10 +138996,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 @@ -135103,21 +139004,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - Tagged ID of the workspace. - - - `WorkspaceSpendLimitAlertEmailsUpdated object` + - `AdminAPIKeyUpdated object` - Spend limit alert email recipients were updated for a workspace. + An admin API key was updated (renamed or activated/deactivated). - - `type: optional "workspace_spend_limit_alert_emails_updated"` + - `type: optional "admin_api_key_updated"` - default: workspace_spend_limit_alert_emails_updated + default: admin_api_key_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -135325,13 +139218,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 updated 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` @@ -135347,17 +139240,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 - - `WorkspaceSpendLimitCreated object` + - `type: "name" or "status" or "unspecified"` - A workspace-level API spend limit was created. + The admin API key field that changed - - `type: optional "workspace_spend_limit_created"` + - `"name"` - default: workspace_spend_limit_created + - `"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` @@ -135565,6 +139476,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' @@ -135575,14 +139498,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 @@ -135591,17 +139506,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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. - - - `WorkspaceSpendLimitDeleted object` + - `AdminRequestCreated object` - A workspace-level API spend limit was deleted. + Admin request created by an org member (seat upgrade, limit increase, join org, end-user invite). - - `type: optional "workspace_spend_limit_deleted"` + - `type: optional "admin_request_created"` - default: workspace_spend_limit_deleted + default: admin_request_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -135809,6 +139720,8 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `request_type: string` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -135827,70 +139740,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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 AdminAPIKeyCreated or 525 more` - - - `AbuseDecisionReceived object` + - `AdminSetupChecklistStepDelegated object` - An external anti-abuse service reported a consequential decision about a sign-in or sign-up attempt. + 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 "abuse_decision_received"` + - `type: optional "admin_setup_checklist_step_delegated"` - default: abuse_decision_received + default: admin_setup_checklist_step_delegated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -136098,28 +139954,28 @@ 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"` + - `step: string` - - `"unspecified"` + 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' - - `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. 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 @@ -136128,13 +139984,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` + - `AdminSetupChecklistStepDelegationCancelled object` - User-initiated self-service account deletion. + The delegation of a Claude Enterprise admin setup checklist step was cancelled. - - `type: optional "account_deleted"` + - `type: optional "admin_setup_checklist_step_delegation_cancelled"` - default: account_deleted + default: admin_setup_checklist_step_delegation_cancelled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -136342,6 +140198,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' @@ -136360,13 +140220,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` + - `AgeVerified object` - An admin API key was created. + User age was verified. - - `type: optional "admin_api_key_created"` + - `type: optional "age_verified"` - default: admin_api_key_created + default: age_verified - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -136574,10 +140434,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `admin_api_key_id: string` - - Tagged ID of the created admin API key - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -136596,17 +140452,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). - - `scopes: optional array of string` - - Scopes granted to the key (empty for legacy non-scoped admin keys) - - - `AdminAPIKeyDeleted object` + - `AnonymousMobileLoginAttempted object` - An admin API key was deleted. + Anonymous mobile login was attempted. - - `type: optional "admin_api_key_deleted"` + - `type: optional "anonymous_mobile_login_attempted"` - default: admin_api_key_deleted + default: anonymous_mobile_login_attempted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -136814,10 +140666,6 @@ 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' @@ -136836,13 +140684,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). - - `AdminAPIKeyUpdated object` + - `APIKeyCreated object` - An admin API key was updated (renamed or activated/deactivated). + Activity logged when a new API key is created. - - `type: optional "admin_api_key_updated"` + - `type: optional "api_key_created"` - default: admin_api_key_updated + default: api_key_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -137050,9 +140898,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 updated admin API key + The tagged ID of the created API key - `id: optional string` @@ -137072,35 +140920,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). - - `updates: optional array of object` - - The field-level changes applied in this update - - - `type: "name" or "status" or "unspecified"` - - The admin API key field that changed - - - `"name"` - - - `"status"` - - - `"unspecified"` - - - `current_value: string` + - `restricted_to_organization: optional boolean or null` - Field value immediately after this change + Whether the key was restricted to the creating organization, rather than granted access across the whole parent organization - - `previous_value: string` + - `scopes: optional array of string` - Field value immediately before this change + The scopes for this API key - - `AdminConnectorRequestResolved object` + - `ClaudeArtifactAccessFailed object` - Admin approved or dismissed pending member requests to enable an MCP connector. + An attempt to access an artifact failed. - - `type: optional "admin_connector_request_resolved"` + - `type: optional "claude_artifact_access_failed"` - default: admin_connector_request_resolved + default: claude_artifact_access_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -137308,21 +141142,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `decision: "approved" or "dismissed" or "unspecified"` - - - `"approved"` - - - `"dismissed"` + - `id: optional string` - - `"unspecified"` + Unique identifier for the activity e.g. 'activity_abcd1234' - - `mcp_server_id: string` + - `claude_artifact_id: optional string or null` - - `resolved_count: number` + The artifact's identifier, when known. - - `id: optional string` + - `claude_artifact_version_id: optional string or null` - Unique identifier for the activity e.g. 'activity_abcd1234' + The version of the artifact the user attempted to access, when known. - `created_at: optional string` @@ -137338,13 +141168,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). - - `AdminRequestCreated object` + - `reason: optional string or null` - Admin request created by an org member (seat upgrade, limit increase, join org, end-user invite). + The reason access was denied, when recorded. - - `type: optional "admin_request_created"` + - `ClaudeArtifactCommented object` - default: admin_request_created + 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` @@ -137552,12 +141386,60 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `request_type: string` + - `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. @@ -137572,13 +141454,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` + - `ClaudeArtifactCommentsViewed 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. + An artifact's comments were viewed. - - `type: optional "admin_setup_checklist_step_delegated"` + - `type: optional "claude_artifact_comments_viewed"` - default: admin_setup_checklist_step_delegated + default: claude_artifact_comments_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -137786,28 +141668,24 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `step: string` + - `claude_artifact_id: string` - The checklist step that was delegated, for example `enable_sso` or `verify_domain`. + 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. 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 @@ -137816,13 +141694,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` + - `ClaudeArtifactCreated object` - The delegation of a Claude Enterprise admin setup checklist step was cancelled. + An artifact was created. - - `type: optional "admin_setup_checklist_step_delegation_cancelled"` + - `type: optional "claude_artifact_created"` - default: admin_setup_checklist_step_delegation_cancelled + default: claude_artifact_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -138030,9 +141908,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `step: string` + - `claude_artifact_id: string` - The checklist step whose delegation was cancelled. + Tagged ID of the artifact that was created, e.g. "claude_artifact_01HX...". - `id: optional string` @@ -138052,13 +141930,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). - - `AgeVerified object` + - `ClaudePublishedArtifactDeleted object` - User age was verified. + 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 "age_verified"` + - `type: optional "claude_published_artifact_deleted"` - default: age_verified + default: claude_published_artifact_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -138266,6 +142144,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` + - `claude_published_artifact_id: string` + + The published artifact's identifier. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -138284,13 +142166,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). - - `AnonymousMobileLoginAttempted object` + - `ClaudeArtifactPublished object` - Anonymous mobile login was attempted. + 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 "anonymous_mobile_login_attempted"` + - `type: optional "claude_artifact_published"` - default: anonymous_mobile_login_attempted + default: claude_artifact_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -138498,16 +142380,40 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` + - `artifact_type: string` + + Artifact type (code, html, react, etc.) + + - `claude_published_artifact_id: string` + + The published artifact's identifier. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `actor_outside_organization: optional boolean or null` + + 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. + + - `claude_artifact_version_id: optional string or null` + + The version identifier recorded as live by this publish. + - `created_at: optional string` When this activity occurred. 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. + + - `is_redeploy: optional boolean or null` + + True when the publish updated an existing artifact; false when the publish created the artifact. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -138516,13 +142422,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). - - `APIKeyCreated object` + - `title: string` - Activity logged when a new API key is created. + **Deprecated** - - `type: optional "api_key_created"` + 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: api_key_created + - `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` @@ -138730,9 +142642,41 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `api_key_id: string` + - `audience: array of Organization or Users or AnyoneWithLink` - The tagged ID of the created API key + 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` @@ -138744,6 +142688,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 @@ -138752,21 +142712,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). - - `restricted_to_organization: optional boolean or null` + - `previous_mode: optional string or null` - Whether the key was restricted to the creating organization, rather than granted access across the whole parent organization + The read-axis sharing mode before the change: `owner`, `users`, `org`, or `public` (anyone on the internet). - - `scopes: optional array of string` + - `previous_read_agent_ids: optional array of string` - The scopes for this API key + The Claude agents (`cagt_…` identifiers) whose channel held view access to the artifact before the change. Empty when none. - - `ClaudeArtifactAccessFailed object` + - `previous_read_group_ids: optional array of string` - An attempt to access an artifact failed. + 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. - - `type: optional "claude_artifact_access_failed"` + - `previous_user_count: optional number or null` - default: claude_artifact_access_failed + 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` @@ -138974,17 +142974,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `id: optional string` + - `claude_artifact_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The artifact's identifier. - - `claude_artifact_id: optional string or null` + - `id: optional string` - The artifact's identifier, when known. + Unique identifier for the activity e.g. 'activity_abcd1234' - `claude_artifact_version_id: optional string or null` - The version of the artifact the user attempted to access, when known. + The version of the artifact the user was served, when known. - `created_at: optional string` @@ -139000,17 +143000,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` + - `AuditLogExportAccessed 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 file was accessed/downloaded via signed URL. - - `type: optional "claude_artifact_commented"` + - `type: optional "audit_log_export_accessed"` - default: claude_artifact_commented + default: audit_log_export_accessed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -139218,60 +143214,10 @@ 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. @@ -139286,13 +143232,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). - - `ClaudeArtifactCommentsViewed object` + - `AuditLogExportStarted object` - An artifact's comments were viewed. + Audit log export was initiated. - - `type: optional "claude_artifact_comments_viewed"` + - `type: optional "audit_log_export_started"` - default: claude_artifact_comments_viewed + default: audit_log_export_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -139500,24 +143446,20 @@ 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` - - The version of the artifact whose comments were served, 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 @@ -139526,13 +143468,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). - - `ClaudeArtifactCreated object` + - `to_date: optional string or null` - An artifact was created. + End date of the export range - - `type: optional "claude_artifact_created"` + - `BillingEmailsUpdated object` - default: claude_artifact_created + 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` @@ -139740,14 +143686,14 @@ 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 created, e.g. "claude_artifact_01HX...". - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' + - `cc_email_count: optional number or null` + + Number of 'cc' email recipients. + - `created_at: optional string` When this activity occurred. @@ -139762,13 +143708,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). - - `ClaudePublishedArtifactDeleted object` + - `primary_email_set: optional boolean 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). + Whether a primary billing email is configured. - - `type: optional "claude_published_artifact_deleted"` + - `to_email_count: optional number or null` - default: claude_published_artifact_deleted + 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` @@ -139976,9 +143930,25 @@ 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 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` @@ -139990,6 +143960,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 @@ -139998,13 +143976,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). - - `ClaudeArtifactPublished object` + - `slack_alias: optional string or null` - 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 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_artifact_published"` + - `CcrAgentDeleted object` - default: claude_artifact_published + A Claude Code agent was deleted. + + - `type: optional "ccr_agent_deleted"` + + default: ccr_agent_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -140212,25 +144194,25 @@ 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 agent that was deleted, e.g. "cagt_01HX...". - - `claude_published_artifact_id: string` + - `cascaded_agent_ids_truncated: boolean` - The published artifact's identifier. + 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' - - `actor_outside_organization: optional boolean or null` + - `cascaded_agent_ids: optional array of 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. + 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. - - `claude_artifact_version_id: optional string or null` + - `cascaded_from_agent_id: optional string or null` - The version identifier recorded as live by this publish. + 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` @@ -140238,14 +144220,6 @@ 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. - - - `is_redeploy: optional boolean or null` - - True when the publish updated an existing artifact; false when the publish created the artifact. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -140254,19 +144228,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). - - `title: string` - - **Deprecated** - - 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. - - - `ClaudeArtifactSharingUpdated object` + - `CcrAgentProxyAnthropicOidcTokenExchanged object` - An artifact's sharing settings were 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_sharing_updated"` + - `type: optional "ccr_agent_proxy_anthropic_oidc_token_exchanged"` - default: claude_artifact_sharing_updated + default: ccr_agent_proxy_anthropic_oidc_token_exchanged - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -140474,41 +144442,37 @@ 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"` + - `credential_id: string` - default: organization + The credential row the exchange ran for, e.g. "apc_01HX...". - - `Users object` + - `profile_id: string` - Sharing audience: visible to an explicit allowlist of users. + The agent proxy profile the credential belongs to, e.g. "capp_01HX...". - - `type: optional "users"` + - `role_arn: string` - default: users + The IAM role the token was exchanged for ("aws" target), e.g. "arn:aws:iam::123456789012:role/example-role". Empty for other targets. - - `AnyoneWithLink object` + - `role_session_name: string` - Sharing audience: anyone with the link, including anonymous viewers (an artifact shared to the open internet). + 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. - - `type: optional "anyone_with_link"` + - `service_account: string` - default: anyone_with_link + 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. - - `claude_artifact_id: string` + - `session_id: string` - The artifact's identifier. + 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). - - `claude_artifact_version_id: string` + - `target: string` - The artifact version's identifier. + The credential's configured target, e.g. "aws" or "gcp". - `id: optional string` @@ -140520,21 +144484,11 @@ 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`. + - `credentials_expire_at: optional string or null` - - `new_write_user_count: optional number 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. - 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` @@ -140544,29 +144498,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). - - `previous_mode: optional string or null` + - `slack_threads: optional array of object` - The read-axis sharing mode before the change: `owner`, `users`, `org`, or `public` (anyone on the internet). + The Slack threads in the session's provenance, when the session originated from Slack. At most 64 entries are included. - - `previous_user_count: optional number or null` + - `channel_id: string` - The number of accounts on the explicit read allowlist before the change. Only meaningful when `previous_mode` is `users`. + The Slack channel ID, e.g. "C0123ABCDE". - - `previous_write_mode: optional string or null` + - `enterprise_id: string` - The write-axis sharing mode before the change: `owner`, `users`, or `org`. + The Slack Enterprise Grid organization ID, e.g. "E0123ABCDE". Empty for workspaces that are not part of an Enterprise Grid. - - `previous_write_user_count: optional number or null` + - `team_id: string` - The number of accounts on the explicit write allowlist before the change. Only meaningful when `previous_write_mode` is `users`. + The Slack workspace (team) ID, e.g. "T0123ABCDE". - - `ClaudeArtifactViewed object` + - `thread_ts: string` - An artifact was viewed. + 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. - - `type: optional "claude_artifact_viewed"` + - `CcrAgentProxyAnthropicOidcTokenMinted object` - default: claude_artifact_viewed + 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` @@ -140774,17 +144732,57 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_artifact_id: string` + - `agent_id: string` - The artifact's identifier. + The Claude Code agent that owns the session, e.g. "cagt_01HX...". Empty when the session is not owned by an agent. - - `id: optional string` + - `audience: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + 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. - - `claude_artifact_version_id: optional string or null` + - `credential_id: string` - The version of the artifact the user was served, when known. + 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` + + 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. + + - `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". + + - `test_mint: 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. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -140800,13 +144798,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). - - `AuditLogExportAccessed object` + - `slack_threads: optional array of object` - Audit log export file was accessed/downloaded via signed URL. + The Slack threads in the session's provenance, when the session originated from Slack. At most 64 entries are included. - - `type: optional "audit_log_export_accessed"` + - `channel_id: string` - default: audit_log_export_accessed + 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. + + - `token_expires_at: optional string or null` + + When the minted token expires. + + format: date-time + + - `token_jti: optional string or null` + + 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. + + - `CcrAgentProxyCredentialCreated object` + + 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 "ccr_agent_proxy_credential_created"` + + default: ccr_agent_proxy_credential_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -141014,16 +145042,72 @@ 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` + + 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` When this activity occurred. 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 @@ -141032,13 +145116,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` + - `CcrAgentProxyCredentialDeleted object` - Audit log export was initiated. + 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_started"` + - `type: optional "ccr_agent_proxy_credential_deleted"` - default: audit_log_export_started + default: ccr_agent_proxy_credential_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -141246,20 +145330,56 @@ 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. 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 @@ -141268,17 +145388,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` + - `CcrAgentProxyCredentialRotated object` - The organization's billing email recipients were updated. + 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 "billing_emails_updated"` + - `type: optional "ccr_agent_proxy_credential_rotated"` - default: billing_emails_updated + default: ccr_agent_proxy_credential_rotated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -141486,13 +145602,69 @@ 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' - - `cc_email_count: optional number or null` + - `authorization_basis: optional object or null` - Number of 'cc' email recipients. + 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` @@ -141508,21 +145680,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). - - `primary_email_set: optional boolean or null` - - Whether a primary billing email is configured. - - - `to_email_count: optional number or null` - - Number of 'to' email recipients. - - - `CcrAgentCreated object` + - `CcrAgentProxyCredentialUpdated object` - A Claude Code agent was created. + 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 "ccr_agent_created"` + - `type: optional "ccr_agent_proxy_credential_updated"` - default: ccr_agent_created + default: ccr_agent_proxy_credential_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -141730,43 +145894,67 @@ 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` + - `credential_id: string` - Whether default_source_urls was capped and omits some of the granted repositories. + The credential that was updated, e.g. "apc_01HX...". - `display_name: string` - The agent's display name at creation time. + The credential's display name after the update. - - `omitted_source_url_count: number` + - `host_constraint_truncated: boolean` - 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. + Whether host_constraint was capped and omits some of the configured host name patterns. - - `slug: string` + - `profile_id: string` - The agent's URL-safe identifier, unique within the organization. + 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. + + - `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 - - `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` + - `host_constraint: optional array of string` - 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. + 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` @@ -141776,17 +145964,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). - - `slack_alias: optional string or null` + - `updated_fields: optional array of string` - 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. + Names of the settings included in the update: "display_name", "host_constraint". - - `CcrAgentDeleted object` + - `CcrAgentProxyDestinationDeleted object` - A Claude Code agent was deleted. + An agent proxy destination was deleted. - - `type: optional "ccr_agent_deleted"` + - `type: optional "ccr_agent_proxy_destination_deleted"` - default: ccr_agent_deleted + default: ccr_agent_proxy_destination_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -141994,25 +146182,25 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `agent_id: string` + - `deleted_with_profile: boolean` - The agent that was deleted, e.g. "cagt_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 DeleteAgentProxyDestination call. - - `cascaded_agent_ids_truncated: boolean` + - `destination_id: string` - 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. + The destination that was deleted, e.g. "apd_01HX...". - - `id: optional string` + - `profile_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The agent proxy profile the destination belonged to, e.g. "capp_01HX...". - - `cascaded_agent_ids: optional array of string` + - `id: optional 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. + Unique identifier for the activity e.g. 'activity_abcd1234' - - `cascaded_from_agent_id: optional string or null` + - `cascade_trigger_credential_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. + 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` @@ -142028,13 +146216,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` + - `CcrAgentProxyNetworkEventsListed 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 network activity export was accessed for the given hour. - - `type: optional "ccr_agent_proxy_anthropic_oidc_token_exchanged"` + - `type: optional "ccr_agent_proxy_network_events_listed"` - default: ccr_agent_proxy_anthropic_oidc_token_exchanged + default: ccr_agent_proxy_network_events_listed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -142242,37 +146430,9 @@ 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. - - - `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` + - `failed: boolean` - The credential's configured target, e.g. "aws" or "gcp". + True when the export request did not complete successfully. - `id: optional string` @@ -142284,9 +146444,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `credentials_expire_at: optional string or null` + - `hour: 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. + The UTC hour that was exported. format: date-time @@ -142298,33 +146458,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` + - `CcrAgentProxyProfileBound 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 bound to a scope, applying its policy to Claude Code sessions in that scope. - - `type: optional "ccr_agent_proxy_anthropic_oidc_token_minted"` + - `type: optional "ccr_agent_proxy_profile_bound"` - default: ccr_agent_proxy_anthropic_oidc_token_minted + default: ccr_agent_proxy_profile_bound - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -142532,53 +146672,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` - - 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. - - `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). + The profile that was bound, e.g. "capp_01HX...". - - `target: string` + - `scope_id: string` - The credential's configured target, e.g. "aws", "gcp", or "direct". + The identifier of the scope the profile was bound to. - - `test_mint: string` + - `scope_kind: 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 kind of scope the profile was bound to: "organization", "environment", "account", or "agent". - `id: optional string` @@ -142598,43 +146702,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. - - - `token_expires_at: optional string or null` - - When the minted token expires. - - format: date-time - - - `token_jti: optional string or null` - - 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. - - - `CcrAgentProxyCredentialCreated object` + - `CcrAgentProxyProfileCreated object` - 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. + 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_credential_created"` + - `type: optional "ccr_agent_proxy_profile_created"` - default: ccr_agent_proxy_credential_created + default: ccr_agent_proxy_profile_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -142842,71 +146916,59 @@ 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. + The profile's display name at creation time. - - `host_constraint_truncated: boolean` + - `profile_id: string` - Whether host_constraint was capped and omits some of the configured host name patterns. + The profile that was created, e.g. "capp_01HX...". - - `profile_id: string` + - `slug: string` - The agent proxy profile the credential belongs to, e.g. "capp_01HX...". + The profile's URL-safe identifier, unique within the organization. - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `authorization_basis: optional object or null` - - 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` + - `created_at: optional string` - The Slack channel the credential's agent proxy profile is bound to, e.g. "C01ABC...". + When this activity occurred. - - `slack_enterprise_id: string` + format: date-time - The Slack Enterprise Grid organization containing the workspace, e.g. "E01ABC...". Empty when the workspace does not belong to an Enterprise Grid organization. + - `github_access: optional array of object` - - `slack_team_id: string` + The GitHub repository access the profile grants, one entry per GitHub App installation. Empty when the profile grants no GitHub access. - The Slack workspace the credential's agent proxy profile is bound to, e.g. "T01ABC...". + - `access_mode: string` - - `via_entitlement_leg: boolean` + 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. - 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. + - `github_installation_id: number` - - `via_full_manage: boolean` + The GitHub App installation the access applies to. - 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_count: number` - - `granting_role_ids: optional array of string` + The total number of repositories granted, including any omitted from repos. - 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). + - `repos_truncated: boolean` - - `via_account_assignment: optional boolean or null` + Whether repos was capped and omits some of the granted 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. + - `ghe_configuration_id: optional number or null` - - `created_at: optional string` + 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. - When this activity occurred. + - `repo_ids: optional array of number` - format: date-time + 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. - - `host_constraint: optional array of string` + - `repos: 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. + 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. - `organization_id: optional string or null` @@ -142916,13 +146978,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` + - `CcrAgentProxyProfileDeleted 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 deleted, removing its policy from everything it was bound to. - - `type: optional "ccr_agent_proxy_credential_deleted"` + - `type: optional "ccr_agent_proxy_profile_deleted"` - default: ccr_agent_proxy_credential_deleted + default: ccr_agent_proxy_profile_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -143130,49 +147192,37 @@ 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` + - `deleted_credential_count: number` - How the actor was authorized to delete this credential. + 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` @@ -143188,13 +147238,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` + - `CcrAgentProxyProfileUnbound 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 was unbound from a scope, removing its policy from Claude Code sessions in that scope. - - `type: optional "ccr_agent_proxy_credential_rotated"` + - `type: optional "ccr_agent_proxy_profile_unbound"` - default: ccr_agent_proxy_credential_rotated + default: ccr_agent_proxy_profile_unbound - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -143402,70 +147452,22 @@ 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` + - `profile_id: string` - The credential that was replaced, e.g. "apc_01HX...". + The profile that was unbound, e.g. "capp_01HX...". - - `profile_id: string` + - `scope_id: string` - The agent proxy profile the credential belongs to, e.g. "capp_01HX...". + The identifier of the scope the profile was unbound from. - - `rules_repointed: number` + - `scope_kind: string` - The number of agent proxy rules that referenced the old credential and now reference the replacement. + The kind of scope the profile was unbound from: "organization", "environment", "account", or "agent". - `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. @@ -143480,13 +147482,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). - - `CcrAgentProxyCredentialUpdated object` + - `CcrAgentProxyProfileUpdated object` - 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. + A Claude Code agent proxy profile's configuration was updated. - - `type: optional "ccr_agent_proxy_credential_updated"` + - `type: optional "ccr_agent_proxy_profile_updated"` - default: ccr_agent_proxy_credential_updated + default: ccr_agent_proxy_profile_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -143694,67 +147696,63 @@ 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` + - `profile_id: string` - The credential's display name after the update. + The profile that was updated, e.g. "capp_01HX...". - - `host_constraint_truncated: boolean` + - `id: optional string` - Whether host_constraint was capped and omits some of the configured host name patterns. + 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. - - `id: optional string` + format: date-time - Unique identifier for the activity e.g. 'activity_abcd1234' + - `github_access_changes: optional array of object` - - `authorization_basis: optional object or null` + 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. - How the actor was authorized to update this credential. + - `access_mode: string` - - `slack_channel_id: string` + 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. - The Slack channel the credential's agent proxy profile is bound to, e.g. "C01ABC...". + - `github_installation_id: number` - - `slack_enterprise_id: string` + The GitHub App installation the change applies to. - The Slack Enterprise Grid organization containing the workspace, e.g. "E01ABC...". Empty when the workspace does not belong to an Enterprise Grid organization. + - `repo_count: number` - - `slack_team_id: string` + The total number of repositories granted after the change. - The Slack workspace the credential's agent proxy profile is bound to, e.g. "T01ABC...". + - `repos_truncated: boolean` - - `via_entitlement_leg: boolean` + Whether repos_added or repos_removed was capped and omits some of the changed repositories. - 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. + - `ghe_configuration_id: optional number or null` - - `via_full_manage: 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 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. + - `previous_access_mode: optional string or null` - - `granting_role_ids: optional array of string` + How repository access was granted before the change. Present only when the access mode changed. - 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_added: optional array of number` - - `via_account_assignment: optional boolean 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. - 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. + - `repo_ids_removed: optional array of number` - - `created_at: optional 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. - When this activity occurred. + - `repos_added: optional array of string` - format: date-time + 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. - - `host_constraint: optional array of string` + - `repos_removed: 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. + 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` @@ -143766,15 +147764,15 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `updated_fields: optional array of string` - Names of the settings included in the update: "display_name", "host_constraint". + Names of the configuration fields included in the update, e.g. "display_name", "github_installation_permissions". - - `CcrAgentProxyDestinationDeleted object` + - `CcrAgentProxyProvisioningCredentialRejected object` - An agent proxy destination was deleted. + 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_destination_deleted"` + - `type: optional "ccr_agent_proxy_provisioning_credential_rejected"` - default: ccr_agent_proxy_destination_deleted + default: ccr_agent_proxy_provisioning_credential_rejected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -143982,25 +147980,29 @@ 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 lived in, e.g. "capp_01HX...". - - `id: optional string` + - `rule_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The disabled rule that was deleted alongside the credential, e.g. "apr_01HX...". - - `cascade_trigger_credential_id: optional string or null` + - `submitted_by_user_id: 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). + The tagged account ID of the user who originally submitted the credential, e.g. "user_01HX...". + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -144016,13 +148018,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` + - `CcrAgentProxyProvisioningLinkEnabled object` - A Claude Code network activity export was accessed for the given hour. + 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_network_events_listed"` + - `type: optional "ccr_agent_proxy_provisioning_link_enabled"` - default: ccr_agent_proxy_network_events_listed + default: ccr_agent_proxy_provisioning_link_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -144230,9 +148232,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `failed: boolean` + - `credential_id: string` - True when the export request did not complete successfully. + The credential the member submitted, e.g. "apc_01HX...". + + - `link_id: string` + + The provisioning link's identifier. + + - `profile_id: string` + + The agent proxy profile the credential lives in, e.g. "capp_01HX...". + + - `rule_id: string` + + The rule that was flipped to enforce, e.g. "apr_01HX...". - `id: optional string` @@ -144244,12 +148258,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 @@ -144258,13 +148266,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` + - `CcrAgentProxyProvisioningLinkGenerated 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 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_profile_bound"` + - `type: optional "ccr_agent_proxy_provisioning_link_generated"` - default: ccr_agent_proxy_profile_bound + default: ccr_agent_proxy_provisioning_link_generated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -144472,17 +148480,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. Correlation only; redemption requires an org-member session, so this is not a bearer credential. - - `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 submitted credential will be created in, e.g. "capp_01HX...". - `id: optional string` @@ -144502,13 +148506,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` + - `CcrAgentProxyProvisioningLinkRevoked 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. + An organization owner revoked an unfilled agent proxy provisioning link. - - `type: optional "ccr_agent_proxy_profile_created"` + - `type: optional "ccr_agent_proxy_provisioning_link_revoked"` - default: ccr_agent_proxy_profile_created + default: ccr_agent_proxy_provisioning_link_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -144716,17 +148720,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `display_name: string` + - `link_id: string` - The profile's display name at creation time. + The provisioning link's identifier. - `profile_id: string` - The profile that was created, e.g. "capp_01HX...". - - - `slug: string` - - The profile's URL-safe identifier, unique within the organization. + The agent proxy profile the link targeted, e.g. "capp_01HX...". - `id: optional string` @@ -144738,38 +148738,6 @@ 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` - - Whether repos was capped and omits some of the granted repositories. - - - `ghe_configuration_id: optional number 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. - - - `repo_ids: optional array of number` - - 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. - - - `repos: optional array of string` - - 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. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -144778,13 +148746,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). - - `CcrAgentProxyProfileDeleted object` + - `CcrAgentProxyProvisioningLinkSubmitted object` - A Claude Code agent proxy profile was deleted, removing its policy from everything it was bound to. + 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_deleted"` + - `type: optional "ccr_agent_proxy_provisioning_link_submitted"` - default: ccr_agent_proxy_profile_deleted + default: ccr_agent_proxy_provisioning_link_submitted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -144992,33 +148960,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `deleted_credential_count: number` - - 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. - - - `deleted_credentials_unknown: 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. - - - `deleted_destination_count: number` - - 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. - - - `deleted_destinations_unknown: boolean` + - `credential_id: string` - Whether the number of destinations deleted with the profile could not be determined. Same semantics as deleted_credentials_unknown. + The credential that was created, e.g. "apc_01HX...". - - `deleted_rule_count: number` + - `credential_type: string` - 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. + The kind of credential, e.g. "bearer" or "basic". - - `deleted_rules_unknown: boolean` + - `link_id: string` - Whether the number of rules deleted with the profile could not be determined. Same semantics as deleted_credentials_unknown. + The provisioning link's identifier. - `profile_id: string` - The profile that was deleted, e.g. "capp_01HX...". + The agent proxy profile the credential was created in, e.g. "capp_01HX...". - `id: optional string` @@ -145030,6 +148986,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. + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -145038,13 +148998,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). - - `CcrAgentProxyProfileUnbound object` + - `CcrAgentProxyRuleCreated object` - A Claude Code agent proxy profile was unbound from a scope, removing its policy from Claude Code sessions in that scope. + 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_profile_unbound"` + - `type: optional "ccr_agent_proxy_rule_created"` - default: ccr_agent_proxy_profile_unbound + default: ccr_agent_proxy_rule_created + + - `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` @@ -145252,17 +149224,65 @@ 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 profile that was unbound, e.g. "capp_01HX...". + The agent proxy profile the rule belongs to, e.g. "capp_01HX...". - - `scope_id: string` + - `protocol: "http" or "mysql" or "postgres" or 3 more` - The identifier of the scope the profile was unbound from. + The kind of connection the rule applies to. - - `scope_kind: string` + - `"http"` - The kind of scope the profile was unbound from: "organization", "environment", "account", or "agent". + - `"mysql"` + + - `"postgres"` + + - `"ssh"` + + - `"tcp"` + + - `"unspecified"` + + - `rule_id: string` + + The rule that was created, e.g. "apr_01HX...". - `id: optional string` @@ -145274,6 +149294,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 @@ -145282,13 +149328,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). - - `CcrAgentProxyProfileUpdated object` + - `ports: optional array of number` - A Claude Code agent proxy profile's configuration was updated. + 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_updated"` + - `route_to_destination_id: optional string or null` - default: ccr_agent_proxy_profile_updated + 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` @@ -145496,63 +149550,31 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `profile_id: string` - - The profile that was updated, e.g. "capp_01HX...". - - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' - - - `created_at: optional string` - - When this activity occurred. - - format: date-time - - - `github_access_changes: optional array of object` - - 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. - - - `access_mode: string` - - 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. - - - `github_installation_id: number` - - The GitHub App installation the change applies to. - - - `repo_count: number` - - The total number of repositories granted after the change. - - - `repos_truncated: boolean` - - Whether repos_added or repos_removed was capped and omits some of the changed repositories. + - `deleted_with_profile: boolean` - - `ghe_configuration_id: optional number or null` + 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 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. + - `profile_id: string` - - `previous_access_mode: optional string or null` + The agent proxy profile the rule belonged to, e.g. "capp_01HX...". - How repository access was granted before the change. Present only when the access mode changed. + - `rule_id: string` - - `repo_ids_added: optional array of number` + The rule that was deleted, e.g. "apr_01HX...". - 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. + - `id: optional string` - - `repo_ids_removed: optional array of number` + Unique identifier for the activity e.g. 'activity_abcd1234' - 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. + - `cascade_trigger_credential_id: optional string or null` - - `repos_added: optional array of 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. - 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. + - `created_at: optional string` - - `repos_removed: optional array of string` + When this activity occurred. - 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. + format: date-time - `organization_id: optional string or null` @@ -145562,17 +149584,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). - - `updated_fields: optional array of string` + - `CcrAgentProxyRuleUpdated object` - Names of the configuration fields included in the update, e.g. "display_name", "github_installation_permissions". + 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. - - `CcrAgentProxyProvisioningCredentialRejected object` + - `type: optional "ccr_agent_proxy_rule_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. + default: ccr_agent_proxy_rule_updated - - `type: optional "ccr_agent_proxy_provisioning_credential_rejected"` + - `action: "allow" or "deny" or "require_approval" or "unspecified"` - default: ccr_agent_proxy_provisioning_credential_rejected + What the rule does with a matching request. + + - `"allow"` + + - `"deny"` + + - `"require_approval"` + + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -145780,25 +149810,69 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `credential_id: string` + - `has_condition: boolean` - The credential the member submitted, e.g. "apc_01HX...". + Whether the rule carries a custom condition expression that further narrows the requests it matches beyond the host name patterns, ports, methods and paths. - - `link_id: string` + - `hosts_truncated: boolean` - The provisioning link's identifier. + 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 credential lived in, 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 disabled rule that was deleted alongside the credential, e.g. "apr_01HX...". + The rule that was updated, e.g. "apr_01HX...". - - `submitted_by_user_id: string` + - `version: number` - The tagged account ID of the user who originally submitted the credential, e.g. "user_01HX...". + The rule's version after the update; it increases by one on every update. - `id: optional string` @@ -145810,6 +149884,32 @@ 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 @@ -145818,13 +149918,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). - - `CcrAgentProxyProvisioningLinkEnabled object` + - `ports: optional array of number` - 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. + 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_provisioning_link_enabled"` + - `route_to_destination_id: optional string or null` - default: ccr_agent_proxy_provisioning_link_enabled + 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` + + 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` @@ -146032,21 +150140,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `credential_id: string` + - `agent_id: string` - The credential the member submitted, e.g. "apc_01HX...". + The agent that was granted access, e.g. "cagt_01HX...". - - `link_id: string` + - `can_write: boolean` - The provisioning link's identifier. + Whether the grant includes permission to post messages in the channel, in addition to reading it. - - `profile_id: string` + - `slack_channel_id: string` - The agent proxy profile the credential lives in, e.g. "capp_01HX...". + The Slack channel the agent was granted access to, e.g. "C01ABC...". Empty when the grant covers 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` @@ -146066,13 +150174,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` + - `CcrAgentSlackAccessScopeDeleted 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's access to an additional Slack channel was revoked. - - `type: optional "ccr_agent_proxy_provisioning_link_generated"` + - `type: optional "ccr_agent_slack_access_scope_deleted"` - default: ccr_agent_proxy_provisioning_link_generated + default: ccr_agent_slack_access_scope_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -146280,13 +150388,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 whose access was revoked, 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's access was revoked from, e.g. "C01ABC...". Empty when the revoked grant covered the entire workspace. + + - `slack_team_id: string` + + The Slack workspace containing the channel, e.g. "T01ABC...". - `id: optional string` @@ -146306,13 +150418,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` + - `CcrAgentSlackBindingCreated object` - An organization owner revoked an unfilled agent proxy provisioning link. + A Claude Code agent was assigned to a Slack channel or workspace as its dedicated agent. - - `type: optional "ccr_agent_proxy_provisioning_link_revoked"` + - `type: optional "ccr_agent_slack_binding_created"` - default: ccr_agent_proxy_provisioning_link_revoked + default: ccr_agent_slack_binding_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -146520,13 +150632,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 created for, 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 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` @@ -146546,13 +150662,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` + - `CcrAgentSlackBindingDeleted 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 assignment to a Slack channel or workspace was removed. - - `type: optional "ccr_agent_proxy_provisioning_link_submitted"` + - `type: optional "ccr_agent_slack_binding_deleted"` - default: ccr_agent_proxy_provisioning_link_submitted + default: ccr_agent_slack_binding_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -146760,21 +150876,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 the binding was removed from, e.g. "cagt_01HX...". - - `link_id: string` + - `slack_channel_id: string` - The provisioning link's identifier. + The Slack channel the agent was unassigned from, e.g. "C01ABC...". Empty when the assignment covered the entire workspace. - - `profile_id: string` + - `slack_team_id: string` - The agent proxy profile the credential was created in, e.g. "capp_01HX...". + The Slack workspace the agent was unassigned from, e.g. "T01ABC...". - `id: optional string` @@ -146786,10 +150898,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. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -146798,25 +150906,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). - - `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"` - - default: ccr_agent_proxy_rule_created - - - `action: "allow" or "deny" or "require_approval" or "unspecified"` - - What the rule does with a matching request. - - - `"allow"` + - `CcrAgentUpdated object` - - `"deny"` + 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. - - `"require_approval"` + - `type: optional "ccr_agent_updated"` - - `"unspecified"` + default: ccr_agent_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -147024,65 +151120,17 @@ 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"` - - - `"mysql"` - - - `"postgres"` + - `agent_id: string` - - `"ssh"` + The agent that was updated, e.g. "cagt_01HX...". - - `"tcp"` + - `default_source_urls_truncated: boolean` - - `"unspecified"` + Whether default_source_urls was capped and omits some of the granted repositories. - - `rule_id: string` + - `omitted_source_url_count: number` - The rule that was created, e.g. "apr_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` @@ -147094,31 +151142,13 @@ 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"` + - `default_source_urls: optional array of string` - - `"set_header"` + 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. - - `"strip_header"` + - `guest_policy: optional string or null` - - `"unspecified"` + 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` @@ -147128,21 +151158,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). - - `ports: optional array of number` + - `slack_alias: optional string or null` - The TCP ports the rule matches, e.g. 443. At most 100 entries are included; ports_truncated indicates when the configured set is larger. + 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. - - `route_to_destination_id: optional string or null` + - `updated_fields: optional array of string` - 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. + 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. - - `CcrAgentProxyRuleDeleted object` + - `CcrChannelManagerAdded object` - An agent proxy rule was deleted. + An org owner/admin assigned an organization member to manage the Claude-in-Slack configuration of one Slack channel. - - `type: optional "ccr_agent_proxy_rule_deleted"` + - `type: optional "ccr_channel_manager_added"` - default: ccr_agent_proxy_rule_deleted + default: ccr_channel_manager_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -147350,25 +151380,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 is 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 may now manage, 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 who was assigned. - - `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` @@ -147384,25 +151414,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"` + - `CcrChannelManagerRemoved object` - - `"deny"` + An org owner/admin removed an organization member's assignment to manage the Claude-in-Slack configuration of one Slack channel. - - `"require_approval"` + - `type: optional "ccr_channel_manager_removed"` - - `"unspecified"` + default: ccr_channel_manager_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -147610,69 +151628,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 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"` + - `agent_id: string` - - `"ssh"` + The channel's Claude agent (cagt_...) the assignment was recorded against. - - `"tcp"` + - `slack_channel_id: string` - - `"unspecified"` + The Slack channel the member managed, e.g. "C01ABC...". - - `rule_id: string` + - `slack_team_id: string` - The rule that was updated, e.g. "apr_01HX...". + The Slack workspace containing the channel, e.g. "T01ABC...". - - `version: number` + - `user_id: string` - The rule's version after the update; it increases by one on every update. + Tagged ID of the member whose assignment was removed. - `id: optional string` @@ -147684,32 +151654,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 @@ -147718,21 +151662,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` + - `CcrRoleChannelAssignmentDeleted object` - A Claude Code agent was granted access to read or write in an additional Slack channel beyond the one it is assigned to. + CcrRoleChannelAssignmentDeleted is emitted when an org owner/admin removes an RBAC role's channel assignment row (the role reverts to granting zero channels). - - `type: optional "ccr_agent_slack_access_scope_created"` + - `type: optional "ccr_role_channel_assignment_deleted"` - default: ccr_agent_slack_access_scope_created + default: ccr_role_channel_assignment_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -147940,21 +151876,13 @@ 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` - - Whether the grant includes permission to post messages in the channel, in addition to reading it. - - - `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 (team, channel) pairs the role was assigned before deletion. - - `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 removed. - `id: optional string` @@ -147974,13 +151902,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` + - `CcrRoleChannelAssignmentUpdated object` - A Claude Code agent's access to an additional Slack channel was revoked. + 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_deleted"` + - `type: optional "ccr_role_channel_assignment_updated"` - default: ccr_agent_slack_access_scope_deleted + default: ccr_role_channel_assignment_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -148188,22 +152116,26 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `agent_id: string` + - `channel_count: number` - The agent whose access was revoked, e.g. "cagt_01HX...". + Number of channels assigned after the write. - - `slack_channel_id: string` + - `previous_channel_count: number` - The Slack channel the agent's access was revoked from, e.g. "C01ABC...". Empty when the revoked grant covered 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. @@ -148218,13 +152150,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` + - `CcrSessionCreated object` - A Claude Code agent was assigned to a Slack channel or workspace as its dedicated agent. + A Claude Code session was created. A session is one coding interaction with Claude. - - `type: optional "ccr_agent_slack_binding_created"` + - `type: optional "ccr_session_created"` - default: ccr_agent_slack_binding_created + default: ccr_session_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -148432,22 +152364,18 @@ 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 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. @@ -148462,13 +152390,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` + - `CcrSessionDeleted object` - A Claude Code agent's assignment to a Slack channel or workspace was removed. + A Claude Code session was deleted. - - `type: optional "ccr_agent_slack_binding_deleted"` + - `type: optional "ccr_session_deleted"` - default: ccr_agent_slack_binding_deleted + default: ccr_session_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -148676,17 +152604,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 deleted, e.g. "cse_01HX...". - `id: optional string` @@ -148706,13 +152626,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). - - `CcrAgentUpdated object` + - `CcrSessionUpdated object` - 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. + A Claude Code session's settings were updated. - - `type: optional "ccr_agent_updated"` + - `type: optional "ccr_session_updated"` - default: ccr_agent_updated + default: ccr_session_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -148920,17 +152840,9 @@ 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` - - Whether default_source_urls was capped and omits some of the granted repositories. - - - `omitted_source_url_count: number` + - `session_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 session that was updated, e.g. "cse_01HX...". - `id: optional string` @@ -148942,14 +152854,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 @@ -148958,21 +152862,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). - - `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. + Names of the fields included in the update, e.g. "add_tags", "remove_tags". - - `CcrChannelManagerAdded object` + - `CcrSlackChannelJoined object` - An org owner/admin assigned an organization member to manage the Claude-in-Slack configuration of one Slack channel. + Claude's Slack app joined a public Slack channel at an organization administrator's request. - - `type: optional "ccr_channel_manager_added"` + - `type: optional "ccr_slack_channel_joined"` - default: ccr_channel_manager_added + default: ccr_slack_channel_joined - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -149180,22 +153080,14 @@ 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...". + The Slack channel the app joined, e.g. "C01ABC...". - `slack_team_id: string` The Slack workspace containing the channel, e.g. "T01ABC...". - - `user_id: string` - - Tagged ID of the member who was assigned. - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -149214,13 +153106,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` + - `ClaudeChatSettingsUpdated object` - An org owner/admin removed an organization member's assignment to manage the Claude-in-Slack configuration of one Slack channel. + User updated the settings for a conversation. - - `type: optional "ccr_channel_manager_removed"` + - `type: optional "claude_chat_settings_updated"` - default: ccr_channel_manager_removed + default: claude_chat_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -149428,21 +153320,249 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `agent_id: string` + - `claude_chat_id: string` - The channel's Claude agent (cagt_...) the assignment was recorded against. + Tagged ID of the conversation whose settings were updated, e.g. "claude_chat_01HX...". - - `slack_channel_id: string` + - `id: optional string` - The Slack channel the member managed, e.g. "C01ABC...". + Unique identifier for the activity e.g. 'activity_abcd1234' - - `slack_team_id: string` + - `claude_project_id: optional string or null` - The Slack workspace containing the channel, e.g. "T01ABC...". + Project ID this chat belongs to, if any - - `user_id: string` + - `created_at: optional string` - Tagged ID of the member whose assignment was removed. + 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). + + - `ClaudeChatSnapshotCreated object` + + User created/shared a chat snapshot. + + - `type: optional "claude_chat_snapshot_created"` + + default: claude_chat_snapshot_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` + + - `claude_chat_id: string` + + - `claude_chat_snapshot_id: string` - `id: optional string` @@ -149462,13 +153582,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` @@ -149676,18 +153796,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. @@ -149702,13 +153818,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` @@ -149916,25 +154032,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` @@ -149950,13 +154054,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` @@ -150164,17 +154268,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` @@ -150190,13 +154294,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` @@ -150404,9 +154522,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` @@ -150426,13 +154544,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` @@ -150640,9 +154758,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` @@ -150662,17 +154796,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` @@ -150880,13 +155010,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` @@ -150906,13 +155044,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` @@ -151120,17 +155258,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` @@ -151138,6 +155284,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 @@ -151146,13 +155296,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` @@ -151360,9 +155510,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` @@ -151374,6 +155536,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 @@ -151382,13 +155548,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` @@ -151596,14 +155766,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. @@ -151618,13 +155804,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` @@ -151832,14 +156032,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. @@ -151854,13 +156066,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` @@ -152070,11 +156292,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` @@ -152094,27 +156316,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` @@ -152322,9 +156530,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` @@ -152344,13 +156552,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` @@ -152558,30 +156766,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. @@ -152596,13 +156792,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` @@ -152810,26 +157006,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. @@ -152844,13 +157032,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` @@ -153058,21 +157246,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` @@ -153084,10 +157260,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 @@ -153096,13 +157268,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` @@ -153310,21 +157482,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` @@ -153336,10 +157500,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 @@ -153348,17 +157508,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` @@ -153566,25 +157726,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` @@ -153604,27 +157752,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` @@ -153832,26 +157966,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. @@ -153866,23 +157996,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` @@ -154090,18 +158214,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. @@ -154116,13 +158240,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` @@ -154332,12 +158456,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. @@ -154352,13 +158480,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` @@ -154566,17 +158694,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` @@ -154584,6 +158720,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 @@ -154592,13 +158736,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` @@ -154806,24 +158966,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 @@ -154832,13 +158996,49 @@ 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_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. + + - `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. + + - `ClaudeCodeReviewRepositoryAdded object` + + A repository was added to org-level Claude Code Review configuration. + + - `type: optional "claude_code_review_repository_added"` + + default: claude_code_review_repository_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -155046,9 +159246,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_chat_id: string` + - `config_id: string` - The chat conversation the user attempted to delete, e.g. "claude_chat_01HX...". + ID of the repository configuration + + - `repo_name: string` + + Repository name + + - `repo_owner: string` + + Repository owner (GitHub org/user) + + - `trigger_mode: string` + + When code review is triggered - `id: optional string` @@ -155068,13 +159280,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` + - `ClaudeCodeReviewRepositoryRemoved object` - A sync source was connected for syncing external content into Claude chats. + A repository was removed from org-level Claude Code Review configuration. - - `type: optional "claude_chat_sync_source_created"` + - `type: optional "claude_code_review_repository_removed"` - default: claude_chat_sync_source_created + default: claude_code_review_repository_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -155282,13 +159494,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 created. + ID of the deleted 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 at deletion time + + - `repo_owner: string` + + Repository owner at deletion time - `id: optional string` @@ -155308,17 +159524,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` + - `ClaudeCodeReviewRepositoryUpdated object` - A sync source was disconnected from Claude chats. + A Claude Code Review repository configuration was updated. - - `type: optional "claude_chat_sync_source_deleted"` + - `type: optional "claude_code_review_repository_updated"` - default: claude_chat_sync_source_deleted + default: claude_code_review_repository_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -155526,13 +159738,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 repository configuration - - `provider: string` + - `repo_name: string` - The external provider backing the sync source. Always `unspecified` for deletion events. + Repository name + + - `repo_owner: string` + + Repository owner - `id: optional string` @@ -155552,13 +159768,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). - - `ClaudeChatSyncSourceUpdated object` + - `status: optional string or null` - A Claude chat sync source's configuration was updated. + Updated status (ACTIVE/INACTIVE) - - `type: optional "claude_chat_sync_source_updated"` + - `trigger_mode: optional string or null` - default: claude_chat_sync_source_updated + 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` @@ -155766,22 +159990,14 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_chat_sync_source_id: string` - - Tagged ID of the chat-scoped sync source that was updated. - - - `provider: string` + - `runner_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 runner that was removed, e.g. "ccrunner_01HX...". - `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. @@ -155796,17 +160012,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). - - `resource_descriptor: optional string or null` + - `runner_pool_id: 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. + The pool the runner was removed from, e.g. "ccpool_01HX...". - - `ClaudeChatUpdated object` + - `ClaudeCodeRunnerPoolCreated object` - User updated the chat metadata (e.g name, model). + A self-hosted runner pool for Claude Code was created. - - `type: optional "claude_chat_updated"` + - `type: optional "claude_code_runner_pool_created"` - default: claude_chat_updated + default: claude_code_runner_pool_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -156014,17 +160230,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_chat_id: string` + - `display_name: string` - Tagged ID of the updated conversation, e.g. "claude_chat_01HX...". + 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` - Tagged ID of the project the chat belongs to, if any, e.g. "claude_proj_01HX...". + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -156040,13 +160256,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). - - `ClaudeChatViewed object` + - `ClaudeCodeRunnerPoolDeleted object` - A user viewed a Claude.ai chat conversation. + A self-hosted runner pool was deleted. - - `type: optional "claude_chat_viewed"` + - `type: optional "claude_code_runner_pool_deleted"` - default: claude_chat_viewed + default: claude_code_runner_pool_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -156254,24 +160470,24 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_chat_id: string` + - `runner_pool_id: string` - The chat conversation that was viewed, e.g. "claude_chat_01Ab...". + The runner pool that was deleted, e.g. "ccpool_01HX...". - `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. 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 @@ -156280,13 +160496,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` + - `ClaudeCodeRunnerPoolSecretMinted object` - A Claude Code credential (runner pool key, runner token, or session token) was revoked. The credential itself is never recorded. + 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_credential_revoked"` + - `type: optional "claude_code_runner_pool_secret_minted"` - default: claude_code_credential_revoked + default: claude_code_runner_pool_secret_minted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -156494,39 +160710,33 @@ 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"` + - `jti: string` - - `"runner_token"` + The minted key's unique identifier (its JWT `jti` claim), usable to revoke that key later. - - `"session_token"` + - `runner_pool_id: string` - - `"unspecified"` + The runner pool the key was minted for, 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` + - `expires_at: 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. + When the minted key expires. - - `jti: optional string or null` + format: date-time - 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. + - `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` @@ -156536,29 +160746,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_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` + - `ClaudeCodeRunnerPoolSessionQueueUpdated object` - The runner pool whose credentials were revoked, when revocation targeted every credential delegated from the pool, e.g. "ccpool_01HX...". + 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. - - `session_id: optional string or null` + - `type: optional "claude_code_runner_pool_session_queue_updated"` - The session whose credentials were revoked, when revocation targeted every credential delegated from the session, e.g. "cse_01HX...". + default: claude_code_runner_pool_session_queue_updated - - `user_id: optional string or null` + - `action: "dismissed" or "provisioning_retried" or "requeued" or "unspecified"` - 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. + What changed about the session's queue state. - - `ClaudeCodeReviewConfigUpdated object` + - `"dismissed"` - Claude Code Review configuration was enabled/disabled for an org. + - `"provisioning_retried"` - - `type: optional "claude_code_review_config_updated"` + - `"requeued"` - default: claude_code_review_config_updated + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -156766,9 +160972,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `enabled: boolean` + - `session_id: string` - Whether code review is now enabled + The session whose queue state changed, e.g. "cse_01HX...". - `id: optional string` @@ -156780,13 +160986,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `environment_id: optional string or null` - - Environment used for code review - - - `model: optional string or null` + - `excluded_runner_id: optional string or null` - Model configured for code review + The runner the session was moved off, when action is "requeued", e.g. "ccrunner_01HX...". - `organization_id: optional string or null` @@ -156796,49 +160998,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). - - `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_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. - - - `show_tips: optional boolean or null` - - Whether tip-style pull-request comments are now enabled - - - `verification_enabled: optional boolean or null` + - `runner_pool_id: optional string 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. + The runner pool whose queue the session is in, when known, e.g. "ccpool_01HX...". - - `ClaudeCodeReviewRepositoryAdded object` + - `ClaudeCodeRunnerPoolUpdated object` - A repository was added to org-level Claude Code Review configuration. + A self-hosted runner pool's settings were updated. - - `type: optional "claude_code_review_repository_added"` + - `type: optional "claude_code_runner_pool_updated"` - default: claude_code_review_repository_added + default: claude_code_runner_pool_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -157046,21 +161216,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` @@ -157080,13 +161242,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` @@ -157294,17 +161460,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` @@ -157316,6 +161474,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 @@ -157324,13 +161486,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` @@ -157538,17 +161700,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` @@ -157568,21 +161724,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). - - `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` @@ -157790,9 +161938,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` @@ -157812,17 +161964,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` @@ -158030,18 +162190,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. @@ -158056,13 +162230,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). - - `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. + + - `type: optional "claude_code_security_scan_project_updated"` + + default: claude_code_security_scan_project_updated + + - `action: "archived" or "created" or "migrated" or 3 more` + + The state change applied to the scan project. + + - `"archived"` + + - `"created"` + + - `"migrated"` + + - `"resumed"` + + - `"unarchived"` + + - `"unspecified"` - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -158270,24 +162464,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 @@ -158296,13 +162500,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` @@ -158510,33 +162724,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` @@ -158546,23 +162764,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"` @@ -158772,9 +162994,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` @@ -158786,10 +163008,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 @@ -158798,17 +163016,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` @@ -159016,13 +163230,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` @@ -159042,17 +163252,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` @@ -159260,9 +163466,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` @@ -159274,10 +163482,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 @@ -159286,13 +163490,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` @@ -159500,11 +163704,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` @@ -159524,13 +163730,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` @@ -159740,16 +163946,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. @@ -159764,23 +163984,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"` @@ -159990,38 +164212,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 @@ -160030,33 +164238,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. - - - `type: optional "claude_code_security_scan_project_updated"` - - default: claude_code_security_scan_project_updated - - - `action: "archived" or "created" or "migrated" or 3 more` - - The state change applied to the scan project. - - - `"archived"` - - - `"created"` - - - `"migrated"` + - `ClaudeCodeSecurityWebhookCreated object` - - `"resumed"` + A Claude Code Security outbound webhook was created. - - `"unarchived"` + - `type: optional "claude_code_security_webhook_created"` - - `"unspecified"` + default: claude_code_security_webhook_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -160264,28 +164452,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. @@ -160300,23 +164476,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` @@ -160524,32 +164694,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. @@ -160564,29 +164716,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` @@ -160794,9 +164934,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` @@ -160816,13 +164956,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` @@ -161030,9 +165174,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` @@ -161052,13 +165196,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` @@ -161266,16 +165424,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. @@ -161290,13 +165450,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` @@ -161504,13 +165668,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` @@ -161522,6 +165682,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 @@ -161530,13 +165710,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` @@ -161744,37 +165948,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` @@ -161784,27 +165982,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` @@ -162012,9 +166200,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` @@ -162026,9 +166214,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` @@ -162038,13 +166242,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` @@ -162252,11 +166460,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` @@ -162268,6 +166474,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 @@ -162276,17 +166502,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` @@ -162494,9 +166724,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` @@ -162508,6 +166738,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 @@ -162516,17 +166766,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` @@ -162734,9 +166984,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` @@ -162748,6 +166998,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 @@ -162756,17 +167026,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` @@ -162974,10 +167254,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' @@ -162996,27 +167272,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` @@ -163224,17 +167486,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` @@ -163250,17 +167516,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` @@ -163468,39 +167736,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` @@ -163510,37 +167770,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` @@ -163748,31 +167990,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` @@ -163782,17 +168020,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. + - `ClaudePluginArchiveAccessed object` - - `type: optional "claude_code_user_marketplaces_updated"` + A version archive of a member-owned plugin, containing that member's own files, was downloaded. - default: claude_code_user_marketplaces_updated + - `type: optional "claude_plugin_archive_accessed"` + + default: claude_plugin_archive_accessed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -164000,39 +168240,31 @@ 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' - - - `created_at: optional string` + - `marketplace_id: string` - When this activity occurred. + The member's personal marketplace the plugin belongs to. - format: date-time + - `owner_user_id: string` - - `keys_deleted: optional array of string` + The member who owns the plugin. - Withdrawn — never populated. See `keys_deleted_count`. + - `plugin_id: string` - - `keys_deleted_count: optional number or null` + The plugin whose archive was downloaded. - Number of marketplace selections removed. + - `plugin_version_id: string` - - `keys_written: optional array of string` + The version whose archive was downloaded. - Withdrawn — never populated. See `keys_written_count`. + - `id: optional string` - - `keys_written_count: optional number or null` + Unique identifier for the activity e.g. 'activity_abcd1234' - Number of marketplace selections added or whose source changed. + - `created_at: optional string` - - `new_value: optional string or null` + When this activity occurred. - Withdrawn — never populated. + format: date-time - `organization_id: optional string or null` @@ -164042,17 +168274,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` - - Withdrawn — never populated. - - - `ClaudeCodeUserMemoryUpdated object` + - `ClaudePluginDownloaded object` - A user's synced private Claude Code memory was updated or deleted on Anthropic servers. + 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_code_user_memory_updated"` + - `type: optional "claude_plugin_downloaded"` - default: claude_code_user_memory_updated + default: claude_plugin_downloaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -164260,9 +168488,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `deleted_all: boolean` + - `marketplace_id: string` - True when the user's entire synced memory for this scope was deleted in one request. + The marketplace the plugin belongs to. + + - `plugin_id: string` + + The plugin that was downloaded. - `id: optional string` @@ -164274,26 +168506,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 @@ -164302,21 +168514,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). - - `previous_checksum: optional string or null` + - `plugin_version_id: optional string or null` - Checksum of the user's synced memory before this change; null when the store did not exist. + The version whose archive was downloaded; unset for a plugin that predates version records. - - `repo: optional string or null` + - `reason: optional "first_delivery" or "unspecified" or "user_action" or null` - Withdrawn — never populated. + Why this download was recorded: the member's explicit action, or the archive's first delivery to them. - - `ClaudeCodeUserPluginsUpdated object` + - `"first_delivery"` - A user's Claude Code plugin selections — which plugins are installed and enabled — were updated on Anthropic servers. + - `"unspecified"` - - `type: optional "claude_code_user_plugins_updated"` + - `"user_action"` - default: claude_code_user_plugins_updated + - `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` @@ -164524,39 +168742,43 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `deleted_all: boolean` + - `marketplace_id: string` - True when all of the user's plugin selections were removed in one request. + The marketplace the plugin belongs to. - - `id: optional string` + - `plugin_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The plugin whose served version was updated. - - `created_at: optional string` + - `to_plugin_version_id: string` - When this activity occurred. + The served version after the update. - format: date-time + - `trigger: "library_publish" or "manual" or "save" or "unspecified"` - - `keys_deleted: optional array of string` + What caused the update. - Withdrawn — never populated. See `keys_deleted_count`. + - `"library_publish"` - - `keys_deleted_count: optional number or null` + - `"manual"` - Number of plugin selections removed. + - `"save"` - - `keys_written: optional array of string` + - `"unspecified"` - Withdrawn — never populated. See `keys_written_count`. + - `id: optional string` - - `keys_written_count: optional number or null` + Unique identifier for the activity e.g. 'activity_abcd1234' - 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 + + - `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` @@ -164566,17 +168788,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` + - `ClaudePluginVersionCreated object` - 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. + A new version of a plugin was created. - - `ClaudeCodeUserSettingsUpdated object` + - `type: optional "claude_plugin_version_created"` - A user's synced Claude Code settings were updated or deleted on Anthropic servers. - - - `type: optional "claude_code_user_settings_updated"` - - default: claude_code_user_settings_updated + default: claude_plugin_version_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -164784,69 +169002,63 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `deleted_all: boolean` - - True when the user's entire synced settings store was deleted in one request. - - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' + - `is_initial_version: boolean` - - `created_at: optional string` + Whether this version also created the plugin (its first version). - When this activity occurred. + - `marketplace_id: string` - format: date-time + The marketplace the plugin belongs to. - - `keys_deleted: optional array of string` + - `origin: "library_publish" or "marketplace_sync" or "unspecified" or "upload"` - Withdrawn — never populated. See `keys_deleted_count`. + How the version came to exist. - - `keys_deleted_count: optional number or null` + - `"library_publish"` - Number of settings entries removed. + - `"marketplace_sync"` - - `keys_written: optional array of string` + - `"unspecified"` - Withdrawn — never populated. See `keys_written_count`. + - `"upload"` - - `keys_written_count: optional number or null` + - `plugin_id: string` - Number of settings entries created or updated. + The plugin that gained a version. - - `new_checksum: optional string or null` + - `plugin_version_id: string` - Checksum of the user's synced settings after this change. + The new version. - - `organization_id: optional string or null` + - `id: optional string` - Organization ID this activity is associated with + Unique identifier for the activity e.g. 'activity_abcd1234' - - `organization_uuid: optional string or null` + - `became_served_version: 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). + 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. - - `previous_checksum: optional string or null` + - `created_at: optional string` - Checksum of the user's synced settings before this change; null when the store did not exist. + When this activity occurred. - - `ClaudeEnterpriseUpgradeCreditUpdated object` + format: date-time - 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. + - `organization_id: optional string or null` - - `type: optional "claude_enterprise_upgrade_credit_updated"` + Organization ID this activity is associated with - default: claude_enterprise_upgrade_credit_updated + - `organization_uuid: optional string or null` - - `action: "cancelled" or "resumed" 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). - Whether the credit was cancelled or turned back on + - `ClaudeProjectSyncSourceCreated object` - - `"cancelled"` + A sync source was connected to a Claude project's knowledge base. - - `"resumed"` + - `type: optional "claude_project_sync_source_created"` - - `"unspecified"` + default: claude_project_sync_source_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -165054,6 +169266,18 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` + - `claude_project_id: string` + + Tagged ID of the project the sync source was connected to. + + - `claude_project_sync_source_id: string` + + Tagged ID of the per-project sync source that was created. + + - `provider: string` + + 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' @@ -165072,13 +169296,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). - - `ClaudeFileAccessFailed object` + - `resource_descriptor: optional string or null` - A user was denied access to a file in Claude.ai. + 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. - - `type: optional "claude_file_access_failed"` + - `ClaudeProjectSyncSourceDeleted object` - default: claude_file_access_failed + 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 - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -165286,21 +169514,21 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_file_id: string` + - `claude_project_id: string` - The file the user was denied access to, e.g. "claude_file_01HX...". + Tagged ID of the project the sync source was disconnected from. - - `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 deleted. - - `claude_artifact_id: optional string or null` + - `provider: string` - The artifact the file was accessed through, if any, e.g. "claude_artifact_01HX...". + The external provider backing the sync source. Always `unspecified` for deletion events. - - `claude_project_id: optional string or null` + - `id: optional string` - The project the file was accessed through, if any, e.g. "claude_proj_01HX...". + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -165316,19 +169544,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` + - `ClaudeProjectSyncSourceUpdated object` - A file was exported from Claude to an external storage destination. + A Claude project sync source's configuration was updated. - - `type: optional "claude_file_exported"` + - `type: optional "claude_project_sync_source_updated"` - default: claude_file_exported + default: claude_project_sync_source_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -165536,25 +169758,25 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `export_destination: "google_drive" or "unspecified"` + - `claude_project_id: string` - The external destination the file was exported to. + Tagged ID of the project the sync source belongs to. - - `"google_drive"` + - `claude_project_sync_source_id: string` - - `"unspecified"` + Tagged ID of the per-project sync source that was updated. - - `id: optional string` + - `provider: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The external provider backing the sync source, e.g. `github`, `google_drive`, `outline`, `slack`, `salesforce`, `google_calendar`, `gmail`, `asana`, or `mcp_resources`. - - `claude_chat_id: optional string or null` + - `id: optional string` - The chat conversation the file was exported from, if the export originated in a chat, e.g. "claude_chat_01HX...". + Unique identifier for the activity e.g. 'activity_abcd1234' - - `claude_file_id: optional string or null` + - `config_changed: optional boolean 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. + 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` @@ -165570,19 +169792,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** + - `resource_descriptor: optional string or null` - 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. + 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. - - `ClaudeFileViewed object` + - `ClaudeSkillDownloaded object` - A user viewed a file in Claude.ai. + 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_file_viewed"` + - `type: optional "claude_skill_downloaded"` - default: claude_file_viewed + default: claude_skill_downloaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -165790,21 +170010,25 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_file_id: string` + - `download_kind: "bundle" or "file" or "instructions" or "unspecified"` - The file that was viewed, e.g. "claude_file_01HX...". + Whether the whole bundle, one file, or only the instructions were downloaded. - - `id: optional string` + - `"bundle"` - Unique identifier for the activity e.g. 'activity_abcd1234' + - `"file"` - - `claude_artifact_id: optional string or null` + - `"instructions"` - The artifact the file was accessed through, if any, e.g. "claude_artifact_01HX...". + - `"unspecified"` - - `claude_project_id: optional string or null` + - `skill_id: string` - The project the file was accessed through, if any, e.g. "claude_proj_01HX...". + The skill that was downloaded. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -165812,6 +170036,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -165820,19 +170048,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). - - `filename: optional string or null` + - `owner_user_id: optional string or null` - **Deprecated** + The member who owns the skill; unset for an organization-owned skill. - Deprecated — DO NOT USE. Always empty; the file's display name is intentionally omitted. + - `plugin_id: optional string or null` - - `ClaudePluginArchiveAccessed object` + The plugin that carries the skill; unset for a standalone skill. - A version archive of a member-owned plugin, containing that member's own files, was downloaded. + - `scope: optional "organization" or "personal" or "unspecified" or null` - - `type: optional "claude_plugin_archive_accessed"` + Whether the skill is a member's own or the organization's. - default: claude_plugin_archive_accessed + - `"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` @@ -166040,21 +170288,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `marketplace_id: string` - - 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` + - `survey_id: string` - The version whose archive was downloaded. + Tagged ID of the closed survey, e.g. "srvy_01HX...". - `id: optional string` @@ -166074,13 +170310,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). - - `ClaudePluginDownloaded object` + - `ClaudeSurveyCreated object` - 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. + An organization admin launched an in-app survey to its chosen audience, opening it immediately or at a scheduled start time. - - `type: optional "claude_plugin_downloaded"` + - `type: optional "claude_survey_created"` - default: claude_plugin_downloaded + default: claude_survey_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -166288,18 +170524,34 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `marketplace_id: string` + - `all_members: boolean` - The marketplace the plugin belongs to. + 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. - - `plugin_id: string` + - `survey_id: string` - The plugin that was downloaded. + 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' + - `audience_cost_centers: optional array of string` + + 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` When this activity occurred. @@ -166314,27 +170566,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). - - `plugin_version_id: optional string or null` - - The version whose archive was downloaded; unset for a plugin that predates version records. - - - `reason: optional "first_delivery" or "unspecified" or "user_action" or null` - - Why this download was recorded: the member's explicit action, or the archive's first delivery to them. - - - `"first_delivery"` - - - `"unspecified"` - - - `"user_action"` - - - `ClaudeProjectSyncSourceCreated object` + - `ClaudeSurveyDeleted object` - A sync source was connected to a Claude project's knowledge base. + An organization admin permanently deleted a closed in-app survey together with every response collected for it. - - `type: optional "claude_project_sync_source_created"` + - `type: optional "claude_survey_deleted"` - default: claude_project_sync_source_created + default: claude_survey_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -166542,17 +170780,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_project_id: string` - - Tagged ID of the project the sync source was connected to. - - - `claude_project_sync_source_id: string` + - `response_count: number` - Tagged ID of the per-project sync source that was created. + The number of submitted responses that were deleted with the survey. - - `provider: string` + - `survey_id: string` - The external provider backing the sync source, e.g. `github`, `google_drive`, `outline`, `slack`, `salesforce`, `google_calendar`, `gmail`, `asana`, or `mcp_resources`. + Tagged ID of the deleted survey, e.g. "srvy_01HX...". - `id: optional string` @@ -166572,17 +170806,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. - - - `ClaudeProjectSyncSourceDeleted object` + - `ClaudeSurveyResponseSubmitted object` - A sync source was disconnected from a Claude project's knowledge base. + 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 "claude_project_sync_source_deleted"` + - `type: optional "claude_survey_response_submitted"` - default: claude_project_sync_source_deleted + default: claude_survey_response_submitted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -166790,17 +171020,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_project_id: string` - - 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` + - `survey_id: string` - The external provider backing the sync source. Always `unspecified` for deletion events. + Tagged ID of the survey that was answered, e.g. "srvy_01HX...". - `id: optional string` @@ -166820,13 +171042,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` + - `ClaudeSurveyResponsesExported object` - A Claude project sync source's configuration was updated. + 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 "claude_project_sync_source_updated"` + - `type: optional "claude_survey_responses_exported"` - default: claude_project_sync_source_updated + default: claude_survey_responses_exported - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -167034,26 +171256,18 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_project_id: string` - - Tagged ID of the project the sync source belongs to. - - - `claude_project_sync_source_id: string` + - `response_count: number` - Tagged ID of the per-project sync source that was updated. + The number of submitted responses included in the export. - - `provider: string` + - `survey_id: string` - The external provider backing the sync source, e.g. `github`, `google_drive`, `outline`, `slack`, `salesforce`, `google_calendar`, `gmail`, `asana`, or `mcp_resources`. + Tagged ID of the exported survey, e.g. "srvy_01HX...". - `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. @@ -167068,17 +171282,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 after the update, e.g. `owner/repo` for GitHub or a file ID for Google Drive. - - - `ClaudeSkillDownloaded object` + - `ClaudeUserSeatTierUpdated 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. + 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 "claude_skill_downloaded"` + - `type: optional "claude_user_seat_tier_updated"` - default: claude_skill_downloaded + default: claude_user_seat_tier_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -167286,21 +171496,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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"` - - - `"file"` - - - `"instructions"` + - `user_email: string` - - `"unspecified"` + Email address of the member at the time of the change. - - `skill_id: string` + - `user_id: string` - The skill that was downloaded. + Tagged ID of the member whose seat tier changed. - `id: optional string` @@ -167312,9 +171514,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `marketplace_id: optional string or null` + - `current_seat_tier: optional string or null` - The marketplace of the plugin that carries the skill; unset for a standalone skill. + The member's seat tier after this change, or null if the seat was removed. - `organization_id: optional string or null` @@ -167324,39 +171526,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). - - `owner_user_id: optional string or null` - - The member who owns the skill; unset for an organization-owned skill. - - - `plugin_id: optional string or null` - - 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` + - `previous_seat_tier: optional string or null` - The version that was downloaded; unset for an unversioned skill. + The member's seat tier before this change, or null if no seat was assigned. - - `ClaudeSurveyClosed object` + - `CliPluginExecPolicyUpdated 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. + Admin set or cleared the per-op permission ceiling for a plugin CLI. - - `type: optional "claude_survey_closed"` + - `type: optional "cli_plugin_exec_policy_updated"` - default: claude_survey_closed + default: cli_plugin_exec_policy_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -167564,9 +171744,25 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `survey_id: string` + - `cli_name: string` - Tagged ID of the closed survey, e.g. "srvy_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` @@ -167578,6 +171774,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -167586,13 +171786,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). - - `ClaudeSurveyCreated object` + - `previous_max_permission: optional string or null` - An organization admin launched an in-app survey to its chosen audience, opening it immediately or at a scheduled start time. + Max permission the op had before this change ('allow' | 'ask' | 'blocked'), or null when no policy existed for the op - - `type: optional "claude_survey_created"` + - `ClaudeCommandCreated object` - default: claude_survey_created + Command was created. + + - `type: optional "claude_command_created"` + + default: claude_command_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -167800,33 +172004,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' - - `audience_cost_centers: optional array of string` - - 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` + - `command_id: optional string or null` - Tagged IDs of the groups the survey was opened to, e.g. "rbac_group_01HX...". + - `command_name: optional string or null` - `created_at: optional string` @@ -167842,13 +172026,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). - - `ClaudeSurveyDeleted object` + - `ClaudeCommandDeleted object` - An organization admin permanently deleted a closed in-app survey together with every response collected for it. + Command was deleted. - - `type: optional "claude_survey_deleted"` + - `type: optional "claude_command_deleted"` - default: claude_survey_deleted + default: claude_command_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -168056,18 +172240,14 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `response_count: number` - - The number of submitted responses that were deleted with the survey. - - - `survey_id: string` - - Tagged ID of the deleted survey, e.g. "srvy_01HX...". - - `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. @@ -168082,13 +172262,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). - - `ClaudeSurveyResponseSubmitted object` + - `ClaudeCommandReplaced 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. + Command was replaced. - - `type: optional "claude_survey_response_submitted"` + - `type: optional "claude_command_replaced"` - default: claude_survey_response_submitted + default: claude_command_replaced - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -168296,14 +172476,14 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `survey_id: string` - - Tagged ID of the survey that was answered, e.g. "srvy_01HX...". - - `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. @@ -168318,13 +172498,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). - - `ClaudeSurveyResponsesExported object` + - `ComplianceAPIAccessed 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. + Logging event auto-generated for each compliance API request. - - `type: optional "claude_survey_responses_exported"` + - `type: optional "compliance_api_accessed"` - default: claude_survey_responses_exported + default: compliance_api_accessed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -168532,13 +172712,31 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `response_count: number` + - `request_id: string` - The number of submitted responses included in the export. + Identifier of the request, as returned in the response's request-id header - - `survey_id: string` + - `request_method: "DELETE" or "GET" or "POST" or 2 more` - Tagged ID of the exported survey, e.g. "srvy_01HX...". + 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` @@ -168558,13 +172756,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). - - `ClaudeUserSeatTierUpdated object` + - `request_body: optional string or null` - 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. + Serialized JSON request body - - `type: optional "claude_user_seat_tier_updated"` + - `CoworkSessionUpdated object` - default: claude_user_seat_tier_updated + A Cowork session was updated. + + - `type: optional "cowork_session_updated"` + + default: cowork_session_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -168772,28 +172974,24 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `user_email: string` - - Email address of the member at the time of the change. - - - `user_id: string` + - `cowork_session_id: string` - Tagged ID of the member whose seat tier changed. + 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. 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 @@ -168802,17 +173000,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_seat_tier: optional string or null` - - The member's seat tier before this change, or null if no seat was assigned. - - - `CliPluginExecPolicyUpdated object` + - `DesignProjectArtifactPublished object` - Admin set or cleared the per-op permission ceiling for a plugin CLI. + 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 "cli_plugin_exec_policy_updated"` + - `type: optional "design_project_artifact_published"` - default: cli_plugin_exec_policy_updated + default: design_project_artifact_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -169020,25 +173214,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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` - - Op name (or '*' for the per-CLI default) - - - `plugin_id: string` - - Plugin ID resolved from the URL - - - `plugin_name: string` + - `design_project_id: string` - Plugin name within its marketplace + The Design project whose content was published, e.g. "design_proj_01HX...". - `id: optional string` @@ -169050,9 +173228,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `max_permission: optional string or null` + - `is_public: optional boolean or null` - New max_permission value ('allow' | 'ask' | 'blocked'), or null when cleared + 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` @@ -169062,17 +173240,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_max_permission: optional string or null` + - `project_type: optional string or null` - Max permission the op had before this change ('allow' | 'ask' | 'blocked'), or null when no policy existed for the op + The project's type: "project", "template", or "design_system". - - `ClaudeCommandCreated object` + - `DesignProjectCreated object` - Command was created. + A Claude Design project was created. - - `type: optional "claude_command_created"` + - `type: optional "design_project_created"` - default: claude_command_created + default: design_project_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -169280,13 +173458,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `id: optional string` + - `creation_method: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + How the project was created: "direct", "duplicate", "remix", or "template_from_project". - - `command_id: optional string or null` + - `design_project_id: string` - - `command_name: optional string or null` + The Design project that was created, e.g. "design_proj_01HX...". + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -169302,13 +173484,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). - - `ClaudeCommandDeleted object` + - `project_type: optional string or null` - Command was deleted. + The project type: "project", "template", or "design_system". - - `type: optional "claude_command_deleted"` + - `source_project_id: optional string or null` - default: claude_command_deleted + The source project this was created from, when created via duplicate, remix, or template-from-project. Unset for direct creation. + + - `DesignProjectDeleted object` + + A Claude Design project was deleted. + + - `type: optional "design_project_deleted"` + + default: design_project_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -169516,13 +173706,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `id: optional string` + - `design_project_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The Design project that was deleted, e.g. "design_proj_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` @@ -169538,13 +173728,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). - - `ClaudeCommandReplaced object` + - `DesignProjectMemberAdded object` - Command was replaced. + A member was granted access to a Claude Design project. - - `type: optional "claude_command_replaced"` + - `type: optional "design_project_member_added"` - default: claude_command_replaced + default: design_project_member_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -169752,13 +173942,25 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `id: optional string` + - `design_project_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + The Design project the member was added to, e.g. "design_proj_01HX...". - - `command_id: optional string or null` + - `principal_id: string` - - `command_name: optional string or null` + 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' - `created_at: optional string` @@ -169774,13 +173976,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). - - `ComplianceAPIAccessed object` + - `project_type: optional string or null` - Logging event auto-generated for each compliance API request. + The project's type: "project", "template", or "design_system". - - `type: optional "compliance_api_accessed"` + - `DesignProjectMemberRemoved object` - default: compliance_api_accessed + A member's access to a Claude Design project was revoked. + + - `type: optional "design_project_member_removed"` + + default: design_project_member_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -169988,31 +174194,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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"` + - `design_project_id: string` - - `"unspecified"` + The Design project the member was removed from, e.g. "design_proj_01HX...". - - `status_code: number` + - `principal_id: string` - HTTP status code + 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". - - `url: string` + - `principal_type: string` - Full URL that was requested, including any query 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` @@ -170032,17 +174224,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). - - `request_body: optional string or null` + - `project_type: optional string or null` - Serialized JSON request body + The project's type: "project", "template", or "design_system". - - `CoworkSessionUpdated object` + - `DesignProjectMemberRoleUpdated object` - A Cowork session was updated. + A Claude Design project member's role was changed. - - `type: optional "cowork_session_updated"` + - `type: optional "design_project_member_role_updated"` - default: cowork_session_updated + default: design_project_member_role_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -170250,17 +174442,25 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `cowork_session_id: string` + - `design_project_id: string` - Tagged ID of the updated session, e.g. "sess_01HX...". + The Design project the member belongs to, e.g. "design_proj_01HX...". - - `id: optional string` + - `principal_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + 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". - - `claude_project_id: optional string or null` + - `principal_type: string` - 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. + 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' - `created_at: optional string` @@ -170276,13 +174476,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). - - `DesignProjectArtifactPublished object` + - `previous_role: optional string or null` - 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. + The member's role before the change. - - `type: optional "design_project_artifact_published"` + - `project_type: optional string or null` - default: design_project_artifact_published + 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` @@ -170492,7 +174700,7 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `design_project_id: string` - The Design project whose content was published, e.g. "design_proj_01HX...". + The Design project that was published, e.g. "design_proj_01HX...". - `id: optional string` @@ -170504,10 +174712,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -170518,15 +174722,15 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `project_type: optional string or null` - The project's type: "project", "template", or "design_system". + The project's type: "template" or "design_system". - - `DesignProjectCreated object` + - `DesignProjectSharingUpdated object` - A Claude Design project was created. + 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 "design_project_created"` + - `type: optional "design_project_sharing_updated"` - default: design_project_created + default: design_project_sharing_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -170734,13 +174938,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `creation_method: string` + - `design_project_id: string` - How the project was created: "direct", "duplicate", "remix", or "template_from_project". + The Design project whose sharing settings changed, e.g. "design_proj_01HX...". - - `design_project_id: string` + - `new_link_permission: string` - The Design project that was created, e.g. "design_proj_01HX...". + 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` @@ -170760,21 +174968,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). - - `project_type: optional string or null` + - `previous_link_permission: optional string or null` - The project type: "project", "template", or "design_system". + What people opening the project through its link could do before the change. - - `source_project_id: optional string or null` + - `previous_scope: optional string or null` - The source project this was created from, when created via duplicate, remix, or template-from-project. Unset for direct creation. + 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. - - `DesignProjectDeleted object` + - `project_type: optional string or null` - A Claude Design project was deleted. + The project's type: "project", "template", or "design_system". - - `type: optional "design_project_deleted"` + - `DesignProjectUnpublished object` - default: design_project_deleted + 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` @@ -170984,7 +175196,7 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `design_project_id: string` - The Design project that was deleted, e.g. "design_proj_01HX...". + The Design project that was unpublished, e.g. "design_proj_01HX...". - `id: optional string` @@ -171004,13 +175216,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). - - `DesignProjectMemberAdded object` + - `project_type: optional string or null` - A member was granted access to a Claude Design project. + The project's type: "template" or "design_system". - - `type: optional "design_project_member_added"` + - `DesignProjectUpdated object` - default: design_project_member_added + 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` @@ -171220,19 +175436,7 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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. + The Design project that was updated, e.g. "design_proj_01HX...". - `id: optional string` @@ -171254,15 +175458,19 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `project_type: optional string or null` - The project's type: "project", "template", or "design_system". + The project's type after the update: "project", "template", or "design_system". Present only when the update changed it. - - `DesignProjectMemberRemoved object` + - `updated_fields: optional array of string` - A member's access to a Claude Design project was revoked. + Names of the fields changed by this update, e.g. "name", "description", "project_type", "design_systems". - - `type: optional "design_project_member_removed"` + - `DesignProjectVersionRestored object` - default: design_project_member_removed + 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` @@ -171472,15 +175680,7 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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). + The Design project that was restored, e.g. "design_proj_01HX...". - `id: optional string` @@ -171504,13 +175704,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ The project's type: "project", "template", or "design_system". - - `DesignProjectMemberRoleUpdated object` + - `DesignProjectViewed object` - A Claude Design project member's role was changed. + 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. - - `type: optional "design_project_member_role_updated"` + 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. - default: design_project_member_role_updated + - `type: optional "design_project_viewed"` + + default: design_project_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -171720,24 +175924,20 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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). + The Design project whose content was read, e.g. "design_proj_01HX...". - - `role: string` + - `surface: string` - The member's role after the change: "viewer", "commenter", or "editor". + 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. @@ -171752,21 +175952,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` - - The member's role before the change. - - `project_type: optional string or null` The project's type: "project", "template", or "design_system". - - `DesignProjectPublished object` + - `DesktopExtensionAllowlisted object` - A Claude Design template or design system was published, making it discoverable by everyone in its organization. + A desktop extension was added to an org's allowlist. - - `type: optional "design_project_published"` + - `type: optional "desktop_extension_allowlisted"` - default: design_project_published + default: desktop_extension_allowlisted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -171974,14 +176170,26 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `design_project_id: string` + - `extension_id: string` - The Design project that was published, e.g. "design_proj_01HX...". + Allowlisted DXT extension ID - `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. @@ -171996,17 +176204,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). - - `project_type: optional string or null` - - The project's type: "template" or "design_system". - - - `DesignProjectSharingUpdated object` + - `DesktopExtensionBlocklisted 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 desktop extension was added to the global blocklist. - - `type: optional "design_project_sharing_updated"` + - `type: optional "desktop_extension_blocklisted"` - default: design_project_sharing_updated + default: desktop_extension_blocklisted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -172214,17 +176418,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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` + - `extension_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. + Blocklisted DXT extension ID - `id: optional string` @@ -172244,25 +176440,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_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` + - `DesktopExtensionDeleted object` - A Claude Design template or design system was unpublished, removing it from its organization's shared gallery. + A desktop extension was deleted, either globally by an admin or org-scoped by an org owner. - - `type: optional "design_project_unpublished"` + - `type: optional "desktop_extension_deleted"` - default: design_project_unpublished + default: desktop_extension_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -172470,9 +176654,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `design_project_id: string` + - `extension_id: string` - The Design project that was unpublished, e.g. "design_proj_01HX...". + DXT extension ID - `id: optional string` @@ -172492,17 +176676,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). - - `project_type: optional string or null` + - `version: optional string or null` - The project's type: "template" or "design_system". + Specific version deleted (null if all versions) - - `DesignProjectUpdated object` + - `DesktopExtensionRemovedFromAllowlist object` - A Claude Design project's metadata was updated. + A desktop extension was removed from an org's allowlist. - - `type: optional "design_project_updated"` + - `type: optional "desktop_extension_removed_from_allowlist"` - default: design_project_updated + default: desktop_extension_removed_from_allowlist - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -172710,9 +176894,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `design_project_id: string` + - `extension_id: string` - The Design project that was updated, e.g. "design_proj_01HX...". + DXT extension ID removed from allowlist - `id: optional string` @@ -172732,21 +176916,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). - - `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. - - - `updated_fields: optional array of string` - - Names of the fields changed by this update, e.g. "name", "description", "project_type", "design_systems". - - - `DesignProjectVersionRestored object` + - `DesktopExtensionUnblocked 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 desktop extension was removed from the global blocklist. - - `type: optional "design_project_version_restored"` + - `type: optional "desktop_extension_unblocked"` - default: design_project_version_restored + default: desktop_extension_unblocked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -172954,9 +177130,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `design_project_id: string` + - `extension_id: string` - The Design project that was restored, e.g. "design_proj_01HX...". + Unblocked DXT extension ID - `id: optional string` @@ -172976,21 +177152,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). - - `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. + - `DesktopExtensionUploaded 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 desktop extension was uploaded, either globally by an admin or org-scoped by an org owner. - - `type: optional "design_project_viewed"` + - `type: optional "desktop_extension_uploaded"` - default: design_project_viewed + default: desktop_extension_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -173198,21 +177366,29 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `design_project_id: string` + - `extension_id: string` - The Design project whose content was read, e.g. "design_proj_01HX...". + DXT extension ID - - `surface: string` + - `version: 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). + Version string from the manifest - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' - - `access_via: optional string or null` + - `attestations: optional array of object` - 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). + 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` @@ -173228,17 +177404,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). - - `project_type: optional string or null` - - The project's type: "project", "template", or "design_system". - - - `DesktopExtensionAllowlisted object` + - `DesktopExtensionVersionUploaded object` - A desktop extension was added to an org's allowlist. + A new version of an existing org-owned desktop extension was uploaded. - - `type: optional "desktop_extension_allowlisted"` + - `type: optional "desktop_extension_version_uploaded"` - default: desktop_extension_allowlisted + default: desktop_extension_version_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -173448,7 +177620,11 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `extension_id: string` - Allowlisted DXT extension ID + DXT extension ID + + - `version: string` + + Version string from the manifest - `id: optional string` @@ -173480,13 +177656,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). - - `DesktopExtensionBlocklisted object` + - `InferenceHooksConfigDeleted object` - A desktop extension was added to the global blocklist. + Inference hooks configuration was removed for the organization. - - `type: optional "desktop_extension_blocklisted"` + - `type: optional "inference_hooks_config_deleted"` - default: desktop_extension_blocklisted + default: inference_hooks_config_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -173694,10 +177870,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `extension_id: string` - - Blocklisted DXT extension ID - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -173716,13 +177888,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). - - `DesktopExtensionDeleted object` + - `InferenceHooksConfigUpdated object` - A desktop extension was deleted, either globally by an admin or org-scoped by an org owner. + Inference hooks configuration was created or updated for the organization. - - `type: optional "desktop_extension_deleted"` + - `type: optional "inference_hooks_config_updated"` - default: desktop_extension_deleted + default: inference_hooks_config_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -173930,9 +178102,29 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `extension_id: string` + - `enabled: boolean` - DXT extension ID + 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` + + 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` @@ -173944,6 +178136,18 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -173952,17 +178156,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). - - `version: optional string or null` + - `reset_circuit_breaker: optional boolean or null` - Specific version deleted (null if all versions) + 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. - - `DesktopExtensionRemovedFromAllowlist object` + - `rollout_percentage: optional number or null` - A desktop extension was removed from an org's allowlist. + 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. - - `type: optional "desktop_extension_removed_from_allowlist"` + - `shadow_mode: optional boolean or null` - default: desktop_extension_removed_from_allowlist + 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` + + 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` @@ -174170,9 +178386,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `extension_id: string` + - `rotated: boolean` - DXT extension ID removed from allowlist + 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` @@ -174192,13 +178408,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). - - `DesktopExtensionUnblocked object` + - `DomainClaimInitiated object` - A desktop extension was removed from the global blocklist. + Domain capture claim initiated over personal accounts on verified domains. - - `type: optional "desktop_extension_unblocked"` + - `type: optional "domain_claim_initiated"` - default: desktop_extension_unblocked + default: domain_claim_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -174406,10 +178622,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -174428,13 +178640,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). - - `DesktopExtensionUploaded object` + - `EndUserInviteRequested object` - A desktop extension was uploaded, either globally by an admin or org-scoped by an org owner. + Non-admin member submitted an invite request for a new org member. - - `type: optional "desktop_extension_uploaded"` + - `type: optional "end_user_invite_requested"` - default: desktop_extension_uploaded + default: end_user_invite_requested - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -174642,30 +178854,12 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `extension_id: string` - - DXT extension ID - - - `version: string` - - Version string from the manifest + - `invitee_email: string` - `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. @@ -174680,13 +178874,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). - - `DesktopExtensionVersionUploaded object` + - `ExtraUsageBillingEnabled object` - A new version of an existing org-owned desktop extension was uploaded. + Usage credit billing was enabled for an organization. - - `type: optional "desktop_extension_version_uploaded"` + - `type: optional "extra_usage_billing_enabled"` - default: desktop_extension_version_uploaded + default: extra_usage_billing_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -174894,30 +179088,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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. @@ -174932,13 +179106,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). - - `InferenceHooksConfigDeleted object` + - `ExtraUsageCreditGranted object` - Inference hooks configuration was removed for the organization. + A promotional usage credit grant was claimed. - - `type: optional "inference_hooks_config_deleted"` + - `type: optional "extra_usage_credit_granted"` - default: inference_hooks_config_deleted + default: extra_usage_credit_granted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -175164,13 +179338,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). - - `InferenceHooksConfigUpdated object` + - `ExtraUsageSpendLimitCreated object` - Inference hooks configuration was created or updated for the organization. + Usage credit spend limit was created. - - `type: optional "inference_hooks_config_updated"` + - `type: optional "extra_usage_spend_limit_created"` - default: inference_hooks_config_updated + default: extra_usage_spend_limit_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -175378,51 +179552,27 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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` - - 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' + - `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 - - `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` + - `is_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. + Whether the spend limit is enabled. - - `extra_header_names: optional array of string or null` + - `limit_type: optional 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. + The type of spend limit created (e.g. organization, seat_tier, member, service, group). - `organization_id: optional string or null` @@ -175432,29 +179582,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). - - `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. + - `spend_limit_id: optional string or null` - - `shadow_mode: optional boolean or null` + Tagged ID of the spend limit. - 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. + - `user_id: optional string or null` - - `validate_tool_calls: optional boolean or null` + **Deprecated** - 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. + Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. - - `InferenceHooksSigningSecretGenerated object` + - `ExtraUsageSpendLimitDeleted object` - A request signing secret was generated for the organization's Inference hooks configuration. + Usage credit spend limit was deleted. - - `type: optional "inference_hooks_signing_secret_generated"` + - `type: optional "extra_usage_spend_limit_deleted"` - default: inference_hooks_signing_secret_generated + default: extra_usage_spend_limit_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -175662,10 +179806,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -175684,13 +179824,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). - - `DomainClaimInitiated object` + - `spend_limit_id: optional string or null` - Domain capture claim initiated over personal accounts on verified domains. + Tagged ID of the spend limit. - - `type: optional "domain_claim_initiated"` + - `user_id: optional string or null` - default: domain_claim_initiated + **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` + + A usage credit spend limit increase request was approved. + + - `type: optional "extra_usage_spend_limit_increase_request_approved"` + + default: extra_usage_spend_limit_increase_request_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -175902,6 +180052,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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. @@ -175916,247 +180070,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). - - `EndUserInviteRequested object` - - Non-admin member submitted an invite request for a new org member. - - - `type: optional "end_user_invite_requested"` - - default: end_user_invite_requested - - - `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` - - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' - - - `created_at: optional string` - - When this activity occurred. + - `requester_user_id: optional string or null` - format: date-time + Tagged ID of the member who requested the increase, e.g. "user_01HX...". - - `organization_id: optional string or null` + - `spend_limit_id: optional string or null` - Organization ID this activity is associated with + Tagged ID of the member's spend limit that the approval created or updated. - - `organization_uuid: optional string or null` + - `spend_limit_increase_request_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 spend limit increase request that was approved. - - `ExtraUsageBillingEnabled object` + - `ExtraUsageSpendLimitIncreaseRequestDenied object` - Usage credit billing was enabled for an organization. + A usage credit spend limit increase request was denied. - - `type: optional "extra_usage_billing_enabled"` + - `type: optional "extra_usage_spend_limit_increase_request_denied"` - default: extra_usage_billing_enabled + default: extra_usage_spend_limit_increase_request_denied - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -176382,13 +180314,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). - - `ExtraUsageCreditGranted object` + - `requester_user_id: optional string or null` - A promotional usage credit grant was claimed. + Tagged ID of the member who requested the increase, e.g. "user_01HX...". - - `type: optional "extra_usage_credit_granted"` + - `spend_limit_increase_request_id: optional string or null` - default: extra_usage_credit_granted + 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` @@ -176600,12 +180540,24 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -176614,13 +180566,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). - - `ExtraUsageSpendLimitCreated object` + - `spend_limit_id: optional string or null` - Usage credit spend limit was created. + Tagged ID of the spend limit. - - `type: optional "extra_usage_spend_limit_created"` + - `user_id: optional string or null` - default: extra_usage_spend_limit_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` @@ -176828,13 +180790,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `id: optional string` + - `claude_file_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Tagged ID of the file that was deleted, e.g. "claude_file_01HX...". - - `amount: optional number or null` + - `id: optional string` - The monthly credit limit amount in minor units (e.g. cents). + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -176842,14 +180804,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 created (e.g. organization, seat_tier, member, service, group). - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -176858,23 +180812,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). - - `spend_limit_id: optional string or null` - - Tagged ID of the spend limit. - - - `user_id: optional string or null` + - `filename: 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. + No longer populated. The name can't be looked up once the file is deleted. - - `ExtraUsageSpendLimitDeleted object` + - `ClaudeFileUploaded object` - Usage credit spend limit was deleted. + A file was uploaded. - - `type: optional "extra_usage_spend_limit_deleted"` + - `type: optional "claude_file_uploaded"` - default: extra_usage_spend_limit_deleted + default: claude_file_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -177082,10 +181032,22 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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. @@ -177100,23 +181062,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). - - `spend_limit_id: optional string or null` - - Tagged ID of the spend limit. - - - `user_id: optional string or null` + - `filename: 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. + No longer populated: the feed carries the object id; resolve the name via the Compliance API. - - `ExtraUsageSpendLimitIncreaseRequestApproved object` + - `GheConfigurationCreated object` - A usage credit spend limit increase request was approved. + Admin created a GHE configuration. - - `type: optional "extra_usage_spend_limit_increase_request_approved"` + - `type: optional "ghe_configuration_created"` - default: extra_usage_spend_limit_increase_request_approved + default: ghe_configuration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -177324,13 +181282,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `id: optional string` + - `ghe_configuration_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + ID of the GHE configuration - - `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` @@ -177338,33 +181296,33 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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_uuid: optional string or null` + - `hostname: 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). + Hostname of the GitHub Enterprise instance - - `requester_user_id: optional string or null` + - `organization_id: optional string or null` - Tagged ID of the member who requested the increase, e.g. "user_01HX...". + Organization ID this activity is associated with - - `spend_limit_id: optional string or null` + - `organization_uuid: optional string or null` - Tagged ID of the member's spend limit that the approval created or updated. + Organization UUID where the 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_increase_request_id: optional string or null` + - `port: optional number or null` - Tagged ID of the spend limit increase request that was approved. + Custom port, if not the HTTPS default - - `ExtraUsageSpendLimitIncreaseRequestDenied object` + - `GheConfigurationDeleted object` - A usage credit spend limit increase request was denied. + Admin deleted a GHE configuration. - - `type: optional "extra_usage_spend_limit_increase_request_denied"` + - `type: optional "ghe_configuration_deleted"` - default: extra_usage_spend_limit_increase_request_denied + default: ghe_configuration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -177572,6 +181530,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -177582,6 +181544,14 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `display_name: optional string or null` + + Display name the configuration had when deleted + + - `hostname: optional string or null` + + Hostname of the GitHub Enterprise instance + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -177590,21 +181560,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). - - `requester_user_id: optional string or null` - - Tagged ID of the member who requested the increase, e.g. "user_01HX...". - - - `spend_limit_increase_request_id: optional string or null` + - `port: optional number or null` - Tagged ID of the spend limit increase request that was denied. + Custom port, if not the HTTPS default - - `ExtraUsageSpendLimitUpdated object` + - `GheConfigurationUpdated object` - Usage credit spend limit was updated. + 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 "extra_usage_spend_limit_updated"` + - `type: optional "ghe_configuration_updated"` - default: extra_usage_spend_limit_updated + default: ghe_configuration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -177812,13 +181778,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `id: optional string` + - `ghe_configuration_id: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + ID of the GHE configuration - - `amount: optional number or null` + - `id: optional string` - The new monthly credit limit amount in minor units (e.g. cents). + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -177826,13 +181792,37 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `is_enabled: optional boolean or null` + - `custom_ca_certificate_updated: optional boolean or null` - Whether the spend limit is enabled. + Whether the custom CA certificate was replaced in this update - - `limit_type: optional string or null` + - `display_name: optional string or null` - The type of spend limit updated (e.g. organization, seat_tier, member, service, group). + 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` @@ -177842,23 +181832,45 @@ 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). - - `spend_limit_id: optional string or null` + - `port: optional number or null` - Tagged ID of the spend limit. + New port, when it changed - - `user_id: optional string or null` + - `previous_display_name: optional string or null` - **Deprecated** + Display name before the change, when it changed - Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. + - `previous_github_app_client_id: optional string or null` - - `ClaudeFileDeleted object` + GitHub App client ID before the change, when it changed - A file was deleted. + - `previous_github_app_id: optional number or null` - - `type: optional "claude_file_deleted"` + GitHub App ID before the change, when it changed - default: claude_file_deleted + - `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` @@ -178066,10 +182078,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `claude_file_id: string` - - 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' @@ -178080,6 +182088,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -178088,19 +182100,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** - - No longer populated. The name can't be looked up once the file is deleted. - - - `ClaudeFileUploaded object` + - `GheUserDisconnected object` - A file was uploaded. + User disconnected from a GHE instance. - - `type: optional "claude_file_uploaded"` + - `type: optional "ghe_user_disconnected"` - default: claude_file_uploaded + default: ghe_user_disconnected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -178308,28 +182314,20 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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. 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 @@ -178338,19 +182336,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** - - No longer populated: the feed carries the object id; resolve the name via the Compliance API. - - - `GheConfigurationCreated object` + - `GheWebhookSignatureInvalid object` - Admin created a GHE configuration. + Webhook signature validation failed. - - `type: optional "ghe_configuration_created"` + - `type: optional "ghe_webhook_signature_invalid"` - default: ghe_configuration_created + default: ghe_webhook_signature_invalid - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -178572,14 +182564,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -178588,17 +182572,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). - - `port: optional number or null` - - Custom port, if not the HTTPS default - - - `GheConfigurationDeleted object` + - `ClaudeGitHubIntegrationCreated object` - Admin deleted a GHE configuration. + A GitHub integration was enabled for the organization. - - `type: optional "ghe_configuration_deleted"` + - `type: optional "claude_github_integration_created"` - default: ghe_configuration_deleted + default: claude_github_integration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -178806,47 +182786,63 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `ghe_configuration_id: string` + - `integration_id: string` - ID of the GHE 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' + - `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 - - `display_name: optional string or null` - - Display name the configuration had when deleted - - - `hostname: optional string or null` + - `enabled: optional boolean or null` - Hostname of the GitHub Enterprise instance + 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). - - `port: optional number or null` + - `previous_enabled: optional boolean or null` - Custom port, if not the HTTPS default + Whether the integration was enabled before this change; null when the integration had never been configured. - - `GheConfigurationUpdated object` + - `repository_name: 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. + Name of the GitHub repository the integration is connected to, when known. - - `type: optional "ghe_configuration_updated"` + - `ClaudeGitHubIntegrationDeleted object` - default: ghe_configuration_updated + A GitHub integration was disabled for the organization. + + - `type: optional "claude_github_integration_deleted"` + + default: claude_github_integration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -179054,9 +183050,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `ghe_configuration_id: string` + - `integration_id: string` - ID of the GHE configuration + Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -179068,85 +183064,37 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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` + - `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` - - 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` + - `organization_name: optional string or null` - Active state before the change, when it changed + Name of the GitHub organization the integration was connected to, when known. - - `previous_port: optional number or null` + - `organization_uuid: optional string or null` - Port 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). - - `read_replica_hostnames_updated: optional boolean or null` + - `previous_enabled: optional boolean or null` - Whether the read replica hostnames were replaced in this update + Whether the integration was enabled before this change; null when the integration had never been configured. - - `webhook_secret_updated: optional boolean or null` + - `repository_name: optional string or null` - Whether the webhook secret was replaced in this update + Name of the GitHub repository the integration was connected to, when known. - - `GheUserConnected object` + - `ClaudeGitHubIntegrationUpdated object` - User connected to a GHE instance. + A GitHub integration's configuration was updated. - - `type: optional "ghe_user_connected"` + - `type: optional "claude_github_integration_updated"` - default: ghe_user_connected + default: claude_github_integration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -179354,6 +183302,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` + - `integration_id: string` + + Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -179364,25 +183316,29 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 + - `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). - - `GheUserDisconnected object` + - `repository_name: optional string or null` - User disconnected from a GHE instance. + Name of the GitHub repository the integration is connected to, when known. - - `type: optional "ghe_user_disconnected"` + - `GitHubAppInstallationLinked object` - default: ghe_user_disconnected + 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` @@ -179590,6 +183546,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` + - `github_installation_id: number` + + Numeric GitHub ID of the installation that was linked + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -179600,9 +183560,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `ghe_configuration_id: optional string or null` + - `github_account_login: optional string or null` - ID of the GHE configuration + 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` @@ -179612,13 +183576,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). - - `GheWebhookSignatureInvalid object` + - `GitHubAppInstallationUnlinked object` - Webhook signature validation failed. + 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 "ghe_webhook_signature_invalid"` + - `type: optional "github_app_installation_unlinked"` - default: ghe_webhook_signature_invalid + default: github_app_installation_unlinked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -179826,9 +183790,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `ghe_configuration_id: string` + - `github_installation_id: number` - ID of the GHE configuration + Numeric GitHub ID of the installation that was unlinked - `id: optional string` @@ -179840,6 +183804,14 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -179848,13 +183820,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). - - `ClaudeGitHubIntegrationCreated object` + - `GitHubTokenImport object` - A GitHub integration was enabled for the organization. + 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 "claude_github_integration_created"` + - `type: optional "github_token_import"` - default: claude_github_integration_created + default: github_token_import - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -180062,25 +184034,33 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `integration_id: string` + - `result: "failed_internal" or "imported" or "rejected_feature_disabled" or 5 more` - Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + The outcome of the import. - - `id: optional string` + - `"failed_internal"` - Unique identifier for the activity e.g. 'activity_abcd1234' + - `"imported"` - - `attestations: optional array of object` + - `"rejected_feature_disabled"` - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + - `"rejected_invalid_credential"` - - `type: string` + - `"rejected_missing_repo_scope"` - Attestation type, such as "safe_for_phi" (may be used with protected health information). + - `"rejected_tenant_not_ready"` - - `content_hash: string` + - `"rejected_zdr_policy"` - 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"` + + - `source: string` + + How the token was imported. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -180088,37 +184068,33 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `enabled: optional boolean or null` + - `github_username: optional string or null` - Whether the integration is enabled after this change. + The GitHub username the imported token authenticates as, when known. - - `organization_id: optional string or null` + - `granted_scopes: optional string or null` - Organization ID this activity is associated with + The scopes granted to the imported token, when available. - - `organization_name: optional string or null` + - `organization_id: optional string or null` - Name of the GitHub organization the integration is connected to, when known. + 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_enabled: optional boolean or null` - - Whether the integration was enabled before this change; null when the integration had never been configured. - - - `repository_name: optional string or null` + - `token_fingerprint_sha256: optional string or null` - Name of the GitHub repository the integration is connected to, when known. + Org-scoped SHA-256 of the submitted token: `sha256(org_uuid || 0x00 || token)`, lowercase-hex-encoded, where `org_uuid` is the organization's UUID as a dashed lowercase string, `0x00` is a single zero byte, and `token` is the submitted value's raw bytes. Per-org correlation only — the same token in two orgs produces distinct fingerprints. Set only when the submitted value carries a known GitHub PAT prefix (a high-entropy token format); unset for all other submissions, including rejected non-PAT input. - - `ClaudeGitHubIntegrationDeleted object` + - `GitlabConfigurationCreated object` - A GitHub integration was disabled for the organization. + An organization admin created a self-managed GitLab configuration for syncing plugin marketplaces. - - `type: optional "claude_github_integration_deleted"` + - `type: optional "gitlab_configuration_created"` - default: claude_github_integration_deleted + default: gitlab_configuration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -180326,9 +184302,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `integration_id: string` + - `gitlab_configuration_id: string` - Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + ID of the GitLab configuration - `id: optional string` @@ -180340,37 +184316,33 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `enabled: optional boolean or null` + - `display_name: optional string or null` - Whether the integration is enabled after this change. + Display name given to the configuration - - `organization_id: optional string or null` + - `hostname: optional string or null` - Organization ID this activity is associated with + Hostname of the GitLab instance - - `organization_name: optional string or null` + - `organization_id: optional string or null` - Name of the GitHub organization the integration was connected to, when known. + 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_enabled: optional boolean or null` - - Whether the integration was enabled before this change; null when the integration had never been configured. - - - `repository_name: optional string or null` + - `port: optional number or null` - Name of the GitHub repository the integration was connected to, when known. + Custom port, if not the HTTPS default - - `ClaudeGitHubIntegrationUpdated object` + - `GitlabConfigurationDeleted object` - A GitHub integration's configuration was updated. + An organization admin deleted a self-managed GitLab configuration. - - `type: optional "claude_github_integration_updated"` + - `type: optional "gitlab_configuration_deleted"` - default: claude_github_integration_updated + default: gitlab_configuration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -180578,9 +184550,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `integration_id: string` + - `gitlab_configuration_id: string` - Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + ID of the GitLab configuration - `id: optional string` @@ -180592,29 +184564,33 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `organization_id: optional string or null` + - `display_name: optional string or null` - Organization ID this activity is associated with + Display name the configuration had when deleted - - `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 GitLab 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` + - `GitlabConfigurationUpdated 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. + 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 "github_app_installation_linked"` + - `type: optional "gitlab_configuration_updated"` - default: github_app_installation_linked + default: gitlab_configuration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -180822,27 +184798,39 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `github_installation_id: number` + - `gitlab_configuration_id: string` - Numeric GitHub ID of the installation that was linked + 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 - - `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 + + - `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` @@ -180852,13 +184840,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). - - `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. + New port, when it changed - - `type: optional "github_app_installation_unlinked"` + - `previous_display_name: optional string or null` - default: github_app_installation_unlinked + 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` @@ -181066,27 +185070,35 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `github_installation_id: number` + - `integration_id: string` - Numeric GitHub ID of the installation that was unlinked + 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 - - `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` + - `folder_id: optional string or null` - Whether that GitHub account is an organization or a user account, as reported by GitHub ("Organization" or "User") + Identifier of the Google Drive folder the integration is connected to, when known. - `organization_id: optional string or null` @@ -181096,13 +185108,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). - - `GitHubTokenImport object` + - `ClaudeGdriveIntegrationDeleted object` - 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). + A Google Drive integration was disabled for the organization. - - `type: optional "github_token_import"` + - `type: optional "claude_gdrive_integration_deleted"` - default: github_token_import + default: claude_gdrive_integration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -181310,29 +185322,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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` + - `integration_id: string` - How the token was imported. + Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -181344,13 +185336,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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` + - `folder_id: optional string or null` - The scopes granted to the imported token, when available. + Identifier of the Google Drive folder the integration was connected to, when known. - `organization_id: optional string or null` @@ -181360,17 +185348,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). - - `token_fingerprint_sha256: optional string or null` - - Org-scoped SHA-256 of the submitted token: `sha256(org_uuid || 0x00 || token)`, lowercase-hex-encoded, where `org_uuid` is the organization's UUID as a dashed lowercase string, `0x00` is a single zero byte, and `token` is the submitted value's raw bytes. Per-org correlation only — the same token in two orgs produces distinct fingerprints. Set only when the submitted value carries a known GitHub PAT prefix (a high-entropy token format); unset for all other submissions, including rejected non-PAT input. - - - `GitlabConfigurationCreated object` + - `ClaudeGdriveIntegrationUpdated object` - An organization admin created a self-managed GitLab configuration for syncing plugin marketplaces. + A Google Drive integration's configuration was updated. - - `type: optional "gitlab_configuration_created"` + - `type: optional "claude_gdrive_integration_updated"` - default: gitlab_configuration_created + default: claude_gdrive_integration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -181578,9 +185562,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `gitlab_configuration_id: string` + - `integration_id: string` - ID of the GitLab configuration + Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -181592,13 +185576,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `display_name: optional string or null` - - Display name given to the configuration - - - `hostname: optional string or null` + - `folder_id: optional string or null` - Hostname of the GitLab instance + Identifier of the Google Drive folder the integration is connected to, when known. - `organization_id: optional string or null` @@ -181608,17 +185588,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). - - `port: optional number or null` - - Custom port, if not the HTTPS default - - - `GitlabConfigurationDeleted object` + - `GroupCreated object` - An organization admin deleted a self-managed GitLab configuration. + A group was created (RBAC admin or SCIM provisioning). - - `type: optional "gitlab_configuration_deleted"` + - `type: optional "group_created"` - default: gitlab_configuration_deleted + default: group_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -181826,9 +185802,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `gitlab_configuration_id: string` + - `group_id: string` - ID of the GitLab configuration + Tagged ID of the created group + + - `group_name: string` + + Name of the created group - `id: optional string` @@ -181840,14 +185820,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -181856,17 +185828,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). - - `port: optional number or null` - - Custom port, if not the HTTPS default - - - `GitlabConfigurationUpdated object` + - `GroupDeleted 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 group was deleted (RBAC admin or SCIM provisioning). - - `type: optional "gitlab_configuration_updated"` + - `type: optional "group_deleted"` - default: gitlab_configuration_updated + default: group_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -182074,40 +186042,20 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `gitlab_configuration_id: string` + - `group_id: string` - ID of the GitLab configuration + Tagged ID of the deleted group - `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 - - `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 - - - `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` Organization ID this activity is associated with @@ -182116,29 +186064,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). - - `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_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` + - `GroupListViewed object` - A Google Drive integration was enabled for the organization. + Admin viewed the list of RBAC groups. - - `type: optional "claude_gdrive_integration_created"` + - `type: optional "group_list_viewed"` - default: claude_gdrive_integration_created + default: group_list_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -182346,36 +186278,16 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `integration_id: string` - - 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 @@ -182384,13 +186296,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). - - `ClaudeGdriveIntegrationDeleted object` + - `GroupMemberAdded object` - A Google Drive integration was disabled for the organization. + One or more members were added to a group. - - `type: optional "claude_gdrive_integration_deleted"` + - `type: optional "group_member_added"` - default: claude_gdrive_integration_deleted + default: group_member_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -182598,9 +186510,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `integration_id: string` + - `group_id: string` - Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". + Tagged ID of the group - `id: optional string` @@ -182612,9 +186524,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `folder_id: optional string or null` + - `member_ids: optional array of string` - Identifier of the Google Drive folder the integration was connected to, when known. + 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` @@ -182624,13 +186536,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). - - `ClaudeGdriveIntegrationUpdated object` + - `GroupMemberAdditionFailed object` - A Google Drive integration's configuration 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 "claude_gdrive_integration_updated"` + - `type: optional "group_member_addition_failed"` - default: claude_gdrive_integration_updated + default: group_member_addition_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -182838,9 +186750,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `integration_id: string` + - `group_id: string` - Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". + Tagged ID of the group - `id: optional string` @@ -182852,9 +186764,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `folder_id: optional string or null` + - `member_ids: optional array of string` - Identifier of the Google Drive folder the integration is connected to, when known. + Tagged IDs of the members the request attempted to add - `organization_id: optional string or null` @@ -182864,13 +186776,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). - - `GroupCreated object` + - `GroupMemberListViewed object` - A group was created (RBAC admin or SCIM provisioning). + Admin viewed the members of an RBAC group. - - `type: optional "group_created"` + - `type: optional "group_member_list_viewed"` - default: group_created + default: group_member_list_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -183080,11 +186992,7 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `group_id: string` - Tagged ID of the created group - - - `group_name: string` - - Name of the created group + Tagged ID of the group - `id: optional string` @@ -183104,13 +187012,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). - - `GroupDeleted object` + - `GroupMemberRemovalFailed object` - A group was deleted (RBAC admin or SCIM provisioning). + A request to remove members from a group failed. Some of the requested members may have been removed before the failure. - - `type: optional "group_deleted"` + - `type: optional "group_member_removal_failed"` - default: group_deleted + default: group_member_removal_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -183320,7 +187228,7 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `group_id: string` - Tagged ID of the deleted group + Tagged ID of the group - `id: optional string` @@ -183332,6 +187240,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time + - `member_ids: optional array of string` + + 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` Organization ID this activity is associated with @@ -183340,13 +187252,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). - - `GroupListViewed object` + - `GroupMemberRemoved object` - Admin viewed the list of RBAC groups. + One or more members were removed from a group. - - `type: optional "group_list_viewed"` + - `type: optional "group_member_removed"` - default: group_list_viewed + default: group_member_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -183554,6 +187466,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` + - `group_id: string` + + Tagged ID of the group + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -183564,6 +187480,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -183572,13 +187492,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). - - `GroupMemberAdded object` + - `GroupProjectSharesRevoked object` - One or more members were added to a group. + An RBAC group's project shares in one organization were revoked in bulk. - - `type: optional "group_member_added"` + - `type: optional "group_project_shares_revoked"` - default: group_member_added + default: group_project_shares_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -183788,22 +187708,26 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `group_id: string` - Tagged ID of the group + Tagged ID of the group whose project shares were revoked. + + - `revoked_count: number` + + Number of distinct projects whose share with this group was revoked. - `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. 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 @@ -183812,13 +187736,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). - - `GroupMemberAdditionFailed object` + - `GroupSkillSharesRevoked object` - A request to add members to a group failed. Some of the requested members may have been added before the failure. + An RBAC group's skill shares in one organization were revoked in bulk. - - `type: optional "group_member_addition_failed"` + - `type: optional "group_skill_shares_revoked"` - default: group_member_addition_failed + default: group_skill_shares_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -184028,7 +187952,11 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `group_id: string` - Tagged ID of the group + 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` @@ -184040,10 +187968,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -184052,13 +187976,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). - - `GroupMemberListViewed object` + - `plugin_ids: optional array of string` - Admin viewed the members of an RBAC group. + Tagged IDs of the plugins whose share with this group was revoked. - - `type: optional "group_member_list_viewed"` + - `skill_ids: optional array of string` - default: group_member_list_viewed + 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` @@ -184268,7 +188200,7 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `group_id: string` - Tagged ID of the group + Tagged ID of the updated group - `id: optional string` @@ -184288,13 +188220,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). - - `GroupMemberRemovalFailed object` + - `GroupViewed object` - A request to remove members from a group failed. Some of the requested members may have been removed before the failure. + A group was viewed. - - `type: optional "group_member_removal_failed"` + - `type: optional "group_viewed"` - default: group_member_removal_failed + default: group_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -184504,7 +188436,7 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `group_id: string` - Tagged ID of the group + Tagged ID of the viewed group - `id: optional string` @@ -184516,10 +188448,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `member_ids: optional array of string` - - 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` Organization ID this activity is associated with @@ -184528,13 +188456,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). - - `GroupMemberRemoved object` + - `GroupVisibilityUpdated object` - One or more members were removed from a group. + An RBAC group's visibility policy was updated. - - `type: optional "group_member_removed"` + - `type: optional "group_visibility_updated"` - default: group_member_removed + default: group_visibility_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -184744,7 +188672,7 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `group_id: string` - Tagged ID of the group + Tagged ID of the group whose visibility policy was updated. - `id: optional string` @@ -184756,10 +188684,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -184768,13 +188692,69 @@ 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). - - `GroupProjectSharesRevoked object` + - `policies: optional array of object` - An RBAC group's project shares in one organization were revoked in bulk. + The group's visibility policy after this update. - - `type: optional "group_project_shares_revoked"` + - `audience: "everyone" or "members" or "none" or "unspecified"` - default: group_project_shares_revoked + 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` @@ -184982,22 +188962,18 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `group_id: string` + - `fail_mode: string` - Tagged ID of the group whose project shares were revoked. + The failure handling in effect when the breaker tripped: "fail_open" (requests proceed uninspected) or "fail_closed" (requests are rejected). - - `revoked_count: number` + - `trigger_reason: string` - Number of distinct projects whose share with this group was revoked. + 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' - - `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. @@ -185012,13 +188988,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). - - `GroupSkillSharesRevoked object` + - `surface: optional string or null` - An RBAC group's skill shares in one organization were revoked in bulk. + The product surface of the request whose failure tripped the breaker, e.g. "claude-ai" or "claude-code". - - `type: optional "group_skill_shares_revoked"` + - `InferenceHooksRequestDenied object` - default: group_skill_shares_revoked + 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` @@ -185226,24 +189206,24 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' + - `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 @@ -185252,21 +189232,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). - - `plugin_ids: optional array of string` + - `reference_id: optional string or null` - Tagged IDs of the plugins whose share with this group was revoked. + 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. - - `skill_ids: optional array of string` + - `request_id: optional string or null` - Tagged IDs of the skills whose share with this group was revoked. + Anthropic's identifier for the denied request — the same value sent to the Inference hooks endpoint as `request_id`. - - `GroupUpdated object` + - `surface: optional string or null` - A group was updated (RBAC admin or SCIM provisioning). + The product surface the request came from, e.g. "claude-ai" or "claude-code". - - `type: optional "group_updated"` + - `InferenceHooksRequestFailedOpen object` - default: group_updated + 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` @@ -185474,14 +189458,26 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `group_id: string` + - `reason: "endpoint_error" or "endpoint_timeout" or "internal_error" or "unspecified"` - Tagged ID of the updated group + 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. @@ -185496,13 +189492,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). - - `GroupViewed object` + - `request_id: optional string or null` - A group was viewed. + 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 "group_viewed"` + - `surface: optional string or null` - default: group_viewed + 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` @@ -185710,10 +189714,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -185724,6 +189724,18 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -185732,13 +189744,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). - - `GroupVisibilityUpdated object` + - `token_vault_connect_mode: optional string or null` - An RBAC group's visibility policy was updated. + 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 "group_visibility_updated"` + - `IntegrationUserDisconnected object` - default: group_visibility_updated + User disconnected from an integration. + + - `type: optional "integration_user_disconnected"` + + default: integration_user_disconnected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -185946,10 +189962,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -185960,77 +189972,33 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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). - - - `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"` + - `integration_type: optional string or null` - - `"members"` + The kind of integration the user disconnected, e.g. "github", "gdrive", "slack", or "mcp" for a remote MCP server. - - `"none"` + - `mcp_server_id: optional string or null` - - `"unspecified"` + ID of the disconnected remote MCP server, when the integration is a remote MCP server. - - `visibility_type: "discover" or "share_with" or "unspecified" or "view_members"` + - `mcp_server_name: optional string or null` - The visibility facet this entry grants. + Display name of the disconnected remote MCP server, when the integration is a remote MCP server. - - `"discover"` + - `organization_id: optional string or null` - - `"share_with"` + Organization ID this activity is associated with - - `"unspecified"` + - `organization_uuid: optional string or null` - - `"view_members"` + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `InferenceHooksCircuitBreakerTripped object` + - `InvoiceCollectionMethodUpdated 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. + Invoice collection method was changed. - - `type: optional "inference_hooks_circuit_breaker_tripped"` + - `type: optional "invoice_collection_method_updated"` - default: inference_hooks_circuit_breaker_tripped + default: invoice_collection_method_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -186238,14 +190206,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -186256,6 +190216,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -186264,17 +190228,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). - - `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` + - `UserLoggedOut object` - Inference hooks inspection denied a request. The request was blocked. + A user signed out of one or all sessions. - - `type: optional "inference_hooks_request_denied"` + - `type: optional "user_logged_out"` - default: inference_hooks_request_denied + default: user_logged_out - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -186486,20 +190446,12 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -186508,25 +190460,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). - - `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` + - `LtiLaunchInitiated 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. + LTI launch was initiated. - - `type: optional "inference_hooks_request_failed_open"` + - `type: optional "lti_launch_initiated"` - default: inference_hooks_request_failed_open + default: lti_launch_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -186734,26 +190674,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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"` - - - `"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. @@ -186768,21 +190692,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). - - `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` + - `LtiLaunchSuccess object` - User connected to an integration. + LTI launch completed successfully. - - `type: optional "integration_user_connected"` + - `type: optional "lti_launch_success"` - default: integration_user_connected + default: lti_launch_success - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -187000,18 +190916,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -187020,17 +190924,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). - - `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` + - `LtiPlatformCreated object` - User disconnected from an integration. + Anthropic staff created an LTI platform integration on behalf of an org. - - `type: optional "integration_user_disconnected"` + - `type: optional "lti_platform_created"` - default: integration_user_disconnected + default: lti_platform_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -187238,6 +191138,14 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -187248,17 +191156,245 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `integration_type: optional string or null` + - `organization_id: optional string or null` - The kind of integration the user disconnected, e.g. "github", "gdrive", "slack", or "mcp" for a remote MCP server. + Organization ID this activity is associated with - - `mcp_server_id: optional string or null` + - `organization_uuid: optional string or null` - ID of the disconnected remote MCP server, when the integration is a remote MCP server. + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `mcp_server_name: optional string or null` + - `LtiPlatformUpdated object` - Display name of the disconnected remote MCP server, when the integration is a remote MCP server. + Anthropic staff updated an LTI platform integration on behalf of an org. + + - `type: optional "lti_platform_updated"` + + default: lti_platform_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` + + - `lti_platform_id: string` + + UUID of the LTI platform + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `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` @@ -187268,13 +191404,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). - - `InvoiceCollectionMethodUpdated object` + - `MagicLinkLoginFailed object` - Invoice collection method was changed. + A magic link sign-in attempt failed. - - `type: optional "invoice_collection_method_updated"` + - `type: optional "magic_link_login_failed"` - default: invoice_collection_method_updated + default: magic_link_login_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -187492,10 +191628,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -187504,13 +191636,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). - - `UserLoggedOut object` + - `MagicLinkLoginInitiated object` - A user signed out of one or all sessions. + A user requested a magic link sign-in email. - - `type: optional "user_logged_out"` + - `type: optional "magic_link_login_initiated"` - default: user_logged_out + default: magic_link_login_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -187736,13 +191868,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). - - `LtiLaunchInitiated object` + - `MagicLinkLoginSucceeded object` - LTI launch was initiated. + A user successfully signed in with a magic link email. - - `type: optional "lti_launch_initiated"` + - `type: optional "magic_link_login_succeeded"` - default: lti_launch_initiated + default: magic_link_login_succeeded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -187954,12 +192086,28 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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"` + + - `"unspecified"` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -187968,13 +192116,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). - - `LtiLaunchSuccess object` + - `ManagedOrganizationSetupCompleted object` - LTI launch completed successfully. + Managed (AWS Marketplace) organization setup was completed. - - `type: optional "lti_launch_success"` + - `type: optional "managed_organization_setup_completed"` - default: lti_launch_success + default: managed_organization_setup_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -188200,13 +192348,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). - - `LtiPlatformCreated object` + - `MarketplaceCreated object` - Anthropic staff created an LTI platform integration on behalf of an org. + Admin created an organization marketplace. - - `type: optional "lti_platform_created"` + - `type: optional "marketplace_created"` - default: lti_platform_created + default: marketplace_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -188414,24 +192562,36 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `lti_platform_id: string` - - UUID of the LTI platform - - - `lti_platform_issuer: string` + - `marketplace_id: string` - Platform issuer URL + 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 @@ -188440,13 +192600,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). - - `LtiPlatformUpdated object` + - `MarketplaceDeleted object` - Anthropic staff updated an LTI platform integration on behalf of an org. + Admin deleted an organization marketplace. - - `type: optional "lti_platform_updated"` + - `type: optional "marketplace_deleted"` - default: lti_platform_updated + default: marketplace_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -188654,9 +192814,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `lti_platform_id: string` + - `marketplace_id: string` - UUID of the LTI platform + Tagged ID of the marketplace - `id: optional string` @@ -188668,10 +192828,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -188680,13 +192836,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). - - `MagicLinkLoginFailed object` + - `MarketplaceUpdated object` - A magic link sign-in attempt failed. + Admin updated an organization marketplace. - - `type: optional "magic_link_login_failed"` + - `type: optional "marketplace_updated"` - default: magic_link_login_failed + default: marketplace_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -188894,10 +193050,26 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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. @@ -188912,13 +193084,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). - - `MagicLinkLoginInitiated object` + - `updates: optional array of object` - A user requested a magic link sign-in email. + The setting changes applied in this update; empty for an update that changed no recorded setting (such as a sync) - - `type: optional "magic_link_login_initiated"` + - `type: "default_installation_preference" or "unspecified"` - default: magic_link_login_initiated + 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` @@ -189126,6 +193318,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -189144,13 +193340,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). - - `MagicLinkLoginSucceeded object` + - `MarketplaceWebhookProvisioned object` - A user successfully signed in with a magic link email. + Admin provisioned a GitHub push webhook for a marketplace. - - `type: optional "magic_link_login_succeeded"` + - `type: optional "marketplace_webhook_provisioned"` - default: magic_link_login_succeeded + default: marketplace_webhook_provisioned - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -189358,17 +193554,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' - - - `auth_method: optional "magic_link" or "unspecified" or null` + - `marketplace_id: string` - The method the user used to authenticate. May be absent on activities recorded before this field was introduced. + Tagged ID of the marketplace - - `"magic_link"` + - `id: optional string` - - `"unspecified"` + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -189376,13 +193568,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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"` + - `github_webhook_id: optional number or null` - - `"unspecified"` + GitHub-assigned webhook ID returned by the hooks API - `organization_id: optional string or null` @@ -189392,13 +193580,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). - - `ManagedOrganizationSetupCompleted object` + - `McpDirectoryServerPublished object` - Managed (AWS Marketplace) organization setup was completed. + The organization published its approved MCP directory listing. - - `type: optional "managed_organization_setup_completed"` + - `type: optional "mcp_directory_server_published"` - default: managed_organization_setup_completed + default: mcp_directory_server_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -189606,6 +193794,14 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -189624,13 +193820,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). - - `MarketplaceCreated object` + - `McpServerCreated object` - Admin created an organization marketplace. + An MCP server was added to the organization. - - `type: optional "marketplace_created"` + - `type: optional "mcp_server_created"` - default: marketplace_created + default: mcp_server_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -189838,9 +194034,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `marketplace_id: string` + - `mcp_server_id: string` - Tagged ID of the marketplace + Tagged ID of the MCP server + + - `mcp_server_name: string` + + Display name of the MCP server - `id: optional string` @@ -189864,10 +194064,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -189876,13 +194072,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). - - `MarketplaceDeleted object` + - `McpServerDeleted object` - Admin deleted an organization marketplace. + An MCP server was removed from the organization. - - `type: optional "marketplace_deleted"` + - `type: optional "mcp_server_deleted"` - default: marketplace_deleted + default: mcp_server_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -190090,9 +194286,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `marketplace_id: string` + - `mcp_server_id: string` - Tagged ID of the marketplace + Tagged ID of the MCP server + + - `mcp_server_name: string` + + Display name of the MCP server - `id: optional string` @@ -190112,13 +194312,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). - - `MarketplaceUpdated object` + - `McpServerManagedAuthTokenExchanged object` - Admin updated an organization marketplace. + 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 "marketplace_updated"` + - `type: optional "mcp_server_managed_auth_token_exchanged"` - default: marketplace_updated + default: mcp_server_managed_auth_token_exchanged - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -190326,25 +194526,29 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `marketplace_id: string` + - `managed_auth_mode: string` - Tagged ID of the marketplace + 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' - - `attestations: optional array of object` + - `assertion_jti: optional string or null` - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + 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. - - `type: string` + - `authorization_server_issuer: optional string or null` - Attestation type, such as "safe_for_phi" (may be used with protected health information). + The issuer identifier of the authorization server the exchange was attempted against. - - `content_hash: string` + - `correlation_id: 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). + An opaque identifier customers can quote when contacting Anthropic support about this exchange. - `created_at: optional string` @@ -190352,41 +194556,37 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `organization_id: optional string or null` - - Organization ID this activity is associated with - - - `organization_uuid: optional string or null` + - `error_subtype: 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). + 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. - - `updates: optional array of object` + - `error_type: optional string or null` - The setting changes applied in this update; empty for an update that changed no recorded setting (such as a sync) + 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. - - `type: "default_installation_preference" or "unspecified"` + - `mcp_server_name: optional string or null` - The marketplace setting that changed + The MCP server's display name at the time of the exchange, when available. - - `"default_installation_preference"` + - `organization_id: optional string or null` - - `"unspecified"` + Organization ID this activity is associated with - - `current_value: string` + - `organization_uuid: optional string or null` - Setting value immediately after this change; empty when the setting is no longer set + Organization UUID where the 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: string` + - `outcome: optional string or null` - Setting value immediately before this change; empty when the setting was not set + Whether the token exchange succeeded ("success") or was rejected ("failure"). - - `MarketplaceWebhookDeleted object` + - `McpServerManagedAuthUpdated object` - Admin removed the GitHub push webhook for a marketplace. + 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 "marketplace_webhook_deleted"` + - `type: optional "mcp_server_managed_auth_updated"` - default: marketplace_webhook_deleted + default: mcp_server_managed_auth_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -190594,20 +194794,48 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `marketplace_id: string` + - `mcp_server_id: string` - Tagged ID of the marketplace + 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 + - `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 @@ -190616,13 +194844,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). - - `MarketplaceWebhookProvisioned object` + - `previous_allowed_scopes: optional string or null` - Admin provisioned a GitHub push webhook for a marketplace. + The OAuth scope restriction before the change, as a space-delimited list; null when no scope restriction was configured. - - `type: optional "marketplace_webhook_provisioned"` + - `previous_built_in_roles_included: optional boolean or null` - default: marketplace_webhook_provisioned + 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` + + 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` @@ -190830,24 +195074,36 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `marketplace_id: string` + - `mcp_server_id: string` - Tagged ID of the marketplace + 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 - - `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 @@ -190856,13 +195112,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). - - `McpDirectoryServerPublished object` + - `McpToolPolicyUpdated object` - The organization published its approved MCP directory listing. + The permission restriction for an MCP tool was set or cleared. - - `type: optional "mcp_directory_server_published"` + - `type: optional "mcp_tool_policy_updated"` - default: mcp_directory_server_published + default: mcp_tool_policy_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -191070,24 +195326,52 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `mcp_directory_server_id: string` + - `mcp_server_id: string` - Tagged ID of the MCP directory listing + Tagged ID of the MCP server - - `mcp_directory_server_name: string` + - `mcp_server_name: string` - Display name of the MCP directory listing + 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 + - `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 @@ -191096,13 +195380,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). - - `McpServerCreated object` + - `OrgAnalyticsAPICapabilityUpdated object` - An MCP server was added to the organization. + Organization analytics_api capability was enabled or disabled. - - `type: optional "mcp_server_created"` + - `type: optional "org_analytics_api_capability_updated"` - default: mcp_server_created + default: org_analytics_api_capability_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -191310,36 +195594,20 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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` + + Whether the analytics API capability is enabled immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -191348,13 +195616,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). - - `McpServerDeleted object` + - `previous_value: optional boolean or null` - An MCP server was removed from the organization. + Whether the analytics API capability was enabled immediately before this change - - `type: optional "mcp_server_deleted"` + - `OrgBulkDeleteInitiated object` - default: mcp_server_deleted + Organization bulk deletion was initiated. + + - `type: optional "org_bulk_delete_initiated"` + + default: org_bulk_delete_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -191562,14 +195834,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -191588,13 +195852,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). - - `McpServerManagedAuthTokenExchanged object` + - `OrgCapabilityGrantAdded 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. + A capability grant was added to a workspace or role. - - `type: optional "mcp_server_managed_auth_token_exchanged"` + - `type: optional "org_capability_grant_added"` - default: mcp_server_managed_auth_token_exchanged + default: org_capability_grant_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -191802,29 +196066,27 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `managed_auth_mode: string` - - The managed-authorization mode used for the exchange ("claude" or "sso"). + - `grant_type: string` - - `mcp_server_id: string` + The type of capability grant that was added. - The MCP server the exchange was attempted for, e.g. "mcpsrv_01Ab...". + - `principal_id: string` - - `id: optional string` + Tagged ID of the principal the grant was added to. - Unique identifier for the activity e.g. 'activity_abcd1234' + - `principal_type: "rbac_role" or "unspecified" or "workspace"` - - `assertion_jti: optional string or null` + The kind of principal the grant was added to. - 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. + - `"rbac_role"` - - `authorization_server_issuer: optional string or null` + - `"unspecified"` - The issuer identifier of the authorization server the exchange was attempted against. + - `"workspace"` - - `correlation_id: optional string or null` + - `id: optional string` - An opaque identifier customers can quote when contacting Anthropic support about this exchange. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -191832,18 +196094,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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` - - The MCP server's display name at the time of the exchange, when available. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -191852,17 +196102,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). - - `outcome: optional string or null` - - Whether the token exchange succeeded ("success") or was rejected ("failure"). - - - `McpServerManagedAuthUpdated object` + - `OrgCapabilityGrantRemoved 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). + A capability grant was removed from a workspace or role. - - `type: optional "mcp_server_managed_auth_updated"` + - `type: optional "org_capability_grant_removed"` - default: mcp_server_managed_auth_updated + default: org_capability_grant_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -192070,25 +196316,27 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `mcp_server_id: string` + - `grant_type: string` - Tagged ID of the MCP server + The type of capability grant that was removed. - - `mcp_server_name: string` + - `principal_id: string` - Display name of the MCP server + Tagged ID of the principal the grant was removed from. - - `id: optional string` + - `principal_type: "rbac_role" or "unspecified" or "workspace"` - Unique identifier for the activity e.g. 'activity_abcd1234' + The kind of principal the grant was removed from. - - `allowed_scopes: optional string or null` + - `"rbac_role"` - 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. + - `"unspecified"` - - `built_in_roles_included: optional boolean or null` + - `"workspace"` - 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. + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -192096,22 +196344,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -192120,29 +196352,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_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` + - `OrgChatCoworkUnifiedDisabled object` - An MCP server's configuration was updated. + The organization's setting for the unified Chat and Cowork experience was turned off. - - `type: optional "mcp_server_updated"` + - `type: optional "org_chat_cowork_unified_disabled"` - default: mcp_server_updated + default: org_chat_cowork_unified_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -192350,36 +196566,20 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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 @@ -192388,13 +196588,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). - - `McpToolPolicyUpdated object` + - `previous_value: optional boolean or null` - The permission restriction for an MCP tool was set or cleared. + Setting value immediately before this change - - `type: optional "mcp_tool_policy_updated"` + - `OrgChatCoworkUnifiedEnabled object` - default: mcp_tool_policy_updated + 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` @@ -192602,51 +196806,19 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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 - - `max_permission: optional string or null` + - `current_value: optional boolean or null` - New max_permission value ('allow' | 'ask' | 'blocked'), or null when cleared + Setting value immediately after this change - `organization_id: optional string or null` @@ -192656,13 +196828,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). - - `OrgAnalyticsAPICapabilityUpdated object` + - `previous_value: optional boolean or null` - Organization analytics_api capability was enabled or disabled. + Setting value immediately before this change - - `type: optional "org_analytics_api_capability_updated"` + - `OrgClaudeCodeDataSharingDisabled object` - default: org_analytics_api_capability_updated + 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` @@ -192882,7 +197058,7 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `current_value: optional boolean or null` - Whether the analytics API capability is enabled immediately after this change + Setting value immediately after this change - `organization_id: optional string or null` @@ -192894,15 +197070,15 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `previous_value: optional boolean or null` - Whether the analytics API capability was enabled immediately before this change + Setting value immediately before this change - - `OrgBulkDeleteInitiated object` + - `OrgClaudeCodeDataSharingEnabled object` - Organization bulk deletion was initiated. + Organization Claude Code data sharing was enabled. - - `type: optional "org_bulk_delete_initiated"` + - `type: optional "org_claude_code_data_sharing_enabled"` - default: org_bulk_delete_initiated + default: org_claude_code_data_sharing_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -193120,6 +197296,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -193128,13 +197308,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). - - `OrgCapabilityGrantAdded object` + - `previous_value: optional boolean or null` - A capability grant was added to a workspace or role. + Setting value immediately before this change - - `type: optional "org_capability_grant_added"` + - `OrgClaudeCodeDesktopDisabled object` - default: org_capability_grant_added + Organization Claude Code Desktop was disabled. + + - `type: optional "org_claude_code_desktop_disabled"` + + default: org_claude_code_desktop_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -193342,24 +197526,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -193370,6 +197536,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -193378,13 +197548,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). - - `OrgCapabilityGrantRemoved object` + - `previous_value: optional boolean or null` - A capability grant was removed from a workspace or role. + Setting value immediately before this change - - `type: optional "org_capability_grant_removed"` + - `OrgClaudeCodeDesktopEnabled object` - default: org_capability_grant_removed + Organization Claude Code Desktop was enabled. + + - `type: optional "org_claude_code_desktop_enabled"` + + default: org_claude_code_desktop_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -193592,24 +197766,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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. - - - `"rbac_role"` - - - `"unspecified"` - - - `"workspace"` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -193620,6 +197776,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -193628,13 +197788,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). - - `OrgChatCoworkUnifiedDisabled object` + - `previous_value: optional boolean or null` - The organization's setting for the unified Chat and Cowork experience was turned off. + Setting value immediately before this change - - `type: optional "org_chat_cowork_unified_disabled"` + - `OrgClaudeCodeZeroDataRetentionDisabled object` - default: org_chat_cowork_unified_disabled + 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` @@ -193852,10 +198016,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -193864,17 +198024,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 change - - - `OrgChatCoworkUnifiedEnabled object` + - `OrgComplianceAPISettingsUpdated object` - The organization's setting for the unified Chat and Cowork experience was turned on. + Organization compliance API settings were updated. - - `type: optional "org_chat_cowork_unified_enabled"` + - `type: optional "org_compliance_api_settings_updated"` - default: org_chat_cowork_unified_enabled + default: org_compliance_api_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -194086,16 +198242,20 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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. 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 @@ -194104,17 +198264,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 change - - - `OrgClaudeCodeDataSharingDisabled object` + - `OrgConnectorDomainGuardUpdated object` - Organization Claude Code data sharing was disabled. + Enterprise admin changed whether connectors are restricted to verified domains. - - `type: optional "org_claude_code_data_sharing_disabled"` + - `type: optional "org_connector_domain_guard_updated"` - default: org_claude_code_data_sharing_disabled + default: org_connector_domain_guard_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -194322,6 +198478,8 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` + - `enforced: boolean` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -194332,10 +198490,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -194344,17 +198498,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 change - - - `OrgClaudeCodeDataSharingEnabled object` + - `OrgCoworkActWithoutAskingModeDisabled object` - Organization Claude Code data sharing was enabled. + 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_claude_code_data_sharing_enabled"` + - `type: optional "org_cowork_act_without_asking_mode_disabled"` - default: org_claude_code_data_sharing_enabled + default: org_cowork_act_without_asking_mode_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -194572,10 +198722,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -194584,17 +198730,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 change - - - `OrgClaudeCodeDesktopDisabled object` + - `OrgCoworkActWithoutAskingModeEnabled object` - Organization Claude Code Desktop was disabled. + 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_claude_code_desktop_disabled"` + - `type: optional "org_cowork_act_without_asking_mode_enabled"` - default: org_claude_code_desktop_disabled + default: org_cowork_act_without_asking_mode_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -194812,10 +198954,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -194824,17 +198962,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 change - - - `OrgClaudeCodeDesktopEnabled object` + - `OrgCoworkAgentDisabled object` - Organization Claude Code Desktop was enabled. + Organization Cowork Agent was disabled. - - `type: optional "org_claude_code_desktop_enabled"` + - `type: optional "org_cowork_agent_disabled"` - default: org_claude_code_desktop_enabled + default: org_cowork_agent_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -195068,13 +199202,13 @@ curl https://api.anthropic.com/v1/compliance/activities \ Setting value immediately before this change - - `OrgClaudeCodeZeroDataRetentionDisabled object` + - `OrgCoworkAgentEnabled 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. + Organization Cowork Agent was enabled. - - `type: optional "org_claude_code_zero_data_retention_disabled"` + - `type: optional "org_cowork_agent_enabled"` - default: org_claude_code_zero_data_retention_disabled + default: org_cowork_agent_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -195292,6 +199426,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -195300,13 +199438,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). - - `OrgComplianceAPISettingsUpdated object` + - `previous_value: optional boolean or null` - Organization compliance API settings were updated. + Setting value immediately before this change - - `type: optional "org_compliance_api_settings_updated"` + - `OrgCoworkAutoModeDisabled object` - default: org_compliance_api_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` @@ -195518,13 +199660,237 @@ curl https://api.anthropic.com/v1/compliance/activities \ Unique identifier for the activity e.g. 'activity_abcd1234' - - `compliance_api_enabled: optional boolean or null` + - `created_at: optional string` - Whether the compliance API is enabled for the organization after this change. + When this activity occurred. - - `compliance_api_logging_enabled: optional boolean or null` + format: date-time - Whether compliance activity logging is enabled for the organization 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). + + - `OrgCoworkAutoModeEnabled object` + + 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_auto_mode_enabled"` + + default: org_cowork_auto_mode_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` @@ -195540,13 +199906,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). - - `OrgConnectorDomainGuardUpdated object` + - `OrgCoworkBrowserPaneDisabled object` - Enterprise admin changed whether connectors are restricted to verified domains. + 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_connector_domain_guard_updated"` + - `type: optional "org_cowork_browser_pane_disabled"` - default: org_connector_domain_guard_updated + default: org_cowork_browser_pane_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -195754,7 +200120,237 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `enforced: boolean` + - `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). + + - `OrgCoworkBrowserPaneEnabled 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. + + - `type: optional "org_cowork_browser_pane_enabled"` + + default: org_cowork_browser_pane_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` @@ -195774,13 +200370,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). - - `OrgCoworkActWithoutAskingModeDisabled object` + - `OrgCoworkDisabled object` - The "Act without asking" mode in Cowork was disabled for the organization, so members can no longer let Claude act without asking for approval. + Organization cowork was disabled. - - `type: optional "org_cowork_act_without_asking_mode_disabled"` + - `type: optional "org_cowork_disabled"` - default: org_cowork_act_without_asking_mode_disabled + default: org_cowork_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -195998,6 +200594,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -196006,13 +200606,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). - - `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"` + - `OrgCoworkEnabled object` - default: org_cowork_act_without_asking_mode_enabled + Organization cowork was enabled. + + - `type: optional "org_cowork_enabled"` + + default: org_cowork_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -196230,6 +200834,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -196238,13 +200846,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). - - `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"` + - `OrgCoworkMcpAlwaysAllowDisabled object` - default: org_cowork_agent_disabled + 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` @@ -196462,10 +201074,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -196474,17 +201082,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 change - - - `OrgCoworkAgentEnabled object` + - `OrgCoworkMcpAlwaysAllowEnabled object` - Organization Cowork Agent was enabled. + 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_cowork_agent_enabled"` + - `type: optional "org_cowork_mcp_always_allow_enabled"` - default: org_cowork_agent_enabled + default: org_cowork_mcp_always_allow_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -196702,10 +201306,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -196714,17 +201314,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 change - - - `OrgCoworkAutoModeDisabled object` + - `OrgCoworkOtlpSettingsUpdated 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. + The organization's Cowork OpenTelemetry monitoring export settings were updated. - - `type: optional "org_cowork_auto_mode_disabled"` + - `type: optional "org_cowork_otlp_settings_updated"` - default: org_cowork_auto_mode_disabled + default: org_cowork_otlp_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -196942,253 +201538,63 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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). - - - `OrgCoworkAutoModeEnabled object` - - 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_auto_mode_enabled"` - - default: org_cowork_auto_mode_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"` + - `new_otlp_content_capture: optional array of string or null` - default: oidc + 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. - - `issuer: optional string or null` + - `new_otlp_endpoint: optional string or null` - The federation issuer's URL. Null when the presented credential failed verification. + The OpenTelemetry export endpoint after the change. Credentials in the URL userinfo or query string are removed; path segments are retained. Null if the endpoint is unset or was not itself modified by this update. - - `ip_address: optional string or null` + - `new_otlp_protocol: optional string or null` - - `subject: 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. - The provider's verified identifier for the caller; its form depends on the provider. + - `new_otlp_resource_attributes: optional string or null` - - `user_agent: 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. - - `AttestedDeviceActor object` + - `organization_id: optional string or null` - An attested mobile device authenticated via Apple App Attest. + Organization ID this activity is associated with - - `type: optional "attested_device_actor"` + - `organization_uuid: optional string or null` - default: attested_device_actor + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `external_client_id: string` + - `otlp_headers_change: optional "cleared" or "set" or "unspecified" or null` - - `kid_hash: string` + 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. - - `ip_address: optional string or null` + - `"cleared"` - - `user_agent: optional string or null` + - `"set"` - - `id: optional string` + - `"unspecified"` - Unique identifier for the activity e.g. 'activity_abcd1234' + - `previous_otlp_content_capture: optional array of string or null` - - `created_at: optional string` + 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. - When this activity occurred. + - `previous_otlp_endpoint: optional string or null` - format: date-time + The OpenTelemetry export endpoint before the change. Credentials in the URL userinfo or query string are removed; path segments are retained. Null if the endpoint was previously unset or was not itself modified by this update. - - `organization_id: optional string or null` + - `previous_otlp_protocol: optional string or null` - Organization ID this activity is associated with + The OpenTelemetry export protocol before the change. Null if the protocol was previously unset or was not itself modified by this update. - - `organization_uuid: optional string or null` + - `previous_otlp_resource_attributes: 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). + The OpenTelemetry resource attributes before the change. Null if the attributes were previously unset or were not themselves modified by this update. - - `OrgCoworkBrowserPaneDisabled object` + - `OrgCoworkRemoteDisabled 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. + 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_browser_pane_disabled"` + - `type: optional "org_cowork_remote_disabled"` - default: org_cowork_browser_pane_disabled + default: org_cowork_remote_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -197414,13 +201820,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). - - `OrgCoworkBrowserPaneEnabled object` + - `OrgCoworkRemoteEnabled 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. + Running Cowork in the cloud was enabled for the organization, allowing members to run Cowork sessions in Anthropic-hosted remote environments. - - `type: optional "org_cowork_browser_pane_enabled"` + - `type: optional "org_cowork_remote_enabled"` - default: org_cowork_browser_pane_enabled + default: org_cowork_remote_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -197646,13 +202052,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). - - `OrgCoworkDisabled object` + - `OrgCreationBlocked object` - Organization cowork was disabled. + Organization creation was blocked. - - `type: optional "org_cowork_disabled"` + - `type: optional "org_creation_blocked"` - default: org_cowork_disabled + default: org_creation_blocked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -197870,10 +202276,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -197882,17 +202284,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 boolean or null` + - `reason: optional string or null` - Setting value immediately before this change + "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. - - `OrgCoworkEnabled object` + - `OrgDataExportAccessed object` - Organization cowork was enabled. + Organization data export file was accessed/downloaded via signed URL. - - `type: optional "org_cowork_enabled"` + - `type: optional "org_data_export_accessed"` - default: org_cowork_enabled + default: org_data_export_accessed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -198110,9 +202512,15 @@ curl https://api.anthropic.com/v1/compliance/activities \ format: date-time - - `current_value: optional boolean or null` + - `export_type: optional "conversations" or "unspecified" or "workbench" or null` - Setting value immediately after this change + Which data set was downloaded. Absent on records written before this field was introduced. + + - `"conversations"` + + - `"unspecified"` + + - `"workbench"` - `organization_id: optional string or null` @@ -198122,17 +202530,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 change - - - `OrgCoworkMcpAlwaysAllowDisabled object` + - `OrgDataExportCompleted 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 data export was completed. - - `type: optional "org_cowork_mcp_always_allow_disabled"` + - `type: optional "org_data_export_completed"` - default: org_cowork_mcp_always_allow_disabled + default: org_data_export_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -198350,6 +202754,16 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -198358,13 +202772,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). - - `OrgCoworkMcpAlwaysAllowEnabled object` + - `OrgDataExportStarted object` - 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. + Organization data export was started. - - `type: optional "org_cowork_mcp_always_allow_enabled"` + - `type: optional "org_data_export_started"` - default: org_cowork_mcp_always_allow_enabled + default: org_data_export_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -198582,6 +202996,16 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -198590,13 +203014,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). - - `OrgCoworkOtlpSettingsUpdated object` + - `scope: optional "member_own_data" or "organization" or "unspecified" or null` - The organization's Cowork OpenTelemetry monitoring export settings were updated. + 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_cowork_otlp_settings_updated"` + - `"member_own_data"` - default: org_cowork_otlp_settings_updated + - `"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` @@ -198814,22 +203248,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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. Credentials in the URL userinfo or query string are removed; path segments are retained. 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 @@ -198838,39 +203256,35 @@ 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). - - `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"` + - `updates: optional array of object` - - `"set"` + The field-level changes applied in this update - - `"unspecified"` + - `type: "allowed_inference_geos" or "default_inference_geo" or "unspecified"` - - `previous_otlp_content_capture: optional array of string or null` + The data residency setting that changed - 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. + - `"allowed_inference_geos"` - - `previous_otlp_endpoint: optional string or null` + - `"default_inference_geo"` - The OpenTelemetry export endpoint before the change. Credentials in the URL userinfo or query string are removed; path segments are retained. Null if the endpoint was previously unset or was not itself modified by this update. + - `"unspecified"` - - `previous_otlp_protocol: optional string or null` + - `current_value: 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. + 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_otlp_resource_attributes: optional string or null` + - `previous_value: 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. + 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. - - `OrgCoworkRemoteDisabled object` + - `OrgDeletedViaBulk object` - Running Cowork in the cloud was disabled for the organization, so members can no longer run Cowork sessions in Anthropic-hosted remote environments. + Organization was deleted via bulk operation. - - `type: optional "org_cowork_remote_disabled"` + - `type: optional "org_deleted_via_bulk"` - default: org_cowork_remote_disabled + default: org_deleted_via_bulk - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -199096,13 +203510,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). - - `OrgCoworkRemoteEnabled object` + - `OrgDeletionRequested object` - Running Cowork in the cloud was enabled for the organization, allowing members to run Cowork sessions in Anthropic-hosted remote environments. + Organization deletion was requested. - - `type: optional "org_cowork_remote_enabled"` + - `type: optional "org_deletion_requested"` - default: org_cowork_remote_enabled + default: org_deletion_requested - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -199328,13 +203742,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). - - `OrgCreationBlocked object` + - `OrgDirectoryResyncCompleted object` - Organization creation was blocked. + Organization directory resync completed successfully. - - `type: optional "org_creation_blocked"` + - `type: optional "org_directory_resync_completed"` - default: org_creation_blocked + default: org_directory_resync_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -199542,6 +203956,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -199560,17 +203978,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` - - "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` + - `OrgDirectoryResyncFailed object` - Organization data export file was accessed/downloaded via signed URL. + Organization directory resync failed. - - `type: optional "org_data_export_accessed"` + - `type: optional "org_directory_resync_failed"` - default: org_data_export_accessed + default: org_directory_resync_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -199778,6 +204192,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -199788,16 +204206,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -199806,13 +204214,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). - - `OrgDataExportCompleted object` + - `OrgDirectoryResyncStarted object` - Organization data export was completed. + Organization directory resync was started asynchronously. - - `type: optional "org_data_export_completed"` + - `type: optional "org_directory_resync_started"` - default: org_data_export_completed + default: org_directory_resync_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -200020,6 +204428,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -200030,16 +204442,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -200048,13 +204450,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). - - `OrgDataExportStarted object` + - `sync_destinations: optional array of string` - Organization data export was started. + Sync destinations the resync targets (for example, accounts and rbac) - - `type: optional "org_data_export_started"` + - `OrgDirectorySyncActivated object` - default: org_data_export_started + 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` @@ -200272,16 +204678,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -200290,23 +204686,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). - - `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` + - `OrgDirectorySyncAddInitiated object` - The organization's inference data residency settings were updated. + Organization directory sync setup was initiated. - - `type: optional "org_data_residency_updated"` + - `type: optional "org_directory_sync_add_initiated"` - default: org_data_residency_updated + default: org_directory_sync_add_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -200532,35 +204918,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). - - `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` + - `OrgDirectorySyncDeleted object` - Organization was deleted via bulk operation. + Organization directory sync was deleted. - - `type: optional "org_deleted_via_bulk"` + - `type: optional "org_directory_sync_deleted"` - default: org_deleted_via_bulk + default: org_directory_sync_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -200786,13 +205150,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). - - `OrgDeletionRequested object` + - `OrgDiscoverabilityDisabled object` - Organization deletion was requested. + Admin disabled organization discoverability. - - `type: optional "org_deletion_requested"` + - `type: optional "org_discoverability_disabled"` - default: org_deletion_requested + default: org_discoverability_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -201018,13 +205382,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). - - `OrgDirectoryResyncCompleted object` + - `OrgDiscoverabilityEnabled object` - Organization directory resync completed successfully. + Admin enabled organization discoverability. - - `type: optional "org_directory_resync_completed"` + - `type: optional "org_discoverability_enabled"` - default: org_directory_resync_completed + default: org_discoverability_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -201232,10 +205596,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -201254,13 +205614,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). - - `OrgDirectoryResyncFailed object` + - `OrgDiscoverabilitySettingsUpdated object` - Organization directory resync failed. + Admin updated organization discoverability settings. - - `type: optional "org_directory_resync_failed"` + - `type: optional "org_discoverability_settings_updated"` - default: org_directory_resync_failed + default: org_discoverability_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -201468,10 +205828,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -201490,13 +205846,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). - - `OrgDirectoryResyncStarted object` + - `OrgDomainAddInitiated object` - Organization directory resync was started asynchronously. + Organization domain verification was initiated. - - `type: optional "org_directory_resync_started"` + - `type: optional "org_domain_add_initiated"` - default: org_directory_resync_started + default: org_domain_add_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -201704,10 +206060,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -201726,17 +206078,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). - - `sync_destinations: optional array of string` - - Sync destinations the resync targets (for example, accounts and rbac) - - - `OrgDirectorySyncActivated object` + - `OrgDomainRemoved object` - Organization directory sync was activated. + Organization domain was removed. - - `type: optional "org_directory_sync_activated"` + - `type: optional "org_domain_removed"` - default: org_directory_sync_activated + default: org_domain_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -201954,6 +206302,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -201962,13 +206314,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). - - `OrgDirectorySyncAddInitiated object` + - `OrgDomainVerified object` - Organization directory sync setup was initiated. + Organization domain was verified. - - `type: optional "org_directory_sync_add_initiated"` + - `type: optional "org_domain_verified"` - default: org_directory_sync_add_initiated + default: org_domain_verified - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -202186,6 +206538,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -202194,13 +206550,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). - - `OrgDirectorySyncDeleted object` + - `OrgExternalKeyCreated object` - Organization directory sync was deleted. + A CMEK external key config was created. - - `type: optional "org_directory_sync_deleted"` + - `type: optional "org_external_key_created"` - default: org_directory_sync_deleted + default: org_external_key_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -202408,6 +206764,22 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -202426,13 +206798,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). - - `OrgDiscoverabilityDisabled object` + - `OrgExternalKeyDeleted object` - Admin disabled organization discoverability. + A CMEK external key config was deleted. - - `type: optional "org_discoverability_disabled"` + - `type: optional "org_external_key_deleted"` - default: org_discoverability_disabled + default: org_external_key_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -202640,6 +207012,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -202658,13 +207034,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). - - `OrgDiscoverabilityEnabled object` + - `OrgExternalKeyUpdated object` - Admin enabled organization discoverability. + A CMEK external key config was updated. - - `type: optional "org_discoverability_enabled"` + - `type: optional "org_external_key_updated"` - default: org_discoverability_enabled + default: org_external_key_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -202872,6 +207248,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -202890,13 +207270,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). - - `OrgDiscoverabilitySettingsUpdated object` + - `updates: optional array of object` - Admin updated organization discoverability settings. + The field-level changes applied in this update - - `type: optional "org_discoverability_settings_updated"` + - `type: "display_name" or "geo" or "provider_config" or "unspecified"` - default: org_discoverability_settings_updated + 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` + + A CMEK external key config was validated against the customer's KMS. + + - `type: optional "org_external_key_validated"` + + default: org_external_key_validated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -203104,6 +207508,20 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -203122,13 +207540,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). - - `OrgDomainAddInitiated object` + - `OrgHipaaArtifactsTermsAccepted object` - Organization domain verification was initiated. + An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. - - `type: optional "org_domain_add_initiated"` + - `type: optional "org_hipaa_artifacts_terms_accepted"` - default: org_domain_add_initiated + default: org_hipaa_artifacts_terms_accepted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -203336,6 +207754,14 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -203354,13 +207780,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). - - `OrgDomainRemoved object` + - `OrgHipaaClaudeCodeCoworkRestrictionsDeferred object` - Organization domain was removed. + 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_domain_removed"` + - `type: optional "org_hipaa_claude_code_cowork_restrictions_deferred"` - default: org_domain_removed + default: org_hipaa_claude_code_cowork_restrictions_deferred - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -203578,10 +208004,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -203590,13 +208012,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). - - `OrgDomainVerified object` + - `OrgHipaaClaudeCodeCoworkRestrictionsEnabled object` - Organization domain was verified. + The HIPAA configuration was applied to Claude Code (local mode) and Cowork (local mode) for the organization. - - `type: optional "org_domain_verified"` + - `type: optional "org_hipaa_claude_code_cowork_restrictions_enabled"` - default: org_domain_verified + default: org_hipaa_claude_code_cowork_restrictions_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -203804,6 +208226,16 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -203814,10 +208246,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -203826,13 +208254,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). - - `OrgExternalKeyCreated object` + - `OrgHipaaSelfServeEnabled object` - A CMEK external key config was created. + A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. - - `type: optional "org_external_key_created"` + - `type: optional "org_hipaa_self_serve_enabled"` - default: org_external_key_created + default: org_hipaa_self_serve_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -204040,21 +208468,17 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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"` + - `baa_content_hash: string` - KMS provider backing the key + SHA-256 digest (hex) of the Business Associate Agreement that was accepted. - - `"aws"` + - `baa_version_label: string` - - `"azure"` + Version label of the Business Associate Agreement that was accepted, e.g. "2026-05-06". - - `"gcp"` + - `setup_guide_content_hash: string` - - `"unspecified"` + SHA-256 digest (hex) of the HIPAA setup guide that was current when the HIPAA configuration was enabled. - `id: optional string` @@ -204074,13 +208498,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). - - `OrgExternalKeyDeleted object` + - `OrgIPRestrictionCreated object` - A CMEK external key config was deleted. + Organization IP restriction was created. - - `type: optional "org_external_key_deleted"` + - `type: optional "org_ip_restriction_created"` - default: org_external_key_deleted + default: org_ip_restriction_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -204288,10 +208712,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -204302,6 +208722,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -204310,13 +208734,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). - - `OrgExternalKeyUpdated object` + - `OrgIPRestrictionDeleted object` - A CMEK external key config was updated. + Organization IP restriction was deleted. - - `type: optional "org_external_key_updated"` + - `type: optional "org_ip_restriction_deleted"` - default: org_external_key_updated + default: org_ip_restriction_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -204524,10 +208948,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -204538,6 +208958,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -204546,37 +208970,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). - - `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` + - `OrgIPRestrictionUpdated object` - A CMEK external key config was validated against the customer's KMS. + Organization IP restriction was updated. - - `type: optional "org_external_key_validated"` + - `type: optional "org_ip_restriction_updated"` - default: org_external_key_validated + default: org_ip_restriction_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -204784,29 +209184,27 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `external_key_id: string` - - Tagged ID of the validated external key config + - `id: optional string` - - `validation_result: "failure" or "success" or "unspecified"` + Unique identifier for the activity e.g. 'activity_abcd1234' - Outcome of the encrypt/decrypt roundtrip + - `created_at: optional string` - - `"failure"` + When this activity occurred. - - `"success"` + format: date-time - - `"unspecified"` + - `ip_allowlist_enabled: optional boolean or null` - - `id: optional string` + 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. - Unique identifier for the activity e.g. 'activity_abcd1234' + - `ip_range: optional string or null` - - `created_at: optional string` + 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. - When this activity occurred. + - `ip_range_active: optional boolean or null` - format: date-time + 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` @@ -204816,13 +209214,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). - - `OrgHipaaArtifactsTermsAccepted object` + - `previous_ip_range: optional string or null` - An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. + The IP range before this change; absent unless the range itself was changed. - - `type: optional "org_hipaa_artifacts_terms_accepted"` + - `OrgInviteLinkDisabled object` - default: org_hipaa_artifacts_terms_accepted + 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` @@ -205030,14 +209432,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -205056,13 +209450,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). - - `OrgHipaaSelfServeEnabled object` + - `OrgInviteLinkGenerated object` - A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. + Organization invite link was generated. - - `type: optional "org_hipaa_self_serve_enabled"` + - `type: optional "org_invite_link_generated"` - default: org_hipaa_self_serve_enabled + default: org_invite_link_generated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -205270,18 +209664,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -205300,13 +209682,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). - - `OrgIPRestrictionCreated object` + - `OrgInviteLinkRegenerated object` - Organization IP restriction was created. + Organization invite link was regenerated (previous link invalidated). - - `type: optional "org_ip_restriction_created"` + - `type: optional "org_invite_link_regenerated"` - default: org_ip_restriction_created + default: org_invite_link_regenerated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -205524,10 +209906,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -205536,13 +209914,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). - - `OrgIPRestrictionDeleted object` + - `OrgInviteViewed object` - Organization IP restriction was deleted. + An organization invite was viewed. - - `type: optional "org_ip_restriction_deleted"` + - `type: optional "org_invite_viewed"` - default: org_ip_restriction_deleted + default: org_invite_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -205750,6 +210128,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -205760,10 +210142,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -205772,13 +210150,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). - - `OrgIPRestrictionUpdated object` + - `OrgInvitesListed object` - Organization IP restriction was updated. + Organization invites were listed. - - `type: optional "org_ip_restriction_updated"` + - `type: optional "org_invites_listed"` - default: org_ip_restriction_updated + default: org_invites_listed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -205996,18 +210374,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ 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 @@ -206016,17 +210382,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_ip_range: optional string or null` - - The IP range before this change; absent unless the range itself was changed. - - - `OrgInviteLinkDisabled object` + - `OrgJoinProposalDecided object` - Organization invite link was disabled. + Approve or reject decision on a parent-org join proposal. - - `type: optional "org_invite_link_disabled"` + - `type: optional "org_join_proposal_decided"` - default: org_invite_link_disabled + default: org_join_proposal_decided - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -206234,6 +210596,8 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` + - `approved: boolean` + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -206252,13 +210616,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). - - `OrgInviteLinkGenerated object` + - `OrgJoinRequestApproved object` - Organization invite link was generated. + Admin approved a join request. - - `type: optional "org_invite_link_generated"` + - `type: optional "org_join_request_approved"` - default: org_invite_link_generated + default: org_join_request_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -206484,13 +210848,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). - - `OrgInviteLinkRegenerated object` + - `OrgJoinRequestCreated object` - Organization invite link was regenerated (previous link invalidated). + User requested to join an organization. - - `type: optional "org_invite_link_regenerated"` + - `type: optional "org_join_request_created"` - default: org_invite_link_regenerated + default: org_join_request_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -206716,13 +211080,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). - - `OrgInviteViewed object` + - `OrgJoinRequestDismissed object` - An organization invite was viewed. + Admin dismissed a join request. - - `type: optional "org_invite_viewed"` + - `type: optional "org_join_request_dismissed"` - default: org_invite_viewed + default: org_join_request_dismissed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -206930,10 +211294,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -206952,13 +211312,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). - - `OrgInvitesListed object` + - `OrgJoinRequestInstantApproved object` - Organization invites were listed. + Join request was instantly approved. - - `type: optional "org_invites_listed"` + - `type: optional "org_join_request_instant_approved"` - default: org_invites_listed + default: org_join_request_instant_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -207184,13 +211544,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). - - `OrgJoinProposalDecided object` + - `OrgJoinRequestsBulkDismissed object` - Approve or reject decision on a parent-org join proposal. + Admin bulk-dismissed join requests. - - `type: optional "org_join_proposal_decided"` + - `type: optional "org_join_requests_bulk_dismissed"` - default: org_join_proposal_decided + default: org_join_requests_bulk_dismissed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -207398,8 +211758,6 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `approved: boolean` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -207418,13 +211776,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). - - `OrgJoinRequestApproved object` + - `OrgLibrarySubmissionCreated object` - Admin approved a join request. + A member submitted one of their own skills or plugins for publication into the organization library. - - `type: optional "org_join_request_approved"` + - `type: optional "org_library_submission_created"` - default: org_join_request_approved + default: org_library_submission_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -207632,6 +211990,40 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -207650,13 +212042,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). - - `OrgJoinRequestCreated object` + - `updates_published_plugin_id: optional string or null` - User requested to join an organization. + The existing library entry this submission proposes to update; unset for a new entry. - - `type: optional "org_join_request_created"` + - `OrgLibrarySubmissionResolved object` - default: org_join_request_created + 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` @@ -207864,263 +212260,105 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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). - - - `OrgJoinRequestDismissed object` - - Admin dismissed a join request. - - - `type: optional "org_join_request_dismissed"` - - default: org_join_request_dismissed - - - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - - `APIActor object` - - - `type: optional "api_actor"` - - default: api_actor + - `content_hash: string` - - `api_key_id: 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. - - `ip_address: string` + - `decision: "accepted" or "denied" or "unspecified"` - - `user_agent: string` + Whether the submission was accepted into the library or denied. - - `UserActor object` + - `"accepted"` - - `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` + - `"denied"` - - `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` + - `"unspecified"` - - `signed_principal: string` + - `destination_marketplace_id: string` - The AWS-signed ARN of the IAM principal that requested the token. + The marketplace the submission was accepted into. Empty on a denial. - - `FederatedActorAzureProvider object` + - `publish_completed: boolean` - Asserting party: the Azure subscription the organization is bound to. + 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. - - `type: optional "azure"` + - `published_plugin_version_id: string` - default: azure + The published version. Empty when publish_completed is false. - - `subscription_id: string` + - `source_plugin_id: string` - - `FederatedActorGcpProvider object` + The member's own skill or plugin that was submitted. - Asserting party: the GCP project the organization is bound to. + - `source_plugin_version_id: string` - - `type: optional "gcp"` + The exact version that was decided on. - default: gcp + - `id: optional string` - - `project_number: string` + Unique identifier for the activity e.g. 'activity_abcd1234' - - `FederatedActorOidcProvider object` + - `attestations: optional array of object` - Asserting party: a customer-registered OIDC federation issuer. + Legal attestations given with the decision, such as "safe_for_phi"; empty when none were given, and on a second accepted record. - - `type: optional "oidc"` + - `type: string` - default: oidc + Attestation type, such as "safe_for_phi" (may be used with protected health information). - - `issuer: optional string or null` + - `content_hash: string` - The federation issuer's URL. Null when the presented credential failed verification. + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `ip_address: optional string or null` + - `created_at: optional string` - - `subject: optional string or null` + When this activity occurred. - The provider's verified identifier for the caller; its form depends on the provider. + format: date-time - - `user_agent: optional string or null` + - `installation_preference: optional string or null` - - `AttestedDeviceActor object` + 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. - An attested mobile device authenticated via Apple App Attest. + - `library_submission_id: optional string or null` - - `type: optional "attested_device_actor"` + The submission that was decided on. - default: attested_device_actor + - `organization_id: optional string or null` - - `external_client_id: string` + Organization ID this activity is associated with - - `kid_hash: string` + - `organization_uuid: optional string or null` - - `ip_address: 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_agent: optional string or null` + - `publish_policy: optional "off" or "open" or "review" or "unspecified" or null` - - `id: optional string` + 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. - 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` + - `reviewed_by_user_id: optional string or null` - Organization ID this activity is associated with + 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. - - `organization_uuid: optional string or null` + - `submitted_by_user_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). + The member who made the submission. - - `OrgJoinRequestInstantApproved object` + - `OrgLibrarySubmissionWithdrawn object` - Join request was instantly approved. + A pending submission to the organization library was withdrawn before any reviewer decided on it. - - `type: optional "org_join_request_instant_approved"` + - `type: optional "org_library_submission_withdrawn"` - default: org_join_request_instant_approved + default: org_library_submission_withdrawn - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -208328,6 +212566,36 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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` + + The version that had been submitted. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -208346,13 +212614,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). - - `OrgJoinRequestsBulkDismissed object` + - `OrgMagicLinkSecondFactorToggled object` - Admin bulk-dismissed join requests. + Organization magic link second factor was toggled. - - `type: optional "org_join_requests_bulk_dismissed"` + - `type: optional "org_magic_link_second_factor_toggled"` - default: org_join_requests_bulk_dismissed + default: org_magic_link_second_factor_toggled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -208560,6 +212828,10 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `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' @@ -208578,13 +212850,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). - - `OrgMagicLinkSecondFactorToggled object` + - `OrgMemberAvatarRemoved object` - Organization magic link second factor was toggled. + An administrator removed another member's profile picture. - - `type: optional "org_magic_link_second_factor_toggled"` + - `type: optional "org_member_avatar_removed"` - default: org_magic_link_second_factor_toggled + default: org_member_avatar_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -208792,9 +213064,9 @@ curl https://api.anthropic.com/v1/compliance/activities \ - `user_agent: optional string or null` - - `enabled: boolean` + - `user_id: string` - Whether members signing in with SSO must also complete a magic link as a second factor, after this change. + Tagged ID of the member whose profile picture was removed. - `id: optional string` diff --git a/content/en/api/compliance/activities/list.md b/content/en/api/compliance/activities/list.md index 6b7d53bece..87f0887408 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 "admin_api_key_created" or 525 more` +- `activity_types: optional array of "abuse_decision_received" or "account_deleted" or "admin_api_key_created" or 533 more` Filter activities by type. See the response `data` schema for the additional fields each type returns. Cannot be combined with `exclude_activity_types[]`. @@ -571,10 +571,18 @@ compliance activities that can be filtered by various criteria. A security scan of a plugin completed and produced a verdict. + - `"claude_plugin_served_version_updated"` + + 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. + - `"claude_plugin_updated"` Plugin was updated. + - `"claude_plugin_version_created"` + + A new version of a plugin was created. + - `"claude_project_archived"` A Claude project was archived. @@ -1279,6 +1287,14 @@ compliance activities that can be filtered by various criteria. An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. + - `"org_hipaa_claude_code_cowork_restrictions_deferred"` + + 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. + + - `"org_hipaa_claude_code_cowork_restrictions_enabled"` + + The HIPAA configuration was applied to Claude Code (local mode) and Cowork (local mode) for the organization. + - `"org_hipaa_self_serve_enabled"` A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. @@ -1339,10 +1355,26 @@ compliance activities that can be filtered by various criteria. Admin bulk-dismissed join requests. + - `"org_library_submission_created"` + + A member submitted one of their own skills or plugins for publication into the organization library. + + - `"org_library_submission_resolved"` + + A member's submission of a skill or plugin to the organization library was accepted or denied, or an accepted one finished publishing. + + - `"org_library_submission_withdrawn"` + + A pending submission to the organization library was withdrawn before any reviewer decided on it. + - `"org_magic_link_second_factor_toggled"` Organization magic link second factor was toggled. + - `"org_member_avatar_removed"` + + An administrator removed another member's profile picture. + - `"org_member_invites_disabled"` Admin disabled member invites for the organization. @@ -2186,7 +2218,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 "admin_api_key_created" or 525 more` +- `exclude_activity_types: optional array of "abuse_decision_received" or "account_deleted" or "admin_api_key_created" or 533 more` Exclude activities of these types. Cannot be combined with `activity_types[]`. @@ -2742,10 +2774,18 @@ compliance activities that can be filtered by various criteria. A security scan of a plugin completed and produced a verdict. + - `"claude_plugin_served_version_updated"` + + 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. + - `"claude_plugin_updated"` Plugin was updated. + - `"claude_plugin_version_created"` + + A new version of a plugin was created. + - `"claude_project_archived"` A Claude project was archived. @@ -3450,6 +3490,14 @@ compliance activities that can be filtered by various criteria. An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. + - `"org_hipaa_claude_code_cowork_restrictions_deferred"` + + 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. + + - `"org_hipaa_claude_code_cowork_restrictions_enabled"` + + The HIPAA configuration was applied to Claude Code (local mode) and Cowork (local mode) for the organization. + - `"org_hipaa_self_serve_enabled"` A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. @@ -3510,10 +3558,26 @@ compliance activities that can be filtered by various criteria. Admin bulk-dismissed join requests. + - `"org_library_submission_created"` + + A member submitted one of their own skills or plugins for publication into the organization library. + + - `"org_library_submission_resolved"` + + A member's submission of a skill or plugin to the organization library was accepted or denied, or an accepted one finished publishing. + + - `"org_library_submission_withdrawn"` + + A pending submission to the organization library was withdrawn before any reviewer decided on it. + - `"org_magic_link_second_factor_toggled"` Organization magic link second factor was toggled. + - `"org_member_avatar_removed"` + + An administrator removed another member's profile picture. + - `"org_member_invites_disabled"` Admin disabled member invites for the organization. @@ -4355,7 +4419,7 @@ compliance activities that can be filtered by various criteria. ## Returns -- `data: optional array of AbuseDecisionReceived or AccountDeleted or AdminAPIKeyCreated or 525 more` +- `data: optional array of AbuseDecisionReceived or AccountDeleted or AdminAPIKeyCreated or 533 more` List of activity records. Each element's `type` field identifies which activity it is and which additional fields are present. @@ -9023,10 +9087,26 @@ compliance activities that can be filtered by various criteria. 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. + + - `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`. @@ -9035,6 +9115,22 @@ compliance activities that can be filtered by various criteria. 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. @@ -34803,13 +34899,13 @@ compliance activities that can be filtered by various criteria. - `"user_action"` - - `ClaudeProjectSyncSourceCreated object` + - `ClaudePluginServedVersionUpdated object` - A sync source was connected to a Claude project's knowledge base. + 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_project_sync_source_created"` + - `type: optional "claude_plugin_served_version_updated"` - default: claude_project_sync_source_created + default: claude_plugin_served_version_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -35017,17 +35113,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_project_id: string` + - `marketplace_id: string` - Tagged ID of the project the sync source was connected to. + The marketplace the plugin belongs to. - - `claude_project_sync_source_id: string` + - `plugin_id: string` - Tagged ID of the per-project sync source that was created. + The plugin whose served version was updated. - - `provider: string` + - `to_plugin_version_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 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` @@ -35039,6 +35147,10 @@ compliance activities that can be filtered by various criteria. 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 @@ -35047,17 +35159,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudePluginVersionCreated 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 new version of a plugin was created. - - `ClaudeProjectSyncSourceDeleted object` + - `type: optional "claude_plugin_version_created"` - 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_plugin_version_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -35265,22 +35373,42 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `claude_project_id: string` + - `is_initial_version: boolean` - Tagged ID of the project the sync source was disconnected from. + Whether this version also created the plugin (its first version). - - `claude_project_sync_source_id: string` + - `marketplace_id: string` - Tagged ID of the per-project sync source that was deleted. + The marketplace the plugin belongs to. - - `provider: string` + - `origin: "library_publish" or "marketplace_sync" or "unspecified" or "upload"` - The external provider backing the sync source. Always `unspecified` for deletion events. + 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' + - `became_served_version: optional boolean or null` + + 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` When this activity occurred. @@ -35295,13 +35423,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeProjectSyncSourceCreated object` - A Claude project sync source's configuration was updated. + A sync source was connected to a Claude project's knowledge base. - - `type: optional "claude_project_sync_source_updated"` + - `type: optional "claude_project_sync_source_created"` - default: claude_project_sync_source_updated + default: claude_project_sync_source_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -35511,11 +35639,11 @@ compliance activities that can be filtered by various criteria. - `claude_project_id: string` - Tagged ID of the project the sync source belongs to. + Tagged ID of the project the sync source was connected to. - `claude_project_sync_source_id: string` - Tagged ID of the per-project sync source that was updated. + Tagged ID of the per-project sync source that was created. - `provider: string` @@ -35525,10 +35653,6 @@ compliance activities that can be filtered by various criteria. 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. @@ -35545,15 +35669,15 @@ compliance activities that can be filtered by various criteria. - `resource_descriptor: 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. + 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. - - `ClaudeSkillDownloaded object` + - `ClaudeProjectSyncSourceDeleted 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 sync source was disconnected from a Claude project's knowledge base. - - `type: optional "claude_skill_downloaded"` + - `type: optional "claude_project_sync_source_deleted"` - default: claude_skill_downloaded + default: claude_project_sync_source_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -35761,21 +35885,17 @@ 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"` + - `claude_project_id: string` - - `"file"` + Tagged ID of the project the sync source was disconnected from. - - `"instructions"` + - `claude_project_sync_source_id: string` - - `"unspecified"` + Tagged ID of the per-project sync source that was deleted. - - `skill_id: string` + - `provider: string` - The skill that was downloaded. + The external provider backing the sync source. Always `unspecified` for deletion events. - `id: optional string` @@ -35787,10 +35907,6 @@ 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 @@ -35799,39 +35915,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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. - - - `plugin_id: optional string or null` - - 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` + - `ClaudeProjectSyncSourceUpdated 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 project sync source's configuration was updated. - - `type: optional "claude_survey_closed"` + - `type: optional "claude_project_sync_source_updated"` - default: claude_survey_closed + default: claude_project_sync_source_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -36039,14 +36129,26 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `survey_id: string` + - `claude_project_id: string` - Tagged ID of the closed survey, e.g. "srvy_01HX...". + Tagged ID of the project the sync source belongs to. + + - `claude_project_sync_source_id: string` + + Tagged ID of the per-project sync source that was updated. + + - `provider: string` + + 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. @@ -36061,13 +36163,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). - - `ClaudeSurveyCreated object` + - `resource_descriptor: optional string or null` - An organization admin launched an in-app survey to its chosen audience, opening it immediately or at a scheduled start time. + 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_survey_created"` + - `ClaudeSkillDownloaded object` - default: claude_survey_created + 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` @@ -36275,33 +36381,25 @@ 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` + - `download_kind: "bundle" or "file" or "instructions" or "unspecified"` - The name the admin gave the survey. Not shown to members. + Whether the whole bundle, one file, or only the instructions were downloaded. - - `id: optional string` + - `"bundle"` - Unique identifier for the activity e.g. 'activity_abcd1234' + - `"file"` - - `audience_cost_centers: optional array of string` + - `"instructions"` - 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. + - `"unspecified"` - - `audience_departments: optional array of string` + - `skill_id: 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. + The skill that was downloaded. - - `audience_group_ids: optional array of string` + - `id: optional string` - Tagged IDs of the groups the survey was opened to, e.g. "rbac_group_01HX...". + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -36309,6 +36407,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 @@ -36317,13 +36419,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). - - `ClaudeSurveyDeleted object` + - `owner_user_id: optional string or null` - An organization admin permanently deleted a closed in-app survey together with every response collected for it. + The member who owns the skill; unset for an organization-owned skill. - - `type: optional "claude_survey_deleted"` + - `plugin_id: optional string or null` - default: claude_survey_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` @@ -36531,13 +36659,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `response_count: number` - - The number of submitted responses that were deleted with the survey. - - `survey_id: string` - Tagged ID of the deleted survey, e.g. "srvy_01HX...". + Tagged ID of the closed survey, e.g. "srvy_01HX...". - `id: optional string` @@ -36557,13 +36681,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeSurveyCreated 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. + An organization admin launched an in-app survey to its chosen audience, opening it immediately or at a scheduled start time. - - `type: optional "claude_survey_response_submitted"` + - `type: optional "claude_survey_created"` - default: claude_survey_response_submitted + default: claude_survey_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -36771,14 +36895,34 @@ 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 survey that was answered, e.g. "srvy_01HX...". + 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' + - `audience_cost_centers: optional array of string` + + 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` When this activity occurred. @@ -36793,13 +36937,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeSurveyDeleted 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. + An organization admin permanently deleted a closed in-app survey together with every response collected for it. - - `type: optional "claude_survey_responses_exported"` + - `type: optional "claude_survey_deleted"` - default: claude_survey_responses_exported + default: claude_survey_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -37009,11 +37153,11 @@ compliance activities that can be filtered by various criteria. - `response_count: number` - The number of submitted responses included in the export. + The number of submitted responses that were deleted with the survey. - `survey_id: string` - Tagged ID of the exported survey, e.g. "srvy_01HX...". + Tagged ID of the deleted survey, e.g. "srvy_01HX...". - `id: optional string` @@ -37033,13 +37177,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeSurveyResponseSubmitted object` - 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. + 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 "claude_user_seat_tier_updated"` + - `type: optional "claude_survey_response_submitted"` - default: claude_user_seat_tier_updated + default: claude_survey_response_submitted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -37247,13 +37391,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `user_email: string` - - Email address of the member at the time of the change. - - - `user_id: string` + - `survey_id: string` - Tagged ID of the member whose seat tier changed. + Tagged ID of the survey that was answered, e.g. "srvy_01HX...". - `id: optional string` @@ -37265,10 +37405,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 @@ -37277,17 +37413,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - The member's seat tier before this change, or null if no seat was assigned. - - - `CliPluginExecPolicyUpdated object` + - `ClaudeSurveyResponsesExported object` - Admin set or cleared the per-op permission ceiling for a plugin CLI. + 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 "cli_plugin_exec_policy_updated"` + - `type: optional "claude_survey_responses_exported"` - default: cli_plugin_exec_policy_updated + default: claude_survey_responses_exported - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -37495,25 +37627,13 @@ 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` - - Op name (or '*' for the per-CLI default) - - - `plugin_id: string` + - `response_count: number` - Plugin ID resolved from the URL + The number of submitted responses included in the export. - - `plugin_name: string` + - `survey_id: string` - Plugin name within its marketplace + Tagged ID of the exported survey, e.g. "srvy_01HX...". - `id: optional string` @@ -37525,10 +37645,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 @@ -37537,17 +37653,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - Max permission the op had before this change ('allow' | 'ask' | 'blocked'), or null when no policy existed for the op - - - `ClaudeCommandCreated object` + - `ClaudeUserSeatTierUpdated object` - Command 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 "claude_command_created"` + - `type: optional "claude_user_seat_tier_updated"` - default: claude_command_created + default: claude_user_seat_tier_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -37755,13 +37867,17 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `user_email: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + Email address of the member at the time of the change. - - `command_id: optional string or null` + - `user_id: string` - - `command_name: optional string or null` + Tagged ID of the member whose seat tier changed. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -37769,6 +37885,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 @@ -37777,13 +37897,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). - - `ClaudeCommandDeleted object` + - `previous_seat_tier: optional string or null` - Command was deleted. + The member's seat tier before this change, or null if no seat was assigned. - - `type: optional "claude_command_deleted"` + - `CliPluginExecPolicyUpdated object` - default: claude_command_deleted + Admin set or cleared the per-op permission ceiling for a plugin CLI. + + - `type: optional "cli_plugin_exec_policy_updated"` + + default: cli_plugin_exec_policy_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -37991,13 +38115,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` + - `cli_name: string` - Unique identifier for the activity e.g. 'activity_abcd1234' + CLI name as declared by the plugin manifest - - `command_id: optional string or null` + - `marketplace_id: string` - - `command_name: optional string or null` + 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` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -38005,6 +38145,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 @@ -38013,13 +38157,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). - - `ClaudeCommandReplaced object` + - `previous_max_permission: optional string or null` - Command was replaced. + Max permission the op had before this change ('allow' | 'ask' | 'blocked'), or null when no policy existed for the op - - `type: optional "claude_command_replaced"` + - `ClaudeCommandCreated object` - default: claude_command_replaced + Command was created. + + - `type: optional "claude_command_created"` + + default: claude_command_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -38249,13 +38397,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeCommandDeleted object` - Logging event auto-generated for each compliance API request. + Command was deleted. - - `type: optional "compliance_api_accessed"` + - `type: optional "claude_command_deleted"` - default: compliance_api_accessed + default: claude_command_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -38463,36 +38611,14 @@ 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` - - HTTP status code - - - `url: string` - - Full URL that was requested, including any query string - - `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. @@ -38507,17 +38633,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeCommandReplaced object` - A Cowork session was updated. + Command was replaced. - - `type: optional "cowork_session_updated"` + - `type: optional "claude_command_replaced"` - default: cowork_session_updated + default: claude_command_replaced - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -38725,17 +38847,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `cowork_session_id: string` - - 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` + - `command_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. + - `command_name: optional string or null` - `created_at: optional string` @@ -38751,13 +38869,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ComplianceAPIAccessed 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. + Logging event auto-generated for each compliance API request. - - `type: optional "design_project_artifact_published"` + - `type: optional "compliance_api_accessed"` - default: design_project_artifact_published + default: compliance_api_accessed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -38965,9 +39083,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 whose content 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` @@ -38979,10 +39119,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 @@ -38991,17 +39127,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: "project", "template", or "design_system". + Serialized JSON request body - - `DesignProjectCreated object` + - `CoworkSessionUpdated object` - A Claude Design project was created. + A Cowork session was updated. - - `type: optional "design_project_created"` + - `type: optional "cowork_session_updated"` - default: design_project_created + default: cowork_session_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -39209,18 +39345,18 @@ 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` + - `cowork_session_id: string` - The Design project that was created, e.g. "design_proj_01HX...". + 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. @@ -39235,21 +39371,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - The source project this was created from, when created via duplicate, remix, or template-from-project. Unset for direct creation. - - - `DesignProjectDeleted object` + - `DesignProjectArtifactPublished object` - A Claude Design project was deleted. + 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_deleted"` + - `type: optional "design_project_artifact_published"` - default: design_project_deleted + default: design_project_artifact_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -39459,7 +39587,7 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project that was deleted, e.g. "design_proj_01HX...". + The Design project whose content was published, e.g. "design_proj_01HX...". - `id: optional string` @@ -39471,6 +39599,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 @@ -39479,13 +39611,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` + - `project_type: optional string or null` - A member was granted access to a Claude Design project. + The project's type: "project", "template", or "design_system". - - `type: optional "design_project_member_added"` + - `DesignProjectCreated object` - default: design_project_member_added + A Claude Design project was created. + + - `type: optional "design_project_created"` + + default: design_project_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -39693,21 +39829,13 @@ 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` + - `creation_method: string` - The kind of member that was added: "account" (a user), "compartment" (a named access group), or "trusted_service" (an authorized agent). + How the project was created: "direct", "duplicate", "remix", or "template_from_project". - - `role: string` + - `design_project_id: string` - The role the member was granted: "viewer", "commenter", or "editor". Access-group ("compartment") members are always view-only. + The Design project that was created, e.g. "design_proj_01HX...". - `id: optional string` @@ -39729,15 +39857,19 @@ compliance activities that can be filtered by various criteria. - `project_type: optional string or null` - The project's type: "project", "template", or "design_system". + The project type: "project", "template", or "design_system". - - `DesignProjectMemberRemoved object` + - `source_project_id: optional string or null` - A member's access to a Claude Design project was revoked. + The source project this was created from, when created via duplicate, remix, or template-from-project. Unset for direct creation. - - `type: optional "design_project_member_removed"` + - `DesignProjectDeleted object` - default: design_project_member_removed + A Claude Design project was deleted. + + - `type: optional "design_project_deleted"` + + default: design_project_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -39947,15 +40079,7 @@ compliance activities that can be filtered by various criteria. - `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). + The Design project that was deleted, e.g. "design_proj_01HX...". - `id: optional string` @@ -39975,17 +40099,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `DesignProjectMemberAdded object` - A Claude Design project member's role was changed. + A member was granted access to a Claude Design project. - - `type: optional "design_project_member_role_updated"` + - `type: optional "design_project_member_added"` - default: design_project_member_role_updated + default: design_project_member_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40195,7 +40315,7 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project the member belongs to, e.g. "design_proj_01HX...". + The Design project the member was added to, e.g. "design_proj_01HX...". - `principal_id: string` @@ -40203,11 +40323,11 @@ compliance activities that can be filtered by various criteria. - `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). + The kind of member that was added: "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". + The role the member was granted: "viewer", "commenter", or "editor". Access-group ("compartment") members are always view-only. - `id: optional string` @@ -40227,21 +40347,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` - - The member's role before the change. - - `project_type: optional string or null` The project's type: "project", "template", or "design_system". - - `DesignProjectPublished object` + - `DesignProjectMemberRemoved object` - A Claude Design template or design system was published, making it discoverable by everyone in its organization. + A member's access to a Claude Design project was revoked. - - `type: optional "design_project_published"` + - `type: optional "design_project_member_removed"` - default: design_project_published + default: design_project_member_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40451,7 +40567,15 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project that was published, e.g. "design_proj_01HX...". + 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` @@ -40473,15 +40597,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". - - `DesignProjectSharingUpdated object` + - `DesignProjectMemberRoleUpdated 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 Claude Design project member's role was changed. - - `type: optional "design_project_sharing_updated"` + - `type: optional "design_project_member_role_updated"` - default: design_project_sharing_updated + default: design_project_member_role_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40691,15 +40815,19 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project whose sharing settings changed, e.g. "design_proj_01HX...". + The Design project the member belongs to, e.g. "design_proj_01HX...". - - `new_link_permission: string` + - `principal_id: string` - What people opening the project through its link may do after the change: "view", "comment", or "edit". + 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". - - `new_scope: string` + - `principal_type: 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. + 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` @@ -40719,25 +40847,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_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` + - `previous_role: 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. + The member's role before the change. - `project_type: optional string or null` The project's type: "project", "template", or "design_system". - - `DesignProjectUnpublished object` + - `DesignProjectPublished object` - A Claude Design template or design system was unpublished, removing it from its organization's shared gallery. + A Claude Design template or design system was published, making it discoverable by everyone in its organization. - - `type: optional "design_project_unpublished"` + - `type: optional "design_project_published"` - default: design_project_unpublished + default: design_project_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -40947,7 +41071,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 that was published, e.g. "design_proj_01HX...". - `id: optional string` @@ -40971,13 +41095,13 @@ compliance activities that can be filtered by various criteria. The project's type: "template" or "design_system". - - `DesignProjectUpdated object` + - `DesignProjectSharingUpdated object` - A Claude Design project's metadata was updated. + 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 "design_project_updated"` + - `type: optional "design_project_sharing_updated"` - default: design_project_updated + default: design_project_sharing_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41187,7 +41311,15 @@ compliance activities that can be filtered by various criteria. - `design_project_id: string` - The Design project that was updated, e.g. "design_proj_01HX...". + 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` @@ -41207,21 +41339,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). - - `project_type: optional string or null` + - `previous_link_permission: optional string or null` - The project's type after the update: "project", "template", or "design_system". Present only when the update changed it. + What people opening the project through its link could do before the change. - - `updated_fields: optional array of string` + - `previous_scope: optional string or null` - Names of the fields changed by this update, e.g. "name", "description", "project_type", "design_systems". + 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. - - `DesignProjectVersionRestored object` + - `project_type: optional string or null` - A Claude Design project's working tree was rolled back to a previously saved version, replacing its current files with that version's files. + The project's type: "project", "template", or "design_system". - - `type: optional "design_project_version_restored"` + - `DesignProjectUnpublished object` - default: design_project_version_restored + 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` @@ -41431,7 +41567,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 unpublished, e.g. "design_proj_01HX...". - `id: optional string` @@ -41453,19 +41589,15 @@ compliance activities that can be filtered by various criteria. - `project_type: optional string or null` - The project's type: "project", "template", or "design_system". - - - `DesignProjectViewed object` + The project's type: "template" or "design_system". - 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. + - `DesignProjectUpdated 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 Claude Design project's metadata was updated. - - `type: optional "design_project_viewed"` + - `type: optional "design_project_updated"` - default: design_project_viewed + default: design_project_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -41675,20 +41807,12 @@ 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...". - - - `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). + The Design project that was updated, e.g. "design_proj_01HX...". - `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. @@ -41705,15 +41829,19 @@ compliance activities that can be filtered by various criteria. - `project_type: optional string or null` - The project's type: "project", "template", or "design_system". + The project's type after the update: "project", "template", or "design_system". Present only when the update changed it. - - `DesktopExtensionAllowlisted object` + - `updated_fields: optional array of string` - A desktop extension was added to an org's allowlist. + Names of the fields changed by this update, e.g. "name", "description", "project_type", "design_systems". - - `type: optional "desktop_extension_allowlisted"` + - `DesignProjectVersionRestored object` - default: desktop_extension_allowlisted + 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` @@ -41921,26 +42049,14 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `extension_id: string` + - `design_project_id: string` - Allowlisted DXT extension ID + 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. @@ -41955,13 +42071,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). - - `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"` + - `DesignProjectViewed object` - default: desktop_extension_blocklisted + 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` @@ -42169,14 +42293,22 @@ 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 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. @@ -42191,13 +42323,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). - - `DesktopExtensionDeleted object` + - `project_type: optional string or null` - A desktop extension was deleted, either globally by an admin or org-scoped by an org owner. + The project's type: "project", "template", or "design_system". - - `type: optional "desktop_extension_deleted"` + - `DesktopExtensionAllowlisted object` - default: desktop_extension_deleted + 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` @@ -42407,251 +42543,23 @@ compliance activities that can be filtered by various criteria. - `extension_id: string` - DXT extension ID + Allowlisted DXT extension ID - `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). - - - `version: optional string or null` - - Specific version deleted (null if all versions) - - - `DesktopExtensionRemovedFromAllowlist object` - - A desktop extension was removed from an org's allowlist. - - - `type: optional "desktop_extension_removed_from_allowlist"` - - default: desktop_extension_removed_from_allowlist - - - `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` + - `attestations: optional array of object` - - `user_agent: optional string or null` + Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. - - `extension_id: string` + - `type: string` - DXT extension ID removed from allowlist + 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` @@ -42667,13 +42575,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `DesktopExtensionBlocklisted object` - A desktop extension was removed from the global blocklist. + A desktop extension was added to the global blocklist. - - `type: optional "desktop_extension_unblocked"` + - `type: optional "desktop_extension_blocklisted"` - default: desktop_extension_unblocked + default: desktop_extension_blocklisted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -42883,7 +42791,7 @@ compliance activities that can be filtered by various criteria. - `extension_id: string` - Unblocked DXT extension ID + Blocklisted DXT extension ID - `id: optional string` @@ -42903,13 +42811,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `DesktopExtensionDeleted object` - A desktop extension was uploaded, either globally by an admin or org-scoped by an org owner. + A desktop extension was deleted, either globally by an admin or org-scoped by an org owner. - - `type: optional "desktop_extension_uploaded"` + - `type: optional "desktop_extension_deleted"` - default: desktop_extension_uploaded + default: desktop_extension_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43121,26 +43029,10 @@ compliance activities that can be filtered by various criteria. 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. @@ -43155,13 +43047,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). - - `DesktopExtensionVersionUploaded object` + - `version: optional string or null` - A new version of an existing org-owned desktop extension was uploaded. + Specific version deleted (null if all versions) - - `type: optional "desktop_extension_version_uploaded"` + - `DesktopExtensionRemovedFromAllowlist object` - default: desktop_extension_version_uploaded + A desktop extension was removed from an org's allowlist. + + - `type: optional "desktop_extension_removed_from_allowlist"` + + default: desktop_extension_removed_from_allowlist - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43371,28 +43267,12 @@ compliance activities that can be filtered by various criteria. - `extension_id: string` - DXT extension ID - - - `version: string` - - Version string from the manifest + DXT extension ID removed from allowlist - `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. @@ -43407,13 +43287,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `DesktopExtensionUnblocked object` - Inference hooks configuration was removed for the organization. + A desktop extension was removed from the global blocklist. - - `type: optional "inference_hooks_config_deleted"` + - `type: optional "desktop_extension_unblocked"` - default: inference_hooks_config_deleted + default: desktop_extension_unblocked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43621,6 +43501,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' @@ -43639,13 +43523,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `DesktopExtensionUploaded object` - Inference hooks configuration was created or updated for the organization. + A desktop extension was uploaded, either globally by an admin or org-scoped by an org owner. - - `type: optional "inference_hooks_config_updated"` + - `type: optional "desktop_extension_uploaded"` - default: inference_hooks_config_updated + default: desktop_extension_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -43853,33 +43737,29 @@ 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` + - `extension_id: string` - Whether Inference hooks inspects both prompts and responses (prompt_and_response) or prompts only (prompt_only). + DXT extension ID - - `fail_mode: string` + - `version: string` - Whether requests are allowed (fail_open) or blocked (fail_closed) when the Inference hooks endpoint cannot be reached. + Version string from the manifest - - `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` @@ -43887,18 +43767,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 @@ -43907,29 +43775,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `DesktopExtensionVersionUploaded object` - A request signing secret was generated for the organization's Inference hooks configuration. + A new version of an existing org-owned desktop extension was uploaded. - - `type: optional "inference_hooks_signing_secret_generated"` + - `type: optional "desktop_extension_version_uploaded"` - default: inference_hooks_signing_secret_generated + default: desktop_extension_version_uploaded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44137,14 +43989,30 @@ 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. + 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. @@ -44159,13 +44027,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `DomainClaimInitiated object` + - `InferenceHooksConfigDeleted object` - Domain capture claim initiated over personal accounts on verified domains. + Inference hooks configuration was removed for the organization. - - `type: optional "domain_claim_initiated"` + - `type: optional "inference_hooks_config_deleted"` - default: domain_claim_initiated + default: inference_hooks_config_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44391,13 +44259,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `InferenceHooksConfigUpdated object` - Non-admin member submitted an invite request for a new org member. + Inference hooks configuration was created or updated for the organization. - - `type: optional "end_user_invite_requested"` + - `type: optional "inference_hooks_config_updated"` - default: end_user_invite_requested + default: inference_hooks_config_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -44605,7 +44473,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `invitee_email: string` + - `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` + + 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` @@ -44617,6 +44507,18 @@ 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 @@ -44625,13 +44527,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). - - `ExtraUsageBillingEnabled object` + - `reset_circuit_breaker: optional boolean or null` - Usage credit billing was enabled for an organization. + 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. - - `type: optional "extra_usage_billing_enabled"` + - `rollout_percentage: optional number or null` - default: extra_usage_billing_enabled + 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` + + 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` @@ -44839,6 +44757,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' @@ -44857,13 +44779,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `DomainClaimInitiated object` - A promotional usage credit grant was claimed. + Domain capture claim initiated over personal accounts on verified domains. - - `type: optional "extra_usage_credit_granted"` + - `type: optional "domain_claim_initiated"` - default: extra_usage_credit_granted + default: domain_claim_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45089,13 +45011,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `EndUserInviteRequested object` - Usage credit spend limit was created. + Non-admin member submitted an invite request for a new org member. - - `type: optional "extra_usage_spend_limit_created"` + - `type: optional "end_user_invite_requested"` - default: extra_usage_spend_limit_created + default: end_user_invite_requested - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45303,28 +45225,18 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `invitee_email: string` + - `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 - - `is_enabled: optional boolean or null` - - Whether the spend limit is enabled. - - - `limit_type: optional string or null` - - The type of spend limit created (e.g. organization, seat_tier, member, service, group). - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -45333,23 +45245,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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. - - - `ExtraUsageSpendLimitDeleted object` + - `ExtraUsageBillingEnabled object` - Usage credit spend limit was deleted. + Usage credit billing was enabled for an organization. - - `type: optional "extra_usage_spend_limit_deleted"` + - `type: optional "extra_usage_billing_enabled"` - default: extra_usage_spend_limit_deleted + default: extra_usage_billing_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45575,23 +45477,245 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ExtraUsageCreditGranted object` - Tagged ID of the spend limit. + A promotional usage credit grant was claimed. - - `user_id: optional string or null` + - `type: optional "extra_usage_credit_granted"` - **Deprecated** + default: extra_usage_credit_granted - Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. + - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - `ExtraUsageSpendLimitIncreaseRequestApproved object` + - `APIActor object` - A usage credit spend limit increase request was approved. + - `type: optional "api_actor"` - - `type: optional "extra_usage_spend_limit_increase_request_approved"` + default: api_actor - default: extra_usage_spend_limit_increase_request_approved + - `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). + + - `ExtraUsageSpendLimitCreated object` + + Usage credit spend limit was created. + + - `type: optional "extra_usage_spend_limit_created"` + + default: extra_usage_spend_limit_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -45805,7 +45929,7 @@ compliance activities that can be filtered by various criteria. - `amount: optional number or null` - The approved spend limit amount in minor units (e.g. cents). + The monthly credit limit amount in minor units (e.g. cents). - `created_at: optional string` @@ -45813,6 +45937,14 @@ compliance activities that can be filtered by various criteria. 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 created (e.g. organization, seat_tier, member, service, group). + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -45821,25 +45953,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...". - - `spend_limit_id: optional string or null` - Tagged ID of the member's spend limit that the approval created or updated. + Tagged ID of the spend limit. - - `spend_limit_increase_request_id: optional string or null` + - `user_id: optional string or null` - Tagged ID of the spend limit increase request that was approved. + **Deprecated** - - `ExtraUsageSpendLimitIncreaseRequestDenied object` + Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. - A usage credit spend limit increase request was denied. + - `ExtraUsageSpendLimitDeleted object` - - `type: optional "extra_usage_spend_limit_increase_request_denied"` + Usage credit spend limit was deleted. - default: extra_usage_spend_limit_increase_request_denied + - `type: optional "extra_usage_spend_limit_deleted"` + + default: extra_usage_spend_limit_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -46065,21 +46195,511 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `spend_limit_id: optional string or null` - Tagged ID of the member who requested the increase, e.g. "user_01HX...". + Tagged ID of the spend limit. - - `spend_limit_increase_request_id: optional string or null` + - `user_id: optional string or null` - Tagged ID of the spend limit increase request that was denied. + **Deprecated** - - `ExtraUsageSpendLimitUpdated object` + Deprecated. Tagged ID of the admin who performed the action — not the target member. Use `spend_limit_id` to look up the target member. - Usage credit spend limit was updated. + - `ExtraUsageSpendLimitIncreaseRequestApproved object` - - `type: optional "extra_usage_spend_limit_updated"` + A usage credit spend limit increase request was approved. - default: extra_usage_spend_limit_updated + - `type: optional "extra_usage_spend_limit_increase_request_approved"` + + default: extra_usage_spend_limit_increase_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"` + + 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' + + - `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 + + - `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). + + - `requester_user_id: optional string or null` + + Tagged ID of the member who requested the increase, e.g. "user_01HX...". + + - `spend_limit_id: optional string or null` + + 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` + + - `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). + + - `requester_user_id: optional string or null` + + Tagged ID of the member who requested the increase, e.g. "user_01HX...". + + - `spend_limit_increase_request_id: optional string or null` + + 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` @@ -47047,14 +47667,1274 @@ 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 - + - `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 + + - `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` + + Custom port, if not the HTTPS default + + - `GheConfigurationDeleted object` + + Admin deleted a GHE configuration. + + - `type: optional "ghe_configuration_deleted"` + + default: ghe_configuration_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` + + - `ghe_configuration_id: string` + + ID of the GHE configuration + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + format: date-time + + - `display_name: optional string or null` + + Display name the configuration had when deleted + + - `hostname: optional string or null` + + 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). + + - `port: optional number or null` + + Custom port, if not the HTTPS default + + - `GheConfigurationUpdated object` + + 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` + + - `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` + + - `ghe_configuration_id: string` + + ID of the GHE configuration + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `created_at: optional string` + + When this activity occurred. + + 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 + + - `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` + + 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 + + - `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` + + - `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 + + - `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 + + - `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). + + - `GheUserDisconnected object` + + User disconnected from a GHE instance. + + - `type: optional "ghe_user_disconnected"` + + default: ghe_user_disconnected + + - `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 + + - `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 + + - `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). + + - `GheWebhookSignatureInvalid object` + + Webhook signature validation failed. + + - `type: optional "ghe_webhook_signature_invalid"` + + default: ghe_webhook_signature_invalid + + - `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` + + - `ghe_configuration_id: string` + + ID of the GHE configuration + + - `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 @@ -47063,17 +48943,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeGitHubIntegrationCreated object` - Admin deleted a GHE configuration. + A GitHub integration was enabled for the organization. - - `type: optional "ghe_configuration_deleted"` + - `type: optional "claude_github_integration_created"` - default: ghe_configuration_deleted + default: claude_github_integration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47281,47 +49157,63 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` + - `integration_id: string` - ID of the GHE 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' + - `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 - - `display_name: optional string or null` - - Display name the configuration had when deleted - - - `hostname: optional string or null` + - `enabled: optional boolean or null` - Hostname of the GitHub Enterprise instance + 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). - - `port: optional number or null` + - `previous_enabled: optional boolean or null` - Custom port, if not the HTTPS default + Whether the integration was enabled before this change; null when the integration had never been configured. - - `GheConfigurationUpdated object` + - `repository_name: 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. + Name of the GitHub repository the integration is connected to, when known. - - `type: optional "ghe_configuration_updated"` + - `ClaudeGitHubIntegrationDeleted object` - default: ghe_configuration_updated + A GitHub integration was disabled for the organization. + + - `type: optional "claude_github_integration_deleted"` + + default: claude_github_integration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47529,9 +49421,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` + - `integration_id: string` - ID of the GHE configuration + Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -47543,85 +49435,37 @@ 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` + - `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` - - 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` + - `organization_name: optional string or null` - Active state before the change, when it changed + Name of the GitHub organization the integration was connected to, when known. - - `previous_port: optional number or null` + - `organization_uuid: optional string or null` - Port 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). - - `read_replica_hostnames_updated: optional boolean or null` + - `previous_enabled: optional boolean or null` - Whether the read replica hostnames were replaced in this update + Whether the integration was enabled before this change; null when the integration had never been configured. - - `webhook_secret_updated: optional boolean or null` + - `repository_name: optional string or null` - Whether the webhook secret was replaced in this update + Name of the GitHub repository the integration was connected to, when known. - - `GheUserConnected object` + - `ClaudeGitHubIntegrationUpdated object` - User connected to a GHE instance. + A GitHub integration's configuration was updated. - - `type: optional "ghe_user_connected"` + - `type: optional "claude_github_integration_updated"` - default: ghe_user_connected + default: claude_github_integration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -47829,6 +49673,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `integration_id: string` + + Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -47839,25 +49687,29 @@ 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 + - `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). - - `GheUserDisconnected object` + - `repository_name: optional string or null` - User disconnected from a GHE instance. + Name of the GitHub repository the integration is connected to, when known. - - `type: optional "ghe_user_disconnected"` + - `GitHubAppInstallationLinked object` - default: ghe_user_disconnected + 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` @@ -48065,6 +49917,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `github_installation_id: number` + + Numeric GitHub ID of the installation that was linked + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -48075,9 +49931,13 @@ compliance activities that can be filtered by various criteria. format: date-time - - `ghe_configuration_id: optional string or null` + - `github_account_login: optional string or null` - ID of the GHE configuration + 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` @@ -48087,13 +49947,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GitHubAppInstallationUnlinked object` - Webhook signature validation failed. + 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 "ghe_webhook_signature_invalid"` + - `type: optional "github_app_installation_unlinked"` - default: ghe_webhook_signature_invalid + default: github_app_installation_unlinked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48301,9 +50161,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `ghe_configuration_id: string` + - `github_installation_id: number` - ID of the GHE configuration + Numeric GitHub ID of the installation that was unlinked - `id: optional string` @@ -48315,6 +50175,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 @@ -48323,13 +50191,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GitHubTokenImport object` - A GitHub integration was enabled for the organization. + 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 "claude_github_integration_created"` + - `type: optional "github_token_import"` - default: claude_github_integration_created + default: github_token_import - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48537,25 +50405,33 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `result: "failed_internal" or "imported" or "rejected_feature_disabled" or 5 more` - Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + The outcome of the import. - - `id: optional string` + - `"failed_internal"` - Unique identifier for the activity e.g. 'activity_abcd1234' + - `"imported"` - - `attestations: optional array of object` + - `"rejected_feature_disabled"` - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + - `"rejected_invalid_credential"` - - `type: string` + - `"rejected_missing_repo_scope"` - Attestation type, such as "safe_for_phi" (may be used with protected health information). + - `"rejected_tenant_not_ready"` - - `content_hash: string` + - `"rejected_zdr_policy"` - 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"` + + - `source: string` + + How the token was imported. + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -48563,37 +50439,33 @@ compliance activities that can be filtered by various criteria. format: date-time - - `enabled: optional boolean or null` + - `github_username: optional string or null` - Whether the integration is enabled after this change. + The GitHub username the imported token authenticates as, when known. - - `organization_id: optional string or null` + - `granted_scopes: optional string or null` - Organization ID this activity is associated with + The scopes granted to the imported token, when available. - - `organization_name: optional string or null` + - `organization_id: optional string or null` - Name of the GitHub organization the integration is connected to, when known. + 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_enabled: optional boolean or null` - - Whether the integration was enabled before this change; null when the integration had never been configured. - - - `repository_name: optional string or null` + - `token_fingerprint_sha256: optional string or null` - Name of the GitHub repository the integration is connected to, when known. + Org-scoped SHA-256 of the submitted token: `sha256(org_uuid || 0x00 || token)`, lowercase-hex-encoded, where `org_uuid` is the organization's UUID as a dashed lowercase string, `0x00` is a single zero byte, and `token` is the submitted value's raw bytes. Per-org correlation only — the same token in two orgs produces distinct fingerprints. Set only when the submitted value carries a known GitHub PAT prefix (a high-entropy token format); unset for all other submissions, including rejected non-PAT input. - - `ClaudeGitHubIntegrationDeleted object` + - `GitlabConfigurationCreated object` - A GitHub integration was disabled for the organization. + An organization admin created a self-managed GitLab configuration for syncing plugin marketplaces. - - `type: optional "claude_github_integration_deleted"` + - `type: optional "gitlab_configuration_created"` - default: claude_github_integration_deleted + default: gitlab_configuration_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -48801,9 +50673,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `gitlab_configuration_id: string` - Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + ID of the GitLab configuration - `id: optional string` @@ -48815,37 +50687,33 @@ compliance activities that can be filtered by various criteria. format: date-time - - `enabled: optional boolean or null` + - `display_name: optional string or null` - Whether the integration is enabled after this change. + Display name given to the configuration - - `organization_id: optional string or null` + - `hostname: optional string or null` - Organization ID this activity is associated with + Hostname of the GitLab instance - - `organization_name: optional string or null` + - `organization_id: optional string or null` - Name of the GitHub organization the integration was connected to, when known. + 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_enabled: optional boolean or null` - - Whether the integration was enabled before this change; null when the integration had never been configured. - - - `repository_name: optional string or null` + - `port: optional number or null` - Name of the GitHub repository the integration was connected to, when known. + Custom port, if not the HTTPS default - - `ClaudeGitHubIntegrationUpdated object` + - `GitlabConfigurationDeleted object` - A GitHub integration's configuration was updated. + An organization admin deleted a self-managed GitLab configuration. - - `type: optional "claude_github_integration_updated"` + - `type: optional "gitlab_configuration_deleted"` - default: claude_github_integration_updated + default: gitlab_configuration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49053,9 +50921,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `gitlab_configuration_id: string` - Tagged ID of the GitHub integration, e.g. "claude_sync_source_01HX...". + ID of the GitLab configuration - `id: optional string` @@ -49067,29 +50935,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 the configuration had when deleted - - `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 GitLab 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` + - `GitlabConfigurationUpdated 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. + 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 "github_app_installation_linked"` + - `type: optional "gitlab_configuration_updated"` - default: github_app_installation_linked + default: gitlab_configuration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49297,27 +51169,39 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `github_installation_id: number` + - `gitlab_configuration_id: string` - Numeric GitHub ID of the installation that was linked + 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 - - `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 + + - `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` @@ -49327,13 +51211,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). - - `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. + New port, when it changed - - `type: optional "github_app_installation_unlinked"` + - `previous_display_name: optional string or null` - default: github_app_installation_unlinked + 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` @@ -49541,27 +51441,35 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `github_installation_id: number` + - `integration_id: string` - Numeric GitHub ID of the installation that was unlinked + 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 - - `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` + - `folder_id: optional string or null` - Whether that GitHub account is an organization or a user account, as reported by GitHub ("Organization" or "User") + Identifier of the Google Drive folder the integration is connected to, when known. - `organization_id: optional string or null` @@ -49571,13 +51479,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ClaudeGdriveIntegrationDeleted object` - 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). + A Google Drive integration was disabled for the organization. - - `type: optional "github_token_import"` + - `type: optional "claude_gdrive_integration_deleted"` - default: github_token_import + default: claude_gdrive_integration_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -49785,29 +51693,9 @@ 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` + - `integration_id: string` - How the token was imported. + Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -49819,13 +51707,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` + - `folder_id: optional string or null` - The scopes granted to the imported token, when available. + Identifier of the Google Drive folder the integration was connected to, when known. - `organization_id: optional string or null` @@ -49835,17 +51719,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` - - Org-scoped SHA-256 of the submitted token: `sha256(org_uuid || 0x00 || token)`, lowercase-hex-encoded, where `org_uuid` is the organization's UUID as a dashed lowercase string, `0x00` is a single zero byte, and `token` is the submitted value's raw bytes. Per-org correlation only — the same token in two orgs produces distinct fingerprints. Set only when the submitted value carries a known GitHub PAT prefix (a high-entropy token format); unset for all other submissions, including rejected non-PAT input. - - - `GitlabConfigurationCreated object` + - `ClaudeGdriveIntegrationUpdated object` - An organization admin created a self-managed GitLab configuration for syncing plugin marketplaces. + A Google Drive integration's configuration was updated. - - `type: optional "gitlab_configuration_created"` + - `type: optional "claude_gdrive_integration_updated"` - default: gitlab_configuration_created + default: claude_gdrive_integration_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50053,9 +51933,9 @@ 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 Google Drive integration, e.g. "claude_sync_source_01HX...". - `id: optional string` @@ -50067,13 +51947,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` + - `folder_id: optional string or null` - Hostname of the GitLab instance + Identifier of the Google Drive folder the integration is connected to, when known. - `organization_id: optional string or null` @@ -50083,17 +51959,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupCreated object` - An organization admin deleted a self-managed GitLab configuration. + A group was created (RBAC admin or SCIM provisioning). - - `type: optional "gitlab_configuration_deleted"` + - `type: optional "group_created"` - default: gitlab_configuration_deleted + default: group_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50301,9 +52173,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `gitlab_configuration_id: string` + - `group_id: string` - ID of the GitLab configuration + Tagged ID of the created group + + - `group_name: string` + + Name of the created group - `id: optional string` @@ -50315,14 +52191,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 @@ -50331,17 +52199,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupDeleted 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 group was deleted (RBAC admin or SCIM provisioning). - - `type: optional "gitlab_configuration_updated"` + - `type: optional "group_deleted"` - default: gitlab_configuration_updated + default: group_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50549,40 +52413,20 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `gitlab_configuration_id: string` + - `group_id: string` - ID of the GitLab configuration + Tagged ID of the deleted group - `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 - - `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 - - - `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` Organization ID this activity is associated with @@ -50591,29 +52435,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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_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` + - `GroupListViewed object` - A Google Drive integration was enabled for the organization. + Admin viewed the list of RBAC groups. - - `type: optional "claude_gdrive_integration_created"` + - `type: optional "group_list_viewed"` - default: claude_gdrive_integration_created + default: group_list_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -50821,36 +52649,16 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` - - 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 @@ -50859,13 +52667,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupMemberAdded object` - A Google Drive integration was disabled for the organization. + One or more members were added to a group. - - `type: optional "claude_gdrive_integration_deleted"` + - `type: optional "group_member_added"` - default: claude_gdrive_integration_deleted + default: group_member_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51073,9 +52881,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `group_id: string` - Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". + Tagged ID of the group - `id: optional string` @@ -51087,9 +52895,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `folder_id: optional string or null` + - `member_ids: optional array of string` - Identifier of the Google Drive folder the integration was connected to, when known. + 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` @@ -51099,13 +52907,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupMemberAdditionFailed object` - A Google Drive integration's configuration 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 "claude_gdrive_integration_updated"` + - `type: optional "group_member_addition_failed"` - default: claude_gdrive_integration_updated + default: group_member_addition_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51313,9 +53121,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `integration_id: string` + - `group_id: string` - Tagged ID of the Google Drive integration, e.g. "claude_sync_source_01HX...". + Tagged ID of the group - `id: optional string` @@ -51327,9 +53135,9 @@ compliance activities that can be filtered by various criteria. format: date-time - - `folder_id: optional string or null` + - `member_ids: optional array of string` - Identifier of the Google Drive folder the integration is connected to, when known. + Tagged IDs of the members the request attempted to add - `organization_id: optional string or null` @@ -51339,13 +53147,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupMemberListViewed object` - A group was created (RBAC admin or SCIM provisioning). + Admin viewed the members of an RBAC group. - - `type: optional "group_created"` + - `type: optional "group_member_list_viewed"` - default: group_created + default: group_member_list_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51555,11 +53363,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the created group - - - `group_name: string` - - Name of the created group + Tagged ID of the group - `id: optional string` @@ -51579,13 +53383,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupMemberRemovalFailed object` - A group was deleted (RBAC admin or SCIM provisioning). + A request to remove members from a group failed. Some of the requested members may have been removed before the failure. - - `type: optional "group_deleted"` + - `type: optional "group_member_removal_failed"` - default: group_deleted + default: group_member_removal_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -51795,7 +53599,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the deleted group + Tagged ID of the group - `id: optional string` @@ -51807,6 +53611,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 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` Organization ID this activity is associated with @@ -51815,13 +53623,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupMemberRemoved object` - Admin viewed the list of RBAC groups. + One or more members were removed from a group. - - `type: optional "group_list_viewed"` + - `type: optional "group_member_removed"` - default: group_list_viewed + default: group_member_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52029,6 +53837,10 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` + - `group_id: string` + + Tagged ID of the group + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -52039,6 +53851,10 @@ compliance activities that can be filtered by various criteria. 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 @@ -52047,13 +53863,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupProjectSharesRevoked object` - One or more members were added to a group. + An RBAC group's project shares in one organization were revoked in bulk. - - `type: optional "group_member_added"` + - `type: optional "group_project_shares_revoked"` - default: group_member_added + default: group_project_shares_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52263,22 +54079,26 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group + Tagged ID of the group whose project shares were revoked. + + - `revoked_count: number` + + Number of distinct projects whose share with this group was revoked. - `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. 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 @@ -52287,13 +54107,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupSkillSharesRevoked object` - A request to add members to a group failed. Some of the requested members may have been added before the failure. + An RBAC group's skill shares in one organization were revoked in bulk. - - `type: optional "group_member_addition_failed"` + - `type: optional "group_skill_shares_revoked"` - default: group_member_addition_failed + default: group_skill_shares_revoked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52503,7 +54323,11 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group + 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` @@ -52515,10 +54339,6 @@ 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 @@ -52527,13 +54347,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). - - `GroupMemberListViewed object` + - `plugin_ids: optional array of string` - Admin viewed the members of an RBAC group. + Tagged IDs of the plugins whose share with this group was revoked. - - `type: optional "group_member_list_viewed"` + - `skill_ids: optional array of string` - default: group_member_list_viewed + 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` @@ -52743,7 +54571,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group + Tagged ID of the updated group - `id: optional string` @@ -52763,13 +54591,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupViewed object` - A request to remove members from a group failed. Some of the requested members may have been removed before the failure. + A group was viewed. - - `type: optional "group_member_removal_failed"` + - `type: optional "group_viewed"` - default: group_member_removal_failed + default: group_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -52979,7 +54807,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group + Tagged ID of the viewed group - `id: optional string` @@ -52991,10 +54819,6 @@ 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 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` Organization ID this activity is associated with @@ -53003,13 +54827,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `GroupVisibilityUpdated object` - One or more members were removed from a group. + An RBAC group's visibility policy was updated. - - `type: optional "group_member_removed"` + - `type: optional "group_visibility_updated"` - default: group_member_removed + default: group_visibility_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -53219,7 +55043,7 @@ compliance activities that can be filtered by various criteria. - `group_id: string` - Tagged ID of the group + Tagged ID of the group whose visibility policy was updated. - `id: optional string` @@ -53231,10 +55055,6 @@ compliance activities that can be filtered by various criteria. 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 @@ -53243,13 +55063,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). - - `GroupProjectSharesRevoked object` + - `policies: optional array of object` - An RBAC group's project shares in one organization were revoked in bulk. + The group's visibility policy after this update. - - `type: optional "group_project_shares_revoked"` + - `audience: "everyone" or "members" or "none" or "unspecified"` - default: group_project_shares_revoked + 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` @@ -53457,22 +55333,18 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `fail_mode: string` - Tagged ID of the group whose project shares were revoked. + The failure handling in effect when the breaker tripped: "fail_open" (requests proceed uninspected) or "fail_closed" (requests are rejected). - - `revoked_count: number` + - `trigger_reason: string` - Number of distinct projects whose share with this group was revoked. + 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' - - `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. @@ -53487,13 +55359,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). - - `GroupSkillSharesRevoked object` + - `surface: optional string or null` - An RBAC group's skill shares in one organization were revoked in bulk. + The product surface of the request whose failure tripped the breaker, e.g. "claude-ai" or "claude-code". - - `type: optional "group_skill_shares_revoked"` + - `InferenceHooksRequestDenied object` - default: group_skill_shares_revoked + 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` @@ -53701,24 +55577,24 @@ 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' + - `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 @@ -53727,21 +55603,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). - - `plugin_ids: optional array of string` + - `reference_id: optional string or null` - Tagged IDs of the plugins whose share with this group was revoked. + 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. - - `skill_ids: optional array of string` + - `request_id: optional string or null` - Tagged IDs of the skills whose share with this group was revoked. + Anthropic's identifier for the denied request — the same value sent to the Inference hooks endpoint as `request_id`. - - `GroupUpdated object` + - `surface: optional string or null` - A group was updated (RBAC admin or SCIM provisioning). + The product surface the request came from, e.g. "claude-ai" or "claude-code". - - `type: optional "group_updated"` + - `InferenceHooksRequestFailedOpen object` - default: group_updated + 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` @@ -53949,14 +55829,26 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `group_id: string` + - `reason: "endpoint_error" or "endpoint_timeout" or "internal_error" or "unspecified"` - Tagged ID of the updated group + 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. @@ -53971,13 +55863,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). - - `GroupViewed object` + - `request_id: optional string or null` - A group was viewed. + 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 "group_viewed"` + - `surface: optional string or null` - default: group_viewed + 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` @@ -54185,10 +56085,6 @@ 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' @@ -54199,6 +56095,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 @@ -54207,13 +56115,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). - - `GroupVisibilityUpdated object` + - `token_vault_connect_mode: optional string or null` - An RBAC group's visibility policy was updated. + 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 "group_visibility_updated"` + - `IntegrationUserDisconnected object` - default: group_visibility_updated + User disconnected from an integration. + + - `type: optional "integration_user_disconnected"` + + default: integration_user_disconnected - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54421,10 +56333,6 @@ 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' @@ -54435,77 +56343,33 @@ 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). - - - `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"` + - `integration_type: optional string or null` - - `"members"` + The kind of integration the user disconnected, e.g. "github", "gdrive", "slack", or "mcp" for a remote MCP server. - - `"none"` + - `mcp_server_id: optional string or null` - - `"unspecified"` + ID of the disconnected remote MCP server, when the integration is a remote MCP server. - - `visibility_type: "discover" or "share_with" or "unspecified" or "view_members"` + - `mcp_server_name: optional string or null` - The visibility facet this entry grants. + Display name of the disconnected remote MCP server, when the integration is a remote MCP server. - - `"discover"` + - `organization_id: optional string or null` - - `"share_with"` + Organization ID this activity is associated with - - `"unspecified"` + - `organization_uuid: optional string or null` - - `"view_members"` + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `InferenceHooksCircuitBreakerTripped object` + - `InvoiceCollectionMethodUpdated 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. + Invoice collection method was changed. - - `type: optional "inference_hooks_circuit_breaker_tripped"` + - `type: optional "invoice_collection_method_updated"` - default: inference_hooks_circuit_breaker_tripped + default: invoice_collection_method_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54713,14 +56577,6 @@ 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' @@ -54731,6 +56587,10 @@ 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 @@ -54739,17 +56599,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `UserLoggedOut object` - Inference hooks inspection denied a request. The request was blocked. + A user signed out of one or all sessions. - - `type: optional "inference_hooks_request_denied"` + - `type: optional "user_logged_out"` - default: inference_hooks_request_denied + default: user_logged_out - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -54961,20 +56817,12 @@ compliance activities that can be filtered by various criteria. 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 @@ -54983,25 +56831,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `LtiLaunchInitiated 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. + LTI launch was initiated. - - `type: optional "inference_hooks_request_failed_open"` + - `type: optional "lti_launch_initiated"` - default: inference_hooks_request_failed_open + default: lti_launch_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55209,26 +57045,10 @@ 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"` - - - `"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. @@ -55243,21 +57063,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `LtiLaunchSuccess object` - User connected to an integration. + LTI launch completed successfully. - - `type: optional "integration_user_connected"` + - `type: optional "lti_launch_success"` - default: integration_user_connected + default: lti_launch_success - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55475,18 +57287,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 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 @@ -55495,17 +57295,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `LtiPlatformCreated object` - User disconnected from an integration. + Anthropic staff created an LTI platform integration on behalf of an org. - - `type: optional "integration_user_disconnected"` + - `type: optional "lti_platform_created"` - default: integration_user_disconnected + default: lti_platform_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55713,6 +57509,14 @@ 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' @@ -55723,17 +57527,245 @@ compliance activities that can be filtered by various criteria. format: date-time - - `integration_type: optional string or null` + - `organization_id: optional string or null` - The kind of integration the user disconnected, e.g. "github", "gdrive", "slack", or "mcp" for a remote MCP server. + Organization ID this activity is associated with - - `mcp_server_id: optional string or null` + - `organization_uuid: optional string or null` - ID of the disconnected remote MCP server, when the integration is a remote MCP server. + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `mcp_server_name: optional string or null` + - `LtiPlatformUpdated object` - Display name of the disconnected remote MCP server, when the integration is a remote MCP server. + Anthropic staff updated an LTI platform integration on behalf of an org. + + - `type: optional "lti_platform_updated"` + + default: lti_platform_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` + + - `lti_platform_id: string` + + UUID of the LTI platform + + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' + + - `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` @@ -55743,13 +57775,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MagicLinkLoginFailed object` - Invoice collection method was changed. + A magic link sign-in attempt failed. - - `type: optional "invoice_collection_method_updated"` + - `type: optional "magic_link_login_failed"` - default: invoice_collection_method_updated + default: magic_link_login_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -55967,10 +57999,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 @@ -55979,13 +58007,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MagicLinkLoginInitiated object` - A user signed out of one or all sessions. + A user requested a magic link sign-in email. - - `type: optional "user_logged_out"` + - `type: optional "magic_link_login_initiated"` - default: user_logged_out + default: magic_link_login_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56211,13 +58239,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MagicLinkLoginSucceeded object` - LTI launch was initiated. + A user successfully signed in with a magic link email. - - `type: optional "lti_launch_initiated"` + - `type: optional "magic_link_login_succeeded"` - default: lti_launch_initiated + default: magic_link_login_succeeded - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56429,12 +58457,28 @@ 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"` + + - `"unspecified"` + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -56443,13 +58487,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `ManagedOrganizationSetupCompleted object` - LTI launch completed successfully. + Managed (AWS Marketplace) organization setup was completed. - - `type: optional "lti_launch_success"` + - `type: optional "managed_organization_setup_completed"` - default: lti_launch_success + default: managed_organization_setup_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56675,13 +58719,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MarketplaceCreated object` - Anthropic staff created an LTI platform integration on behalf of an org. + Admin created an organization marketplace. - - `type: optional "lti_platform_created"` + - `type: optional "marketplace_created"` - default: lti_platform_created + default: marketplace_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -56889,24 +58933,36 @@ 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` + - `marketplace_id: string` - Platform issuer URL + 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 @@ -56915,13 +58971,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MarketplaceDeleted object` - Anthropic staff updated an LTI platform integration on behalf of an org. + Admin deleted an organization marketplace. - - `type: optional "lti_platform_updated"` + - `type: optional "marketplace_deleted"` - default: lti_platform_updated + default: marketplace_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57129,9 +59185,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `lti_platform_id: string` + - `marketplace_id: string` - UUID of the LTI platform + Tagged ID of the marketplace - `id: optional string` @@ -57143,10 +59199,6 @@ 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 @@ -57155,13 +59207,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MarketplaceUpdated object` - A magic link sign-in attempt failed. + Admin updated an organization marketplace. - - `type: optional "magic_link_login_failed"` + - `type: optional "marketplace_updated"` - default: magic_link_login_failed + default: marketplace_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57369,10 +59421,26 @@ 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. @@ -57387,13 +59455,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). - - `MagicLinkLoginInitiated object` + - `updates: optional array of object` - A user requested a magic link sign-in email. + The setting changes applied in this update; empty for an update that changed no recorded setting (such as a sync) - - `type: optional "magic_link_login_initiated"` + - `type: "default_installation_preference" or "unspecified"` - default: magic_link_login_initiated + 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` @@ -57601,6 +59689,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' @@ -57619,13 +59711,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `MarketplaceWebhookProvisioned object` - A user successfully signed in with a magic link email. + Admin provisioned a GitHub push webhook for a marketplace. - - `type: optional "magic_link_login_succeeded"` + - `type: optional "marketplace_webhook_provisioned"` - default: magic_link_login_succeeded + default: marketplace_webhook_provisioned - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -57833,17 +59925,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `id: optional string` - - Unique identifier for the activity e.g. 'activity_abcd1234' - - - `auth_method: optional "magic_link" or "unspecified" or null` + - `marketplace_id: string` - The method the user used to authenticate. May be absent on activities recorded before this field was introduced. + Tagged ID of the marketplace - - `"magic_link"` + - `id: optional string` - - `"unspecified"` + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -57851,13 +59939,9 @@ 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"` + - `github_webhook_id: optional number or null` - - `"unspecified"` + GitHub-assigned webhook ID returned by the hooks API - `organization_id: optional string or null` @@ -57867,13 +59951,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `McpDirectoryServerPublished object` - Managed (AWS Marketplace) organization setup was completed. + The organization published its approved MCP directory listing. - - `type: optional "managed_organization_setup_completed"` + - `type: optional "mcp_directory_server_published"` - default: managed_organization_setup_completed + default: mcp_directory_server_published - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58081,6 +60165,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' @@ -58099,13 +60191,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `McpServerCreated object` - Admin created an organization marketplace. + An MCP server was added to the organization. - - `type: optional "marketplace_created"` + - `type: optional "mcp_server_created"` - default: marketplace_created + default: mcp_server_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58313,9 +60405,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` + - `mcp_server_id: string` - Tagged ID of the marketplace + Tagged ID of the MCP server + + - `mcp_server_name: string` + + Display name of the MCP server - `id: optional string` @@ -58339,10 +60435,6 @@ compliance activities that can be filtered by various criteria. 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 @@ -58351,13 +60443,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `McpServerDeleted object` - Admin deleted an organization marketplace. + An MCP server was removed from the organization. - - `type: optional "marketplace_deleted"` + - `type: optional "mcp_server_deleted"` - default: marketplace_deleted + default: mcp_server_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58565,9 +60657,13 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` + - `mcp_server_id: string` - Tagged ID of the marketplace + Tagged ID of the MCP server + + - `mcp_server_name: string` + + Display name of the MCP server - `id: optional string` @@ -58587,13 +60683,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `McpServerManagedAuthTokenExchanged object` - Admin updated an organization marketplace. + 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 "marketplace_updated"` + - `type: optional "mcp_server_managed_auth_token_exchanged"` - default: marketplace_updated + default: mcp_server_managed_auth_token_exchanged - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -58801,25 +60897,29 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` + - `managed_auth_mode: string` - Tagged ID of the marketplace + 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' - - `attestations: optional array of object` + - `assertion_jti: optional string or null` - Legal attestations given with this change, such as "safe_for_phi"; empty when the request carried none. + 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. - - `type: string` + - `authorization_server_issuer: optional string or null` - Attestation type, such as "safe_for_phi" (may be used with protected health information). + The issuer identifier of the authorization server the exchange was attempted against. - - `content_hash: string` + - `correlation_id: 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). + An opaque identifier customers can quote when contacting Anthropic support about this exchange. - `created_at: optional string` @@ -58827,41 +60927,37 @@ 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` + - `error_subtype: 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). + 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. - - `updates: optional array of object` + - `error_type: optional string or null` - The setting changes applied in this update; empty for an update that changed no recorded setting (such as a sync) + 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. - - `type: "default_installation_preference" or "unspecified"` + - `mcp_server_name: optional string or null` - The marketplace setting that changed + The MCP server's display name at the time of the exchange, when available. - - `"default_installation_preference"` + - `organization_id: optional string or null` - - `"unspecified"` + Organization ID this activity is associated with - - `current_value: string` + - `organization_uuid: optional string or null` - Setting value immediately after this change; empty when the setting is no longer set + Organization UUID where the 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: string` + - `outcome: optional string or null` - Setting value immediately before this change; empty when the setting was not set + Whether the token exchange succeeded ("success") or was rejected ("failure"). - - `MarketplaceWebhookDeleted object` + - `McpServerManagedAuthUpdated object` - Admin removed the GitHub push webhook for a marketplace. + 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 "marketplace_webhook_deleted"` + - `type: optional "mcp_server_managed_auth_updated"` - default: marketplace_webhook_deleted + default: mcp_server_managed_auth_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59069,20 +61165,48 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` + - `mcp_server_id: string` - Tagged ID of the marketplace + 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 + - `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 @@ -59091,13 +61215,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). - - `MarketplaceWebhookProvisioned object` + - `previous_allowed_scopes: optional string or null` - Admin provisioned a GitHub push webhook for a marketplace. + The OAuth scope restriction before the change, as a space-delimited list; null when no scope restriction was configured. - - `type: optional "marketplace_webhook_provisioned"` + - `previous_built_in_roles_included: optional boolean or null` - default: marketplace_webhook_provisioned + 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` + + 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` @@ -59305,24 +61445,36 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `marketplace_id: string` + - `mcp_server_id: string` - Tagged ID of the marketplace + 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 - - `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 @@ -59331,13 +61483,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `McpToolPolicyUpdated object` - The organization published its approved MCP directory listing. + The permission restriction for an MCP tool was set or cleared. - - `type: optional "mcp_directory_server_published"` + - `type: optional "mcp_tool_policy_updated"` - default: mcp_directory_server_published + default: mcp_tool_policy_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59545,24 +61697,52 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_directory_server_id: string` + - `mcp_server_id: string` - Tagged ID of the MCP directory listing + Tagged ID of the MCP server - - `mcp_directory_server_name: string` + - `mcp_server_name: string` - Display name of the MCP directory listing + 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 + - `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 @@ -59571,13 +61751,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgAnalyticsAPICapabilityUpdated object` - An MCP server was added to the organization. + Organization analytics_api capability was enabled or disabled. - - `type: optional "mcp_server_created"` + - `type: optional "org_analytics_api_capability_updated"` - default: mcp_server_created + default: org_analytics_api_capability_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -59785,36 +61965,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 - - `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` + + Whether the analytics API capability is enabled immediately after this change + - `organization_id: optional string or null` Organization ID this activity is associated with @@ -59823,13 +61987,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). - - `McpServerDeleted object` + - `previous_value: optional boolean or null` - An MCP server was removed from the organization. + Whether the analytics API capability was enabled immediately before this change - - `type: optional "mcp_server_deleted"` + - `OrgBulkDeleteInitiated object` - default: mcp_server_deleted + Organization bulk deletion was initiated. + + - `type: optional "org_bulk_delete_initiated"` + + default: org_bulk_delete_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60037,14 +62205,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' @@ -60063,13 +62223,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCapabilityGrantAdded 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. + A capability grant was added to a workspace or role. - - `type: optional "mcp_server_managed_auth_token_exchanged"` + - `type: optional "org_capability_grant_added"` - default: mcp_server_managed_auth_token_exchanged + default: org_capability_grant_added - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60277,29 +62437,27 @@ 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"). + - `grant_type: string` - - `mcp_server_id: string` + The type of capability grant that was added. - The MCP server the exchange was attempted for, e.g. "mcpsrv_01Ab...". + - `principal_id: string` - - `id: optional string` + Tagged ID of the principal the grant was added to. - Unique identifier for the activity e.g. 'activity_abcd1234' + - `principal_type: "rbac_role" or "unspecified" or "workspace"` - - `assertion_jti: optional string or null` + The kind of principal the grant was added to. - 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. + - `"rbac_role"` - - `authorization_server_issuer: optional string or null` + - `"unspecified"` - The issuer identifier of the authorization server the exchange was attempted against. + - `"workspace"` - - `correlation_id: optional string or null` + - `id: optional string` - An opaque identifier customers can quote when contacting Anthropic support about this exchange. + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -60307,18 +62465,6 @@ 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` - - The MCP server's display name at the time of the exchange, when available. - - `organization_id: optional string or null` Organization ID this activity is associated with @@ -60327,17 +62473,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCapabilityGrantRemoved 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). + A capability grant was removed from a workspace or role. - - `type: optional "mcp_server_managed_auth_updated"` + - `type: optional "org_capability_grant_removed"` - default: mcp_server_managed_auth_updated + default: org_capability_grant_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60545,25 +62687,27 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `mcp_server_id: string` + - `grant_type: string` - Tagged ID of the MCP server + The type of capability grant that was removed. - - `mcp_server_name: string` + - `principal_id: string` - Display name of the MCP server + Tagged ID of the principal the grant was removed from. - - `id: optional string` + - `principal_type: "rbac_role" or "unspecified" or "workspace"` - Unique identifier for the activity e.g. 'activity_abcd1234' + The kind of principal the grant was removed from. - - `allowed_scopes: optional string or null` + - `"rbac_role"` - 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. + - `"unspecified"` - - `built_in_roles_included: optional boolean or null` + - `"workspace"` - 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. + - `id: optional string` + + Unique identifier for the activity e.g. 'activity_abcd1234' - `created_at: optional string` @@ -60571,22 +62715,6 @@ compliance activities that can be filtered by various criteria. 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 @@ -60595,29 +62723,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgChatCoworkUnifiedDisabled object` - An MCP server's configuration was updated. + The organization's setting for the unified Chat and Cowork experience was turned off. - - `type: optional "mcp_server_updated"` + - `type: optional "org_chat_cowork_unified_disabled"` - default: mcp_server_updated + default: org_chat_cowork_unified_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -60825,36 +62937,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 - - `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 @@ -60863,13 +62959,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). - - `McpToolPolicyUpdated object` + - `previous_value: optional boolean or null` - The permission restriction for an MCP tool was set or cleared. + Setting value immediately before this change - - `type: optional "mcp_tool_policy_updated"` + - `OrgChatCoworkUnifiedEnabled object` - default: mcp_tool_policy_updated + 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` @@ -61077,51 +63177,19 @@ 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 - - `max_permission: optional string or null` + - `current_value: optional boolean or null` - New max_permission value ('allow' | 'ask' | 'blocked'), or null when cleared + Setting value immediately after this change - `organization_id: optional string or null` @@ -61131,13 +63199,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). - - `OrgAnalyticsAPICapabilityUpdated object` + - `previous_value: optional boolean or null` - Organization analytics_api capability was enabled or disabled. + Setting value immediately before this change - - `type: optional "org_analytics_api_capability_updated"` + - `OrgClaudeCodeDataSharingDisabled object` - default: org_analytics_api_capability_updated + 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` @@ -61357,7 +63429,7 @@ compliance activities that can be filtered by various criteria. - `current_value: optional boolean or null` - Whether the analytics API capability is enabled immediately after this change + Setting value immediately after this change - `organization_id: optional string or null` @@ -61369,15 +63441,15 @@ compliance activities that can be filtered by various criteria. - `previous_value: optional boolean or null` - Whether the analytics API capability was enabled immediately before this change + Setting value immediately before this change - - `OrgBulkDeleteInitiated object` + - `OrgClaudeCodeDataSharingEnabled object` - Organization bulk deletion was initiated. + Organization Claude Code data sharing was enabled. - - `type: optional "org_bulk_delete_initiated"` + - `type: optional "org_claude_code_data_sharing_enabled"` - default: org_bulk_delete_initiated + default: org_claude_code_data_sharing_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -61595,6 +63667,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 @@ -61603,13 +63679,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). - - `OrgCapabilityGrantAdded object` + - `previous_value: optional boolean or null` - A capability grant was added to a workspace or role. + Setting value immediately before this change - - `type: optional "org_capability_grant_added"` + - `OrgClaudeCodeDesktopDisabled object` - default: org_capability_grant_added + Organization Claude Code Desktop was disabled. + + - `type: optional "org_claude_code_desktop_disabled"` + + default: org_claude_code_desktop_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -61817,24 +63897,6 @@ 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' @@ -61845,6 +63907,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 @@ -61853,13 +63919,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). - - `OrgCapabilityGrantRemoved object` + - `previous_value: optional boolean or null` - A capability grant was removed from a workspace or role. + Setting value immediately before this change - - `type: optional "org_capability_grant_removed"` + - `OrgClaudeCodeDesktopEnabled object` - default: org_capability_grant_removed + Organization Claude Code Desktop was enabled. + + - `type: optional "org_claude_code_desktop_enabled"` + + default: org_claude_code_desktop_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62067,24 +64137,6 @@ 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. - - - `"rbac_role"` - - - `"unspecified"` - - - `"workspace"` - - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -62095,6 +64147,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 @@ -62103,13 +64159,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). - - `OrgChatCoworkUnifiedDisabled object` + - `previous_value: optional boolean or null` - The organization's setting for the unified Chat and Cowork experience was turned off. + Setting value immediately before this change - - `type: optional "org_chat_cowork_unified_disabled"` + - `OrgClaudeCodeZeroDataRetentionDisabled object` - default: org_chat_cowork_unified_disabled + 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` @@ -62327,10 +64387,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 @@ -62339,17 +64395,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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 - - - `OrgChatCoworkUnifiedEnabled object` + - `OrgComplianceAPISettingsUpdated object` - The organization's setting for the unified Chat and Cowork experience was turned on. + Organization compliance API settings were updated. - - `type: optional "org_chat_cowork_unified_enabled"` + - `type: optional "org_compliance_api_settings_updated"` - default: org_chat_cowork_unified_enabled + default: org_compliance_api_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62561,16 +64613,20 @@ 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. 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 @@ -62579,17 +64635,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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 - - - `OrgClaudeCodeDataSharingDisabled object` + - `OrgConnectorDomainGuardUpdated object` - Organization Claude Code data sharing was disabled. + Enterprise admin changed whether connectors are restricted to verified domains. - - `type: optional "org_claude_code_data_sharing_disabled"` + - `type: optional "org_connector_domain_guard_updated"` - default: org_claude_code_data_sharing_disabled + default: org_connector_domain_guard_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -62797,6 +64849,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' @@ -62807,10 +64861,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 @@ -62819,17 +64869,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkActWithoutAskingModeDisabled object` - Organization Claude Code data sharing was enabled. + 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_claude_code_data_sharing_enabled"` + - `type: optional "org_cowork_act_without_asking_mode_disabled"` - default: org_claude_code_data_sharing_enabled + default: org_cowork_act_without_asking_mode_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63047,10 +65093,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 @@ -63059,17 +65101,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkActWithoutAskingModeEnabled object` - Organization Claude Code Desktop was disabled. + 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_claude_code_desktop_disabled"` + - `type: optional "org_cowork_act_without_asking_mode_enabled"` - default: org_claude_code_desktop_disabled + default: org_cowork_act_without_asking_mode_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63287,10 +65325,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 @@ -63299,17 +65333,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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 - - - `OrgClaudeCodeDesktopEnabled object` + - `OrgCoworkAgentDisabled object` - Organization Claude Code Desktop was enabled. + Organization Cowork Agent was disabled. - - `type: optional "org_claude_code_desktop_enabled"` + - `type: optional "org_cowork_agent_disabled"` - default: org_claude_code_desktop_enabled + default: org_cowork_agent_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63543,13 +65573,13 @@ compliance activities that can be filtered by various criteria. Setting value immediately before this change - - `OrgClaudeCodeZeroDataRetentionDisabled object` + - `OrgCoworkAgentEnabled 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. + Organization Cowork Agent was enabled. - - `type: optional "org_claude_code_zero_data_retention_disabled"` + - `type: optional "org_cowork_agent_enabled"` - default: org_claude_code_zero_data_retention_disabled + default: org_cowork_agent_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -63767,6 +65797,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 @@ -63775,13 +65809,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). - - `OrgComplianceAPISettingsUpdated object` + - `previous_value: optional boolean or null` - Organization compliance API settings were updated. + Setting value immediately before this change - - `type: optional "org_compliance_api_settings_updated"` + - `OrgCoworkAutoModeDisabled object` - default: org_compliance_api_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` @@ -63993,13 +66031,237 @@ 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` + - `created_at: optional string` - Whether the compliance API is enabled for the organization after this change. + When this activity occurred. - - `compliance_api_logging_enabled: optional boolean or null` + format: date-time - Whether compliance activity logging is enabled for the organization 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). + + - `OrgCoworkAutoModeEnabled object` + + 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_auto_mode_enabled"` + + default: org_cowork_auto_mode_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` @@ -64015,13 +66277,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkBrowserPaneDisabled object` - Enterprise admin changed whether connectors are restricted to verified domains. + 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_connector_domain_guard_updated"` + - `type: optional "org_cowork_browser_pane_disabled"` - default: org_connector_domain_guard_updated + default: org_cowork_browser_pane_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64229,7 +66491,237 @@ 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' + + - `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). + + - `OrgCoworkBrowserPaneEnabled 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. + + - `type: optional "org_cowork_browser_pane_enabled"` + + default: org_cowork_browser_pane_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` @@ -64249,13 +66741,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkDisabled object` - The "Act without asking" mode in Cowork was disabled for the organization, so members can no longer let Claude act without asking for approval. + Organization cowork was disabled. - - `type: optional "org_cowork_act_without_asking_mode_disabled"` + - `type: optional "org_cowork_disabled"` - default: org_cowork_act_without_asking_mode_disabled + default: org_cowork_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64473,6 +66965,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 @@ -64481,13 +66977,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"` + - `OrgCoworkEnabled object` - default: org_cowork_act_without_asking_mode_enabled + Organization cowork was enabled. + + - `type: optional "org_cowork_enabled"` + + default: org_cowork_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -64705,6 +67205,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 @@ -64713,13 +67217,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"` + - `OrgCoworkMcpAlwaysAllowDisabled object` - default: org_cowork_agent_disabled + 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` @@ -64937,10 +67445,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 @@ -64949,17 +67453,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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 - - - `OrgCoworkAgentEnabled object` + - `OrgCoworkMcpAlwaysAllowEnabled object` - Organization Cowork Agent was enabled. + 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_cowork_agent_enabled"` + - `type: optional "org_cowork_mcp_always_allow_enabled"` - default: org_cowork_agent_enabled + default: org_cowork_mcp_always_allow_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65177,10 +67677,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 @@ -65189,17 +67685,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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 - - - `OrgCoworkAutoModeDisabled object` + - `OrgCoworkOtlpSettingsUpdated 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. + The organization's Cowork OpenTelemetry monitoring export settings were updated. - - `type: optional "org_cowork_auto_mode_disabled"` + - `type: optional "org_cowork_otlp_settings_updated"` - default: org_cowork_auto_mode_disabled + default: org_cowork_otlp_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65417,253 +67909,63 @@ 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). - - - `OrgCoworkAutoModeEnabled object` - - 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_auto_mode_enabled"` - - default: org_cowork_auto_mode_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"` + - `new_otlp_content_capture: optional array of string or null` - default: oidc + 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. - - `issuer: optional string or null` + - `new_otlp_endpoint: optional string or null` - The federation issuer's URL. Null when the presented credential failed verification. + The OpenTelemetry export endpoint after the change. Credentials in the URL userinfo or query string are removed; path segments are retained. Null if the endpoint is unset or was not itself modified by this update. - - `ip_address: optional string or null` + - `new_otlp_protocol: optional string or null` - - `subject: 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. - The provider's verified identifier for the caller; its form depends on the provider. + - `new_otlp_resource_attributes: optional string or null` - - `user_agent: 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. - - `AttestedDeviceActor object` + - `organization_id: optional string or null` - An attested mobile device authenticated via Apple App Attest. + Organization ID this activity is associated with - - `type: optional "attested_device_actor"` + - `organization_uuid: optional string or null` - default: attested_device_actor + Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `external_client_id: string` + - `otlp_headers_change: optional "cleared" or "set" or "unspecified" or null` - - `kid_hash: string` + 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. - - `ip_address: optional string or null` + - `"cleared"` - - `user_agent: optional string or null` + - `"set"` - - `id: optional string` + - `"unspecified"` - Unique identifier for the activity e.g. 'activity_abcd1234' + - `previous_otlp_content_capture: optional array of string or null` - - `created_at: optional string` + 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. - When this activity occurred. + - `previous_otlp_endpoint: optional string or null` - format: date-time + The OpenTelemetry export endpoint before the change. Credentials in the URL userinfo or query string are removed; path segments are retained. Null if the endpoint was previously unset or was not itself modified by this update. - - `organization_id: optional string or null` + - `previous_otlp_protocol: optional string or null` - Organization ID this activity is associated with + The OpenTelemetry export protocol before the change. Null if the protocol was previously unset or was not itself modified by this update. - - `organization_uuid: optional string or null` + - `previous_otlp_resource_attributes: 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). + The OpenTelemetry resource attributes before the change. Null if the attributes were previously unset or were not themselves modified by this update. - - `OrgCoworkBrowserPaneDisabled object` + - `OrgCoworkRemoteDisabled 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. + 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_browser_pane_disabled"` + - `type: optional "org_cowork_remote_disabled"` - default: org_cowork_browser_pane_disabled + default: org_cowork_remote_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -65889,13 +68191,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCoworkRemoteEnabled 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. + Running Cowork in the cloud was enabled for the organization, allowing members to run Cowork sessions in Anthropic-hosted remote environments. - - `type: optional "org_cowork_browser_pane_enabled"` + - `type: optional "org_cowork_remote_enabled"` - default: org_cowork_browser_pane_enabled + default: org_cowork_remote_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66121,13 +68423,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgCreationBlocked object` - Organization cowork was disabled. + Organization creation was blocked. - - `type: optional "org_cowork_disabled"` + - `type: optional "org_creation_blocked"` - default: org_cowork_disabled + default: org_creation_blocked - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66345,10 +68647,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 @@ -66357,17 +68655,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` + - `reason: optional string or null` - Setting value immediately before this change + "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. - - `OrgCoworkEnabled object` + - `OrgDataExportAccessed object` - Organization cowork was enabled. + Organization data export file was accessed/downloaded via signed URL. - - `type: optional "org_cowork_enabled"` + - `type: optional "org_data_export_accessed"` - default: org_cowork_enabled + default: org_data_export_accessed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66585,9 +68883,15 @@ compliance activities that can be filtered by various criteria. format: date-time - - `current_value: optional boolean or null` + - `export_type: optional "conversations" or "unspecified" or "workbench" or null` - Setting value immediately after this change + Which data set was downloaded. Absent on records written before this field was introduced. + + - `"conversations"` + + - `"unspecified"` + + - `"workbench"` - `organization_id: optional string or null` @@ -66597,17 +68901,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDataExportCompleted 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 data export was completed. - - `type: optional "org_cowork_mcp_always_allow_disabled"` + - `type: optional "org_data_export_completed"` - default: org_cowork_mcp_always_allow_disabled + default: org_data_export_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -66825,6 +69125,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 @@ -66833,13 +69143,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDataExportStarted object` - 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. + Organization data export was started. - - `type: optional "org_cowork_mcp_always_allow_enabled"` + - `type: optional "org_data_export_started"` - default: org_cowork_mcp_always_allow_enabled + default: org_data_export_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67057,6 +69367,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 @@ -67065,13 +69385,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). - - `OrgCoworkOtlpSettingsUpdated object` + - `scope: optional "member_own_data" or "organization" or "unspecified" or null` - The organization's Cowork OpenTelemetry monitoring export settings were updated. + 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_cowork_otlp_settings_updated"` + - `"member_own_data"` - default: org_cowork_otlp_settings_updated + - `"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` @@ -67289,22 +69619,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. Credentials in the URL userinfo or query string are removed; path segments are retained. 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 @@ -67313,39 +69627,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). - - `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"` + - `updates: optional array of object` - - `"set"` + The field-level changes applied in this update - - `"unspecified"` + - `type: "allowed_inference_geos" or "default_inference_geo" or "unspecified"` - - `previous_otlp_content_capture: optional array of string or null` + The data residency setting that changed - 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. + - `"allowed_inference_geos"` - - `previous_otlp_endpoint: optional string or null` + - `"default_inference_geo"` - The OpenTelemetry export endpoint before the change. Credentials in the URL userinfo or query string are removed; path segments are retained. Null if the endpoint was previously unset or was not itself modified by this update. + - `"unspecified"` - - `previous_otlp_protocol: optional string or null` + - `current_value: 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. + 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_otlp_resource_attributes: optional string or null` + - `previous_value: 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. + 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. - - `OrgCoworkRemoteDisabled object` + - `OrgDeletedViaBulk object` - Running Cowork in the cloud was disabled for the organization, so members can no longer run Cowork sessions in Anthropic-hosted remote environments. + Organization was deleted via bulk operation. - - `type: optional "org_cowork_remote_disabled"` + - `type: optional "org_deleted_via_bulk"` - default: org_cowork_remote_disabled + default: org_deleted_via_bulk - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67571,13 +69881,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDeletionRequested object` - Running Cowork in the cloud was enabled for the organization, allowing members to run Cowork sessions in Anthropic-hosted remote environments. + Organization deletion was requested. - - `type: optional "org_cowork_remote_enabled"` + - `type: optional "org_deletion_requested"` - default: org_cowork_remote_enabled + default: org_deletion_requested - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -67803,13 +70113,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDirectoryResyncCompleted object` - Organization creation was blocked. + Organization directory resync completed successfully. - - `type: optional "org_creation_blocked"` + - `type: optional "org_directory_resync_completed"` - default: org_creation_blocked + default: org_directory_resync_completed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68017,6 +70327,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' @@ -68035,17 +70349,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDirectoryResyncFailed object` - Organization data export file was accessed/downloaded via signed URL. + Organization directory resync failed. - - `type: optional "org_data_export_accessed"` + - `type: optional "org_directory_resync_failed"` - default: org_data_export_accessed + default: org_directory_resync_failed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68253,6 +70563,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' @@ -68263,16 +70577,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 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 @@ -68281,13 +70585,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDirectoryResyncStarted object` - Organization data export was completed. + Organization directory resync was started asynchronously. - - `type: optional "org_data_export_completed"` + - `type: optional "org_directory_resync_started"` - default: org_data_export_completed + default: org_directory_resync_started - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -68495,6 +70799,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' @@ -68505,16 +70813,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 @@ -68523,13 +70821,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` + - `sync_destinations: optional array of string` - Organization data export was started. + Sync destinations the resync targets (for example, accounts and rbac) - - `type: optional "org_data_export_started"` + - `OrgDirectorySyncActivated object` - default: org_data_export_started + 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` @@ -68747,16 +71049,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 @@ -68765,23 +71057,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDirectorySyncAddInitiated object` - The organization's inference data residency settings were updated. + Organization directory sync setup was initiated. - - `type: optional "org_data_residency_updated"` + - `type: optional "org_directory_sync_add_initiated"` - default: org_data_residency_updated + default: org_directory_sync_add_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69007,35 +71289,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDirectorySyncDeleted object` - Organization was deleted via bulk operation. + Organization directory sync was deleted. - - `type: optional "org_deleted_via_bulk"` + - `type: optional "org_directory_sync_deleted"` - default: org_deleted_via_bulk + default: org_directory_sync_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69261,13 +71521,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDiscoverabilityDisabled object` - Organization deletion was requested. + Admin disabled organization discoverability. - - `type: optional "org_deletion_requested"` + - `type: optional "org_discoverability_disabled"` - default: org_deletion_requested + default: org_discoverability_disabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69493,13 +71753,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDiscoverabilityEnabled object` - Organization directory resync completed successfully. + Admin enabled organization discoverability. - - `type: optional "org_directory_resync_completed"` + - `type: optional "org_discoverability_enabled"` - default: org_directory_resync_completed + default: org_discoverability_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69707,10 +71967,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' @@ -69729,13 +71985,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDiscoverabilitySettingsUpdated object` - Organization directory resync failed. + Admin updated organization discoverability settings. - - `type: optional "org_directory_resync_failed"` + - `type: optional "org_discoverability_settings_updated"` - default: org_directory_resync_failed + default: org_discoverability_settings_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -69943,10 +72199,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' @@ -69965,13 +72217,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDomainAddInitiated object` - Organization directory resync was started asynchronously. + Organization domain verification was initiated. - - `type: optional "org_directory_resync_started"` + - `type: optional "org_domain_add_initiated"` - default: org_directory_resync_started + default: org_domain_add_initiated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70179,10 +72431,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' @@ -70201,17 +72449,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDomainRemoved object` - Organization directory sync was activated. + Organization domain was removed. - - `type: optional "org_directory_sync_activated"` + - `type: optional "org_domain_removed"` - default: org_directory_sync_activated + default: org_domain_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70429,6 +72673,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 @@ -70437,13 +72685,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgDomainVerified object` - Organization directory sync setup was initiated. + Organization domain was verified. - - `type: optional "org_directory_sync_add_initiated"` + - `type: optional "org_domain_verified"` - default: org_directory_sync_add_initiated + default: org_domain_verified - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70661,6 +72909,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 @@ -70669,13 +72921,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgExternalKeyCreated object` - Organization directory sync was deleted. + A CMEK external key config was created. - - `type: optional "org_directory_sync_deleted"` + - `type: optional "org_external_key_created"` - default: org_directory_sync_deleted + default: org_external_key_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -70883,6 +73135,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' @@ -70901,13 +73169,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgExternalKeyDeleted object` - Admin disabled organization discoverability. + A CMEK external key config was deleted. - - `type: optional "org_discoverability_disabled"` + - `type: optional "org_external_key_deleted"` - default: org_discoverability_disabled + default: org_external_key_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71115,6 +73383,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' @@ -71133,13 +73405,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgExternalKeyUpdated object` - Admin enabled organization discoverability. + A CMEK external key config was updated. - - `type: optional "org_discoverability_enabled"` + - `type: optional "org_external_key_updated"` - default: org_discoverability_enabled + default: org_external_key_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71347,6 +73619,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' @@ -71365,13 +73641,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). - - `OrgDiscoverabilitySettingsUpdated object` + - `updates: optional array of object` - Admin updated organization discoverability settings. + The field-level changes applied in this update - - `type: optional "org_discoverability_settings_updated"` + - `type: "display_name" or "geo" or "provider_config" or "unspecified"` - default: org_discoverability_settings_updated + 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` + + A CMEK external key config was validated against the customer's KMS. + + - `type: optional "org_external_key_validated"` + + default: org_external_key_validated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71579,6 +73879,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' @@ -71597,13 +73911,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgHipaaArtifactsTermsAccepted object` - Organization domain verification was initiated. + An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. - - `type: optional "org_domain_add_initiated"` + - `type: optional "org_hipaa_artifacts_terms_accepted"` - default: org_domain_add_initiated + default: org_hipaa_artifacts_terms_accepted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -71811,6 +74125,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' @@ -71829,13 +74151,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgHipaaClaudeCodeCoworkRestrictionsDeferred object` - Organization domain was removed. + 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_domain_removed"` + - `type: optional "org_hipaa_claude_code_cowork_restrictions_deferred"` - default: org_domain_removed + default: org_hipaa_claude_code_cowork_restrictions_deferred - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72053,10 +74375,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 @@ -72065,13 +74383,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgHipaaClaudeCodeCoworkRestrictionsEnabled object` - Organization domain was verified. + The HIPAA configuration was applied to Claude Code (local mode) and Cowork (local mode) for the organization. - - `type: optional "org_domain_verified"` + - `type: optional "org_hipaa_claude_code_cowork_restrictions_enabled"` - default: org_domain_verified + default: org_hipaa_claude_code_cowork_restrictions_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72279,6 +74597,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' @@ -72289,10 +74617,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 @@ -72301,13 +74625,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgHipaaSelfServeEnabled object` - A CMEK external key config was created. + A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. - - `type: optional "org_external_key_created"` + - `type: optional "org_hipaa_self_serve_enabled"` - default: org_external_key_created + default: org_hipaa_self_serve_enabled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72515,21 +74839,17 @@ 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"` + - `baa_content_hash: string` - KMS provider backing the key + SHA-256 digest (hex) of the Business Associate Agreement that was accepted. - - `"aws"` + - `baa_version_label: string` - - `"azure"` + Version label of the Business Associate Agreement that was accepted, e.g. "2026-05-06". - - `"gcp"` + - `setup_guide_content_hash: string` - - `"unspecified"` + SHA-256 digest (hex) of the HIPAA setup guide that was current when the HIPAA configuration was enabled. - `id: optional string` @@ -72549,13 +74869,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgIPRestrictionCreated object` - A CMEK external key config was deleted. + Organization IP restriction was created. - - `type: optional "org_external_key_deleted"` + - `type: optional "org_ip_restriction_created"` - default: org_external_key_deleted + default: org_ip_restriction_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72763,10 +75083,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' @@ -72777,6 +75093,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 @@ -72785,13 +75105,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgIPRestrictionDeleted object` - A CMEK external key config was updated. + Organization IP restriction was deleted. - - `type: optional "org_external_key_updated"` + - `type: optional "org_ip_restriction_deleted"` - default: org_external_key_updated + default: org_ip_restriction_deleted - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -72999,10 +75319,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' @@ -73013,6 +75329,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 @@ -73021,37 +75341,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgIPRestrictionUpdated object` - A CMEK external key config was validated against the customer's KMS. + Organization IP restriction was updated. - - `type: optional "org_external_key_validated"` + - `type: optional "org_ip_restriction_updated"` - default: org_external_key_validated + default: org_ip_restriction_updated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73259,29 +75555,27 @@ 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 + - `id: optional string` - - `validation_result: "failure" or "success" or "unspecified"` + Unique identifier for the activity e.g. 'activity_abcd1234' - Outcome of the encrypt/decrypt roundtrip + - `created_at: optional string` - - `"failure"` + When this activity occurred. - - `"success"` + format: date-time - - `"unspecified"` + - `ip_allowlist_enabled: optional boolean or null` - - `id: optional string` + 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. - Unique identifier for the activity e.g. 'activity_abcd1234' + - `ip_range: optional string or null` - - `created_at: optional string` + 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. - When this activity occurred. + - `ip_range_active: optional boolean or null` - format: date-time + 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` @@ -73291,13 +75585,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). - - `OrgHipaaArtifactsTermsAccepted object` + - `previous_ip_range: optional string or null` - An owner of the organization accepted the terms for using artifacts with the HIPAA configuration enabled. + The IP range before this change; absent unless the range itself was changed. - - `type: optional "org_hipaa_artifacts_terms_accepted"` + - `OrgInviteLinkDisabled object` - default: org_hipaa_artifacts_terms_accepted + 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` @@ -73505,14 +75803,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' @@ -73531,13 +75821,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgInviteLinkGenerated object` - A primary owner accepted the Business Associate Agreement and enabled the HIPAA configuration for the organization through the self-serve flow. + Organization invite link was generated. - - `type: optional "org_hipaa_self_serve_enabled"` + - `type: optional "org_invite_link_generated"` - default: org_hipaa_self_serve_enabled + default: org_invite_link_generated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73745,18 +76035,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' @@ -73775,13 +76053,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgInviteLinkRegenerated object` - Organization IP restriction was created. + Organization invite link was regenerated (previous link invalidated). - - `type: optional "org_ip_restriction_created"` + - `type: optional "org_invite_link_regenerated"` - default: org_ip_restriction_created + default: org_invite_link_regenerated - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -73999,10 +76277,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 @@ -74011,13 +76285,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgInviteViewed object` - Organization IP restriction was deleted. + An organization invite was viewed. - - `type: optional "org_ip_restriction_deleted"` + - `type: optional "org_invite_viewed"` - default: org_ip_restriction_deleted + default: org_invite_viewed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74225,6 +76499,10 @@ 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' @@ -74235,10 +76513,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 @@ -74247,13 +76521,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgInvitesListed object` - Organization IP restriction was updated. + Organization invites were listed. - - `type: optional "org_ip_restriction_updated"` + - `type: optional "org_invites_listed"` - default: org_ip_restriction_updated + default: org_invites_listed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74471,18 +76745,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 @@ -74491,17 +76753,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgJoinProposalDecided object` - Organization invite link was disabled. + Approve or reject decision on a parent-org join proposal. - - `type: optional "org_invite_link_disabled"` + - `type: optional "org_join_proposal_decided"` - default: org_invite_link_disabled + default: org_join_proposal_decided - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74709,6 +76967,8 @@ 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' @@ -74727,13 +76987,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the activity occurred. Null when the activity is not tied to an organization (for example, login and logout events or calls to the Compliance API). - - `OrgInviteLinkGenerated object` + - `OrgJoinRequestApproved object` - Organization invite link was generated. + Admin approved a join request. - - `type: optional "org_invite_link_generated"` + - `type: optional "org_join_request_approved"` - default: org_invite_link_generated + default: org_join_request_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -74959,13 +77219,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgJoinRequestCreated object` - Organization invite link was regenerated (previous link invalidated). + User requested to join an organization. - - `type: optional "org_invite_link_regenerated"` + - `type: optional "org_join_request_created"` - default: org_invite_link_regenerated + default: org_join_request_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75191,13 +77451,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgJoinRequestDismissed object` - An organization invite was viewed. + Admin dismissed a join request. - - `type: optional "org_invite_viewed"` + - `type: optional "org_join_request_dismissed"` - default: org_invite_viewed + default: org_join_request_dismissed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75405,10 +77665,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' @@ -75427,13 +77683,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgJoinRequestInstantApproved object` - Organization invites were listed. + Join request was instantly approved. - - `type: optional "org_invites_listed"` + - `type: optional "org_join_request_instant_approved"` - default: org_invites_listed + default: org_join_request_instant_approved - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75659,13 +77915,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgJoinRequestsBulkDismissed object` - Approve or reject decision on a parent-org join proposal. + Admin bulk-dismissed join requests. - - `type: optional "org_join_proposal_decided"` + - `type: optional "org_join_requests_bulk_dismissed"` - default: org_join_proposal_decided + default: org_join_requests_bulk_dismissed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -75873,8 +78129,6 @@ 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' @@ -75893,13 +78147,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgLibrarySubmissionCreated object` - Admin approved a join request. + A member submitted one of their own skills or plugins for publication into the organization library. - - `type: optional "org_join_request_approved"` + - `type: optional "org_library_submission_created"` - default: org_join_request_approved + default: org_library_submission_created - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76107,6 +78361,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' @@ -76125,13 +78413,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). - - `OrgJoinRequestCreated object` + - `updates_published_plugin_id: optional string or null` - User requested to join an organization. + The existing library entry this submission proposes to update; unset for a new entry. - - `type: optional "org_join_request_created"` + - `OrgLibrarySubmissionResolved object` - default: org_join_request_created + 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` @@ -76339,263 +78631,105 @@ compliance activities that can be filtered by various criteria. - `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). - - - `OrgJoinRequestDismissed object` - - Admin dismissed a join request. - - - `type: optional "org_join_request_dismissed"` - - default: org_join_request_dismissed - - - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` - - - `APIActor object` - - - `type: optional "api_actor"` - - default: api_actor + - `content_hash: string` - - `api_key_id: 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. - - `ip_address: string` + - `decision: "accepted" or "denied" or "unspecified"` - - `user_agent: string` + Whether the submission was accepted into the library or denied. - - `UserActor object` + - `"accepted"` - - `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` + - `"denied"` - - `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` + - `"unspecified"` - - `signed_principal: string` + - `destination_marketplace_id: string` - The AWS-signed ARN of the IAM principal that requested the token. + The marketplace the submission was accepted into. Empty on a denial. - - `FederatedActorAzureProvider object` + - `publish_completed: boolean` - Asserting party: the Azure subscription the organization is bound to. + 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. - - `type: optional "azure"` + - `published_plugin_version_id: string` - default: azure + The published version. Empty when publish_completed is false. - - `subscription_id: string` + - `source_plugin_id: string` - - `FederatedActorGcpProvider object` + The member's own skill or plugin that was submitted. - Asserting party: the GCP project the organization is bound to. + - `source_plugin_version_id: string` - - `type: optional "gcp"` + The exact version that was decided on. - default: gcp + - `id: optional string` - - `project_number: string` + Unique identifier for the activity e.g. 'activity_abcd1234' - - `FederatedActorOidcProvider object` + - `attestations: optional array of object` - Asserting party: a customer-registered OIDC federation issuer. + Legal attestations given with the decision, such as "safe_for_phi"; empty when none were given, and on a second accepted record. - - `type: optional "oidc"` + - `type: string` - default: oidc + Attestation type, such as "safe_for_phi" (may be used with protected health information). - - `issuer: optional string or null` + - `content_hash: string` - The federation issuer's URL. Null when the presented credential failed verification. + Digest of the legal text that was accepted, identifying its version, as the actor's client reported it (not verified against a known document). - - `ip_address: optional string or null` + - `created_at: optional string` - - `subject: optional string or null` + When this activity occurred. - The provider's verified identifier for the caller; its form depends on the provider. + format: date-time - - `user_agent: optional string or null` + - `installation_preference: optional string or null` - - `AttestedDeviceActor object` + 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. - An attested mobile device authenticated via Apple App Attest. + - `library_submission_id: optional string or null` - - `type: optional "attested_device_actor"` + The submission that was decided on. - default: attested_device_actor + - `organization_id: optional string or null` - - `external_client_id: string` + Organization ID this activity is associated with - - `kid_hash: string` + - `organization_uuid: optional string or null` - - `ip_address: 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_agent: optional string or null` + - `publish_policy: optional "off" or "open" or "review" or "unspecified" or null` - - `id: optional string` + 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. - 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` + - `reviewed_by_user_id: optional string or null` - Organization ID this activity is associated with + 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. - - `organization_uuid: optional string or null` + - `submitted_by_user_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). + The member who made the submission. - - `OrgJoinRequestInstantApproved object` + - `OrgLibrarySubmissionWithdrawn object` - Join request was instantly approved. + A pending submission to the organization library was withdrawn before any reviewer decided on it. - - `type: optional "org_join_request_instant_approved"` + - `type: optional "org_library_submission_withdrawn"` - default: org_join_request_instant_approved + default: org_library_submission_withdrawn - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -76803,6 +78937,36 @@ 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` + + The version that had been submitted. + - `id: optional string` Unique identifier for the activity e.g. 'activity_abcd1234' @@ -76821,13 +78985,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgMagicLinkSecondFactorToggled object` - Admin bulk-dismissed join requests. + Organization magic link second factor was toggled. - - `type: optional "org_join_requests_bulk_dismissed"` + - `type: optional "org_magic_link_second_factor_toggled"` - default: org_join_requests_bulk_dismissed + default: org_magic_link_second_factor_toggled - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77035,6 +79199,10 @@ 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' @@ -77053,13 +79221,13 @@ compliance activities that can be filtered by various criteria. Organization UUID where the 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` + - `OrgMemberAvatarRemoved object` - Organization magic link second factor was toggled. + An administrator removed another member's profile picture. - - `type: optional "org_magic_link_second_factor_toggled"` + - `type: optional "org_member_avatar_removed"` - default: org_magic_link_second_factor_toggled + default: org_member_avatar_removed - `actor: APIActor or UserActor or UnauthenticatedUserActor or 8 more` @@ -77267,9 +79435,9 @@ compliance activities that can be filtered by various criteria. - `user_agent: optional string or null` - - `enabled: boolean` + - `user_id: string` - Whether members signing in with SSO must also complete a magic link as a second factor, after this change. + Tagged ID of the member whose profile picture was removed. - `id: optional string` diff --git a/content/en/api/compliance/apps.md b/content/en/api/compliance/apps.md index 6f81260df3..a05e558108 100644 --- a/content/en/api/compliance/apps.md +++ b/content/en/api/compliance/apps.md @@ -3552,7 +3552,7 @@ only for identity-stored content; validate against it when present. - `multi_file_format: optional string` - Set to `zip`, its only value, to receive a version that has more than one file as a ZIP archive of its files with an index, `files.json`. Files the artifact copied from its type (the app that displays every artifact of that type) are listed under `omitted_files` in the index, and left out of the archive, when an organization other than the artifact's owns that type. A Claude Doc's version never comes back as a ZIP: it is answered as without this parameter, except that a version with more than one file, one of them with a name the API cannot export, gets 422 `file_set_unavailable`. A version with one file is returned as that file, as without this parameter. + Set to `zip`, its only value, to receive a version that has more than one file as a ZIP archive of its files with an index, `files.json`. Files the Artifact copied from its type (the app that displays every Artifact of that type) are listed under `omitted_files` in the index, and left out of the archive, when an organization other than the Artifact's owns that type. Files the version uses from another Artifact are always listed there and left out. A Claude Doc's version never comes back as a ZIP: it is answered as without this parameter, except that a version with more than one file, one of them with a name the API cannot export, gets 422 `file_set_unavailable`. A version with one file is returned as that file, as without this parameter. #### Headers diff --git a/content/en/api/compliance/apps/code.md b/content/en/api/compliance/apps/code.md index cad5ec9746..e23438f8cb 100644 --- a/content/en/api/compliance/apps/code.md +++ b/content/en/api/compliance/apps/code.md @@ -259,7 +259,7 @@ only for identity-stored content; validate against it when present. - `multi_file_format: optional string` - Set to `zip`, its only value, to receive a version that has more than one file as a ZIP archive of its files with an index, `files.json`. Files the artifact copied from its type (the app that displays every artifact of that type) are listed under `omitted_files` in the index, and left out of the archive, when an organization other than the artifact's owns that type. A Claude Doc's version never comes back as a ZIP: it is answered as without this parameter, except that a version with more than one file, one of them with a name the API cannot export, gets 422 `file_set_unavailable`. A version with one file is returned as that file, as without this parameter. + Set to `zip`, its only value, to receive a version that has more than one file as a ZIP archive of its files with an index, `files.json`. Files the Artifact copied from its type (the app that displays every Artifact of that type) are listed under `omitted_files` in the index, and left out of the archive, when an organization other than the Artifact's owns that type. Files the version uses from another Artifact are always listed there and left out. A Claude Doc's version never comes back as a ZIP: it is answered as without this parameter, except that a version with more than one file, one of them with a name the API cannot export, gets 422 `file_set_unavailable`. A version with one file is returned as that file, as without this parameter. #### Headers diff --git a/content/en/api/compliance/apps/code/artifacts.md b/content/en/api/compliance/apps/code/artifacts.md index 64657bac5c..ae31b2244a 100644 --- a/content/en/api/compliance/apps/code/artifacts.md +++ b/content/en/api/compliance/apps/code/artifacts.md @@ -257,7 +257,7 @@ only for identity-stored content; validate against it when present. - `multi_file_format: optional string` - Set to `zip`, its only value, to receive a version that has more than one file as a ZIP archive of its files with an index, `files.json`. Files the artifact copied from its type (the app that displays every artifact of that type) are listed under `omitted_files` in the index, and left out of the archive, when an organization other than the artifact's owns that type. A Claude Doc's version never comes back as a ZIP: it is answered as without this parameter, except that a version with more than one file, one of them with a name the API cannot export, gets 422 `file_set_unavailable`. A version with one file is returned as that file, as without this parameter. + Set to `zip`, its only value, to receive a version that has more than one file as a ZIP archive of its files with an index, `files.json`. Files the Artifact copied from its type (the app that displays every Artifact of that type) are listed under `omitted_files` in the index, and left out of the archive, when an organization other than the Artifact's owns that type. Files the version uses from another Artifact are always listed there and left out. A Claude Doc's version never comes back as a ZIP: it is answered as without this parameter, except that a version with more than one file, one of them with a name the API cannot export, gets 422 `file_set_unavailable`. A version with one file is returned as that file, as without this parameter. ### Headers diff --git a/content/en/api/compliance/apps/code/artifacts/retrieve_version.md b/content/en/api/compliance/apps/code/artifacts/retrieve_version.md index 113f30540d..5a51614dfd 100644 --- a/content/en/api/compliance/apps/code/artifacts/retrieve_version.md +++ b/content/en/api/compliance/apps/code/artifacts/retrieve_version.md @@ -43,7 +43,7 @@ only for identity-stored content; validate against it when present. - `multi_file_format: optional string` - Set to `zip`, its only value, to receive a version that has more than one file as a ZIP archive of its files with an index, `files.json`. Files the artifact copied from its type (the app that displays every artifact of that type) are listed under `omitted_files` in the index, and left out of the archive, when an organization other than the artifact's owns that type. A Claude Doc's version never comes back as a ZIP: it is answered as without this parameter, except that a version with more than one file, one of them with a name the API cannot export, gets 422 `file_set_unavailable`. A version with one file is returned as that file, as without this parameter. + Set to `zip`, its only value, to receive a version that has more than one file as a ZIP archive of its files with an index, `files.json`. Files the Artifact copied from its type (the app that displays every Artifact of that type) are listed under `omitted_files` in the index, and left out of the archive, when an organization other than the Artifact's owns that type. Files the version uses from another Artifact are always listed there and left out. A Claude Doc's version never comes back as a ZIP: it is answered as without this parameter, except that a version with more than one file, one of them with a name the API cannot export, gets 422 `file_set_unavailable`. A version with one file is returned as that file, as without this parameter. ## Headers diff --git a/content/en/api/compliance/organizations.md b/content/en/api/compliance/organizations.md index bb54ca9e62..412b1f32f0 100644 --- a/content/en/api/compliance/organizations.md +++ b/content/en/api/compliance/organizations.md @@ -227,6 +227,123 @@ curl https://api.anthropic.com/v1/compliance/organizations/$ORG_UUID/users \ } ``` +## Organizations › User Preferences + +### List organization members' personal preferences + +**GET** `/v1/compliance/organizations/{org_uuid}/user_preferences` + +List the personal preferences of an organization's current members. + +Returns each member's "Instructions for Claude" and Cowork "Global +instructions" text. Both are account-level settings: the same text is +returned under every organization the member belongs to. Members are +listed in the order they joined the organization, oldest first; use +`limit` and `page` to paginate. A page may hold fewer than `limit` +rows, or none at all, without being the last page: the server bounds +the work it does per request. Follow `next_page` until it is `null`. + +#### Path parameters + +- `org_uuid: string` + + The organization's UUID + +#### Query parameters + +- `include_unset: optional boolean` + + When true, list every current member, with `null` for each value they have not set. By default only members with at least one value set are listed. + + default: false + +- `limit: optional number` + + Maximum results (default: 20, max: 100) + + default: 20, minimum: 1, maximum: 100 + +- `page: optional string` + + Opaque pagination token from a previous response's `next_page` field. Pass this to retrieve the next page of results. Clients should treat this value as an opaque string and not attempt to parse or interpret its contents, as the format may change without notice. + +- `user_ids: optional array of string` + + Restrict the list to these users (max 10 per request). An entry that does not name a current member of the organization matches nothing. Omit to list every eligible member. Enumerate IDs via `GET /v1/compliance/organizations/{org_uuid}/users`. + + maxItems: 10 + +#### 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). + +- `"x-api-key": optional string` + +#### Returns + +- `data: array of object` + + Current organization members in the order they joined the organization, oldest first. By default only members with at least one value set are listed; with `include_unset=true` every member is. + + - `conversation_preferences: string or null` + + The member's "Instructions for Claude" text from their personal settings, with leading and trailing whitespace removed. `null` when the member has never set it or has cleared it. + + - `cowork_global_instructions: string or null` + + The member's "Global instructions" text for Cowork, Claude's desktop agent, with leading and trailing whitespace removed. `null` when the member has never set it or has cleared it. + + - `user: object` + + The organization member. + + - `id: string` + + User identifier + + - `email_address: string` + + User's current email address + +- `has_more: boolean` + + Whether there is a further page to request. A page can hold fewer records than `limit`, or none, and still have more: the server bounds the work it does per request. + +- `next_page: string or null` + + Token to retrieve the next page. Use this as the 'page' parameter in your next request; `null` on the last page. + +#### Example + +```bash +curl https://api.anthropic.com/v1/compliance/organizations/$ORG_UUID/user_preferences \ + -H 'anthropic-version: 2023-06-01' \ + -H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY" +``` + +##### Response (200) + +```json +{ + "data": [ + { + "conversation_preferences": "Always answer in British English.", + "cowork_global_instructions": "Prefer short status updates.", + "user": { + "id": "user_01WCz1FkmYMm4gnmykNKUu3Q", + "email_address": "jane.doe@example.com" + } + } + ], + "has_more": true, + "next_page": "cGFnZV90b2tlbl9leGFtcGxlXzE3MzQ1Njc4OTA=" +} +``` + ## Organizations › Roles ### List Compliance Roles diff --git a/content/en/api/compliance/organizations/user_preferences.md b/content/en/api/compliance/organizations/user_preferences.md new file mode 100644 index 0000000000..00c5d83720 --- /dev/null +++ b/content/en/api/compliance/organizations/user_preferences.md @@ -0,0 +1,149 @@ +--- +title: User Preferences +url: https://platform.claude.com/docs/en/api/compliance/organizations/user_preferences +--- + +# User Preferences + +## List organization members' personal preferences + +**GET** `/v1/compliance/organizations/{org_uuid}/user_preferences` + +List the personal preferences of an organization's current members. + +Returns each member's "Instructions for Claude" and Cowork "Global +instructions" text. Both are account-level settings: the same text is +returned under every organization the member belongs to. Members are +listed in the order they joined the organization, oldest first; use +`limit` and `page` to paginate. A page may hold fewer than `limit` +rows, or none at all, without being the last page: the server bounds +the work it does per request. Follow `next_page` until it is `null`. + +### Path parameters + +- `org_uuid: string` + + The organization's UUID + +### Query parameters + +- `include_unset: optional boolean` + + When true, list every current member, with `null` for each value they have not set. By default only members with at least one value set are listed. + + default: false + +- `limit: optional number` + + Maximum results (default: 20, max: 100) + + default: 20, minimum: 1, maximum: 100 + +- `page: optional string` + + Opaque pagination token from a previous response's `next_page` field. Pass this to retrieve the next page of results. Clients should treat this value as an opaque string and not attempt to parse or interpret its contents, as the format may change without notice. + +- `user_ids: optional array of string` + + Restrict the list to these users (max 10 per request). An entry that does not name a current member of the organization matches nothing. Omit to list every eligible member. Enumerate IDs via `GET /v1/compliance/organizations/{org_uuid}/users`. + + maxItems: 10 + +### 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). + +- `"x-api-key": optional string` + +### Returns + +- `data: array of object` + + Current organization members in the order they joined the organization, oldest first. By default only members with at least one value set are listed; with `include_unset=true` every member is. + + - `conversation_preferences: string or null` + + The member's "Instructions for Claude" text from their personal settings, with leading and trailing whitespace removed. `null` when the member has never set it or has cleared it. + + - `cowork_global_instructions: string or null` + + The member's "Global instructions" text for Cowork, Claude's desktop agent, with leading and trailing whitespace removed. `null` when the member has never set it or has cleared it. + + - `user: object` + + The organization member. + + - `id: string` + + User identifier + + - `email_address: string` + + User's current email address + +- `has_more: boolean` + + Whether there is a further page to request. A page can hold fewer records than `limit`, or none, and still have more: the server bounds the work it does per request. + +- `next_page: string or null` + + Token to retrieve the next page. Use this as the 'page' parameter in your next request; `null` on the last page. + +### Example + +```bash +curl https://api.anthropic.com/v1/compliance/organizations/$ORG_UUID/user_preferences \ + -H 'anthropic-version: 2023-06-01' \ + -H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY" +``` + +#### Response (200) + +```json +{ + "data": [ + { + "conversation_preferences": "Always answer in British English.", + "cowork_global_instructions": "Prefer short status updates.", + "user": { + "id": "user_01WCz1FkmYMm4gnmykNKUu3Q", + "email_address": "jane.doe@example.com" + } + } + ], + "has_more": true, + "next_page": "cGFnZV90b2tlbl9leGFtcGxlXzE3MzQ1Njc4OTA=" +} +``` + +## Domain types + +### User Preference List Response + +- `UserPreferenceListResponse object` + + The personal preferences a member of the organization has written in their settings. + + - `conversation_preferences: string or null` + + The member's "Instructions for Claude" text from their personal settings, with leading and trailing whitespace removed. `null` when the member has never set it or has cleared it. + + - `cowork_global_instructions: string or null` + + The member's "Global instructions" text for Cowork, Claude's desktop agent, with leading and trailing whitespace removed. `null` when the member has never set it or has cleared it. + + - `user: object` + + The organization member. + + - `id: string` + + User identifier + + - `email_address: string` + + User's current email address diff --git a/content/en/api/compliance/organizations/user_preferences/list.md b/content/en/api/compliance/organizations/user_preferences/list.md new file mode 100644 index 0000000000..885b7bd60c --- /dev/null +++ b/content/en/api/compliance/organizations/user_preferences/list.md @@ -0,0 +1,119 @@ +--- +title: List organization members' personal preferences +url: https://platform.claude.com/docs/en/api/compliance/organizations/user_preferences/list +--- + +# List organization members' personal preferences + +**GET** `/v1/compliance/organizations/{org_uuid}/user_preferences` + +List the personal preferences of an organization's current members. + +Returns each member's "Instructions for Claude" and Cowork "Global +instructions" text. Both are account-level settings: the same text is +returned under every organization the member belongs to. Members are +listed in the order they joined the organization, oldest first; use +`limit` and `page` to paginate. A page may hold fewer than `limit` +rows, or none at all, without being the last page: the server bounds +the work it does per request. Follow `next_page` until it is `null`. + +## Path parameters + +- `org_uuid: string` + + The organization's UUID + +## Query parameters + +- `include_unset: optional boolean` + + When true, list every current member, with `null` for each value they have not set. By default only members with at least one value set are listed. + + default: false + +- `limit: optional number` + + Maximum results (default: 20, max: 100) + + default: 20, minimum: 1, maximum: 100 + +- `page: optional string` + + Opaque pagination token from a previous response's `next_page` field. Pass this to retrieve the next page of results. Clients should treat this value as an opaque string and not attempt to parse or interpret its contents, as the format may change without notice. + +- `user_ids: optional array of string` + + Restrict the list to these users (max 10 per request). An entry that does not name a current member of the organization matches nothing. Omit to list every eligible member. Enumerate IDs via `GET /v1/compliance/organizations/{org_uuid}/users`. + + maxItems: 10 + +## 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). + +- `"x-api-key": optional string` + +## Returns + +- `data: array of object` + + Current organization members in the order they joined the organization, oldest first. By default only members with at least one value set are listed; with `include_unset=true` every member is. + + - `conversation_preferences: string or null` + + The member's "Instructions for Claude" text from their personal settings, with leading and trailing whitespace removed. `null` when the member has never set it or has cleared it. + + - `cowork_global_instructions: string or null` + + The member's "Global instructions" text for Cowork, Claude's desktop agent, with leading and trailing whitespace removed. `null` when the member has never set it or has cleared it. + + - `user: object` + + The organization member. + + - `id: string` + + User identifier + + - `email_address: string` + + User's current email address + +- `has_more: boolean` + + Whether there is a further page to request. A page can hold fewer records than `limit`, or none, and still have more: the server bounds the work it does per request. + +- `next_page: string or null` + + Token to retrieve the next page. Use this as the 'page' parameter in your next request; `null` on the last page. + +## Example + +```bash +curl https://api.anthropic.com/v1/compliance/organizations/$ORG_UUID/user_preferences \ + -H 'anthropic-version: 2023-06-01' \ + -H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY" +``` + +### Response (200) + +```json +{ + "data": [ + { + "conversation_preferences": "Always answer in British English.", + "cowork_global_instructions": "Prefer short status updates.", + "user": { + "id": "user_01WCz1FkmYMm4gnmykNKUu3Q", + "email_address": "jane.doe@example.com" + } + } + ], + "has_more": true, + "next_page": "cGFnZV90b2tlbl9leGFtcGxlXzE3MzQ1Njc4OTA=" +} +``` diff --git a/content/en/api/csharp/beta.md b/content/en/api/csharp/beta.md index f06829d82c..deeb684acc 100644 --- a/content/en/api/csharp/beta.md +++ b/content/en/api/csharp/beta.md @@ -519,9 +519,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `required BetaCapabilitySupport BetweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `required BetaCapabilitySupport Disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `required BetaCapabilitySupport Enabled` @@ -677,6 +681,9 @@ await foreach (var item in page.Paginate()) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -975,9 +982,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `required BetaCapabilitySupport BetweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `required BetaCapabilitySupport Disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `required BetaCapabilitySupport Enabled` @@ -1129,6 +1140,9 @@ Console.WriteLine(betaModelInfo); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -68204,13 +68218,13 @@ Console.WriteLine(betaManagedAgentsDeploymentRun); ## Beta › Vaults -### Create Vault +### Create a Vault `BetaManagedAgentsVault Beta.Vaults.Create(parameters, cancellationToken = default)` **POST** `/v1/vaults` -Create Vault +Create a Vault #### Parameters @@ -68348,7 +68362,7 @@ Create Vault - `required string ID` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `required DateTimeOffset? ArchivedAt` @@ -68416,7 +68430,7 @@ List Vaults - `bool includeArchived` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `int limit` (query parameter) @@ -68426,7 +68440,7 @@ List Vaults - `string page` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=csharp) response, to get the next page. Leave it out to get the first page. - `IReadOnlyList betas` (header parameter) @@ -68550,7 +68564,7 @@ List Vaults - `required string ID` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `required DateTimeOffset? ArchivedAt` @@ -68611,13 +68625,13 @@ await foreach (var item in page.Paginate()) } ``` -### Get Vault +### Retrieve a Vault `BetaManagedAgentsVault Beta.Vaults.Retrieve(parameters, cancellationToken = default)` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault #### Parameters @@ -68749,7 +68763,7 @@ Get Vault - `required string ID` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `required DateTimeOffset? ArchivedAt` @@ -68806,13 +68820,13 @@ Console.WriteLine(betaManagedAgentsVault); } ``` -### Update Vault +### Update a Vault `BetaManagedAgentsVault Beta.Vaults.Update(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault #### Parameters @@ -68954,7 +68968,7 @@ Update Vault - `required string ID` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `required DateTimeOffset? ArchivedAt` @@ -69011,13 +69025,13 @@ Console.WriteLine(betaManagedAgentsVault); } ``` -### Delete Vault +### Delete a Vault `BetaManagedAgentsDeletedVault Beta.Vaults.Delete(parameters, cancellationToken = default)` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault #### Parameters @@ -69149,7 +69163,7 @@ Delete Vault - `required string ID` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). #### Example @@ -69173,13 +69187,13 @@ Console.WriteLine(betaManagedAgentsDeletedVault); } ``` -### Archive Vault +### Archive a Vault `BetaManagedAgentsVault Beta.Vaults.Archive(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault #### Parameters @@ -69311,7 +69325,7 @@ Archive Vault - `required string ID` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `required DateTimeOffset? ArchivedAt` @@ -69370,13 +69384,13 @@ Console.WriteLine(betaManagedAgentsVault); ## Beta › Vaults › Credentials -### Create Credential +### Create a Credential `BetaManagedAgentsCredential Beta.Vaults.Credentials.Create(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential #### Parameters @@ -69398,7 +69412,7 @@ Create Credential - `required string AccessToken` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -69410,7 +69424,9 @@ Create Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -69420,13 +69436,13 @@ Create Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `required string RefreshToken` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -69452,7 +69468,7 @@ Create Credential - `required string ClientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -69464,7 +69480,7 @@ Create Credential - `required string ClientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -69488,7 +69504,7 @@ Create Credential - `required string Token` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -69522,7 +69538,9 @@ Create Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `required string SecretName` @@ -69532,7 +69550,7 @@ Create Credential - `required string SecretValue` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -69680,7 +69698,7 @@ Create Credential - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -69704,7 +69722,7 @@ Create Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -69714,7 +69732,7 @@ Create Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -69794,7 +69812,9 @@ Create Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` @@ -69882,7 +69902,7 @@ List Credentials - `bool includeArchived` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `int limit` (query parameter) @@ -69892,7 +69912,7 @@ List Credentials - `string page` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=csharp) response, to get the next page. Leave it out to get the first page. - `IReadOnlyList betas` (header parameter) @@ -70016,7 +70036,7 @@ List Credentials - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -70040,7 +70060,7 @@ List Credentials - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -70050,7 +70070,7 @@ List Credentials - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -70130,7 +70150,9 @@ List Credentials - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` @@ -70201,13 +70223,13 @@ await foreach (var item in page.Paginate()) } ``` -### Get Credential +### Retrieve a Credential `BetaManagedAgentsCredential Beta.Vaults.Credentials.Retrieve(parameters, cancellationToken = default)` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential #### Parameters @@ -70343,7 +70365,7 @@ Get Credential - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -70367,7 +70389,7 @@ Get Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -70377,7 +70399,7 @@ Get Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -70457,7 +70479,9 @@ Get Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` @@ -70522,13 +70546,13 @@ Console.WriteLine(betaManagedAgentsCredential); } ``` -### Update Credential +### Update a Credential `BetaManagedAgentsCredential Beta.Vaults.Credentials.Update(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential #### Parameters @@ -70544,7 +70568,7 @@ Update Credential - `Auth auth` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `class BetaManagedAgentsMcpOAuthUpdateParams` @@ -70554,13 +70578,17 @@ Update Credential - `string? AccessToken` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -70570,13 +70598,13 @@ Update Credential - `string? RefreshToken` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `string? Scope` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -70590,7 +70618,9 @@ Update Credential - `string? ClientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -70602,7 +70632,9 @@ Update Credential - `string? ClientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -70614,7 +70646,7 @@ Update Credential - `string? Token` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -70638,7 +70670,7 @@ Update Credential - `BetaManagedAgentsCredentialNetworkingParams? Networking` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -70654,11 +70686,13 @@ Update Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `string? SecretValue` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -70794,7 +70828,7 @@ Update Credential - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -70818,7 +70852,7 @@ Update Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -70828,7 +70862,7 @@ Update Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -70908,7 +70942,9 @@ Update Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` @@ -70973,13 +71009,13 @@ Console.WriteLine(betaManagedAgentsCredential); } ``` -### Delete Credential +### Delete a Credential `BetaManagedAgentsDeletedCredential Beta.Vaults.Credentials.Delete(parameters, cancellationToken = default)` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential #### Parameters @@ -71115,7 +71151,7 @@ Delete Credential - `required string ID` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). #### Example @@ -71140,13 +71176,13 @@ Console.WriteLine(betaManagedAgentsDeletedCredential); } ``` -### Archive Credential +### Archive a Credential `BetaManagedAgentsCredential Beta.Vaults.Credentials.Archive(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential #### Parameters @@ -71282,7 +71318,7 @@ Archive Credential - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -71306,7 +71342,7 @@ Archive Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -71316,7 +71352,7 @@ Archive Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -71396,7 +71432,9 @@ Archive Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` @@ -71461,13 +71499,13 @@ Console.WriteLine(betaManagedAgentsCredential); } ``` -### Validate Credential +### Validate an MCP OAuth Credential `BetaManagedAgentsCredentialValidation Beta.Vaults.Credentials.McpOAuthValidate(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential #### Parameters @@ -71611,11 +71649,11 @@ Validate Credential - `required BetaManagedAgentsMcpProbe? McpProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `required BetaManagedAgentsRefreshHttpResponse? HttpResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `required string Body` @@ -71677,11 +71715,11 @@ Validate Credential - `Invalid("invalid")` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `Unknown("unknown")` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `required DateTimeOffset ValidatedAt` @@ -101452,7 +101490,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `required string? ManifestVersion` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `required string MarketplaceID` @@ -101500,7 +101538,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `required Reach? Reach` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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")` @@ -101828,7 +101870,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `required string? ManifestVersion` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `required string MarketplaceID` @@ -101876,7 +101918,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `required Reach? Reach` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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")` @@ -102218,7 +102264,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `required string? ManifestVersion` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `required string MarketplaceID` @@ -102266,7 +102312,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `required Reach? Reach` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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")` @@ -102648,7 +102698,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `required string? ManifestVersion` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `required string MarketplaceID` @@ -102696,7 +102746,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `required Reach? Reach` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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")` @@ -103216,7 +103270,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `required string? ManifestVersion` - The version string the manifest declares; null when it declares none. + 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). - `required string PluginID` @@ -103224,7 +103278,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `required Reach? Reach` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `Contained("contained")` @@ -103547,7 +103601,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `required string? ManifestVersion` - The version string the manifest declares; null when it declares none. + 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). - `required string PluginID` @@ -103555,7 +103609,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `required Reach? Reach` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `Contained("contained")` @@ -103865,7 +103919,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `required string? ManifestVersion` - The version string the manifest declares; null when it declares none. + 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). - `required string PluginID` @@ -103873,7 +103927,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `required Reach? Reach` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `Contained("contained")` @@ -105932,13 +105986,13 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `required string repositoryUrl` - The `https://` URL of a public repository on github.com that holds the marketplace. Any other host, a URL with credentials in it, or one that does not name a repository is a 400. + 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. minLength: 1 - `string? ref` - The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, or a value that is neither a branch name nor a 40-character SHA, is a 400. + The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, a value longer than 255 characters, or one that contains `..` or a character other than ASCII letters, digits, `.`, `_`, `-`, `+`, and `/`, is a 400. Any other value that is not a 40-character SHA is read as a branch name; if the repository has no such branch, the response is a report with `valid: false`, not a 400. minLength: 1 diff --git a/content/en/api/csharp/beta/models.md b/content/en/api/csharp/beta/models.md index edfd72cd42..fe88b6f824 100644 --- a/content/en/api/csharp/beta/models.md +++ b/content/en/api/csharp/beta/models.md @@ -301,9 +301,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `required BetaCapabilitySupport BetweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `required BetaCapabilitySupport Disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `required BetaCapabilitySupport Enabled` @@ -459,6 +463,9 @@ await foreach (var item in page.Paginate()) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -757,9 +764,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `required BetaCapabilitySupport BetweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `required BetaCapabilitySupport Disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `required BetaCapabilitySupport Enabled` @@ -911,6 +922,9 @@ Console.WriteLine(betaModelInfo); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1150,9 +1164,13 @@ Console.WriteLine(betaModelInfo); Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `required BetaCapabilitySupport BetweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `required BetaCapabilitySupport Disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `required BetaCapabilitySupport Enabled` @@ -1300,9 +1318,13 @@ Console.WriteLine(betaModelInfo); Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `required BetaCapabilitySupport BetweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `required BetaCapabilitySupport Disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `required BetaCapabilitySupport Enabled` @@ -1426,9 +1448,13 @@ Console.WriteLine(betaModelInfo); Whether this capability is supported by the model. + - `required BetaCapabilitySupport BetweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `required BetaCapabilitySupport Disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `required BetaCapabilitySupport Enabled` @@ -1448,9 +1474,13 @@ Console.WriteLine(betaModelInfo); Whether this capability is supported by the model. + - `required BetaCapabilitySupport BetweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `required BetaCapabilitySupport Disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `required BetaCapabilitySupport Enabled` diff --git a/content/en/api/csharp/beta/models/list.md b/content/en/api/csharp/beta/models/list.md index e077df6a8a..1a2dbd5983 100644 --- a/content/en/api/csharp/beta/models/list.md +++ b/content/en/api/csharp/beta/models/list.md @@ -299,9 +299,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `required BetaCapabilitySupport BetweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `required BetaCapabilitySupport Disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `required BetaCapabilitySupport Enabled` @@ -457,6 +461,9 @@ await foreach (var item in page.Paginate()) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/csharp/beta/models/retrieve.md b/content/en/api/csharp/beta/models/retrieve.md index c98f93464d..7ff8584e17 100644 --- a/content/en/api/csharp/beta/models/retrieve.md +++ b/content/en/api/csharp/beta/models/retrieve.md @@ -275,9 +275,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `required BetaCapabilitySupport BetweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `required BetaCapabilitySupport Disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `required BetaCapabilitySupport Enabled` @@ -429,6 +433,9 @@ Console.WriteLine(betaModelInfo); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/csharp/beta/vaults.md b/content/en/api/csharp/beta/vaults.md index 031189351f..d9e8d3220d 100644 --- a/content/en/api/csharp/beta/vaults.md +++ b/content/en/api/csharp/beta/vaults.md @@ -5,13 +5,13 @@ url: https://platform.claude.com/docs/en/api/csharp/beta/vaults # Vaults -## Create Vault +## Create a Vault `BetaManagedAgentsVault Beta.Vaults.Create(parameters, cancellationToken = default)` **POST** `/v1/vaults` -Create Vault +Create a Vault ### Parameters @@ -149,7 +149,7 @@ Create Vault - `required string ID` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `required DateTimeOffset? ArchivedAt` @@ -217,7 +217,7 @@ List Vaults - `bool includeArchived` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `int limit` (query parameter) @@ -227,7 +227,7 @@ List Vaults - `string page` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=csharp) response, to get the next page. Leave it out to get the first page. - `IReadOnlyList betas` (header parameter) @@ -351,7 +351,7 @@ List Vaults - `required string ID` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `required DateTimeOffset? ArchivedAt` @@ -412,13 +412,13 @@ await foreach (var item in page.Paginate()) } ``` -## Get Vault +## Retrieve a Vault `BetaManagedAgentsVault Beta.Vaults.Retrieve(parameters, cancellationToken = default)` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault ### Parameters @@ -550,7 +550,7 @@ Get Vault - `required string ID` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `required DateTimeOffset? ArchivedAt` @@ -607,13 +607,13 @@ Console.WriteLine(betaManagedAgentsVault); } ``` -## Update Vault +## Update a Vault `BetaManagedAgentsVault Beta.Vaults.Update(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault ### Parameters @@ -755,7 +755,7 @@ Update Vault - `required string ID` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `required DateTimeOffset? ArchivedAt` @@ -812,13 +812,13 @@ Console.WriteLine(betaManagedAgentsVault); } ``` -## Delete Vault +## Delete a Vault `BetaManagedAgentsDeletedVault Beta.Vaults.Delete(parameters, cancellationToken = default)` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault ### Parameters @@ -950,7 +950,7 @@ Delete Vault - `required string ID` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ### Example @@ -974,13 +974,13 @@ Console.WriteLine(betaManagedAgentsDeletedVault); } ``` -## Archive Vault +## Archive a Vault `BetaManagedAgentsVault Beta.Vaults.Archive(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault ### Parameters @@ -1112,7 +1112,7 @@ Archive Vault - `required string ID` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `required DateTimeOffset? ArchivedAt` @@ -1181,7 +1181,7 @@ Console.WriteLine(betaManagedAgentsVault); - `required string ID` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ### Beta Managed Agents Vault @@ -1193,7 +1193,7 @@ Console.WriteLine(betaManagedAgentsVault); - `required string ID` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `required DateTimeOffset? ArchivedAt` @@ -1223,13 +1223,13 @@ Console.WriteLine(betaManagedAgentsVault); ## Vaults › Credentials -### Create Credential +### Create a Credential `BetaManagedAgentsCredential Beta.Vaults.Credentials.Create(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential #### Parameters @@ -1251,7 +1251,7 @@ Create Credential - `required string AccessToken` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -1263,7 +1263,9 @@ Create Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -1273,13 +1275,13 @@ Create Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `required string RefreshToken` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -1305,7 +1307,7 @@ Create Credential - `required string ClientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -1317,7 +1319,7 @@ Create Credential - `required string ClientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -1341,7 +1343,7 @@ Create Credential - `required string Token` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -1375,7 +1377,9 @@ Create Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `required string SecretName` @@ -1385,7 +1389,7 @@ Create Credential - `required string SecretValue` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -1533,7 +1537,7 @@ Create Credential - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -1557,7 +1561,7 @@ Create Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1567,7 +1571,7 @@ Create Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -1647,7 +1651,9 @@ Create Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` @@ -1735,7 +1741,7 @@ List Credentials - `bool includeArchived` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `int limit` (query parameter) @@ -1745,7 +1751,7 @@ List Credentials - `string page` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=csharp) response, to get the next page. Leave it out to get the first page. - `IReadOnlyList betas` (header parameter) @@ -1869,7 +1875,7 @@ List Credentials - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -1893,7 +1899,7 @@ List Credentials - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1903,7 +1909,7 @@ List Credentials - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -1983,7 +1989,9 @@ List Credentials - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` @@ -2054,13 +2062,13 @@ await foreach (var item in page.Paginate()) } ``` -### Get Credential +### Retrieve a Credential `BetaManagedAgentsCredential Beta.Vaults.Credentials.Retrieve(parameters, cancellationToken = default)` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential #### Parameters @@ -2196,7 +2204,7 @@ Get Credential - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -2220,7 +2228,7 @@ Get Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2230,7 +2238,7 @@ Get Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -2310,7 +2318,9 @@ Get Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` @@ -2375,13 +2385,13 @@ Console.WriteLine(betaManagedAgentsCredential); } ``` -### Update Credential +### Update a Credential `BetaManagedAgentsCredential Beta.Vaults.Credentials.Update(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential #### Parameters @@ -2397,7 +2407,7 @@ Update Credential - `Auth auth` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `class BetaManagedAgentsMcpOAuthUpdateParams` @@ -2407,13 +2417,17 @@ Update Credential - `string? AccessToken` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -2423,13 +2437,13 @@ Update Credential - `string? RefreshToken` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `string? Scope` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -2443,7 +2457,9 @@ Update Credential - `string? ClientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -2455,7 +2471,9 @@ Update Credential - `string? ClientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -2467,7 +2485,7 @@ Update Credential - `string? Token` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -2491,7 +2509,7 @@ Update Credential - `BetaManagedAgentsCredentialNetworkingParams? Networking` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -2507,11 +2525,13 @@ Update Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `string? SecretValue` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -2647,7 +2667,7 @@ Update Credential - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -2671,7 +2691,7 @@ Update Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2681,7 +2701,7 @@ Update Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -2761,7 +2781,9 @@ Update Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` @@ -2826,13 +2848,13 @@ Console.WriteLine(betaManagedAgentsCredential); } ``` -### Delete Credential +### Delete a Credential `BetaManagedAgentsDeletedCredential Beta.Vaults.Credentials.Delete(parameters, cancellationToken = default)` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential #### Parameters @@ -2968,7 +2990,7 @@ Delete Credential - `required string ID` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). #### Example @@ -2993,13 +3015,13 @@ Console.WriteLine(betaManagedAgentsDeletedCredential); } ``` -### Archive Credential +### Archive a Credential `BetaManagedAgentsCredential Beta.Vaults.Credentials.Archive(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential #### Parameters @@ -3135,7 +3157,7 @@ Archive Credential - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -3159,7 +3181,7 @@ Archive Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -3169,7 +3191,7 @@ Archive Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -3249,7 +3271,9 @@ Archive Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` @@ -3314,13 +3338,13 @@ Console.WriteLine(betaManagedAgentsCredential); } ``` -### Validate Credential +### Validate an MCP OAuth Credential `BetaManagedAgentsCredentialValidation Beta.Vaults.Credentials.McpOAuthValidate(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential #### Parameters @@ -3464,11 +3488,11 @@ Validate Credential - `required BetaManagedAgentsMcpProbe? McpProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `required BetaManagedAgentsRefreshHttpResponse? HttpResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `required string Body` @@ -3530,11 +3554,11 @@ Validate Credential - `Invalid("invalid")` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `Unknown("unknown")` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `required DateTimeOffset ValidatedAt` diff --git a/content/en/api/csharp/beta/vaults/archive.md b/content/en/api/csharp/beta/vaults/archive.md index 61affde58a..18dac463a1 100644 --- a/content/en/api/csharp/beta/vaults/archive.md +++ b/content/en/api/csharp/beta/vaults/archive.md @@ -1,15 +1,15 @@ --- -title: Archive Vault +title: Archive a Vault url: https://platform.claude.com/docs/en/api/csharp/beta/vaults/archive --- -# Archive Vault +# Archive a Vault `BetaManagedAgentsVault Beta.Vaults.Archive(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault ## Parameters @@ -141,7 +141,7 @@ Archive Vault - `required string ID` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `required DateTimeOffset? ArchivedAt` diff --git a/content/en/api/csharp/beta/vaults/create.md b/content/en/api/csharp/beta/vaults/create.md index 8718e1ae68..2b6a9b7640 100644 --- a/content/en/api/csharp/beta/vaults/create.md +++ b/content/en/api/csharp/beta/vaults/create.md @@ -1,15 +1,15 @@ --- -title: Create Vault +title: Create a Vault url: https://platform.claude.com/docs/en/api/csharp/beta/vaults/create --- -# Create Vault +# Create a Vault `BetaManagedAgentsVault Beta.Vaults.Create(parameters, cancellationToken = default)` **POST** `/v1/vaults` -Create Vault +Create a Vault ## Parameters @@ -147,7 +147,7 @@ Create Vault - `required string ID` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `required DateTimeOffset? ArchivedAt` diff --git a/content/en/api/csharp/beta/vaults/credentials.md b/content/en/api/csharp/beta/vaults/credentials.md index 6ee5764dca..81e288c055 100644 --- a/content/en/api/csharp/beta/vaults/credentials.md +++ b/content/en/api/csharp/beta/vaults/credentials.md @@ -5,13 +5,13 @@ url: https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials # Credentials -## Create Credential +## Create a Credential `BetaManagedAgentsCredential Beta.Vaults.Credentials.Create(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential ### Parameters @@ -33,7 +33,7 @@ Create Credential - `required string AccessToken` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -45,7 +45,9 @@ Create Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -55,13 +57,13 @@ Create Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `required string RefreshToken` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -87,7 +89,7 @@ Create Credential - `required string ClientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -99,7 +101,7 @@ Create Credential - `required string ClientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -123,7 +125,7 @@ Create Credential - `required string Token` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -157,7 +159,9 @@ Create Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `required string SecretName` @@ -167,7 +171,7 @@ Create Credential - `required string SecretValue` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -315,7 +319,7 @@ Create Credential - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -339,7 +343,7 @@ Create Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -349,7 +353,7 @@ Create Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -429,7 +433,9 @@ Create Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` @@ -517,7 +523,7 @@ List Credentials - `bool includeArchived` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `int limit` (query parameter) @@ -527,7 +533,7 @@ List Credentials - `string page` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=csharp) response, to get the next page. Leave it out to get the first page. - `IReadOnlyList betas` (header parameter) @@ -651,7 +657,7 @@ List Credentials - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -675,7 +681,7 @@ List Credentials - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -685,7 +691,7 @@ List Credentials - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -765,7 +771,9 @@ List Credentials - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` @@ -836,13 +844,13 @@ await foreach (var item in page.Paginate()) } ``` -## Get Credential +## Retrieve a Credential `BetaManagedAgentsCredential Beta.Vaults.Credentials.Retrieve(parameters, cancellationToken = default)` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential ### Parameters @@ -978,7 +986,7 @@ Get Credential - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -1002,7 +1010,7 @@ Get Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1012,7 +1020,7 @@ Get Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -1092,7 +1100,9 @@ Get Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` @@ -1157,13 +1167,13 @@ Console.WriteLine(betaManagedAgentsCredential); } ``` -## Update Credential +## Update a Credential `BetaManagedAgentsCredential Beta.Vaults.Credentials.Update(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential ### Parameters @@ -1179,7 +1189,7 @@ Update Credential - `Auth auth` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `class BetaManagedAgentsMcpOAuthUpdateParams` @@ -1189,13 +1199,17 @@ Update Credential - `string? AccessToken` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -1205,13 +1219,13 @@ Update Credential - `string? RefreshToken` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `string? Scope` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -1225,7 +1239,9 @@ Update Credential - `string? ClientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -1237,7 +1253,9 @@ Update Credential - `string? ClientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -1249,7 +1267,7 @@ Update Credential - `string? Token` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -1273,7 +1291,7 @@ Update Credential - `BetaManagedAgentsCredentialNetworkingParams? Networking` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -1289,11 +1307,13 @@ Update Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `string? SecretValue` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -1429,7 +1449,7 @@ Update Credential - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -1453,7 +1473,7 @@ Update Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1463,7 +1483,7 @@ Update Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -1543,7 +1563,9 @@ Update Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` @@ -1608,13 +1630,13 @@ Console.WriteLine(betaManagedAgentsCredential); } ``` -## Delete Credential +## Delete a Credential `BetaManagedAgentsDeletedCredential Beta.Vaults.Credentials.Delete(parameters, cancellationToken = default)` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential ### Parameters @@ -1750,7 +1772,7 @@ Delete Credential - `required string ID` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ### Example @@ -1775,13 +1797,13 @@ Console.WriteLine(betaManagedAgentsDeletedCredential); } ``` -## Archive Credential +## Archive a Credential `BetaManagedAgentsCredential Beta.Vaults.Credentials.Archive(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential ### Parameters @@ -1917,7 +1939,7 @@ Archive Credential - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -1941,7 +1963,7 @@ Archive Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1951,7 +1973,7 @@ Archive Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -2031,7 +2053,9 @@ Archive Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` @@ -2096,13 +2120,13 @@ Console.WriteLine(betaManagedAgentsCredential); } ``` -## Validate Credential +## Validate an MCP OAuth Credential `BetaManagedAgentsCredentialValidation Beta.Vaults.Credentials.McpOAuthValidate(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential ### Parameters @@ -2246,11 +2270,11 @@ Validate Credential - `required BetaManagedAgentsMcpProbe? McpProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `required BetaManagedAgentsRefreshHttpResponse? HttpResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `required string Body` @@ -2312,11 +2336,11 @@ Validate Credential - `Invalid("invalid")` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `Unknown("unknown")` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `required DateTimeOffset ValidatedAt` @@ -2385,7 +2409,7 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -2409,7 +2433,7 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2419,7 +2443,7 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -2499,7 +2523,9 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` @@ -2547,7 +2573,9 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. ### Beta Managed Agents Credential Validation @@ -2567,11 +2595,11 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required BetaManagedAgentsMcpProbe? McpProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `required BetaManagedAgentsRefreshHttpResponse? HttpResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `required string Body` @@ -2633,11 +2661,11 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `Invalid("invalid")` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `Unknown("unknown")` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `required DateTimeOffset ValidatedAt` @@ -2661,11 +2689,11 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `Invalid("invalid")` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `Unknown("unknown")` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. ### Beta Managed Agents Deleted Credential @@ -2677,7 +2705,7 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required string ID` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ### Beta Managed Agents Environment Variable Auth Response @@ -2717,7 +2745,9 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` @@ -2749,7 +2779,9 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `required string SecretName` @@ -2759,7 +2791,7 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required string SecretValue` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -2797,7 +2829,7 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `BetaManagedAgentsCredentialNetworkingParams? Networking` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -2813,11 +2845,13 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `string? SecretValue` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -2853,7 +2887,11 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `class BetaManagedAgentsInjectionLocationUpdateParams` - Updated injection location. + Changes which parts of an outbound request the secret is substituted into. A location you leave out keeps its current setting. + + After the change, at least one location must be enabled. + + See [Authenticate with vaults](https://platform.claude.com/docs/en/managed-agents/vaults?sdk_languages=csharp#add-a-credential) to learn more about injection locations. - `bool Body` @@ -2873,7 +2911,9 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. ### Beta Managed Agents Limited Credential Networking Response @@ -2885,7 +2925,9 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. ### Beta Managed Agents MCP OAuth Auth Response @@ -2901,7 +2943,7 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2911,7 +2953,7 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -2955,7 +2997,7 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required string AccessToken` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -2967,7 +3009,9 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -2977,13 +3021,13 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required string ClientID` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `required string RefreshToken` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -3009,7 +3053,7 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required string ClientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3021,7 +3065,7 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required string ClientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3045,13 +3089,13 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required string ClientID` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `required string RefreshToken` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -3077,7 +3121,7 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required string ClientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3089,7 +3133,7 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required string ClientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3113,7 +3157,7 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -3155,13 +3199,13 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `string? RefreshToken` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `string? Scope` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -3175,7 +3219,9 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `string? ClientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3187,7 +3233,9 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `string? ClientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3201,13 +3249,17 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `string? AccessToken` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -3217,13 +3269,13 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `string? RefreshToken` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `string? Scope` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -3237,7 +3289,9 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `string? ClientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3249,7 +3303,9 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `string? ClientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3261,7 +3317,7 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required BetaManagedAgentsRefreshHttpResponse? HttpResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `required string Body` @@ -3379,7 +3435,7 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required string Token` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -3399,7 +3455,7 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `string? Token` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -3413,7 +3469,7 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required string ClientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3435,7 +3491,9 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `string? ClientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3465,7 +3523,7 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `required string ClientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3487,7 +3545,9 @@ Console.WriteLine(betaManagedAgentsCredentialValidation); - `string? ClientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 diff --git a/content/en/api/csharp/beta/vaults/credentials/archive.md b/content/en/api/csharp/beta/vaults/credentials/archive.md index bbbaf8e580..83a2c39537 100644 --- a/content/en/api/csharp/beta/vaults/credentials/archive.md +++ b/content/en/api/csharp/beta/vaults/credentials/archive.md @@ -1,15 +1,15 @@ --- -title: Archive Credential +title: Archive a Credential url: https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/archive --- -# Archive Credential +# Archive a Credential `BetaManagedAgentsCredential Beta.Vaults.Credentials.Archive(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential ## Parameters @@ -145,7 +145,7 @@ Archive Credential - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -169,7 +169,7 @@ Archive Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -179,7 +179,7 @@ Archive Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -259,7 +259,9 @@ Archive Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` diff --git a/content/en/api/csharp/beta/vaults/credentials/create.md b/content/en/api/csharp/beta/vaults/credentials/create.md index 6215a016c1..7dafd47f8d 100644 --- a/content/en/api/csharp/beta/vaults/credentials/create.md +++ b/content/en/api/csharp/beta/vaults/credentials/create.md @@ -1,15 +1,15 @@ --- -title: Create Credential +title: Create a Credential url: https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/create --- -# Create Credential +# Create a Credential `BetaManagedAgentsCredential Beta.Vaults.Credentials.Create(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential ## Parameters @@ -31,7 +31,7 @@ Create Credential - `required string AccessToken` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -43,7 +43,9 @@ Create Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -53,13 +55,13 @@ Create Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `required string RefreshToken` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -85,7 +87,7 @@ Create Credential - `required string ClientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -97,7 +99,7 @@ Create Credential - `required string ClientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -121,7 +123,7 @@ Create Credential - `required string Token` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -155,7 +157,9 @@ Create Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `required string SecretName` @@ -165,7 +169,7 @@ Create Credential - `required string SecretValue` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -313,7 +317,7 @@ Create Credential - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -337,7 +341,7 @@ Create Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -347,7 +351,7 @@ Create Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -427,7 +431,9 @@ Create Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` diff --git a/content/en/api/csharp/beta/vaults/credentials/delete.md b/content/en/api/csharp/beta/vaults/credentials/delete.md index 27afdafd56..405b8cbae3 100644 --- a/content/en/api/csharp/beta/vaults/credentials/delete.md +++ b/content/en/api/csharp/beta/vaults/credentials/delete.md @@ -1,15 +1,15 @@ --- -title: Delete Credential +title: Delete a Credential url: https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/delete --- -# Delete Credential +# Delete a Credential `BetaManagedAgentsDeletedCredential Beta.Vaults.Credentials.Delete(parameters, cancellationToken = default)` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential ## Parameters @@ -145,7 +145,7 @@ Delete Credential - `required string ID` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ## Example diff --git a/content/en/api/csharp/beta/vaults/credentials/list.md b/content/en/api/csharp/beta/vaults/credentials/list.md index 009c42ae9d..7c6068c59e 100644 --- a/content/en/api/csharp/beta/vaults/credentials/list.md +++ b/content/en/api/csharp/beta/vaults/credentials/list.md @@ -21,7 +21,7 @@ List Credentials - `bool includeArchived` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `int limit` (query parameter) @@ -31,7 +31,7 @@ List Credentials - `string page` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=csharp) response, to get the next page. Leave it out to get the first page. - `IReadOnlyList betas` (header parameter) @@ -155,7 +155,7 @@ List Credentials - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -179,7 +179,7 @@ List Credentials - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -189,7 +189,7 @@ List Credentials - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -269,7 +269,9 @@ List Credentials - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` 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 8b20c44ed6..565a599414 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 @@ -1,15 +1,15 @@ --- -title: Validate Credential +title: Validate an MCP OAuth Credential url: https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/mcp_oauth_validate --- -# Validate Credential +# Validate an MCP OAuth Credential `BetaManagedAgentsCredentialValidation Beta.Vaults.Credentials.McpOAuthValidate(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential ## Parameters @@ -153,11 +153,11 @@ Validate Credential - `required BetaManagedAgentsMcpProbe? McpProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `required BetaManagedAgentsRefreshHttpResponse? HttpResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `required string Body` @@ -219,11 +219,11 @@ Validate Credential - `Invalid("invalid")` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `Unknown("unknown")` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `required DateTimeOffset ValidatedAt` diff --git a/content/en/api/csharp/beta/vaults/credentials/retrieve.md b/content/en/api/csharp/beta/vaults/credentials/retrieve.md index efa4328e46..3193871db8 100644 --- a/content/en/api/csharp/beta/vaults/credentials/retrieve.md +++ b/content/en/api/csharp/beta/vaults/credentials/retrieve.md @@ -1,15 +1,15 @@ --- -title: Get Credential +title: Retrieve a Credential url: https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/retrieve --- -# Get Credential +# Retrieve a Credential `BetaManagedAgentsCredential Beta.Vaults.Credentials.Retrieve(parameters, cancellationToken = default)` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential ## Parameters @@ -145,7 +145,7 @@ Get Credential - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -169,7 +169,7 @@ Get Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -179,7 +179,7 @@ Get Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -259,7 +259,9 @@ Get Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` diff --git a/content/en/api/csharp/beta/vaults/credentials/update.md b/content/en/api/csharp/beta/vaults/credentials/update.md index 5cb0e61422..3b6cd23735 100644 --- a/content/en/api/csharp/beta/vaults/credentials/update.md +++ b/content/en/api/csharp/beta/vaults/credentials/update.md @@ -1,15 +1,15 @@ --- -title: Update Credential +title: Update a Credential url: https://platform.claude.com/docs/en/api/csharp/beta/vaults/credentials/update --- -# Update Credential +# Update a Credential `BetaManagedAgentsCredential Beta.Vaults.Credentials.Update(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential ## Parameters @@ -25,7 +25,7 @@ Update Credential - `Auth auth` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `class BetaManagedAgentsMcpOAuthUpdateParams` @@ -35,13 +35,17 @@ Update Credential - `string? AccessToken` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -51,13 +55,13 @@ Update Credential - `string? RefreshToken` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `string? Scope` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -71,7 +75,9 @@ Update Credential - `string? ClientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -83,7 +89,9 @@ Update Credential - `string? ClientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -95,7 +103,7 @@ Update Credential - `string? Token` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -119,7 +127,7 @@ Update Credential - `BetaManagedAgentsCredentialNetworkingParams? Networking` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -135,11 +143,13 @@ Update Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `string? SecretValue` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -275,7 +285,7 @@ Update Credential - `required string ID` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `required DateTimeOffset? ArchivedAt` @@ -299,7 +309,7 @@ Update Credential - `DateTimeOffset? ExpiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -309,7 +319,7 @@ Update Credential - `required string ClientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `required string TokenEndpoint` @@ -389,7 +399,9 @@ Update Credential - `required IReadOnlyList AllowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `required string SecretName` diff --git a/content/en/api/csharp/beta/vaults/delete.md b/content/en/api/csharp/beta/vaults/delete.md index 659c4614c3..ad74662e1c 100644 --- a/content/en/api/csharp/beta/vaults/delete.md +++ b/content/en/api/csharp/beta/vaults/delete.md @@ -1,15 +1,15 @@ --- -title: Delete Vault +title: Delete a Vault url: https://platform.claude.com/docs/en/api/csharp/beta/vaults/delete --- -# Delete Vault +# Delete a Vault `BetaManagedAgentsDeletedVault Beta.Vaults.Delete(parameters, cancellationToken = default)` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault ## Parameters @@ -141,7 +141,7 @@ Delete Vault - `required string ID` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ## Example diff --git a/content/en/api/csharp/beta/vaults/list.md b/content/en/api/csharp/beta/vaults/list.md index e5b3dfe3a1..90f0a997ec 100644 --- a/content/en/api/csharp/beta/vaults/list.md +++ b/content/en/api/csharp/beta/vaults/list.md @@ -17,7 +17,7 @@ List Vaults - `bool includeArchived` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `int limit` (query parameter) @@ -27,7 +27,7 @@ List Vaults - `string page` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=csharp) response, to get the next page. Leave it out to get the first page. - `IReadOnlyList betas` (header parameter) @@ -151,7 +151,7 @@ List Vaults - `required string ID` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `required DateTimeOffset? ArchivedAt` diff --git a/content/en/api/csharp/beta/vaults/retrieve.md b/content/en/api/csharp/beta/vaults/retrieve.md index 81b74f4d79..3c2cc66347 100644 --- a/content/en/api/csharp/beta/vaults/retrieve.md +++ b/content/en/api/csharp/beta/vaults/retrieve.md @@ -1,15 +1,15 @@ --- -title: Get Vault +title: Retrieve a Vault url: https://platform.claude.com/docs/en/api/csharp/beta/vaults/retrieve --- -# Get Vault +# Retrieve a Vault `BetaManagedAgentsVault Beta.Vaults.Retrieve(parameters, cancellationToken = default)` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault ## Parameters @@ -141,7 +141,7 @@ Get Vault - `required string ID` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `required DateTimeOffset? ArchivedAt` diff --git a/content/en/api/csharp/beta/vaults/update.md b/content/en/api/csharp/beta/vaults/update.md index dd3549166a..1dc4b13f5b 100644 --- a/content/en/api/csharp/beta/vaults/update.md +++ b/content/en/api/csharp/beta/vaults/update.md @@ -1,15 +1,15 @@ --- -title: Update Vault +title: Update a Vault url: https://platform.claude.com/docs/en/api/csharp/beta/vaults/update --- -# Update Vault +# Update a Vault `BetaManagedAgentsVault Beta.Vaults.Update(parameters, cancellationToken = default)` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault ## Parameters @@ -151,7 +151,7 @@ Update Vault - `required string ID` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `required DateTimeOffset? ArchivedAt` diff --git a/content/en/api/csharp/models.md b/content/en/api/csharp/models.md index be5db6f261..516d347618 100644 --- a/content/en/api/csharp/models.md +++ b/content/en/api/csharp/models.md @@ -287,9 +287,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `required CapabilitySupport BetweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `required CapabilitySupport Disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `required CapabilitySupport Enabled` @@ -436,6 +440,9 @@ await foreach (var item in page.Paginate()) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -720,9 +727,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `required CapabilitySupport BetweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `required CapabilitySupport Disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `required CapabilitySupport Enabled` @@ -865,6 +876,9 @@ Console.WriteLine(modelInfo); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1072,9 +1086,13 @@ Console.WriteLine(modelInfo); Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `required CapabilitySupport BetweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `required CapabilitySupport Disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `required CapabilitySupport Enabled` @@ -1206,9 +1224,13 @@ Console.WriteLine(modelInfo); Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `required CapabilitySupport BetweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `required CapabilitySupport Disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `required CapabilitySupport Enabled` @@ -1332,9 +1354,13 @@ Console.WriteLine(modelInfo); Whether this capability is supported by the model. + - `required CapabilitySupport BetweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `required CapabilitySupport Disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `required CapabilitySupport Enabled` @@ -1354,9 +1380,13 @@ Console.WriteLine(modelInfo); Whether this capability is supported by the model. + - `required CapabilitySupport BetweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `required CapabilitySupport Disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `required CapabilitySupport Enabled` diff --git a/content/en/api/csharp/models/list.md b/content/en/api/csharp/models/list.md index 03bda9c5b9..728443107a 100644 --- a/content/en/api/csharp/models/list.md +++ b/content/en/api/csharp/models/list.md @@ -285,9 +285,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `required CapabilitySupport BetweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `required CapabilitySupport Disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `required CapabilitySupport Enabled` @@ -434,6 +438,9 @@ await foreach (var item in page.Paginate()) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/csharp/models/retrieve.md b/content/en/api/csharp/models/retrieve.md index e86009c01f..a9f0cc9e53 100644 --- a/content/en/api/csharp/models/retrieve.md +++ b/content/en/api/csharp/models/retrieve.md @@ -261,9 +261,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `required CapabilitySupport BetweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `required CapabilitySupport Disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `required CapabilitySupport Enabled` @@ -406,6 +410,9 @@ Console.WriteLine(modelInfo); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/go/beta.md b/content/en/api/go/beta.md index ff49bd3570..fab14d07f3 100644 --- a/content/en/api/go/beta.md +++ b/content/en/api/go/beta.md @@ -735,9 +735,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetweenTools BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `Disabled BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `Enabled BetaCapabilitySupport` @@ -908,6 +912,9 @@ func main() { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1208,9 +1215,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetweenTools BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `Disabled BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `Enabled BetaCapabilitySupport` @@ -1383,6 +1394,9 @@ func main() { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -69397,13 +69411,13 @@ func main() { ## Beta › Vaults -### Create Vault +### Create a Vault `client.Beta.Vaults.New(ctx, params) (*BetaManagedAgentsVault, error)` **POST** `/v1/vaults` -Create Vault +Create a Vault #### Parameters @@ -69541,7 +69555,7 @@ Create Vault - `ID string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `ArchivedAt Time` @@ -69626,7 +69640,7 @@ List Vaults - `IncludeArchived param.Opt[bool] Optional` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `Limit param.Opt[int64] Optional` (query parameter) @@ -69636,7 +69650,7 @@ List Vaults - `Page param.Opt[string] Optional` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=go) response, to get the next page. Leave it out to get the first page. - `Betas []AnthropicBeta Optional` (header parameter) @@ -69760,7 +69774,7 @@ List Vaults - `ID string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `ArchivedAt Time` @@ -69834,13 +69848,13 @@ func main() { } ``` -### Get Vault +### Retrieve a Vault `client.Beta.Vaults.Get(ctx, vaultID, query) (*BetaManagedAgentsVault, error)` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault #### Parameters @@ -69972,7 +69986,7 @@ Get Vault - `ID string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `ArchivedAt Time` @@ -70045,13 +70059,13 @@ func main() { } ``` -### Update Vault +### Update a Vault `client.Beta.Vaults.Update(ctx, vaultID, params) (*BetaManagedAgentsVault, error)` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault #### Parameters @@ -70193,7 +70207,7 @@ Update Vault - `ID string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `ArchivedAt Time` @@ -70266,13 +70280,13 @@ func main() { } ``` -### Delete Vault +### Delete a Vault `client.Beta.Vaults.Delete(ctx, vaultID, body) (*BetaManagedAgentsDeletedVault, error)` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault #### Parameters @@ -70404,7 +70418,7 @@ Delete Vault - `ID string` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). #### Example @@ -70444,13 +70458,13 @@ func main() { } ``` -### Archive Vault +### Archive a Vault `client.Beta.Vaults.Archive(ctx, vaultID, body) (*BetaManagedAgentsVault, error)` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault #### Parameters @@ -70582,7 +70596,7 @@ Archive Vault - `ID string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `ArchivedAt Time` @@ -70657,13 +70671,13 @@ func main() { ## Beta › Vaults › Credentials -### Create Credential +### Create a Credential `client.Beta.Vaults.Credentials.New(ctx, vaultID, params) (*BetaManagedAgentsCredential, error)` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential #### Parameters @@ -70685,7 +70699,7 @@ Create Credential - `AccessToken string` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -70697,7 +70711,9 @@ Create Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -70707,13 +70723,13 @@ Create Credential - `ClientID string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `RefreshToken string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -70739,7 +70755,7 @@ Create Credential - `ClientSecret string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -70751,7 +70767,7 @@ Create Credential - `ClientSecret string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -70775,7 +70791,7 @@ Create Credential - `Token string` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -70809,7 +70825,9 @@ Create Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `SecretName string` @@ -70819,7 +70837,7 @@ Create Credential - `SecretValue string` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -70967,7 +70985,7 @@ Create Credential - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -70991,7 +71009,7 @@ Create Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -71001,7 +71019,7 @@ Create Credential - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -71081,7 +71099,9 @@ Create Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` @@ -71187,7 +71207,7 @@ List Credentials - `IncludeArchived param.Opt[bool] Optional` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `Limit param.Opt[int64] Optional` (query parameter) @@ -71197,7 +71217,7 @@ List Credentials - `Page param.Opt[string] Optional` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=go) response, to get the next page. Leave it out to get the first page. - `Betas []AnthropicBeta Optional` (header parameter) @@ -71321,7 +71341,7 @@ List Credentials - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -71345,7 +71365,7 @@ List Credentials - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -71355,7 +71375,7 @@ List Credentials - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -71435,7 +71455,9 @@ List Credentials - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` @@ -71520,13 +71542,13 @@ func main() { } ``` -### Get Credential +### Retrieve a Credential `client.Beta.Vaults.Credentials.Get(ctx, credentialID, params) (*BetaManagedAgentsCredential, error)` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential #### Parameters @@ -71662,7 +71684,7 @@ Get Credential - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -71686,7 +71708,7 @@ Get Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -71696,7 +71718,7 @@ Get Credential - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -71776,7 +71798,9 @@ Get Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` @@ -71858,13 +71882,13 @@ func main() { } ``` -### Update Credential +### Update a Credential `client.Beta.Vaults.Credentials.Update(ctx, credentialID, params) (*BetaManagedAgentsCredential, error)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential #### Parameters @@ -71880,7 +71904,7 @@ Update Credential - `Auth BetaVaultCredentialUpdateParamsAuthUnion Optional` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `type BetaManagedAgentsMCPOAuthUpdateParams` @@ -71890,13 +71914,17 @@ Update Credential - `AccessToken string Optional` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -71906,13 +71934,13 @@ Update Credential - `RefreshToken string Optional` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `Scope string Optional` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -71926,7 +71954,9 @@ Update Credential - `ClientSecret string Optional` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -71938,7 +71968,9 @@ Update Credential - `ClientSecret string Optional` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -71950,7 +71982,7 @@ Update Credential - `Token string Optional` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -71974,7 +72006,7 @@ Update Credential - `Networking BetaManagedAgentsCredentialNetworkingParamsUnion Optional` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `type BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -71990,11 +72022,13 @@ Update Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `SecretValue string Optional` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -72130,7 +72164,7 @@ Update Credential - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -72154,7 +72188,7 @@ Update Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -72164,7 +72198,7 @@ Update Credential - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -72244,7 +72278,9 @@ Update Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` @@ -72326,13 +72362,13 @@ func main() { } ``` -### Delete Credential +### Delete a Credential `client.Beta.Vaults.Credentials.Delete(ctx, credentialID, params) (*BetaManagedAgentsDeletedCredential, error)` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential #### Parameters @@ -72468,7 +72504,7 @@ Delete Credential - `ID string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). #### Example @@ -72510,13 +72546,13 @@ func main() { } ``` -### Archive Credential +### Archive a Credential `client.Beta.Vaults.Credentials.Archive(ctx, credentialID, params) (*BetaManagedAgentsCredential, error)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential #### Parameters @@ -72652,7 +72688,7 @@ Archive Credential - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -72676,7 +72712,7 @@ Archive Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -72686,7 +72722,7 @@ Archive Credential - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -72766,7 +72802,9 @@ Archive Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` @@ -72848,13 +72886,13 @@ func main() { } ``` -### Validate Credential +### Validate an MCP OAuth Credential `client.Beta.Vaults.Credentials.MCPOAuthValidate(ctx, credentialID, params) (*BetaManagedAgentsCredentialValidation, error)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential #### Parameters @@ -72998,11 +73036,11 @@ Validate Credential - `MCPProbe BetaManagedAgentsMCPProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `HTTPResponse BetaManagedAgentsRefreshHTTPResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `Body string` @@ -73064,11 +73102,11 @@ Validate Credential - `const BetaManagedAgentsCredentialValidationStatusInvalid BetaManagedAgentsCredentialValidationStatus = "invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `const BetaManagedAgentsCredentialValidationStatusUnknown BetaManagedAgentsCredentialValidationStatus = "unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `ValidatedAt Time` @@ -105387,7 +105425,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `ManifestVersion string` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `MarketplaceID string` @@ -105439,7 +105477,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Reach BetaPluginReach` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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`. - `const BetaPluginReachContained BetaPluginReach = "contained"` @@ -105786,7 +105828,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `ManifestVersion string` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `MarketplaceID string` @@ -105838,7 +105880,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Reach BetaPluginReach` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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`. - `const BetaPluginReachContained BetaPluginReach = "contained"` @@ -106205,7 +106251,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `ManifestVersion string` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `MarketplaceID string` @@ -106257,7 +106303,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Reach BetaPluginReach` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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`. - `const BetaPluginReachContained BetaPluginReach = "contained"` @@ -106662,7 +106712,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `ManifestVersion string` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `MarketplaceID string` @@ -106714,7 +106764,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Reach BetaPluginReach` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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`. - `const BetaPluginReachContained BetaPluginReach = "contained"` @@ -107274,7 +107328,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `ManifestVersion string` - The version string the manifest declares; null when it declares none. + 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` @@ -107282,7 +107336,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Reach BetaPluginVersionReach` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `const BetaPluginVersionReachContained BetaPluginVersionReach = "contained"` @@ -107627,7 +107681,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `ManifestVersion string` - The version string the manifest declares; null when it declares none. + 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` @@ -107635,7 +107689,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Reach BetaPluginVersionReach` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `const BetaPluginVersionReachContained BetaPluginVersionReach = "contained"` @@ -107968,7 +108022,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `ManifestVersion string` - The version string the manifest declares; null when it declares none. + 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` @@ -107976,7 +108030,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Reach BetaPluginVersionReach` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `const BetaPluginVersionReachContained BetaPluginVersionReach = "contained"` @@ -110237,13 +110291,13 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `RepositoryURL string` - The `https://` URL of a public repository on github.com that holds the marketplace. Any other host, a URL with credentials in it, or one that does not name a repository is a 400. + 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. minLength: 1 - `Ref param.Opt[string] Optional` - The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, or a value that is neither a branch name nor a 40-character SHA, is a 400. + The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, a value longer than 255 characters, or one that contains `..` or a character other than ASCII letters, digits, `.`, `_`, `-`, `+`, and `/`, is a 400. Any other value that is not a 40-character SHA is read as a branch name; if the repository has no such branch, the response is a report with `valid: false`, not a 400. minLength: 1 diff --git a/content/en/api/go/beta/models.md b/content/en/api/go/beta/models.md index 84de56f501..7c83e0bc65 100644 --- a/content/en/api/go/beta/models.md +++ b/content/en/api/go/beta/models.md @@ -303,9 +303,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetweenTools BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `Disabled BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `Enabled BetaCapabilitySupport` @@ -476,6 +480,9 @@ func main() { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -776,9 +783,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetweenTools BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `Disabled BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `Enabled BetaCapabilitySupport` @@ -951,6 +962,9 @@ func main() { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1190,9 +1204,13 @@ func main() { Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetweenTools BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `Disabled BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `Enabled BetaCapabilitySupport` @@ -1342,9 +1360,13 @@ func main() { Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetweenTools BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `Disabled BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `Enabled BetaCapabilitySupport` @@ -1470,9 +1492,13 @@ func main() { Whether this capability is supported by the model. + - `BetweenTools BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `Disabled BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `Enabled BetaCapabilitySupport` @@ -1492,9 +1518,13 @@ func main() { Whether this capability is supported by the model. + - `BetweenTools BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `Disabled BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `Enabled BetaCapabilitySupport` diff --git a/content/en/api/go/beta/models/list.md b/content/en/api/go/beta/models/list.md index 711391eb76..5466fa897a 100644 --- a/content/en/api/go/beta/models/list.md +++ b/content/en/api/go/beta/models/list.md @@ -301,9 +301,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetweenTools BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `Disabled BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `Enabled BetaCapabilitySupport` @@ -474,6 +478,9 @@ func main() { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/go/beta/models/retrieve.md b/content/en/api/go/beta/models/retrieve.md index 4f72e59c44..6819cc5ea9 100644 --- a/content/en/api/go/beta/models/retrieve.md +++ b/content/en/api/go/beta/models/retrieve.md @@ -277,9 +277,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetweenTools BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `Disabled BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `Enabled BetaCapabilitySupport` @@ -452,6 +456,9 @@ func main() { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/go/beta/vaults.md b/content/en/api/go/beta/vaults.md index eb20b9d742..29819e6ce7 100644 --- a/content/en/api/go/beta/vaults.md +++ b/content/en/api/go/beta/vaults.md @@ -5,13 +5,13 @@ url: https://platform.claude.com/docs/en/api/go/beta/vaults # Vaults -## Create Vault +## Create a Vault `client.Beta.Vaults.New(ctx, params) (*BetaManagedAgentsVault, error)` **POST** `/v1/vaults` -Create Vault +Create a Vault ### Parameters @@ -149,7 +149,7 @@ Create Vault - `ID string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `ArchivedAt Time` @@ -234,7 +234,7 @@ List Vaults - `IncludeArchived param.Opt[bool] Optional` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `Limit param.Opt[int64] Optional` (query parameter) @@ -244,7 +244,7 @@ List Vaults - `Page param.Opt[string] Optional` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=go) response, to get the next page. Leave it out to get the first page. - `Betas []AnthropicBeta Optional` (header parameter) @@ -368,7 +368,7 @@ List Vaults - `ID string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `ArchivedAt Time` @@ -442,13 +442,13 @@ func main() { } ``` -## Get Vault +## Retrieve a Vault `client.Beta.Vaults.Get(ctx, vaultID, query) (*BetaManagedAgentsVault, error)` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault ### Parameters @@ -580,7 +580,7 @@ Get Vault - `ID string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `ArchivedAt Time` @@ -653,13 +653,13 @@ func main() { } ``` -## Update Vault +## Update a Vault `client.Beta.Vaults.Update(ctx, vaultID, params) (*BetaManagedAgentsVault, error)` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault ### Parameters @@ -801,7 +801,7 @@ Update Vault - `ID string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `ArchivedAt Time` @@ -874,13 +874,13 @@ func main() { } ``` -## Delete Vault +## Delete a Vault `client.Beta.Vaults.Delete(ctx, vaultID, body) (*BetaManagedAgentsDeletedVault, error)` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault ### Parameters @@ -1012,7 +1012,7 @@ Delete Vault - `ID string` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ### Example @@ -1052,13 +1052,13 @@ func main() { } ``` -## Archive Vault +## Archive a Vault `client.Beta.Vaults.Archive(ctx, vaultID, body) (*BetaManagedAgentsVault, error)` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault ### Parameters @@ -1190,7 +1190,7 @@ Archive Vault - `ID string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `ArchivedAt Time` @@ -1275,7 +1275,7 @@ func main() { - `ID string` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ### Beta Managed Agents Vault @@ -1287,7 +1287,7 @@ func main() { - `ID string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `ArchivedAt Time` @@ -1317,13 +1317,13 @@ func main() { ## Vaults › Credentials -### Create Credential +### Create a Credential `client.Beta.Vaults.Credentials.New(ctx, vaultID, params) (*BetaManagedAgentsCredential, error)` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential #### Parameters @@ -1345,7 +1345,7 @@ Create Credential - `AccessToken string` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -1357,7 +1357,9 @@ Create Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -1367,13 +1369,13 @@ Create Credential - `ClientID string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `RefreshToken string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -1399,7 +1401,7 @@ Create Credential - `ClientSecret string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -1411,7 +1413,7 @@ Create Credential - `ClientSecret string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -1435,7 +1437,7 @@ Create Credential - `Token string` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -1469,7 +1471,9 @@ Create Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `SecretName string` @@ -1479,7 +1483,7 @@ Create Credential - `SecretValue string` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -1627,7 +1631,7 @@ Create Credential - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -1651,7 +1655,7 @@ Create Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1661,7 +1665,7 @@ Create Credential - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -1741,7 +1745,9 @@ Create Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` @@ -1847,7 +1853,7 @@ List Credentials - `IncludeArchived param.Opt[bool] Optional` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `Limit param.Opt[int64] Optional` (query parameter) @@ -1857,7 +1863,7 @@ List Credentials - `Page param.Opt[string] Optional` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=go) response, to get the next page. Leave it out to get the first page. - `Betas []AnthropicBeta Optional` (header parameter) @@ -1981,7 +1987,7 @@ List Credentials - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -2005,7 +2011,7 @@ List Credentials - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2015,7 +2021,7 @@ List Credentials - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -2095,7 +2101,9 @@ List Credentials - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` @@ -2180,13 +2188,13 @@ func main() { } ``` -### Get Credential +### Retrieve a Credential `client.Beta.Vaults.Credentials.Get(ctx, credentialID, params) (*BetaManagedAgentsCredential, error)` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential #### Parameters @@ -2322,7 +2330,7 @@ Get Credential - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -2346,7 +2354,7 @@ Get Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2356,7 +2364,7 @@ Get Credential - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -2436,7 +2444,9 @@ Get Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` @@ -2518,13 +2528,13 @@ func main() { } ``` -### Update Credential +### Update a Credential `client.Beta.Vaults.Credentials.Update(ctx, credentialID, params) (*BetaManagedAgentsCredential, error)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential #### Parameters @@ -2540,7 +2550,7 @@ Update Credential - `Auth BetaVaultCredentialUpdateParamsAuthUnion Optional` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `type BetaManagedAgentsMCPOAuthUpdateParams` @@ -2550,13 +2560,17 @@ Update Credential - `AccessToken string Optional` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -2566,13 +2580,13 @@ Update Credential - `RefreshToken string Optional` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `Scope string Optional` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -2586,7 +2600,9 @@ Update Credential - `ClientSecret string Optional` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -2598,7 +2614,9 @@ Update Credential - `ClientSecret string Optional` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -2610,7 +2628,7 @@ Update Credential - `Token string Optional` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -2634,7 +2652,7 @@ Update Credential - `Networking BetaManagedAgentsCredentialNetworkingParamsUnion Optional` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `type BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -2650,11 +2668,13 @@ Update Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `SecretValue string Optional` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -2790,7 +2810,7 @@ Update Credential - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -2814,7 +2834,7 @@ Update Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2824,7 +2844,7 @@ Update Credential - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -2904,7 +2924,9 @@ Update Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` @@ -2986,13 +3008,13 @@ func main() { } ``` -### Delete Credential +### Delete a Credential `client.Beta.Vaults.Credentials.Delete(ctx, credentialID, params) (*BetaManagedAgentsDeletedCredential, error)` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential #### Parameters @@ -3128,7 +3150,7 @@ Delete Credential - `ID string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). #### Example @@ -3170,13 +3192,13 @@ func main() { } ``` -### Archive Credential +### Archive a Credential `client.Beta.Vaults.Credentials.Archive(ctx, credentialID, params) (*BetaManagedAgentsCredential, error)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential #### Parameters @@ -3312,7 +3334,7 @@ Archive Credential - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -3336,7 +3358,7 @@ Archive Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -3346,7 +3368,7 @@ Archive Credential - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -3426,7 +3448,9 @@ Archive Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` @@ -3508,13 +3532,13 @@ func main() { } ``` -### Validate Credential +### Validate an MCP OAuth Credential `client.Beta.Vaults.Credentials.MCPOAuthValidate(ctx, credentialID, params) (*BetaManagedAgentsCredentialValidation, error)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential #### Parameters @@ -3658,11 +3682,11 @@ Validate Credential - `MCPProbe BetaManagedAgentsMCPProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `HTTPResponse BetaManagedAgentsRefreshHTTPResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `Body string` @@ -3724,11 +3748,11 @@ Validate Credential - `const BetaManagedAgentsCredentialValidationStatusInvalid BetaManagedAgentsCredentialValidationStatus = "invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `const BetaManagedAgentsCredentialValidationStatusUnknown BetaManagedAgentsCredentialValidationStatus = "unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `ValidatedAt Time` diff --git a/content/en/api/go/beta/vaults/archive.md b/content/en/api/go/beta/vaults/archive.md index 0ebb23d493..f557db4436 100644 --- a/content/en/api/go/beta/vaults/archive.md +++ b/content/en/api/go/beta/vaults/archive.md @@ -1,15 +1,15 @@ --- -title: Archive Vault +title: Archive a Vault url: https://platform.claude.com/docs/en/api/go/beta/vaults/archive --- -# Archive Vault +# Archive a Vault `client.Beta.Vaults.Archive(ctx, vaultID, body) (*BetaManagedAgentsVault, error)` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault ## Parameters @@ -141,7 +141,7 @@ Archive Vault - `ID string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `ArchivedAt Time` diff --git a/content/en/api/go/beta/vaults/create.md b/content/en/api/go/beta/vaults/create.md index e528916a3a..ceb16a6bf2 100644 --- a/content/en/api/go/beta/vaults/create.md +++ b/content/en/api/go/beta/vaults/create.md @@ -1,15 +1,15 @@ --- -title: Create Vault +title: Create a Vault url: https://platform.claude.com/docs/en/api/go/beta/vaults/create --- -# Create Vault +# Create a Vault `client.Beta.Vaults.New(ctx, params) (*BetaManagedAgentsVault, error)` **POST** `/v1/vaults` -Create Vault +Create a Vault ## Parameters @@ -147,7 +147,7 @@ Create Vault - `ID string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `ArchivedAt Time` diff --git a/content/en/api/go/beta/vaults/credentials.md b/content/en/api/go/beta/vaults/credentials.md index befacab8fc..185b72b206 100644 --- a/content/en/api/go/beta/vaults/credentials.md +++ b/content/en/api/go/beta/vaults/credentials.md @@ -5,13 +5,13 @@ url: https://platform.claude.com/docs/en/api/go/beta/vaults/credentials # Credentials -## Create Credential +## Create a Credential `client.Beta.Vaults.Credentials.New(ctx, vaultID, params) (*BetaManagedAgentsCredential, error)` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential ### Parameters @@ -33,7 +33,7 @@ Create Credential - `AccessToken string` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -45,7 +45,9 @@ Create Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -55,13 +57,13 @@ Create Credential - `ClientID string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `RefreshToken string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -87,7 +89,7 @@ Create Credential - `ClientSecret string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -99,7 +101,7 @@ Create Credential - `ClientSecret string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -123,7 +125,7 @@ Create Credential - `Token string` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -157,7 +159,9 @@ Create Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `SecretName string` @@ -167,7 +171,7 @@ Create Credential - `SecretValue string` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -315,7 +319,7 @@ Create Credential - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -339,7 +343,7 @@ Create Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -349,7 +353,7 @@ Create Credential - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -429,7 +433,9 @@ Create Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` @@ -535,7 +541,7 @@ List Credentials - `IncludeArchived param.Opt[bool] Optional` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `Limit param.Opt[int64] Optional` (query parameter) @@ -545,7 +551,7 @@ List Credentials - `Page param.Opt[string] Optional` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=go) response, to get the next page. Leave it out to get the first page. - `Betas []AnthropicBeta Optional` (header parameter) @@ -669,7 +675,7 @@ List Credentials - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -693,7 +699,7 @@ List Credentials - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -703,7 +709,7 @@ List Credentials - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -783,7 +789,9 @@ List Credentials - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` @@ -868,13 +876,13 @@ func main() { } ``` -## Get Credential +## Retrieve a Credential `client.Beta.Vaults.Credentials.Get(ctx, credentialID, params) (*BetaManagedAgentsCredential, error)` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential ### Parameters @@ -1010,7 +1018,7 @@ Get Credential - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -1034,7 +1042,7 @@ Get Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1044,7 +1052,7 @@ Get Credential - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -1124,7 +1132,9 @@ Get Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` @@ -1206,13 +1216,13 @@ func main() { } ``` -## Update Credential +## Update a Credential `client.Beta.Vaults.Credentials.Update(ctx, credentialID, params) (*BetaManagedAgentsCredential, error)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential ### Parameters @@ -1228,7 +1238,7 @@ Update Credential - `Auth BetaVaultCredentialUpdateParamsAuthUnion Optional` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `type BetaManagedAgentsMCPOAuthUpdateParams` @@ -1238,13 +1248,17 @@ Update Credential - `AccessToken string Optional` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -1254,13 +1268,13 @@ Update Credential - `RefreshToken string Optional` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `Scope string Optional` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -1274,7 +1288,9 @@ Update Credential - `ClientSecret string Optional` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -1286,7 +1302,9 @@ Update Credential - `ClientSecret string Optional` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -1298,7 +1316,7 @@ Update Credential - `Token string Optional` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -1322,7 +1340,7 @@ Update Credential - `Networking BetaManagedAgentsCredentialNetworkingParamsUnion Optional` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `type BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -1338,11 +1356,13 @@ Update Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `SecretValue string Optional` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -1478,7 +1498,7 @@ Update Credential - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -1502,7 +1522,7 @@ Update Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1512,7 +1532,7 @@ Update Credential - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -1592,7 +1612,9 @@ Update Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` @@ -1674,13 +1696,13 @@ func main() { } ``` -## Delete Credential +## Delete a Credential `client.Beta.Vaults.Credentials.Delete(ctx, credentialID, params) (*BetaManagedAgentsDeletedCredential, error)` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential ### Parameters @@ -1816,7 +1838,7 @@ Delete Credential - `ID string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ### Example @@ -1858,13 +1880,13 @@ func main() { } ``` -## Archive Credential +## Archive a Credential `client.Beta.Vaults.Credentials.Archive(ctx, credentialID, params) (*BetaManagedAgentsCredential, error)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential ### Parameters @@ -2000,7 +2022,7 @@ Archive Credential - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -2024,7 +2046,7 @@ Archive Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2034,7 +2056,7 @@ Archive Credential - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -2114,7 +2136,9 @@ Archive Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` @@ -2196,13 +2220,13 @@ func main() { } ``` -## Validate Credential +## Validate an MCP OAuth Credential `client.Beta.Vaults.Credentials.MCPOAuthValidate(ctx, credentialID, params) (*BetaManagedAgentsCredentialValidation, error)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential ### Parameters @@ -2346,11 +2370,11 @@ Validate Credential - `MCPProbe BetaManagedAgentsMCPProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `HTTPResponse BetaManagedAgentsRefreshHTTPResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `Body string` @@ -2412,11 +2436,11 @@ Validate Credential - `const BetaManagedAgentsCredentialValidationStatusInvalid BetaManagedAgentsCredentialValidationStatus = "invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `const BetaManagedAgentsCredentialValidationStatusUnknown BetaManagedAgentsCredentialValidationStatus = "unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `ValidatedAt Time` @@ -2502,7 +2526,7 @@ func main() { - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -2526,7 +2550,7 @@ func main() { - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2536,7 +2560,7 @@ func main() { - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -2616,7 +2640,9 @@ func main() { - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` @@ -2664,7 +2690,9 @@ func main() { - `AllowedHosts []string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. ### Beta Managed Agents Credential Validation @@ -2684,11 +2712,11 @@ func main() { - `MCPProbe BetaManagedAgentsMCPProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `HTTPResponse BetaManagedAgentsRefreshHTTPResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `Body string` @@ -2750,11 +2778,11 @@ func main() { - `const BetaManagedAgentsCredentialValidationStatusInvalid BetaManagedAgentsCredentialValidationStatus = "invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `const BetaManagedAgentsCredentialValidationStatusUnknown BetaManagedAgentsCredentialValidationStatus = "unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `ValidatedAt Time` @@ -2778,11 +2806,11 @@ func main() { - `const BetaManagedAgentsCredentialValidationStatusInvalid BetaManagedAgentsCredentialValidationStatus = "invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `const BetaManagedAgentsCredentialValidationStatusUnknown BetaManagedAgentsCredentialValidationStatus = "unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. ### Beta Managed Agents Deleted Credential @@ -2794,7 +2822,7 @@ func main() { - `ID string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ### Beta Managed Agents Environment Variable Auth Response @@ -2834,7 +2862,9 @@ func main() { - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` @@ -2866,7 +2896,9 @@ func main() { - `AllowedHosts []string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `SecretName string` @@ -2876,7 +2908,7 @@ func main() { - `SecretValue string` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -2914,7 +2946,7 @@ func main() { - `Networking BetaManagedAgentsCredentialNetworkingParamsUnion Optional` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `type BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -2930,11 +2962,13 @@ func main() { - `AllowedHosts []string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `SecretValue string Optional` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -2970,7 +3004,11 @@ func main() { - `type BetaManagedAgentsInjectionLocationUpdateParams` - Updated injection location. + Changes which parts of an outbound request the secret is substituted into. A location you leave out keeps its current setting. + + After the change, at least one location must be enabled. + + See [Authenticate with vaults](https://platform.claude.com/docs/en/managed-agents/vaults?sdk_languages=go#add-a-credential) to learn more about injection locations. - `Body bool Optional` @@ -2990,7 +3028,9 @@ func main() { - `AllowedHosts []string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. ### Beta Managed Agents Limited Credential Networking Response @@ -3002,7 +3042,9 @@ func main() { - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. ### Beta Managed Agents MCP OAuth Auth Response @@ -3018,7 +3060,7 @@ func main() { - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -3028,7 +3070,7 @@ func main() { - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -3072,7 +3114,7 @@ func main() { - `AccessToken string` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -3084,7 +3126,9 @@ func main() { - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -3094,13 +3138,13 @@ func main() { - `ClientID string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `RefreshToken string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -3126,7 +3170,7 @@ func main() { - `ClientSecret string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3138,7 +3182,7 @@ func main() { - `ClientSecret string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3162,13 +3206,13 @@ func main() { - `ClientID string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `RefreshToken string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -3194,7 +3238,7 @@ func main() { - `ClientSecret string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3206,7 +3250,7 @@ func main() { - `ClientSecret string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3230,7 +3274,7 @@ func main() { - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -3272,13 +3316,13 @@ func main() { - `RefreshToken string Optional` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `Scope string Optional` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -3292,7 +3336,9 @@ func main() { - `ClientSecret string Optional` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3304,7 +3350,9 @@ func main() { - `ClientSecret string Optional` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3318,13 +3366,17 @@ func main() { - `AccessToken string Optional` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -3334,13 +3386,13 @@ func main() { - `RefreshToken string Optional` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `Scope string Optional` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -3354,7 +3406,9 @@ func main() { - `ClientSecret string Optional` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3366,7 +3420,9 @@ func main() { - `ClientSecret string Optional` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3378,7 +3434,7 @@ func main() { - `HTTPResponse BetaManagedAgentsRefreshHTTPResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `Body string` @@ -3496,7 +3552,7 @@ func main() { - `Token string` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -3516,7 +3572,7 @@ func main() { - `Token string Optional` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -3530,7 +3586,7 @@ func main() { - `ClientSecret string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3552,7 +3608,9 @@ func main() { - `ClientSecret string Optional` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3582,7 +3640,7 @@ func main() { - `ClientSecret string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3604,7 +3662,9 @@ func main() { - `ClientSecret string Optional` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 diff --git a/content/en/api/go/beta/vaults/credentials/archive.md b/content/en/api/go/beta/vaults/credentials/archive.md index 5bb51b6757..ca816d0201 100644 --- a/content/en/api/go/beta/vaults/credentials/archive.md +++ b/content/en/api/go/beta/vaults/credentials/archive.md @@ -1,15 +1,15 @@ --- -title: Archive Credential +title: Archive a Credential url: https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/archive --- -# Archive Credential +# Archive a Credential `client.Beta.Vaults.Credentials.Archive(ctx, credentialID, params) (*BetaManagedAgentsCredential, error)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential ## Parameters @@ -145,7 +145,7 @@ Archive Credential - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -169,7 +169,7 @@ Archive Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -179,7 +179,7 @@ Archive Credential - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -259,7 +259,9 @@ Archive Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` diff --git a/content/en/api/go/beta/vaults/credentials/create.md b/content/en/api/go/beta/vaults/credentials/create.md index aab775f1a9..ac0c5a5da6 100644 --- a/content/en/api/go/beta/vaults/credentials/create.md +++ b/content/en/api/go/beta/vaults/credentials/create.md @@ -1,15 +1,15 @@ --- -title: Create Credential +title: Create a Credential url: https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/create --- -# Create Credential +# Create a Credential `client.Beta.Vaults.Credentials.New(ctx, vaultID, params) (*BetaManagedAgentsCredential, error)` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential ## Parameters @@ -31,7 +31,7 @@ Create Credential - `AccessToken string` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -43,7 +43,9 @@ Create Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -53,13 +55,13 @@ Create Credential - `ClientID string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `RefreshToken string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -85,7 +87,7 @@ Create Credential - `ClientSecret string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -97,7 +99,7 @@ Create Credential - `ClientSecret string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -121,7 +123,7 @@ Create Credential - `Token string` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -155,7 +157,9 @@ Create Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `SecretName string` @@ -165,7 +169,7 @@ Create Credential - `SecretValue string` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -313,7 +317,7 @@ Create Credential - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -337,7 +341,7 @@ Create Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -347,7 +351,7 @@ Create Credential - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -427,7 +431,9 @@ Create Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` diff --git a/content/en/api/go/beta/vaults/credentials/delete.md b/content/en/api/go/beta/vaults/credentials/delete.md index 4e47696155..12a22f5511 100644 --- a/content/en/api/go/beta/vaults/credentials/delete.md +++ b/content/en/api/go/beta/vaults/credentials/delete.md @@ -1,15 +1,15 @@ --- -title: Delete Credential +title: Delete a Credential url: https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/delete --- -# Delete Credential +# Delete a Credential `client.Beta.Vaults.Credentials.Delete(ctx, credentialID, params) (*BetaManagedAgentsDeletedCredential, error)` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential ## Parameters @@ -145,7 +145,7 @@ Delete Credential - `ID string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ## Example diff --git a/content/en/api/go/beta/vaults/credentials/list.md b/content/en/api/go/beta/vaults/credentials/list.md index 61bda7ce7f..9c92e7ec1e 100644 --- a/content/en/api/go/beta/vaults/credentials/list.md +++ b/content/en/api/go/beta/vaults/credentials/list.md @@ -21,7 +21,7 @@ List Credentials - `IncludeArchived param.Opt[bool] Optional` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `Limit param.Opt[int64] Optional` (query parameter) @@ -31,7 +31,7 @@ List Credentials - `Page param.Opt[string] Optional` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=go) response, to get the next page. Leave it out to get the first page. - `Betas []AnthropicBeta Optional` (header parameter) @@ -155,7 +155,7 @@ List Credentials - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -179,7 +179,7 @@ List Credentials - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -189,7 +189,7 @@ List Credentials - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -269,7 +269,9 @@ List Credentials - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` 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 bccf2fbe16..e03c04613e 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 @@ -1,15 +1,15 @@ --- -title: Validate Credential +title: Validate an MCP OAuth Credential url: https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/mcp_oauth_validate --- -# Validate Credential +# Validate an MCP OAuth Credential `client.Beta.Vaults.Credentials.MCPOAuthValidate(ctx, credentialID, params) (*BetaManagedAgentsCredentialValidation, error)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential ## Parameters @@ -153,11 +153,11 @@ Validate Credential - `MCPProbe BetaManagedAgentsMCPProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `HTTPResponse BetaManagedAgentsRefreshHTTPResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `Body string` @@ -219,11 +219,11 @@ Validate Credential - `const BetaManagedAgentsCredentialValidationStatusInvalid BetaManagedAgentsCredentialValidationStatus = "invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `const BetaManagedAgentsCredentialValidationStatusUnknown BetaManagedAgentsCredentialValidationStatus = "unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `ValidatedAt Time` diff --git a/content/en/api/go/beta/vaults/credentials/retrieve.md b/content/en/api/go/beta/vaults/credentials/retrieve.md index 00f430be00..b1443487cd 100644 --- a/content/en/api/go/beta/vaults/credentials/retrieve.md +++ b/content/en/api/go/beta/vaults/credentials/retrieve.md @@ -1,15 +1,15 @@ --- -title: Get Credential +title: Retrieve a Credential url: https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/retrieve --- -# Get Credential +# Retrieve a Credential `client.Beta.Vaults.Credentials.Get(ctx, credentialID, params) (*BetaManagedAgentsCredential, error)` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential ## Parameters @@ -145,7 +145,7 @@ Get Credential - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -169,7 +169,7 @@ Get Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -179,7 +179,7 @@ Get Credential - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -259,7 +259,9 @@ Get Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` diff --git a/content/en/api/go/beta/vaults/credentials/update.md b/content/en/api/go/beta/vaults/credentials/update.md index 3f69474479..e6f1be5408 100644 --- a/content/en/api/go/beta/vaults/credentials/update.md +++ b/content/en/api/go/beta/vaults/credentials/update.md @@ -1,15 +1,15 @@ --- -title: Update Credential +title: Update a Credential url: https://platform.claude.com/docs/en/api/go/beta/vaults/credentials/update --- -# Update Credential +# Update a Credential `client.Beta.Vaults.Credentials.Update(ctx, credentialID, params) (*BetaManagedAgentsCredential, error)` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential ## Parameters @@ -25,7 +25,7 @@ Update Credential - `Auth BetaVaultCredentialUpdateParamsAuthUnion Optional` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `type BetaManagedAgentsMCPOAuthUpdateParams` @@ -35,13 +35,17 @@ Update Credential - `AccessToken string Optional` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -51,13 +55,13 @@ Update Credential - `RefreshToken string Optional` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `Scope string Optional` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -71,7 +75,9 @@ Update Credential - `ClientSecret string Optional` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -83,7 +89,9 @@ Update Credential - `ClientSecret string Optional` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -95,7 +103,7 @@ Update Credential - `Token string Optional` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -119,7 +127,7 @@ Update Credential - `Networking BetaManagedAgentsCredentialNetworkingParamsUnion Optional` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `type BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -135,11 +143,13 @@ Update Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `SecretValue string Optional` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -275,7 +285,7 @@ Update Credential - `ID string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `ArchivedAt Time` @@ -299,7 +309,7 @@ Update Credential - `ExpiresAt Time Optional` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -309,7 +319,7 @@ Update Credential - `ClientID string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `TokenEndpoint string` @@ -389,7 +399,9 @@ Update Credential - `AllowedHosts []string` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `SecretName string` diff --git a/content/en/api/go/beta/vaults/delete.md b/content/en/api/go/beta/vaults/delete.md index 85d7fbb4be..e595c048e9 100644 --- a/content/en/api/go/beta/vaults/delete.md +++ b/content/en/api/go/beta/vaults/delete.md @@ -1,15 +1,15 @@ --- -title: Delete Vault +title: Delete a Vault url: https://platform.claude.com/docs/en/api/go/beta/vaults/delete --- -# Delete Vault +# Delete a Vault `client.Beta.Vaults.Delete(ctx, vaultID, body) (*BetaManagedAgentsDeletedVault, error)` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault ## Parameters @@ -141,7 +141,7 @@ Delete Vault - `ID string` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ## Example diff --git a/content/en/api/go/beta/vaults/list.md b/content/en/api/go/beta/vaults/list.md index 2ca74b3e25..8af96430a7 100644 --- a/content/en/api/go/beta/vaults/list.md +++ b/content/en/api/go/beta/vaults/list.md @@ -17,7 +17,7 @@ List Vaults - `IncludeArchived param.Opt[bool] Optional` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `Limit param.Opt[int64] Optional` (query parameter) @@ -27,7 +27,7 @@ List Vaults - `Page param.Opt[string] Optional` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=go) response, to get the next page. Leave it out to get the first page. - `Betas []AnthropicBeta Optional` (header parameter) @@ -151,7 +151,7 @@ List Vaults - `ID string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `ArchivedAt Time` diff --git a/content/en/api/go/beta/vaults/retrieve.md b/content/en/api/go/beta/vaults/retrieve.md index 41baeca715..0d83d1a930 100644 --- a/content/en/api/go/beta/vaults/retrieve.md +++ b/content/en/api/go/beta/vaults/retrieve.md @@ -1,15 +1,15 @@ --- -title: Get Vault +title: Retrieve a Vault url: https://platform.claude.com/docs/en/api/go/beta/vaults/retrieve --- -# Get Vault +# Retrieve a Vault `client.Beta.Vaults.Get(ctx, vaultID, query) (*BetaManagedAgentsVault, error)` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault ## Parameters @@ -141,7 +141,7 @@ Get Vault - `ID string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `ArchivedAt Time` diff --git a/content/en/api/go/beta/vaults/update.md b/content/en/api/go/beta/vaults/update.md index 767452d2aa..56dfbd1658 100644 --- a/content/en/api/go/beta/vaults/update.md +++ b/content/en/api/go/beta/vaults/update.md @@ -1,15 +1,15 @@ --- -title: Update Vault +title: Update a Vault url: https://platform.claude.com/docs/en/api/go/beta/vaults/update --- -# Update Vault +# Update a Vault `client.Beta.Vaults.Update(ctx, vaultID, params) (*BetaManagedAgentsVault, error)` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault ## Parameters @@ -151,7 +151,7 @@ Update Vault - `ID string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `ArchivedAt Time` diff --git a/content/en/api/go/models.md b/content/en/api/go/models.md index 8508f8c1c2..2f0c327b5c 100644 --- a/content/en/api/go/models.md +++ b/content/en/api/go/models.md @@ -289,9 +289,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetweenTools CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `Disabled CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `Enabled CapabilitySupport` @@ -453,6 +457,9 @@ func main() { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -739,9 +746,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetweenTools CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `Disabled CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `Enabled CapabilitySupport` @@ -905,6 +916,9 @@ func main() { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1112,9 +1126,13 @@ func main() { Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetweenTools CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `Disabled CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `Enabled CapabilitySupport` @@ -1248,9 +1266,13 @@ func main() { Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetweenTools CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `Disabled CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `Enabled CapabilitySupport` @@ -1376,9 +1398,13 @@ func main() { Whether this capability is supported by the model. + - `BetweenTools CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `Disabled CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `Enabled CapabilitySupport` @@ -1398,9 +1424,13 @@ func main() { Whether this capability is supported by the model. + - `BetweenTools CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `Disabled CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `Enabled CapabilitySupport` diff --git a/content/en/api/go/models/list.md b/content/en/api/go/models/list.md index 178b5832a1..67e028dbea 100644 --- a/content/en/api/go/models/list.md +++ b/content/en/api/go/models/list.md @@ -287,9 +287,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetweenTools CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `Disabled CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `Enabled CapabilitySupport` @@ -451,6 +455,9 @@ func main() { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/go/models/retrieve.md b/content/en/api/go/models/retrieve.md index 32373cf269..ea75fffa79 100644 --- a/content/en/api/go/models/retrieve.md +++ b/content/en/api/go/models/retrieve.md @@ -263,9 +263,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetweenTools CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `Disabled CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `Enabled CapabilitySupport` @@ -429,6 +433,9 @@ func main() { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/java/beta.md b/content/en/api/java/beta.md index 1782cc364c..bc8812d842 100644 --- a/content/en/api/java/beta.md +++ b/content/en/api/java/beta.md @@ -625,9 +625,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetaCapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `BetaCapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `BetaCapabilitySupport enabled` @@ -792,6 +796,9 @@ public final class Main { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1090,9 +1097,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetaCapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `BetaCapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `BetaCapabilitySupport enabled` @@ -1255,6 +1266,9 @@ public final class Main { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -68446,13 +68460,13 @@ public final class Main { ## Beta › Vaults -### Create Vault +### Create a Vault `BetaManagedAgentsVault beta().vaults().create(params, requestOptions = RequestOptions.none())` **POST** `/v1/vaults` -Create Vault +Create a Vault #### Parameters @@ -68590,7 +68604,7 @@ Create Vault - `String id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `Optional archivedAt` @@ -68672,7 +68686,7 @@ List Vaults - `Optional includeArchived` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `Optional limit` (query parameter) @@ -68682,7 +68696,7 @@ List Vaults - `Optional page` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=java) response, to get the next page. Leave it out to get the first page. - `Optional> betas` (header parameter) @@ -68806,7 +68820,7 @@ List Vaults - `String id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `Optional archivedAt` @@ -68876,13 +68890,13 @@ public final class Main { } ``` -### Get Vault +### Retrieve a Vault `BetaManagedAgentsVault beta().vaults().retrieve(params = VaultRetrieveParams.none(), requestOptions = RequestOptions.none())` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault #### Parameters @@ -69014,7 +69028,7 @@ Get Vault - `String id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `Optional archivedAt` @@ -69079,13 +69093,13 @@ public final class Main { } ``` -### Update Vault +### Update a Vault `BetaManagedAgentsVault beta().vaults().update(params = VaultUpdateParams.none(), requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault #### Parameters @@ -69227,7 +69241,7 @@ Update Vault - `String id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `Optional archivedAt` @@ -69292,13 +69306,13 @@ public final class Main { } ``` -### Delete Vault +### Delete a Vault `BetaManagedAgentsDeletedVault beta().vaults().delete(params = VaultDeleteParams.none(), requestOptions = RequestOptions.none())` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault #### Parameters @@ -69430,7 +69444,7 @@ Delete Vault - `String id` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). #### Example @@ -69462,13 +69476,13 @@ public final class Main { } ``` -### Archive Vault +### Archive a Vault `BetaManagedAgentsVault beta().vaults().archive(params = VaultArchiveParams.none(), requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault #### Parameters @@ -69600,7 +69614,7 @@ Archive Vault - `String id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `Optional archivedAt` @@ -69667,13 +69681,13 @@ public final class Main { ## Beta › Vaults › Credentials -### Create Credential +### Create a Credential `BetaManagedAgentsCredential beta().vaults().credentials().create(params, requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential #### Parameters @@ -69807,7 +69821,7 @@ Create Credential - `String accessToken` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -69819,7 +69833,9 @@ Create Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -69829,13 +69845,13 @@ Create Credential - `String clientId` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `String refreshToken` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -69861,7 +69877,7 @@ Create Credential - `String clientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -69873,7 +69889,7 @@ Create Credential - `String clientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -69897,7 +69913,7 @@ Create Credential - `String token` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -69931,7 +69947,9 @@ Create Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `String secretName` @@ -69941,7 +69959,7 @@ Create Credential - `String secretValue` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -69977,7 +69995,7 @@ Create Credential - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -70001,7 +70019,7 @@ Create Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -70011,7 +70029,7 @@ Create Credential - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -70091,7 +70109,9 @@ Create Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` @@ -70190,7 +70210,7 @@ List Credentials - `Optional includeArchived` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `Optional limit` (query parameter) @@ -70200,7 +70220,7 @@ List Credentials - `Optional page` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=java) response, to get the next page. Leave it out to get the first page. - `Optional> betas` (header parameter) @@ -70324,7 +70344,7 @@ List Credentials - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -70348,7 +70368,7 @@ List Credentials - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -70358,7 +70378,7 @@ List Credentials - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -70438,7 +70458,9 @@ List Credentials - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` @@ -70515,13 +70537,13 @@ public final class Main { } ``` -### Get Credential +### Retrieve a Credential `BetaManagedAgentsCredential beta().vaults().credentials().retrieve(params, requestOptions = RequestOptions.none())` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential #### Parameters @@ -70657,7 +70679,7 @@ Get Credential - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -70681,7 +70703,7 @@ Get Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -70691,7 +70713,7 @@ Get Credential - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -70771,7 +70793,9 @@ Get Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` @@ -70847,13 +70871,13 @@ public final class Main { } ``` -### Update Credential +### Update a Credential `BetaManagedAgentsCredential beta().vaults().credentials().update(params, requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential #### Parameters @@ -70981,7 +71005,7 @@ Update Credential - `Optional auth` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `class BetaManagedAgentsMcpOAuthUpdateParams` @@ -70991,13 +71015,17 @@ Update Credential - `Optional accessToken` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -71007,13 +71035,13 @@ Update Credential - `Optional refreshToken` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `Optional scope` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -71027,7 +71055,9 @@ Update Credential - `Optional clientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -71039,7 +71069,9 @@ Update Credential - `Optional clientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -71051,7 +71083,7 @@ Update Credential - `Optional token` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -71075,7 +71107,7 @@ Update Credential - `Optional networking` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -71091,11 +71123,13 @@ Update Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `Optional secretValue` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -71119,7 +71153,7 @@ Update Credential - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -71143,7 +71177,7 @@ Update Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -71153,7 +71187,7 @@ Update Credential - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -71233,7 +71267,9 @@ Update Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` @@ -71309,13 +71345,13 @@ public final class Main { } ``` -### Delete Credential +### Delete a Credential `BetaManagedAgentsDeletedCredential beta().vaults().credentials().delete(params, requestOptions = RequestOptions.none())` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential #### Parameters @@ -71451,7 +71487,7 @@ Delete Credential - `String id` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). #### Example @@ -71487,13 +71523,13 @@ public final class Main { } ``` -### Archive Credential +### Archive a Credential `BetaManagedAgentsCredential beta().vaults().credentials().archive(params, requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential #### Parameters @@ -71629,7 +71665,7 @@ Archive Credential - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -71653,7 +71689,7 @@ Archive Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -71663,7 +71699,7 @@ Archive Credential - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -71743,7 +71779,9 @@ Archive Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` @@ -71819,13 +71857,13 @@ public final class Main { } ``` -### Validate Credential +### Validate an MCP OAuth Credential `BetaManagedAgentsCredentialValidation beta().vaults().credentials().mcpOAuthValidate(params, requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential #### Parameters @@ -71969,11 +72007,11 @@ Validate Credential - `Optional mcpProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `Optional httpResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `String body` @@ -72035,11 +72073,11 @@ Validate Credential - `INVALID("invalid")` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `UNKNOWN("unknown")` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `LocalDateTime validatedAt` @@ -103179,7 +103217,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Optional manifestVersion` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `String marketplaceId` @@ -103227,7 +103265,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Optional reach` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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")` @@ -103564,7 +103606,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Optional manifestVersion` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `String marketplaceId` @@ -103612,7 +103654,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Optional reach` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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")` @@ -103965,7 +104011,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Optional manifestVersion` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `String marketplaceId` @@ -104013,7 +104059,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Optional reach` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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")` @@ -104406,7 +104456,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Optional manifestVersion` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `String marketplaceId` @@ -104454,7 +104504,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Optional reach` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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")` @@ -104994,7 +105048,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Optional manifestVersion` - The version string the manifest declares; null when it declares none. + 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). - `String pluginId` @@ -105002,7 +105056,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Optional reach` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `CONTAINED("contained")` @@ -105334,7 +105388,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Optional manifestVersion` - The version string the manifest declares; null when it declares none. + 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). - `String pluginId` @@ -105342,7 +105396,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Optional reach` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `CONTAINED("contained")` @@ -105661,7 +105715,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Optional manifestVersion` - The version string the manifest declares; null when it declares none. + 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). - `String pluginId` @@ -105669,7 +105723,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `Optional reach` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `CONTAINED("contained")` @@ -107924,13 +107978,13 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `String repositoryUrl` - The `https://` URL of a public repository on github.com that holds the marketplace. Any other host, a URL with credentials in it, or one that does not name a repository is a 400. + 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. minLength: 1 - `Optional ref` - The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, or a value that is neither a branch name nor a 40-character SHA, is a 400. + The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, a value longer than 255 characters, or one that contains `..` or a character other than ASCII letters, digits, `.`, `_`, `-`, `+`, and `/`, is a 400. Any other value that is not a 40-character SHA is read as a branch name; if the repository has no such branch, the response is a report with `valid: false`, not a 400. minLength: 1 diff --git a/content/en/api/java/beta/models.md b/content/en/api/java/beta/models.md index 16d80125f3..3c063e460e 100644 --- a/content/en/api/java/beta/models.md +++ b/content/en/api/java/beta/models.md @@ -301,9 +301,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetaCapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `BetaCapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `BetaCapabilitySupport enabled` @@ -468,6 +472,9 @@ public final class Main { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -766,9 +773,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetaCapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `BetaCapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `BetaCapabilitySupport enabled` @@ -931,6 +942,9 @@ public final class Main { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1170,9 +1184,13 @@ public final class Main { Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetaCapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `BetaCapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `BetaCapabilitySupport enabled` @@ -1320,9 +1338,13 @@ public final class Main { Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetaCapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `BetaCapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `BetaCapabilitySupport enabled` @@ -1446,9 +1468,13 @@ public final class Main { Whether this capability is supported by the model. + - `BetaCapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `BetaCapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `BetaCapabilitySupport enabled` @@ -1468,9 +1494,13 @@ public final class Main { Whether this capability is supported by the model. + - `BetaCapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `BetaCapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `BetaCapabilitySupport enabled` diff --git a/content/en/api/java/beta/models/list.md b/content/en/api/java/beta/models/list.md index d529e99fcf..3832efe5fe 100644 --- a/content/en/api/java/beta/models/list.md +++ b/content/en/api/java/beta/models/list.md @@ -299,9 +299,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetaCapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `BetaCapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `BetaCapabilitySupport enabled` @@ -466,6 +470,9 @@ public final class Main { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/java/beta/models/retrieve.md b/content/en/api/java/beta/models/retrieve.md index e60de67717..8802fd2a62 100644 --- a/content/en/api/java/beta/models/retrieve.md +++ b/content/en/api/java/beta/models/retrieve.md @@ -275,9 +275,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetaCapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `BetaCapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `BetaCapabilitySupport enabled` @@ -440,6 +444,9 @@ public final class Main { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/java/beta/vaults.md b/content/en/api/java/beta/vaults.md index e87ba1e868..caac2a113f 100644 --- a/content/en/api/java/beta/vaults.md +++ b/content/en/api/java/beta/vaults.md @@ -5,13 +5,13 @@ url: https://platform.claude.com/docs/en/api/java/beta/vaults # Vaults -## Create Vault +## Create a Vault `BetaManagedAgentsVault beta().vaults().create(params, requestOptions = RequestOptions.none())` **POST** `/v1/vaults` -Create Vault +Create a Vault ### Parameters @@ -149,7 +149,7 @@ Create Vault - `String id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `Optional archivedAt` @@ -231,7 +231,7 @@ List Vaults - `Optional includeArchived` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `Optional limit` (query parameter) @@ -241,7 +241,7 @@ List Vaults - `Optional page` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=java) response, to get the next page. Leave it out to get the first page. - `Optional> betas` (header parameter) @@ -365,7 +365,7 @@ List Vaults - `String id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `Optional archivedAt` @@ -435,13 +435,13 @@ public final class Main { } ``` -## Get Vault +## Retrieve a Vault `BetaManagedAgentsVault beta().vaults().retrieve(params = VaultRetrieveParams.none(), requestOptions = RequestOptions.none())` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault ### Parameters @@ -573,7 +573,7 @@ Get Vault - `String id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `Optional archivedAt` @@ -638,13 +638,13 @@ public final class Main { } ``` -## Update Vault +## Update a Vault `BetaManagedAgentsVault beta().vaults().update(params = VaultUpdateParams.none(), requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault ### Parameters @@ -786,7 +786,7 @@ Update Vault - `String id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `Optional archivedAt` @@ -851,13 +851,13 @@ public final class Main { } ``` -## Delete Vault +## Delete a Vault `BetaManagedAgentsDeletedVault beta().vaults().delete(params = VaultDeleteParams.none(), requestOptions = RequestOptions.none())` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault ### Parameters @@ -989,7 +989,7 @@ Delete Vault - `String id` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ### Example @@ -1021,13 +1021,13 @@ public final class Main { } ``` -## Archive Vault +## Archive a Vault `BetaManagedAgentsVault beta().vaults().archive(params = VaultArchiveParams.none(), requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault ### Parameters @@ -1159,7 +1159,7 @@ Archive Vault - `String id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `Optional archivedAt` @@ -1236,7 +1236,7 @@ public final class Main { - `String id` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ### Beta Managed Agents Vault @@ -1248,7 +1248,7 @@ public final class Main { - `String id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `Optional archivedAt` @@ -1278,13 +1278,13 @@ public final class Main { ## Vaults › Credentials -### Create Credential +### Create a Credential `BetaManagedAgentsCredential beta().vaults().credentials().create(params, requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential #### Parameters @@ -1418,7 +1418,7 @@ Create Credential - `String accessToken` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -1430,7 +1430,9 @@ Create Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -1440,13 +1442,13 @@ Create Credential - `String clientId` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `String refreshToken` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -1472,7 +1474,7 @@ Create Credential - `String clientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -1484,7 +1486,7 @@ Create Credential - `String clientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -1508,7 +1510,7 @@ Create Credential - `String token` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -1542,7 +1544,9 @@ Create Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `String secretName` @@ -1552,7 +1556,7 @@ Create Credential - `String secretValue` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -1588,7 +1592,7 @@ Create Credential - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -1612,7 +1616,7 @@ Create Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1622,7 +1626,7 @@ Create Credential - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -1702,7 +1706,9 @@ Create Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` @@ -1801,7 +1807,7 @@ List Credentials - `Optional includeArchived` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `Optional limit` (query parameter) @@ -1811,7 +1817,7 @@ List Credentials - `Optional page` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=java) response, to get the next page. Leave it out to get the first page. - `Optional> betas` (header parameter) @@ -1935,7 +1941,7 @@ List Credentials - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -1959,7 +1965,7 @@ List Credentials - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1969,7 +1975,7 @@ List Credentials - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -2049,7 +2055,9 @@ List Credentials - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` @@ -2126,13 +2134,13 @@ public final class Main { } ``` -### Get Credential +### Retrieve a Credential `BetaManagedAgentsCredential beta().vaults().credentials().retrieve(params, requestOptions = RequestOptions.none())` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential #### Parameters @@ -2268,7 +2276,7 @@ Get Credential - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -2292,7 +2300,7 @@ Get Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2302,7 +2310,7 @@ Get Credential - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -2382,7 +2390,9 @@ Get Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` @@ -2458,13 +2468,13 @@ public final class Main { } ``` -### Update Credential +### Update a Credential `BetaManagedAgentsCredential beta().vaults().credentials().update(params, requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential #### Parameters @@ -2592,7 +2602,7 @@ Update Credential - `Optional auth` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `class BetaManagedAgentsMcpOAuthUpdateParams` @@ -2602,13 +2612,17 @@ Update Credential - `Optional accessToken` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -2618,13 +2632,13 @@ Update Credential - `Optional refreshToken` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `Optional scope` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -2638,7 +2652,9 @@ Update Credential - `Optional clientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -2650,7 +2666,9 @@ Update Credential - `Optional clientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -2662,7 +2680,7 @@ Update Credential - `Optional token` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -2686,7 +2704,7 @@ Update Credential - `Optional networking` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -2702,11 +2720,13 @@ Update Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `Optional secretValue` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -2730,7 +2750,7 @@ Update Credential - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -2754,7 +2774,7 @@ Update Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2764,7 +2784,7 @@ Update Credential - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -2844,7 +2864,9 @@ Update Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` @@ -2920,13 +2942,13 @@ public final class Main { } ``` -### Delete Credential +### Delete a Credential `BetaManagedAgentsDeletedCredential beta().vaults().credentials().delete(params, requestOptions = RequestOptions.none())` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential #### Parameters @@ -3062,7 +3084,7 @@ Delete Credential - `String id` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). #### Example @@ -3098,13 +3120,13 @@ public final class Main { } ``` -### Archive Credential +### Archive a Credential `BetaManagedAgentsCredential beta().vaults().credentials().archive(params, requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential #### Parameters @@ -3240,7 +3262,7 @@ Archive Credential - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -3264,7 +3286,7 @@ Archive Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -3274,7 +3296,7 @@ Archive Credential - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -3354,7 +3376,9 @@ Archive Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` @@ -3430,13 +3454,13 @@ public final class Main { } ``` -### Validate Credential +### Validate an MCP OAuth Credential `BetaManagedAgentsCredentialValidation beta().vaults().credentials().mcpOAuthValidate(params, requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential #### Parameters @@ -3580,11 +3604,11 @@ Validate Credential - `Optional mcpProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `Optional httpResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `String body` @@ -3646,11 +3670,11 @@ Validate Credential - `INVALID("invalid")` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `UNKNOWN("unknown")` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `LocalDateTime validatedAt` diff --git a/content/en/api/java/beta/vaults/archive.md b/content/en/api/java/beta/vaults/archive.md index 815d80bd0b..6cd774974f 100644 --- a/content/en/api/java/beta/vaults/archive.md +++ b/content/en/api/java/beta/vaults/archive.md @@ -1,15 +1,15 @@ --- -title: Archive Vault +title: Archive a Vault url: https://platform.claude.com/docs/en/api/java/beta/vaults/archive --- -# Archive Vault +# Archive a Vault `BetaManagedAgentsVault beta().vaults().archive(params = VaultArchiveParams.none(), requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault ## Parameters @@ -141,7 +141,7 @@ Archive Vault - `String id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `Optional archivedAt` diff --git a/content/en/api/java/beta/vaults/create.md b/content/en/api/java/beta/vaults/create.md index 3fb81d4e27..4d358c55bf 100644 --- a/content/en/api/java/beta/vaults/create.md +++ b/content/en/api/java/beta/vaults/create.md @@ -1,15 +1,15 @@ --- -title: Create Vault +title: Create a Vault url: https://platform.claude.com/docs/en/api/java/beta/vaults/create --- -# Create Vault +# Create a Vault `BetaManagedAgentsVault beta().vaults().create(params, requestOptions = RequestOptions.none())` **POST** `/v1/vaults` -Create Vault +Create a Vault ## Parameters @@ -147,7 +147,7 @@ Create Vault - `String id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `Optional archivedAt` diff --git a/content/en/api/java/beta/vaults/credentials.md b/content/en/api/java/beta/vaults/credentials.md index f70d613dc2..ec14930741 100644 --- a/content/en/api/java/beta/vaults/credentials.md +++ b/content/en/api/java/beta/vaults/credentials.md @@ -5,13 +5,13 @@ url: https://platform.claude.com/docs/en/api/java/beta/vaults/credentials # Credentials -## Create Credential +## Create a Credential `BetaManagedAgentsCredential beta().vaults().credentials().create(params, requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential ### Parameters @@ -145,7 +145,7 @@ Create Credential - `String accessToken` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -157,7 +157,9 @@ Create Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -167,13 +169,13 @@ Create Credential - `String clientId` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `String refreshToken` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -199,7 +201,7 @@ Create Credential - `String clientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -211,7 +213,7 @@ Create Credential - `String clientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -235,7 +237,7 @@ Create Credential - `String token` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -269,7 +271,9 @@ Create Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `String secretName` @@ -279,7 +283,7 @@ Create Credential - `String secretValue` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -315,7 +319,7 @@ Create Credential - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -339,7 +343,7 @@ Create Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -349,7 +353,7 @@ Create Credential - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -429,7 +433,9 @@ Create Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` @@ -528,7 +534,7 @@ List Credentials - `Optional includeArchived` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `Optional limit` (query parameter) @@ -538,7 +544,7 @@ List Credentials - `Optional page` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=java) response, to get the next page. Leave it out to get the first page. - `Optional> betas` (header parameter) @@ -662,7 +668,7 @@ List Credentials - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -686,7 +692,7 @@ List Credentials - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -696,7 +702,7 @@ List Credentials - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -776,7 +782,9 @@ List Credentials - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` @@ -853,13 +861,13 @@ public final class Main { } ``` -## Get Credential +## Retrieve a Credential `BetaManagedAgentsCredential beta().vaults().credentials().retrieve(params, requestOptions = RequestOptions.none())` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential ### Parameters @@ -995,7 +1003,7 @@ Get Credential - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -1019,7 +1027,7 @@ Get Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1029,7 +1037,7 @@ Get Credential - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -1109,7 +1117,9 @@ Get Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` @@ -1185,13 +1195,13 @@ public final class Main { } ``` -## Update Credential +## Update a Credential `BetaManagedAgentsCredential beta().vaults().credentials().update(params, requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential ### Parameters @@ -1319,7 +1329,7 @@ Update Credential - `Optional auth` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `class BetaManagedAgentsMcpOAuthUpdateParams` @@ -1329,13 +1339,17 @@ Update Credential - `Optional accessToken` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -1345,13 +1359,13 @@ Update Credential - `Optional refreshToken` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `Optional scope` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -1365,7 +1379,9 @@ Update Credential - `Optional clientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -1377,7 +1393,9 @@ Update Credential - `Optional clientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -1389,7 +1407,7 @@ Update Credential - `Optional token` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -1413,7 +1431,7 @@ Update Credential - `Optional networking` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -1429,11 +1447,13 @@ Update Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `Optional secretValue` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -1457,7 +1477,7 @@ Update Credential - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -1481,7 +1501,7 @@ Update Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1491,7 +1511,7 @@ Update Credential - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -1571,7 +1591,9 @@ Update Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` @@ -1647,13 +1669,13 @@ public final class Main { } ``` -## Delete Credential +## Delete a Credential `BetaManagedAgentsDeletedCredential beta().vaults().credentials().delete(params, requestOptions = RequestOptions.none())` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential ### Parameters @@ -1789,7 +1811,7 @@ Delete Credential - `String id` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ### Example @@ -1825,13 +1847,13 @@ public final class Main { } ``` -## Archive Credential +## Archive a Credential `BetaManagedAgentsCredential beta().vaults().credentials().archive(params, requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential ### Parameters @@ -1967,7 +1989,7 @@ Archive Credential - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -1991,7 +2013,7 @@ Archive Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2001,7 +2023,7 @@ Archive Credential - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -2081,7 +2103,9 @@ Archive Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` @@ -2157,13 +2181,13 @@ public final class Main { } ``` -## Validate Credential +## Validate an MCP OAuth Credential `BetaManagedAgentsCredentialValidation beta().vaults().credentials().mcpOAuthValidate(params, requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential ### Parameters @@ -2307,11 +2331,11 @@ Validate Credential - `Optional mcpProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `Optional httpResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `String body` @@ -2373,11 +2397,11 @@ Validate Credential - `INVALID("invalid")` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `UNKNOWN("unknown")` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `LocalDateTime validatedAt` @@ -2457,7 +2481,7 @@ public final class Main { - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -2481,7 +2505,7 @@ public final class Main { - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2491,7 +2515,7 @@ public final class Main { - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -2571,7 +2595,9 @@ public final class Main { - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` @@ -2619,7 +2645,9 @@ public final class Main { - `List allowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. ### Beta Managed Agents Credential Validation @@ -2639,11 +2667,11 @@ public final class Main { - `Optional mcpProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `Optional httpResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `String body` @@ -2705,11 +2733,11 @@ public final class Main { - `INVALID("invalid")` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `UNKNOWN("unknown")` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `LocalDateTime validatedAt` @@ -2733,11 +2761,11 @@ public final class Main { - `INVALID("invalid")` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `UNKNOWN("unknown")` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. ### Beta Managed Agents Deleted Credential @@ -2749,7 +2777,7 @@ public final class Main { - `String id` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ### Beta Managed Agents Environment Variable Auth Response @@ -2789,7 +2817,9 @@ public final class Main { - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` @@ -2821,7 +2851,9 @@ public final class Main { - `List allowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `String secretName` @@ -2831,7 +2863,7 @@ public final class Main { - `String secretValue` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -2869,7 +2901,7 @@ public final class Main { - `Optional networking` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -2885,11 +2917,13 @@ public final class Main { - `List allowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `Optional secretValue` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -2925,7 +2959,11 @@ public final class Main { - `class BetaManagedAgentsInjectionLocationUpdateParams` - Updated injection location. + Changes which parts of an outbound request the secret is substituted into. A location you leave out keeps its current setting. + + After the change, at least one location must be enabled. + + See [Authenticate with vaults](https://platform.claude.com/docs/en/managed-agents/vaults?sdk_languages=java#add-a-credential) to learn more about injection locations. - `Optional body` @@ -2945,7 +2983,9 @@ public final class Main { - `List allowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. ### Beta Managed Agents Limited Credential Networking Response @@ -2957,7 +2997,9 @@ public final class Main { - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. ### Beta Managed Agents MCP OAuth Auth Response @@ -2973,7 +3015,7 @@ public final class Main { - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2983,7 +3025,7 @@ public final class Main { - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -3027,7 +3069,7 @@ public final class Main { - `String accessToken` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -3039,7 +3081,9 @@ public final class Main { - `Optional expiresAt` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -3049,13 +3093,13 @@ public final class Main { - `String clientId` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `String refreshToken` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -3081,7 +3125,7 @@ public final class Main { - `String clientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3093,7 +3137,7 @@ public final class Main { - `String clientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3117,13 +3161,13 @@ public final class Main { - `String clientId` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `String refreshToken` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -3149,7 +3193,7 @@ public final class Main { - `String clientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3161,7 +3205,7 @@ public final class Main { - `String clientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3185,7 +3229,7 @@ public final class Main { - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -3227,13 +3271,13 @@ public final class Main { - `Optional refreshToken` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `Optional scope` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -3247,7 +3291,9 @@ public final class Main { - `Optional clientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3259,7 +3305,9 @@ public final class Main { - `Optional clientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3273,13 +3321,17 @@ public final class Main { - `Optional accessToken` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -3289,13 +3341,13 @@ public final class Main { - `Optional refreshToken` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `Optional scope` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -3309,7 +3361,9 @@ public final class Main { - `Optional clientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3321,7 +3375,9 @@ public final class Main { - `Optional clientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3333,7 +3389,7 @@ public final class Main { - `Optional httpResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `String body` @@ -3451,7 +3507,7 @@ public final class Main { - `String token` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -3471,7 +3527,7 @@ public final class Main { - `Optional token` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -3485,7 +3541,7 @@ public final class Main { - `String clientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3507,7 +3563,9 @@ public final class Main { - `Optional clientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3537,7 +3595,7 @@ public final class Main { - `String clientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3559,7 +3617,9 @@ public final class Main { - `Optional clientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 diff --git a/content/en/api/java/beta/vaults/credentials/archive.md b/content/en/api/java/beta/vaults/credentials/archive.md index 1c05a0b69e..ad41548504 100644 --- a/content/en/api/java/beta/vaults/credentials/archive.md +++ b/content/en/api/java/beta/vaults/credentials/archive.md @@ -1,15 +1,15 @@ --- -title: Archive Credential +title: Archive a Credential url: https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/archive --- -# Archive Credential +# Archive a Credential `BetaManagedAgentsCredential beta().vaults().credentials().archive(params, requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential ## Parameters @@ -145,7 +145,7 @@ Archive Credential - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -169,7 +169,7 @@ Archive Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -179,7 +179,7 @@ Archive Credential - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -259,7 +259,9 @@ Archive Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` diff --git a/content/en/api/java/beta/vaults/credentials/create.md b/content/en/api/java/beta/vaults/credentials/create.md index ce0fcc6109..ea119c4a55 100644 --- a/content/en/api/java/beta/vaults/credentials/create.md +++ b/content/en/api/java/beta/vaults/credentials/create.md @@ -1,15 +1,15 @@ --- -title: Create Credential +title: Create a Credential url: https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/create --- -# Create Credential +# Create a Credential `BetaManagedAgentsCredential beta().vaults().credentials().create(params, requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential ## Parameters @@ -143,7 +143,7 @@ Create Credential - `String accessToken` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -155,7 +155,9 @@ Create Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -165,13 +167,13 @@ Create Credential - `String clientId` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `String refreshToken` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -197,7 +199,7 @@ Create Credential - `String clientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -209,7 +211,7 @@ Create Credential - `String clientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -233,7 +235,7 @@ Create Credential - `String token` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -267,7 +269,9 @@ Create Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `String secretName` @@ -277,7 +281,7 @@ Create Credential - `String secretValue` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -313,7 +317,7 @@ Create Credential - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -337,7 +341,7 @@ Create Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -347,7 +351,7 @@ Create Credential - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -427,7 +431,9 @@ Create Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` diff --git a/content/en/api/java/beta/vaults/credentials/delete.md b/content/en/api/java/beta/vaults/credentials/delete.md index 9748f951b6..ca39214a96 100644 --- a/content/en/api/java/beta/vaults/credentials/delete.md +++ b/content/en/api/java/beta/vaults/credentials/delete.md @@ -1,15 +1,15 @@ --- -title: Delete Credential +title: Delete a Credential url: https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/delete --- -# Delete Credential +# Delete a Credential `BetaManagedAgentsDeletedCredential beta().vaults().credentials().delete(params, requestOptions = RequestOptions.none())` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential ## Parameters @@ -145,7 +145,7 @@ Delete Credential - `String id` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ## Example diff --git a/content/en/api/java/beta/vaults/credentials/list.md b/content/en/api/java/beta/vaults/credentials/list.md index d9fc1d75bb..899373ecf2 100644 --- a/content/en/api/java/beta/vaults/credentials/list.md +++ b/content/en/api/java/beta/vaults/credentials/list.md @@ -21,7 +21,7 @@ List Credentials - `Optional includeArchived` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `Optional limit` (query parameter) @@ -31,7 +31,7 @@ List Credentials - `Optional page` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=java) response, to get the next page. Leave it out to get the first page. - `Optional> betas` (header parameter) @@ -155,7 +155,7 @@ List Credentials - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -179,7 +179,7 @@ List Credentials - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -189,7 +189,7 @@ List Credentials - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -269,7 +269,9 @@ List Credentials - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` 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 cdfec2b66f..f96e5e8924 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 @@ -1,15 +1,15 @@ --- -title: Validate Credential +title: Validate an MCP OAuth Credential url: https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/mcp_oauth_validate --- -# Validate Credential +# Validate an MCP OAuth Credential `BetaManagedAgentsCredentialValidation beta().vaults().credentials().mcpOAuthValidate(params, requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential ## Parameters @@ -153,11 +153,11 @@ Validate Credential - `Optional mcpProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `Optional httpResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `String body` @@ -219,11 +219,11 @@ Validate Credential - `INVALID("invalid")` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `UNKNOWN("unknown")` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `LocalDateTime validatedAt` diff --git a/content/en/api/java/beta/vaults/credentials/retrieve.md b/content/en/api/java/beta/vaults/credentials/retrieve.md index 6a980adc0e..5e7478e2a7 100644 --- a/content/en/api/java/beta/vaults/credentials/retrieve.md +++ b/content/en/api/java/beta/vaults/credentials/retrieve.md @@ -1,15 +1,15 @@ --- -title: Get Credential +title: Retrieve a Credential url: https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/retrieve --- -# Get Credential +# Retrieve a Credential `BetaManagedAgentsCredential beta().vaults().credentials().retrieve(params, requestOptions = RequestOptions.none())` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential ## Parameters @@ -145,7 +145,7 @@ Get Credential - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -169,7 +169,7 @@ Get Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -179,7 +179,7 @@ Get Credential - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -259,7 +259,9 @@ Get Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` diff --git a/content/en/api/java/beta/vaults/credentials/update.md b/content/en/api/java/beta/vaults/credentials/update.md index 06be3389d3..58a3e5b1db 100644 --- a/content/en/api/java/beta/vaults/credentials/update.md +++ b/content/en/api/java/beta/vaults/credentials/update.md @@ -1,15 +1,15 @@ --- -title: Update Credential +title: Update a Credential url: https://platform.claude.com/docs/en/api/java/beta/vaults/credentials/update --- -# Update Credential +# Update a Credential `BetaManagedAgentsCredential beta().vaults().credentials().update(params, requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential ## Parameters @@ -137,7 +137,7 @@ Update Credential - `Optional auth` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `class BetaManagedAgentsMcpOAuthUpdateParams` @@ -147,13 +147,17 @@ Update Credential - `Optional accessToken` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -163,13 +167,13 @@ Update Credential - `Optional refreshToken` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `Optional scope` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -183,7 +187,9 @@ Update Credential - `Optional clientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -195,7 +201,9 @@ Update Credential - `Optional clientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -207,7 +215,7 @@ Update Credential - `Optional token` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -231,7 +239,7 @@ Update Credential - `Optional networking` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -247,11 +255,13 @@ Update Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `Optional secretValue` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -275,7 +285,7 @@ Update Credential - `String id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `Optional archivedAt` @@ -299,7 +309,7 @@ Update Credential - `Optional expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -309,7 +319,7 @@ Update Credential - `String clientId` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `String tokenEndpoint` @@ -389,7 +399,9 @@ Update Credential - `List allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `String secretName` diff --git a/content/en/api/java/beta/vaults/delete.md b/content/en/api/java/beta/vaults/delete.md index 1c9fcf17a7..bd201447e8 100644 --- a/content/en/api/java/beta/vaults/delete.md +++ b/content/en/api/java/beta/vaults/delete.md @@ -1,15 +1,15 @@ --- -title: Delete Vault +title: Delete a Vault url: https://platform.claude.com/docs/en/api/java/beta/vaults/delete --- -# Delete Vault +# Delete a Vault `BetaManagedAgentsDeletedVault beta().vaults().delete(params = VaultDeleteParams.none(), requestOptions = RequestOptions.none())` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault ## Parameters @@ -141,7 +141,7 @@ Delete Vault - `String id` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ## Example diff --git a/content/en/api/java/beta/vaults/list.md b/content/en/api/java/beta/vaults/list.md index 181eca79ae..1a5f8c9018 100644 --- a/content/en/api/java/beta/vaults/list.md +++ b/content/en/api/java/beta/vaults/list.md @@ -17,7 +17,7 @@ List Vaults - `Optional includeArchived` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `Optional limit` (query parameter) @@ -27,7 +27,7 @@ List Vaults - `Optional page` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=java) response, to get the next page. Leave it out to get the first page. - `Optional> betas` (header parameter) @@ -151,7 +151,7 @@ List Vaults - `String id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `Optional archivedAt` diff --git a/content/en/api/java/beta/vaults/retrieve.md b/content/en/api/java/beta/vaults/retrieve.md index 53e48d3fb6..045a96b11c 100644 --- a/content/en/api/java/beta/vaults/retrieve.md +++ b/content/en/api/java/beta/vaults/retrieve.md @@ -1,15 +1,15 @@ --- -title: Get Vault +title: Retrieve a Vault url: https://platform.claude.com/docs/en/api/java/beta/vaults/retrieve --- -# Get Vault +# Retrieve a Vault `BetaManagedAgentsVault beta().vaults().retrieve(params = VaultRetrieveParams.none(), requestOptions = RequestOptions.none())` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault ## Parameters @@ -141,7 +141,7 @@ Get Vault - `String id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `Optional archivedAt` diff --git a/content/en/api/java/beta/vaults/update.md b/content/en/api/java/beta/vaults/update.md index e55788b7e0..b9f0a00eb8 100644 --- a/content/en/api/java/beta/vaults/update.md +++ b/content/en/api/java/beta/vaults/update.md @@ -1,15 +1,15 @@ --- -title: Update Vault +title: Update a Vault url: https://platform.claude.com/docs/en/api/java/beta/vaults/update --- -# Update Vault +# Update a Vault `BetaManagedAgentsVault beta().vaults().update(params = VaultUpdateParams.none(), requestOptions = RequestOptions.none())` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault ## Parameters @@ -151,7 +151,7 @@ Update Vault - `String id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `Optional archivedAt` diff --git a/content/en/api/java/models.md b/content/en/api/java/models.md index f299b3244f..b0d7e0cf5d 100644 --- a/content/en/api/java/models.md +++ b/content/en/api/java/models.md @@ -287,9 +287,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `CapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `CapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `CapabilitySupport enabled` @@ -445,6 +449,9 @@ public final class Main { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -729,9 +736,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `CapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `CapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `CapabilitySupport enabled` @@ -885,6 +896,9 @@ public final class Main { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1092,9 +1106,13 @@ public final class Main { Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `CapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `CapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `CapabilitySupport enabled` @@ -1226,9 +1244,13 @@ public final class Main { Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `CapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `CapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `CapabilitySupport enabled` @@ -1352,9 +1374,13 @@ public final class Main { Whether this capability is supported by the model. + - `CapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `CapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `CapabilitySupport enabled` @@ -1374,9 +1400,13 @@ public final class Main { Whether this capability is supported by the model. + - `CapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `CapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `CapabilitySupport enabled` diff --git a/content/en/api/java/models/list.md b/content/en/api/java/models/list.md index b04c23cce7..1ebf3f70a3 100644 --- a/content/en/api/java/models/list.md +++ b/content/en/api/java/models/list.md @@ -285,9 +285,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `CapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `CapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `CapabilitySupport enabled` @@ -443,6 +447,9 @@ public final class Main { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/java/models/retrieve.md b/content/en/api/java/models/retrieve.md index 85408757b7..0e3fd76dd2 100644 --- a/content/en/api/java/models/retrieve.md +++ b/content/en/api/java/models/retrieve.md @@ -261,9 +261,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `CapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `CapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `CapabilitySupport enabled` @@ -417,6 +421,9 @@ public final class Main { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/models.md b/content/en/api/models.md index 9108b3caf7..ee8b739c65 100644 --- a/content/en/api/models.md +++ b/content/en/api/models.md @@ -295,9 +295,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -454,6 +458,9 @@ curl https://api.anthropic.com/v1/models \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -746,9 +753,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -891,6 +902,9 @@ curl https://api.anthropic.com/v1/models/$MODEL_ID \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1098,9 +1112,13 @@ curl https://api.anthropic.com/v1/models/$MODEL_ID \ Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -1234,9 +1252,13 @@ curl https://api.anthropic.com/v1/models/$MODEL_ID \ Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -1362,9 +1384,13 @@ curl https://api.anthropic.com/v1/models/$MODEL_ID \ Whether this capability is supported by the model. + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -1384,9 +1410,13 @@ curl https://api.anthropic.com/v1/models/$MODEL_ID \ Whether this capability is supported by the model. + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` diff --git a/content/en/api/models/list.md b/content/en/api/models/list.md index cb368aa0d1..f849e8dcf1 100644 --- a/content/en/api/models/list.md +++ b/content/en/api/models/list.md @@ -293,9 +293,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -452,6 +456,9 @@ curl https://api.anthropic.com/v1/models \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/models/retrieve.md b/content/en/api/models/retrieve.md index 677d0f7b1f..f5b09bde9c 100644 --- a/content/en/api/models/retrieve.md +++ b/content/en/api/models/retrieve.md @@ -269,9 +269,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -414,6 +418,9 @@ curl https://api.anthropic.com/v1/models/$MODEL_ID \ "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/overview.md b/content/en/api/overview.md index 71a9b7d850..9dbd53aec0 100644 --- a/content/en/api/overview.md +++ b/content/en/api/overview.md @@ -163,7 +163,7 @@ The API enforces rate limits and spend limits to prevent misuse and manage capac * **Spend limits**: Maximum monthly cost for API usage * **Rate limits**: Maximum number of requests per minute (RPM) and tokens per minute (TPM) -You can view your rate limits on the [Rate limits](https://platform.claude.com/usage/limits) page and your spend limits on the [Billing](https://platform.claude.com/settings/billing) page in the Console. For higher rate limits or a higher monthly spend cap, use **Request tier increase** on the Rate limits page. +In the Console, you can view your rate limits on the [Rate limits](https://platform.claude.com/usage/limits) page and your spend limits on the [Billing](https://platform.claude.com/settings/billing) page. For higher rate limits or a higher monthly spend cap, use **Request tier increase** on the Rate limits page. For detailed information about limits, tiers, and the token bucket algorithm used for rate limiting, see [Rate limits](https://platform.claude.com/docs/en/api/rate-limits). diff --git a/content/en/api/php/beta.md b/content/en/api/php/beta.md index 185708067e..045a7cab70 100644 --- a/content/en/api/php/beta.md +++ b/content/en/api/php/beta.md @@ -474,6 +474,9 @@ var_dump($page); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -680,6 +683,9 @@ var_dump($betaModelInfo); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -14313,13 +14319,13 @@ var_dump($betaManagedAgentsDeploymentRun); ## Beta › Vaults -### Create Vault +### Create a Vault `$client->beta->vaults->create(string displayName, ?array metadata, ?list betas, ?string workspaceID): BetaManagedAgentsVault` **POST** `/v1/vaults` -Create Vault +Create a Vault #### Parameters @@ -14349,7 +14355,7 @@ Create Vault - `string id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `?\Datetime archivedAt` @@ -14418,7 +14424,7 @@ List Vaults - `includeArchived?:optional bool` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `limit?:optional int` (query parameter) @@ -14426,7 +14432,7 @@ List Vaults - `page?:optional string` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=php) response, to get the next page. Leave it out to get the first page. - `betas?:optional list` (header parameter) @@ -14446,7 +14452,7 @@ List Vaults - `string id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `?\Datetime archivedAt` @@ -14509,13 +14515,13 @@ var_dump($page); } ``` -### Get Vault +### Retrieve a Vault `$client->beta->vaults->retrieve(string vaultID, ?list betas, ?string workspaceID): BetaManagedAgentsVault` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault #### Parameters @@ -14541,7 +14547,7 @@ Get Vault - `string id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `?\Datetime archivedAt` @@ -14597,13 +14603,13 @@ var_dump($betaManagedAgentsVault); } ``` -### Update Vault +### Update a Vault `$client->beta->vaults->update(string vaultID, ?string displayName, ?array metadata, ?list betas, ?string workspaceID): BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault #### Parameters @@ -14637,7 +14643,7 @@ Update Vault - `string id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `?\Datetime archivedAt` @@ -14695,13 +14701,13 @@ var_dump($betaManagedAgentsVault); } ``` -### Delete Vault +### Delete a Vault `$client->beta->vaults->delete(string vaultID, ?list betas, ?string workspaceID): BetaManagedAgentsDeletedVault` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault #### Parameters @@ -14727,7 +14733,7 @@ Delete Vault - `string id` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). #### Example @@ -14756,13 +14762,13 @@ var_dump($betaManagedAgentsDeletedVault); } ``` -### Archive Vault +### Archive a Vault `$client->beta->vaults->archive(string vaultID, ?list betas, ?string workspaceID): BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault #### Parameters @@ -14788,7 +14794,7 @@ Archive Vault - `string id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `?\Datetime archivedAt` @@ -14846,13 +14852,13 @@ var_dump($betaManagedAgentsVault); ## Beta › Vaults › Credentials -### Create Credential +### Create a Credential `$client->beta->vaults->credentials->create(string vaultID, Auth auth, ?string displayName, ?array metadata, ?list betas, ?string workspaceID): ManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential #### Parameters @@ -14890,7 +14896,7 @@ Create Credential - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` @@ -14982,7 +14988,7 @@ List Credentials - `includeArchived?:optional bool` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit?:optional int` (query parameter) @@ -14990,7 +14996,7 @@ List Credentials - `page?:optional string` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=php) response, to get the next page. Leave it out to get the first page. - `betas?:optional list` (header parameter) @@ -15010,7 +15016,7 @@ List Credentials - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` @@ -15087,13 +15093,13 @@ var_dump($page); } ``` -### Get Credential +### Retrieve a Credential `$client->beta->vaults->credentials->retrieve(string credentialID, string vaultID, ?list betas, ?string workspaceID): ManagedAgentsCredential` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential #### Parameters @@ -15123,7 +15129,7 @@ Get Credential - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` @@ -15193,13 +15199,13 @@ var_dump($betaManagedAgentsCredential); } ``` -### Update Credential +### Update a Credential `$client->beta->vaults->credentials->update(string credentialID, string vaultID, ?Auth auth, ?string displayName, ?array metadata, ?list betas, ?string workspaceID): ManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential #### Parameters @@ -15213,7 +15219,7 @@ Update Credential - `auth?:optional Auth` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `displayName?:optional string` @@ -15241,7 +15247,7 @@ Update Credential - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` @@ -15325,13 +15331,13 @@ var_dump($betaManagedAgentsCredential); } ``` -### Delete Credential +### Delete a Credential `$client->beta->vaults->credentials->delete(string credentialID, string vaultID, ?list betas, ?string workspaceID): ManagedAgentsDeletedCredential` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential #### Parameters @@ -15361,7 +15367,7 @@ Delete Credential - `string id` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). #### Example @@ -15395,13 +15401,13 @@ var_dump($betaManagedAgentsDeletedCredential); } ``` -### Archive Credential +### Archive a Credential `$client->beta->vaults->credentials->archive(string credentialID, string vaultID, ?list betas, ?string workspaceID): ManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential #### Parameters @@ -15431,7 +15437,7 @@ Archive Credential - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` @@ -15501,13 +15507,13 @@ var_dump($betaManagedAgentsCredential); } ``` -### Validate Credential +### Validate an MCP OAuth Credential `$client->beta->vaults->credentials->mcpOAuthValidate(string credentialID, string vaultID, ?list betas, ?string workspaceID): ManagedAgentsCredentialValidation` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential #### Parameters @@ -15545,7 +15551,7 @@ Validate Credential - `?ManagedAgentsMCPProbe mcpProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `?ManagedAgentsRefreshObject refresh` @@ -31584,7 +31590,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `?string manifestVersion` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `string marketplaceID` @@ -31608,7 +31614,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `?Reach reach` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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`. - `string servedVersionID` @@ -31753,7 +31763,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `?string manifestVersion` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `string marketplaceID` @@ -31777,7 +31787,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `?Reach reach` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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`. - `string servedVersionID` @@ -31939,7 +31953,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `?string manifestVersion` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `string marketplaceID` @@ -31963,7 +31977,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `?Reach reach` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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`. - `string servedVersionID` @@ -32147,7 +32165,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `?string manifestVersion` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `string marketplaceID` @@ -32171,7 +32189,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `?Reach reach` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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`. - `string servedVersionID` @@ -32417,7 +32439,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `?string manifestVersion` - The version string the manifest declares; null when it declares none. + 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). - `string pluginID` @@ -32425,7 +32447,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `?Reach reach` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `?string releaseNotes` @@ -32564,7 +32586,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `?string manifestVersion` - The version string the manifest declares; null when it declares none. + 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). - `string pluginID` @@ -32572,7 +32594,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `?Reach reach` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `?string releaseNotes` @@ -32704,7 +32726,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `?string manifestVersion` - The version string the manifest declares; null when it declares none. + 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). - `string pluginID` @@ -32712,7 +32734,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `?Reach reach` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `?string releaseNotes` @@ -33666,11 +33688,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `repositoryURL: string` - The `https://` URL of a public repository on github.com that holds the marketplace. Any other host, a URL with credentials in it, or one that does not name a repository is a 400. + 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. - `ref?:optional string` - The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, or a value that is neither a branch name nor a 40-character SHA, is a 400. + The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, a value longer than 255 characters, or one that contains `..` or a character other than ASCII letters, digits, `.`, `_`, `-`, `+`, and `/`, is a 400. Any other value that is not a 40-character SHA is read as a branch name; if the repository has no such branch, the response is a report with `valid: false`, not a 400. - `betas?:optional list` (header parameter) diff --git a/content/en/api/php/beta/models.md b/content/en/api/php/beta/models.md index 0be3ea1f91..4fac13e156 100644 --- a/content/en/api/php/beta/models.md +++ b/content/en/api/php/beta/models.md @@ -206,6 +206,9 @@ var_dump($page); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -412,6 +415,9 @@ var_dump($betaModelInfo); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -659,9 +665,13 @@ var_dump($betaModelInfo); Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `BetaCapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `BetaCapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `BetaCapabilitySupport enabled` diff --git a/content/en/api/php/beta/models/list.md b/content/en/api/php/beta/models/list.md index 6fcc81f000..435fde4379 100644 --- a/content/en/api/php/beta/models/list.md +++ b/content/en/api/php/beta/models/list.md @@ -204,6 +204,9 @@ var_dump($page); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/php/beta/models/retrieve.md b/content/en/api/php/beta/models/retrieve.md index 43fcd720cc..69f83bd537 100644 --- a/content/en/api/php/beta/models/retrieve.md +++ b/content/en/api/php/beta/models/retrieve.md @@ -183,6 +183,9 @@ var_dump($betaModelInfo); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/php/beta/vaults.md b/content/en/api/php/beta/vaults.md index a2e2a9fe8d..d2c8167e9b 100644 --- a/content/en/api/php/beta/vaults.md +++ b/content/en/api/php/beta/vaults.md @@ -5,13 +5,13 @@ url: https://platform.claude.com/docs/en/api/php/beta/vaults # Vaults -## Create Vault +## Create a Vault `$client->beta->vaults->create(string displayName, ?array metadata, ?list betas, ?string workspaceID): BetaManagedAgentsVault` **POST** `/v1/vaults` -Create Vault +Create a Vault ### Parameters @@ -41,7 +41,7 @@ Create Vault - `string id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `?\Datetime archivedAt` @@ -110,7 +110,7 @@ List Vaults - `includeArchived?:optional bool` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `limit?:optional int` (query parameter) @@ -118,7 +118,7 @@ List Vaults - `page?:optional string` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=php) response, to get the next page. Leave it out to get the first page. - `betas?:optional list` (header parameter) @@ -138,7 +138,7 @@ List Vaults - `string id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `?\Datetime archivedAt` @@ -201,13 +201,13 @@ var_dump($page); } ``` -## Get Vault +## Retrieve a Vault `$client->beta->vaults->retrieve(string vaultID, ?list betas, ?string workspaceID): BetaManagedAgentsVault` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault ### Parameters @@ -233,7 +233,7 @@ Get Vault - `string id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `?\Datetime archivedAt` @@ -289,13 +289,13 @@ var_dump($betaManagedAgentsVault); } ``` -## Update Vault +## Update a Vault `$client->beta->vaults->update(string vaultID, ?string displayName, ?array metadata, ?list betas, ?string workspaceID): BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault ### Parameters @@ -329,7 +329,7 @@ Update Vault - `string id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `?\Datetime archivedAt` @@ -387,13 +387,13 @@ var_dump($betaManagedAgentsVault); } ``` -## Delete Vault +## Delete a Vault `$client->beta->vaults->delete(string vaultID, ?list betas, ?string workspaceID): BetaManagedAgentsDeletedVault` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault ### Parameters @@ -419,7 +419,7 @@ Delete Vault - `string id` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ### Example @@ -448,13 +448,13 @@ var_dump($betaManagedAgentsDeletedVault); } ``` -## Archive Vault +## Archive a Vault `$client->beta->vaults->archive(string vaultID, ?list betas, ?string workspaceID): BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault ### Parameters @@ -480,7 +480,7 @@ Archive Vault - `string id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `?\Datetime archivedAt` @@ -546,7 +546,7 @@ var_dump($betaManagedAgentsVault); - `string id` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ### Beta Managed Agents Vault @@ -556,7 +556,7 @@ var_dump($betaManagedAgentsVault); - `string id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `?\Datetime archivedAt` @@ -580,13 +580,13 @@ var_dump($betaManagedAgentsVault); ## Vaults › Credentials -### Create Credential +### Create a Credential `$client->beta->vaults->credentials->create(string vaultID, Auth auth, ?string displayName, ?array metadata, ?list betas, ?string workspaceID): ManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential #### Parameters @@ -624,7 +624,7 @@ Create Credential - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` @@ -716,7 +716,7 @@ List Credentials - `includeArchived?:optional bool` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit?:optional int` (query parameter) @@ -724,7 +724,7 @@ List Credentials - `page?:optional string` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=php) response, to get the next page. Leave it out to get the first page. - `betas?:optional list` (header parameter) @@ -744,7 +744,7 @@ List Credentials - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` @@ -821,13 +821,13 @@ var_dump($page); } ``` -### Get Credential +### Retrieve a Credential `$client->beta->vaults->credentials->retrieve(string credentialID, string vaultID, ?list betas, ?string workspaceID): ManagedAgentsCredential` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential #### Parameters @@ -857,7 +857,7 @@ Get Credential - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` @@ -927,13 +927,13 @@ var_dump($betaManagedAgentsCredential); } ``` -### Update Credential +### Update a Credential `$client->beta->vaults->credentials->update(string credentialID, string vaultID, ?Auth auth, ?string displayName, ?array metadata, ?list betas, ?string workspaceID): ManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential #### Parameters @@ -947,7 +947,7 @@ Update Credential - `auth?:optional Auth` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `displayName?:optional string` @@ -975,7 +975,7 @@ Update Credential - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` @@ -1059,13 +1059,13 @@ var_dump($betaManagedAgentsCredential); } ``` -### Delete Credential +### Delete a Credential `$client->beta->vaults->credentials->delete(string credentialID, string vaultID, ?list betas, ?string workspaceID): ManagedAgentsDeletedCredential` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential #### Parameters @@ -1095,7 +1095,7 @@ Delete Credential - `string id` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). #### Example @@ -1129,13 +1129,13 @@ var_dump($betaManagedAgentsDeletedCredential); } ``` -### Archive Credential +### Archive a Credential `$client->beta->vaults->credentials->archive(string credentialID, string vaultID, ?list betas, ?string workspaceID): ManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential #### Parameters @@ -1165,7 +1165,7 @@ Archive Credential - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` @@ -1235,13 +1235,13 @@ var_dump($betaManagedAgentsCredential); } ``` -### Validate Credential +### Validate an MCP OAuth Credential `$client->beta->vaults->credentials->mcpOAuthValidate(string credentialID, string vaultID, ?list betas, ?string workspaceID): ManagedAgentsCredentialValidation` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential #### Parameters @@ -1279,7 +1279,7 @@ Validate Credential - `?ManagedAgentsMCPProbe mcpProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `?ManagedAgentsRefreshObject refresh` diff --git a/content/en/api/php/beta/vaults/archive.md b/content/en/api/php/beta/vaults/archive.md index cfad2aa203..d1c7c472f0 100644 --- a/content/en/api/php/beta/vaults/archive.md +++ b/content/en/api/php/beta/vaults/archive.md @@ -1,15 +1,15 @@ --- -title: Archive Vault +title: Archive a Vault url: https://platform.claude.com/docs/en/api/php/beta/vaults/archive --- -# Archive Vault +# Archive a Vault `$client->beta->vaults->archive(string vaultID, ?list betas, ?string workspaceID): BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault ## Parameters @@ -35,7 +35,7 @@ Archive Vault - `string id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `?\Datetime archivedAt` diff --git a/content/en/api/php/beta/vaults/create.md b/content/en/api/php/beta/vaults/create.md index 1bc9a89235..e2359dd1f7 100644 --- a/content/en/api/php/beta/vaults/create.md +++ b/content/en/api/php/beta/vaults/create.md @@ -1,15 +1,15 @@ --- -title: Create Vault +title: Create a Vault url: https://platform.claude.com/docs/en/api/php/beta/vaults/create --- -# Create Vault +# Create a Vault `$client->beta->vaults->create(string displayName, ?array metadata, ?list betas, ?string workspaceID): BetaManagedAgentsVault` **POST** `/v1/vaults` -Create Vault +Create a Vault ## Parameters @@ -39,7 +39,7 @@ Create Vault - `string id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `?\Datetime archivedAt` diff --git a/content/en/api/php/beta/vaults/credentials.md b/content/en/api/php/beta/vaults/credentials.md index 8472b434d1..1bd8a1d64f 100644 --- a/content/en/api/php/beta/vaults/credentials.md +++ b/content/en/api/php/beta/vaults/credentials.md @@ -5,13 +5,13 @@ url: https://platform.claude.com/docs/en/api/php/beta/vaults/credentials # Credentials -## Create Credential +## Create a Credential `$client->beta->vaults->credentials->create(string vaultID, Auth auth, ?string displayName, ?array metadata, ?list betas, ?string workspaceID): ManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential ### Parameters @@ -49,7 +49,7 @@ Create Credential - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` @@ -141,7 +141,7 @@ List Credentials - `includeArchived?:optional bool` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit?:optional int` (query parameter) @@ -149,7 +149,7 @@ List Credentials - `page?:optional string` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=php) response, to get the next page. Leave it out to get the first page. - `betas?:optional list` (header parameter) @@ -169,7 +169,7 @@ List Credentials - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` @@ -246,13 +246,13 @@ var_dump($page); } ``` -## Get Credential +## Retrieve a Credential `$client->beta->vaults->credentials->retrieve(string credentialID, string vaultID, ?list betas, ?string workspaceID): ManagedAgentsCredential` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential ### Parameters @@ -282,7 +282,7 @@ Get Credential - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` @@ -352,13 +352,13 @@ var_dump($betaManagedAgentsCredential); } ``` -## Update Credential +## Update a Credential `$client->beta->vaults->credentials->update(string credentialID, string vaultID, ?Auth auth, ?string displayName, ?array metadata, ?list betas, ?string workspaceID): ManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential ### Parameters @@ -372,7 +372,7 @@ Update Credential - `auth?:optional Auth` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `displayName?:optional string` @@ -400,7 +400,7 @@ Update Credential - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` @@ -484,13 +484,13 @@ var_dump($betaManagedAgentsCredential); } ``` -## Delete Credential +## Delete a Credential `$client->beta->vaults->credentials->delete(string credentialID, string vaultID, ?list betas, ?string workspaceID): ManagedAgentsDeletedCredential` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential ### Parameters @@ -520,7 +520,7 @@ Delete Credential - `string id` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ### Example @@ -554,13 +554,13 @@ var_dump($betaManagedAgentsDeletedCredential); } ``` -## Archive Credential +## Archive a Credential `$client->beta->vaults->credentials->archive(string credentialID, string vaultID, ?list betas, ?string workspaceID): ManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential ### Parameters @@ -590,7 +590,7 @@ Archive Credential - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` @@ -660,13 +660,13 @@ var_dump($betaManagedAgentsCredential); } ``` -## Validate Credential +## Validate an MCP OAuth Credential `$client->beta->vaults->credentials->mcpOAuthValidate(string credentialID, string vaultID, ?list betas, ?string workspaceID): ManagedAgentsCredentialValidation` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential ### Parameters @@ -704,7 +704,7 @@ Validate Credential - `?ManagedAgentsMCPProbe mcpProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `?ManagedAgentsRefreshObject refresh` @@ -786,7 +786,7 @@ var_dump($betaManagedAgentsCredentialValidation); - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` @@ -830,7 +830,9 @@ var_dump($betaManagedAgentsCredentialValidation); - `list allowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. ### Beta Managed Agents Credential Validation @@ -848,7 +850,7 @@ var_dump($betaManagedAgentsCredentialValidation); - `?ManagedAgentsMCPProbe mcpProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `?ManagedAgentsRefreshObject refresh` @@ -876,11 +878,11 @@ var_dump($betaManagedAgentsCredentialValidation); - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. ### Beta Managed Agents Deleted Credential @@ -890,7 +892,7 @@ var_dump($betaManagedAgentsCredentialValidation); - `string id` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ### Beta Managed Agents Environment Variable Auth Response @@ -926,7 +928,7 @@ var_dump($betaManagedAgentsCredentialValidation); - `string secretValue` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. - `?ManagedAgentsInjectionLocationParams injectionLocation` @@ -944,11 +946,11 @@ var_dump($betaManagedAgentsCredentialValidation); - `?ManagedAgentsCredentialNetworkingParams networking` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `?string secretValue` - Updated secret value. + The new secret value to replace the stored one. ### Beta Managed Agents Injection Location Params @@ -994,7 +996,9 @@ var_dump($betaManagedAgentsCredentialValidation); - `list allowedHosts` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. ### Beta Managed Agents Limited Credential Networking Response @@ -1004,7 +1008,9 @@ var_dump($betaManagedAgentsCredentialValidation); - `list allowedHosts` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. ### Beta Managed Agents MCP OAuth Auth Response @@ -1018,7 +1024,7 @@ var_dump($betaManagedAgentsCredentialValidation); - `?\Datetime expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. - `?ManagedAgentsMCPOAuthRefreshResponse refresh` @@ -1032,7 +1038,7 @@ var_dump($betaManagedAgentsCredentialValidation); - `string accessToken` - OAuth access token. + The OAuth access token to send to the MCP server. - `string mcpServerURL` @@ -1040,7 +1046,9 @@ var_dump($betaManagedAgentsCredentialValidation); - `?\Datetime expiresAt` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. - `?ManagedAgentsMCPOAuthRefreshParams refresh` @@ -1052,11 +1060,11 @@ var_dump($betaManagedAgentsCredentialValidation); - `string clientID` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. - `string refreshToken` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. - `string tokenEndpoint` @@ -1078,7 +1086,7 @@ var_dump($betaManagedAgentsCredentialValidation); - `string clientID` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `string tokenEndpoint` @@ -1100,11 +1108,11 @@ var_dump($betaManagedAgentsCredentialValidation); - `?string refreshToken` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. - `?string scope` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. - `?TokenEndpointAuth tokenEndpointAuth` @@ -1116,11 +1124,15 @@ var_dump($betaManagedAgentsCredentialValidation); - `?string accessToken` - Updated OAuth access token. + The new OAuth access token to replace the stored one. - `?\Datetime expiresAt` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. - `?ManagedAgentsMCPOAuthRefreshUpdateParams refresh` @@ -1132,7 +1144,7 @@ var_dump($betaManagedAgentsCredentialValidation); - `?ManagedAgentsRefreshHTTPResponse httpResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `string method` @@ -1188,7 +1200,7 @@ var_dump($betaManagedAgentsCredentialValidation); - `string token` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. - `string mcpServerURL` @@ -1202,7 +1214,7 @@ var_dump($betaManagedAgentsCredentialValidation); - `?string token` - Updated static bearer token value. + The new static bearer token to replace the stored one. ### Beta Managed Agents Token Endpoint Auth Basic Param @@ -1212,7 +1224,7 @@ var_dump($betaManagedAgentsCredentialValidation); - `string clientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. ### Beta Managed Agents Token Endpoint Auth Basic Response @@ -1228,7 +1240,9 @@ var_dump($betaManagedAgentsCredentialValidation); - `?string clientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. ### Beta Managed Agents Token Endpoint Auth None Param @@ -1250,7 +1264,7 @@ var_dump($betaManagedAgentsCredentialValidation); - `string clientSecret` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. ### Beta Managed Agents Token Endpoint Auth Post Response @@ -1266,7 +1280,9 @@ var_dump($betaManagedAgentsCredentialValidation); - `?string clientSecret` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. ### Beta Managed Agents Unrestricted Credential Networking Params diff --git a/content/en/api/php/beta/vaults/credentials/archive.md b/content/en/api/php/beta/vaults/credentials/archive.md index c11a22c967..fa91dd823f 100644 --- a/content/en/api/php/beta/vaults/credentials/archive.md +++ b/content/en/api/php/beta/vaults/credentials/archive.md @@ -1,15 +1,15 @@ --- -title: Archive Credential +title: Archive a Credential url: https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/archive --- -# Archive Credential +# Archive a Credential `$client->beta->vaults->credentials->archive(string credentialID, string vaultID, ?list betas, ?string workspaceID): ManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential ## Parameters @@ -39,7 +39,7 @@ Archive Credential - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` diff --git a/content/en/api/php/beta/vaults/credentials/create.md b/content/en/api/php/beta/vaults/credentials/create.md index a1fc6e4b8b..6f64eab14b 100644 --- a/content/en/api/php/beta/vaults/credentials/create.md +++ b/content/en/api/php/beta/vaults/credentials/create.md @@ -1,15 +1,15 @@ --- -title: Create Credential +title: Create a Credential url: https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/create --- -# Create Credential +# Create a Credential `$client->beta->vaults->credentials->create(string vaultID, Auth auth, ?string displayName, ?array metadata, ?list betas, ?string workspaceID): ManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential ## Parameters @@ -47,7 +47,7 @@ Create Credential - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` diff --git a/content/en/api/php/beta/vaults/credentials/delete.md b/content/en/api/php/beta/vaults/credentials/delete.md index 3b581fdf66..89dcacc6dd 100644 --- a/content/en/api/php/beta/vaults/credentials/delete.md +++ b/content/en/api/php/beta/vaults/credentials/delete.md @@ -1,15 +1,15 @@ --- -title: Delete Credential +title: Delete a Credential url: https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/delete --- -# Delete Credential +# Delete a Credential `$client->beta->vaults->credentials->delete(string credentialID, string vaultID, ?list betas, ?string workspaceID): ManagedAgentsDeletedCredential` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential ## Parameters @@ -39,7 +39,7 @@ Delete Credential - `string id` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ## Example diff --git a/content/en/api/php/beta/vaults/credentials/list.md b/content/en/api/php/beta/vaults/credentials/list.md index 0a85f3dc13..0db8dc27f4 100644 --- a/content/en/api/php/beta/vaults/credentials/list.md +++ b/content/en/api/php/beta/vaults/credentials/list.md @@ -19,7 +19,7 @@ List Credentials - `includeArchived?:optional bool` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit?:optional int` (query parameter) @@ -27,7 +27,7 @@ List Credentials - `page?:optional string` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=php) response, to get the next page. Leave it out to get the first page. - `betas?:optional list` (header parameter) @@ -47,7 +47,7 @@ List Credentials - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` diff --git a/content/en/api/php/beta/vaults/credentials/mcp_oauth_validate.md b/content/en/api/php/beta/vaults/credentials/mcp_oauth_validate.md index 08611f9867..e5ddc497d7 100644 --- a/content/en/api/php/beta/vaults/credentials/mcp_oauth_validate.md +++ b/content/en/api/php/beta/vaults/credentials/mcp_oauth_validate.md @@ -1,15 +1,15 @@ --- -title: Validate Credential +title: Validate an MCP OAuth Credential url: https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/mcp_oauth_validate --- -# Validate Credential +# Validate an MCP OAuth Credential `$client->beta->vaults->credentials->mcpOAuthValidate(string credentialID, string vaultID, ?list betas, ?string workspaceID): ManagedAgentsCredentialValidation` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential ## Parameters @@ -47,7 +47,7 @@ Validate Credential - `?ManagedAgentsMCPProbe mcpProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `?ManagedAgentsRefreshObject refresh` diff --git a/content/en/api/php/beta/vaults/credentials/retrieve.md b/content/en/api/php/beta/vaults/credentials/retrieve.md index 6fd3a94b1e..5fcc9cbf22 100644 --- a/content/en/api/php/beta/vaults/credentials/retrieve.md +++ b/content/en/api/php/beta/vaults/credentials/retrieve.md @@ -1,15 +1,15 @@ --- -title: Get Credential +title: Retrieve a Credential url: https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/retrieve --- -# Get Credential +# Retrieve a Credential `$client->beta->vaults->credentials->retrieve(string credentialID, string vaultID, ?list betas, ?string workspaceID): ManagedAgentsCredential` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential ## Parameters @@ -39,7 +39,7 @@ Get Credential - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` diff --git a/content/en/api/php/beta/vaults/credentials/update.md b/content/en/api/php/beta/vaults/credentials/update.md index 6468935a2d..9caad0fc42 100644 --- a/content/en/api/php/beta/vaults/credentials/update.md +++ b/content/en/api/php/beta/vaults/credentials/update.md @@ -1,15 +1,15 @@ --- -title: Update Credential +title: Update a Credential url: https://platform.claude.com/docs/en/api/php/beta/vaults/credentials/update --- -# Update Credential +# Update a Credential `$client->beta->vaults->credentials->update(string credentialID, string vaultID, ?Auth auth, ?string displayName, ?array metadata, ?list betas, ?string workspaceID): ManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential ## Parameters @@ -23,7 +23,7 @@ Update Credential - `auth?:optional Auth` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `displayName?:optional string` @@ -51,7 +51,7 @@ Update Credential - `string id` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `?\Datetime archivedAt` diff --git a/content/en/api/php/beta/vaults/delete.md b/content/en/api/php/beta/vaults/delete.md index 4a983b6a2e..940322d569 100644 --- a/content/en/api/php/beta/vaults/delete.md +++ b/content/en/api/php/beta/vaults/delete.md @@ -1,15 +1,15 @@ --- -title: Delete Vault +title: Delete a Vault url: https://platform.claude.com/docs/en/api/php/beta/vaults/delete --- -# Delete Vault +# Delete a Vault `$client->beta->vaults->delete(string vaultID, ?list betas, ?string workspaceID): BetaManagedAgentsDeletedVault` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault ## Parameters @@ -35,7 +35,7 @@ Delete Vault - `string id` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ## Example diff --git a/content/en/api/php/beta/vaults/list.md b/content/en/api/php/beta/vaults/list.md index 9fce716b07..f4a1c88180 100644 --- a/content/en/api/php/beta/vaults/list.md +++ b/content/en/api/php/beta/vaults/list.md @@ -15,7 +15,7 @@ List Vaults - `includeArchived?:optional bool` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `limit?:optional int` (query parameter) @@ -23,7 +23,7 @@ List Vaults - `page?:optional string` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=php) response, to get the next page. Leave it out to get the first page. - `betas?:optional list` (header parameter) @@ -43,7 +43,7 @@ List Vaults - `string id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `?\Datetime archivedAt` diff --git a/content/en/api/php/beta/vaults/retrieve.md b/content/en/api/php/beta/vaults/retrieve.md index 59ad47f5d5..16fad62e98 100644 --- a/content/en/api/php/beta/vaults/retrieve.md +++ b/content/en/api/php/beta/vaults/retrieve.md @@ -1,15 +1,15 @@ --- -title: Get Vault +title: Retrieve a Vault url: https://platform.claude.com/docs/en/api/php/beta/vaults/retrieve --- -# Get Vault +# Retrieve a Vault `$client->beta->vaults->retrieve(string vaultID, ?list betas, ?string workspaceID): BetaManagedAgentsVault` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault ## Parameters @@ -35,7 +35,7 @@ Get Vault - `string id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `?\Datetime archivedAt` diff --git a/content/en/api/php/beta/vaults/update.md b/content/en/api/php/beta/vaults/update.md index eb2a917619..272ddfc6f9 100644 --- a/content/en/api/php/beta/vaults/update.md +++ b/content/en/api/php/beta/vaults/update.md @@ -1,15 +1,15 @@ --- -title: Update Vault +title: Update a Vault url: https://platform.claude.com/docs/en/api/php/beta/vaults/update --- -# Update Vault +# Update a Vault `$client->beta->vaults->update(string vaultID, ?string displayName, ?array metadata, ?list betas, ?string workspaceID): BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault ## Parameters @@ -43,7 +43,7 @@ Update Vault - `string id` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `?\Datetime archivedAt` diff --git a/content/en/api/php/models.md b/content/en/api/php/models.md index 61c4460085..fd3e388b2a 100644 --- a/content/en/api/php/models.md +++ b/content/en/api/php/models.md @@ -195,6 +195,9 @@ var_dump($page); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -390,6 +393,9 @@ var_dump($modelInfo); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -617,9 +623,13 @@ var_dump($modelInfo); Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `CapabilitySupport betweenTools` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `CapabilitySupport disabled` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `CapabilitySupport enabled` diff --git a/content/en/api/php/models/list.md b/content/en/api/php/models/list.md index 9fe6614933..8624800368 100644 --- a/content/en/api/php/models/list.md +++ b/content/en/api/php/models/list.md @@ -193,6 +193,9 @@ var_dump($page); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/php/models/retrieve.md b/content/en/api/php/models/retrieve.md index e1eb1e62d4..22ecdcc39e 100644 --- a/content/en/api/php/models/retrieve.md +++ b/content/en/api/php/models/retrieve.md @@ -172,6 +172,9 @@ var_dump($modelInfo); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/python/beta.md b/content/en/api/python/beta.md index 5426816a0a..eb66519ca0 100644 --- a/content/en/api/python/beta.md +++ b/content/en/api/python/beta.md @@ -737,9 +737,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -901,6 +905,9 @@ print(page.id) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1201,9 +1208,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -1364,6 +1375,9 @@ print(beta_model_info.id) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -23446,7 +23460,11 @@ Create Agent Model identifier. Accepts the [model string](https://platform.claude.com/docs/en/about-claude/models/overview?sdk_languages=python#latest-models-comparison), e.g. `claude-opus-5-5`, or a `model_config` object for additional configuration control - - `Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + - `type BetaManagedAgentsModel = Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + + The model that will power your agent. + + See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - `"claude-haiku-5-5"` @@ -23528,76 +23546,6 @@ Create Agent See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - - `"claude-haiku-5-5"` - - Fastest model for high-volume, real-time tasks - - - `"claude-sonnet-5-5"` - - Efficient model for coding and agents - - - `"claude-opus-5-5"` - - Powerful intelligence for coding, knowledge work, and long-running agents - - - `"claude-fable-5-1"` - - Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows - - - `"claude-sonnet-5"` - - Efficient model for coding and agents - - - `"claude-fable-5"` - - Next generation of intelligence for the hardest knowledge work and coding problems - - - `"claude-opus-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-8"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-7"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-6"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-6"` - - Best combination of speed and intelligence - - - `"claude-haiku-4-5"` - - - `"claude-haiku-4-5-20251001"` - - - `"claude-opus-4-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-5-20251101"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-5"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `"claude-sonnet-4-5-20250929"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `str` - - `effort: Optional[Effort]` How hard Claude works on each inference call. Accepts a bare level string (`"high"`) or `{"type": "high"}`. On create, omitting it resolves the per-model default; on update, omitting it leaves the stored value unchanged. @@ -24178,7 +24126,9 @@ Create Agent Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -24248,11 +24198,9 @@ Create Agent Whether URLs in the text of user messages may be fetched: "all" (the default) or "none". - - `Literal["all", "none"]` - - - `"all"` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` - - `"none"` + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `type BetaManagedAgentsWebFetchURLSourceUserInput = ...` @@ -27644,7 +27592,11 @@ Update Agent Model identifier. Accepts the [model string](https://platform.claude.com/docs/en/about-claude/models/overview?sdk_languages=python#latest-models-comparison), e.g. `claude-opus-5-5`, or a `model_config` object for additional configuration control. Omit to preserve. Cannot be cleared. - - `Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + - `type BetaManagedAgentsModel = Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + + The model that will power your agent. + + See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - `"claude-haiku-5-5"` @@ -27726,76 +27678,6 @@ Update Agent See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - - `"claude-haiku-5-5"` - - Fastest model for high-volume, real-time tasks - - - `"claude-sonnet-5-5"` - - Efficient model for coding and agents - - - `"claude-opus-5-5"` - - Powerful intelligence for coding, knowledge work, and long-running agents - - - `"claude-fable-5-1"` - - Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows - - - `"claude-sonnet-5"` - - Efficient model for coding and agents - - - `"claude-fable-5"` - - Next generation of intelligence for the hardest knowledge work and coding problems - - - `"claude-opus-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-8"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-7"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-6"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-6"` - - Best combination of speed and intelligence - - - `"claude-haiku-4-5"` - - - `"claude-haiku-4-5-20251001"` - - - `"claude-opus-4-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-5-20251101"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-5"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `"claude-sonnet-4-5-20250929"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `str` - - `effort: Optional[Effort]` How hard Claude works on each inference call. Accepts a bare level string (`"high"`) or `{"type": "high"}`. On create, omitting it resolves the per-model default; on update, omitting it leaves the stored value unchanged. @@ -28326,7 +28208,9 @@ Update Agent Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -28396,11 +28280,9 @@ Update Agent Whether URLs in the text of user messages may be fetched: "all" (the default) or "none". - - `Literal["all", "none"]` - - - `"all"` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` - - `"none"` + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `type BetaManagedAgentsWebFetchURLSourceUserInput = ...` @@ -35772,7 +35654,11 @@ Create Session Replacement model. Accepts the model string, e.g. `claude-opus-5-5`, or a `model_config` object. Omit to use the agent's model. - - `Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + - `type BetaManagedAgentsModel = Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + + The model that will power your agent. + + See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - `"claude-haiku-5-5"` @@ -35854,76 +35740,6 @@ Create Session See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - - `"claude-haiku-5-5"` - - Fastest model for high-volume, real-time tasks - - - `"claude-sonnet-5-5"` - - Efficient model for coding and agents - - - `"claude-opus-5-5"` - - Powerful intelligence for coding, knowledge work, and long-running agents - - - `"claude-fable-5-1"` - - Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows - - - `"claude-sonnet-5"` - - Efficient model for coding and agents - - - `"claude-fable-5"` - - Next generation of intelligence for the hardest knowledge work and coding problems - - - `"claude-opus-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-8"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-7"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-6"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-6"` - - Best combination of speed and intelligence - - - `"claude-haiku-4-5"` - - - `"claude-haiku-4-5-20251001"` - - - `"claude-opus-4-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-5-20251101"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-5"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `"claude-sonnet-4-5-20250929"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `str` - - `effort: Optional[Effort]` How hard Claude works on each inference call. Accepts a bare level string (`"high"`) or `{"type": "high"}`. On create, omitting it resolves the per-model default; on update, omitting it leaves the stored value unchanged. @@ -36288,7 +36104,9 @@ Create Session Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -36358,11 +36176,9 @@ Create Session Whether URLs in the text of user messages may be fetched: "all" (the default) or "none". - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` - - `"all"` - - - `"none"` + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `type BetaManagedAgentsWebFetchURLSourceUserInput = ...` @@ -41730,7 +41546,9 @@ Update Session Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -41800,11 +41618,9 @@ Update Session Whether URLs in the text of user messages may be fetched: "all" (the default) or "none". - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` - - `"all"` - - - `"none"` + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `type BetaManagedAgentsWebFetchURLSourceUserInput = ...` @@ -70449,13 +70265,13 @@ print(beta_managed_agents_deployment_run.id) ## Beta › Vaults -### Create Vault +### Create a Vault `beta.vaults.create(**kwargs) -> BetaManagedAgentsVault` **POST** `/v1/vaults` -Create Vault +Create a Vault #### Parameters @@ -70593,7 +70409,7 @@ Create Vault - `id: str` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Optional[datetime]` @@ -70666,7 +70482,7 @@ List Vaults - `include_archived: Optional[bool]` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `limit: Optional[int]` (query parameter) @@ -70676,7 +70492,7 @@ List Vaults - `page: Optional[str]` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=python) response, to get the next page. Leave it out to get the first page. - `betas: Optional[List[AnthropicBetaParam]]` (header parameter) @@ -70802,7 +70618,7 @@ List Vaults - `id: str` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Optional[datetime]` @@ -70867,13 +70683,13 @@ print(page.id) } ``` -### Get Vault +### Retrieve a Vault `beta.vaults.retrieve(vault_id, **kwargs) -> BetaManagedAgentsVault` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault #### Parameters @@ -71005,7 +70821,7 @@ Get Vault - `id: str` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Optional[datetime]` @@ -71066,13 +70882,13 @@ print(beta_managed_agents_vault.id) } ``` -### Update Vault +### Update a Vault `beta.vaults.update(vault_id, **kwargs) -> BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault #### Parameters @@ -71214,7 +71030,7 @@ Update Vault - `id: str` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Optional[datetime]` @@ -71275,13 +71091,13 @@ print(beta_managed_agents_vault.id) } ``` -### Delete Vault +### Delete a Vault `beta.vaults.delete(vault_id, **kwargs) -> BetaManagedAgentsDeletedVault` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault #### Parameters @@ -71413,7 +71229,7 @@ Delete Vault - `id: str` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). #### Example @@ -71441,13 +71257,13 @@ print(beta_managed_agents_deleted_vault.id) } ``` -### Archive Vault +### Archive a Vault `beta.vaults.archive(vault_id, **kwargs) -> BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault #### Parameters @@ -71579,7 +71395,7 @@ Archive Vault - `id: str` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Optional[datetime]` @@ -71642,13 +71458,13 @@ print(beta_managed_agents_vault.id) ## Beta › Vaults › Credentials -### Create Credential +### Create a Credential `beta.vaults.credentials.create(vault_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential #### Parameters @@ -71668,7 +71484,7 @@ Create Credential - `access_token: str` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -71680,7 +71496,9 @@ Create Credential - `expires_at: Optional[Union[str, datetime, null]]` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -71690,13 +71508,13 @@ Create Credential - `client_id: str` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: str` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -71722,7 +71540,7 @@ Create Credential - `client_secret: str` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -71734,7 +71552,7 @@ Create Credential - `client_secret: str` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -71758,7 +71576,7 @@ Create Credential - `token: str` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -71792,7 +71610,9 @@ Create Credential - `allowed_hosts: Sequence[str]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: str` @@ -71802,7 +71622,7 @@ Create Credential - `secret_value: str` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -71952,7 +71772,7 @@ Create Credential - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -71976,7 +71796,7 @@ Create Credential - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -71986,7 +71806,7 @@ Create Credential - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -72066,7 +71886,9 @@ Create Credential - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` @@ -72155,7 +71977,7 @@ List Credentials - `include_archived: Optional[bool]` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit: Optional[int]` (query parameter) @@ -72165,7 +71987,7 @@ List Credentials - `page: Optional[str]` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=python) response, to get the next page. Leave it out to get the first page. - `betas: Optional[List[AnthropicBetaParam]]` (header parameter) @@ -72291,7 +72113,7 @@ List Credentials - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -72315,7 +72137,7 @@ List Credentials - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -72325,7 +72147,7 @@ List Credentials - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -72405,7 +72227,9 @@ List Credentials - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` @@ -72479,13 +72303,13 @@ print(page.id) } ``` -### Get Credential +### Retrieve a Credential `beta.vaults.credentials.retrieve(credential_id, **kwargs) -> BetaManagedAgentsCredential` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential #### Parameters @@ -72621,7 +72445,7 @@ Get Credential - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -72645,7 +72469,7 @@ Get Credential - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -72655,7 +72479,7 @@ Get Credential - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -72735,7 +72559,9 @@ Get Credential - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` @@ -72804,13 +72630,13 @@ print(beta_managed_agents_credential.id) } ``` -### Update Credential +### Update a Credential `beta.vaults.credentials.update(credential_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential #### Parameters @@ -72824,7 +72650,7 @@ Update Credential - `auth: Optional[Auth]` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `class BetaManagedAgentsMCPOAuthUpdateParams` @@ -72834,13 +72660,17 @@ Update Credential - `access_token: Optional[str]` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at: Optional[Union[str, datetime, null]]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -72850,13 +72680,13 @@ Update Credential - `refresh_token: Optional[str]` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: Optional[str]` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -72870,7 +72700,9 @@ Update Credential - `client_secret: Optional[str]` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -72882,7 +72714,9 @@ Update Credential - `client_secret: Optional[str]` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -72894,7 +72728,7 @@ Update Credential - `token: Optional[str]` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -72918,7 +72752,7 @@ Update Credential - `networking: Optional[BetaManagedAgentsCredentialNetworkingParams]` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -72934,11 +72768,13 @@ Update Credential - `allowed_hosts: Sequence[str]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value: Optional[str]` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -73076,7 +72912,7 @@ Update Credential - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -73100,7 +72936,7 @@ Update Credential - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -73110,7 +72946,7 @@ Update Credential - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -73190,7 +73026,9 @@ Update Credential - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` @@ -73259,13 +73097,13 @@ print(beta_managed_agents_credential.id) } ``` -### Delete Credential +### Delete a Credential `beta.vaults.credentials.delete(credential_id, **kwargs) -> BetaManagedAgentsDeletedCredential` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential #### Parameters @@ -73401,7 +73239,7 @@ Delete Credential - `id: str` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). #### Example @@ -73430,13 +73268,13 @@ print(beta_managed_agents_deleted_credential.id) } ``` -### Archive Credential +### Archive a Credential `beta.vaults.credentials.archive(credential_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential #### Parameters @@ -73572,7 +73410,7 @@ Archive Credential - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -73596,7 +73434,7 @@ Archive Credential - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -73606,7 +73444,7 @@ Archive Credential - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -73686,7 +73524,9 @@ Archive Credential - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` @@ -73755,13 +73595,13 @@ print(beta_managed_agents_credential.id) } ``` -### Validate Credential +### Validate an MCP OAuth Credential `beta.vaults.credentials.mcp_oauth_validate(credential_id, **kwargs) -> BetaManagedAgentsCredentialValidation` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential #### Parameters @@ -73905,11 +73745,11 @@ Validate Credential - `mcp_probe: Optional[BetaManagedAgentsMCPProbe]` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: Optional[BetaManagedAgentsRefreshHTTPResponse]` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: str` @@ -73971,11 +73811,11 @@ Validate Credential - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: datetime` @@ -105127,7 +104967,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: Optional[str]` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: str` @@ -105179,7 +105019,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: Optional[Literal["contained", "privileged", "remote"]]` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -105514,7 +105358,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: Optional[str]` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: str` @@ -105566,7 +105410,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: Optional[Literal["contained", "privileged", "remote"]]` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -105921,7 +105769,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: Optional[str]` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: str` @@ -105973,7 +105821,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: Optional[Literal["contained", "privileged", "remote"]]` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -106365,7 +106217,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: Optional[str]` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: str` @@ -106417,7 +106269,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: Optional[Literal["contained", "privileged", "remote"]]` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -106956,7 +106812,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: Optional[str]` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: str` @@ -106964,7 +106820,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: Optional[Literal["contained", "privileged", "remote"]]` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -107294,7 +107150,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: Optional[str]` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: str` @@ -107302,7 +107158,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: Optional[Literal["contained", "privileged", "remote"]]` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -107624,7 +107480,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: Optional[str]` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: str` @@ -107632,7 +107488,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: Optional[Literal["contained", "privileged", "remote"]]` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -109789,13 +109645,13 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `repository_url: str` - The `https://` URL of a public repository on github.com that holds the marketplace. Any other host, a URL with credentials in it, or one that does not name a repository is a 400. + 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. minLength: 1 - `ref: Optional[str]` - The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, or a value that is neither a branch name nor a 40-character SHA, is a 400. + The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, a value longer than 255 characters, or one that contains `..` or a character other than ASCII letters, digits, `.`, `_`, `-`, `+`, and `/`, is a 400. Any other value that is not a 40-character SHA is read as a branch name; if the repository has no such branch, the response is a report with `valid: false`, not a 400. minLength: 1 diff --git a/content/en/api/python/beta/agents.md b/content/en/api/python/beta/agents.md index 33c50b14d9..ccf18b49ca 100644 --- a/content/en/api/python/beta/agents.md +++ b/content/en/api/python/beta/agents.md @@ -19,7 +19,11 @@ Create Agent Model identifier. Accepts the [model string](https://platform.claude.com/docs/en/about-claude/models/overview?sdk_languages=python#latest-models-comparison), e.g. `claude-opus-5-5`, or a `model_config` object for additional configuration control - - `Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + - `type BetaManagedAgentsModel = Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + + The model that will power your agent. + + See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - `"claude-haiku-5-5"` @@ -101,76 +105,6 @@ Create Agent See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - - `"claude-haiku-5-5"` - - Fastest model for high-volume, real-time tasks - - - `"claude-sonnet-5-5"` - - Efficient model for coding and agents - - - `"claude-opus-5-5"` - - Powerful intelligence for coding, knowledge work, and long-running agents - - - `"claude-fable-5-1"` - - Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows - - - `"claude-sonnet-5"` - - Efficient model for coding and agents - - - `"claude-fable-5"` - - Next generation of intelligence for the hardest knowledge work and coding problems - - - `"claude-opus-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-8"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-7"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-6"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-6"` - - Best combination of speed and intelligence - - - `"claude-haiku-4-5"` - - - `"claude-haiku-4-5-20251001"` - - - `"claude-opus-4-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-5-20251101"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-5"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `"claude-sonnet-4-5-20250929"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `str` - - `effort: Optional[Effort]` How hard Claude works on each inference call. Accepts a bare level string (`"high"`) or `{"type": "high"}`. On create, omitting it resolves the per-model default; on update, omitting it leaves the stored value unchanged. @@ -751,7 +685,9 @@ Create Agent Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -821,11 +757,9 @@ Create Agent Whether URLs in the text of user messages may be fetched: "all" (the default) or "none". - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` - - `"all"` - - - `"none"` + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `type BetaManagedAgentsWebFetchURLSourceUserInput = ...` @@ -4217,7 +4151,11 @@ Update Agent Model identifier. Accepts the [model string](https://platform.claude.com/docs/en/about-claude/models/overview?sdk_languages=python#latest-models-comparison), e.g. `claude-opus-5-5`, or a `model_config` object for additional configuration control. Omit to preserve. Cannot be cleared. - - `Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + - `type BetaManagedAgentsModel = Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + + The model that will power your agent. + + See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - `"claude-haiku-5-5"` @@ -4299,76 +4237,6 @@ Update Agent See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - - `"claude-haiku-5-5"` - - Fastest model for high-volume, real-time tasks - - - `"claude-sonnet-5-5"` - - Efficient model for coding and agents - - - `"claude-opus-5-5"` - - Powerful intelligence for coding, knowledge work, and long-running agents - - - `"claude-fable-5-1"` - - Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows - - - `"claude-sonnet-5"` - - Efficient model for coding and agents - - - `"claude-fable-5"` - - Next generation of intelligence for the hardest knowledge work and coding problems - - - `"claude-opus-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-8"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-7"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-6"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-6"` - - Best combination of speed and intelligence - - - `"claude-haiku-4-5"` - - - `"claude-haiku-4-5-20251001"` - - - `"claude-opus-4-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-5-20251101"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-5"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `"claude-sonnet-4-5-20250929"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `str` - - `effort: Optional[Effort]` How hard Claude works on each inference call. Accepts a bare level string (`"high"`) or `{"type": "high"}`. On create, omitting it resolves the per-model default; on update, omitting it leaves the stored value unchanged. @@ -4899,7 +4767,9 @@ Update Agent Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -4969,11 +4839,9 @@ Update Agent Whether URLs in the text of user messages may be fetched: "all" (the default) or "none". - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` - - `"all"` - - - `"none"` + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `type BetaManagedAgentsWebFetchURLSourceUserInput = ...` @@ -8634,7 +8502,9 @@ print(beta_managed_agents_agent.id) Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -8704,11 +8574,9 @@ print(beta_managed_agents_agent.id) Whether URLs in the text of user messages may be fetched: "all" (the default) or "none". - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` - - `"all"` - - - `"none"` + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `type BetaManagedAgentsWebFetchURLSourceUserInput = ...` @@ -9549,7 +9417,9 @@ print(beta_managed_agents_agent.id) Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -9619,11 +9489,9 @@ print(beta_managed_agents_agent.id) Whether URLs in the text of user messages may be fetched: "all" (the default) or "none". - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` - - `"all"` - - - `"none"` + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `type BetaManagedAgentsWebFetchURLSourceUserInput = ...` @@ -12876,7 +12744,9 @@ print(beta_managed_agents_agent.id) Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -12946,11 +12816,9 @@ print(beta_managed_agents_agent.id) Whether URLs in the text of user messages may be fetched: "all" (the default) or "none". - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` - - `"all"` - - - `"none"` + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `type BetaManagedAgentsWebFetchURLSourceUserInput = ...` @@ -13098,7 +12966,9 @@ print(beta_managed_agents_agent.id) Which tools' results contribute URLs that may be fetched. Accepts the string "all" or "none", or an object whose type is "all", "none", "only" or "except". Responses use the object form. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -13200,7 +13070,9 @@ print(beta_managed_agents_agent.id) Whether URLs in the text of user messages may be fetched. Accepts the string "all" or "none", or the object {"type": "all"} or {"type": "none"}. Responses use the object form. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -13310,7 +13182,9 @@ print(beta_managed_agents_agent.id) Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -13380,11 +13254,9 @@ print(beta_managed_agents_agent.id) Whether URLs in the text of user messages may be fetched: "all" (the default) or "none". - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` - - `"all"` - - - `"none"` + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `type BetaManagedAgentsWebFetchURLSourceUserInput = ...` diff --git a/content/en/api/python/beta/agents/create.md b/content/en/api/python/beta/agents/create.md index 4def3de49d..fe81cea381 100644 --- a/content/en/api/python/beta/agents/create.md +++ b/content/en/api/python/beta/agents/create.md @@ -17,7 +17,11 @@ Create Agent Model identifier. Accepts the [model string](https://platform.claude.com/docs/en/about-claude/models/overview?sdk_languages=python#latest-models-comparison), e.g. `claude-opus-5-5`, or a `model_config` object for additional configuration control - - `Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + - `type BetaManagedAgentsModel = Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + + The model that will power your agent. + + See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - `"claude-haiku-5-5"` @@ -99,76 +103,6 @@ Create Agent See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - - `"claude-haiku-5-5"` - - Fastest model for high-volume, real-time tasks - - - `"claude-sonnet-5-5"` - - Efficient model for coding and agents - - - `"claude-opus-5-5"` - - Powerful intelligence for coding, knowledge work, and long-running agents - - - `"claude-fable-5-1"` - - Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows - - - `"claude-sonnet-5"` - - Efficient model for coding and agents - - - `"claude-fable-5"` - - Next generation of intelligence for the hardest knowledge work and coding problems - - - `"claude-opus-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-8"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-7"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-6"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-6"` - - Best combination of speed and intelligence - - - `"claude-haiku-4-5"` - - - `"claude-haiku-4-5-20251001"` - - - `"claude-opus-4-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-5-20251101"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-5"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `"claude-sonnet-4-5-20250929"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `str` - - `effort: Optional[Effort]` How hard Claude works on each inference call. Accepts a bare level string (`"high"`) or `{"type": "high"}`. On create, omitting it resolves the per-model default; on update, omitting it leaves the stored value unchanged. @@ -749,7 +683,9 @@ Create Agent Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -819,11 +755,9 @@ Create Agent Whether URLs in the text of user messages may be fetched: "all" (the default) or "none". - - `Literal["all", "none"]` - - - `"all"` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` - - `"none"` + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `type BetaManagedAgentsWebFetchURLSourceUserInput = ...` diff --git a/content/en/api/python/beta/agents/update.md b/content/en/api/python/beta/agents/update.md index 626b3fb525..55feec112c 100644 --- a/content/en/api/python/beta/agents/update.md +++ b/content/en/api/python/beta/agents/update.md @@ -71,7 +71,11 @@ Update Agent Model identifier. Accepts the [model string](https://platform.claude.com/docs/en/about-claude/models/overview?sdk_languages=python#latest-models-comparison), e.g. `claude-opus-5-5`, or a `model_config` object for additional configuration control. Omit to preserve. Cannot be cleared. - - `Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + - `type BetaManagedAgentsModel = Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + + The model that will power your agent. + + See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - `"claude-haiku-5-5"` @@ -153,76 +157,6 @@ Update Agent See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - - `"claude-haiku-5-5"` - - Fastest model for high-volume, real-time tasks - - - `"claude-sonnet-5-5"` - - Efficient model for coding and agents - - - `"claude-opus-5-5"` - - Powerful intelligence for coding, knowledge work, and long-running agents - - - `"claude-fable-5-1"` - - Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows - - - `"claude-sonnet-5"` - - Efficient model for coding and agents - - - `"claude-fable-5"` - - Next generation of intelligence for the hardest knowledge work and coding problems - - - `"claude-opus-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-8"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-7"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-6"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-6"` - - Best combination of speed and intelligence - - - `"claude-haiku-4-5"` - - - `"claude-haiku-4-5-20251001"` - - - `"claude-opus-4-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-5-20251101"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-5"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `"claude-sonnet-4-5-20250929"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `str` - - `effort: Optional[Effort]` How hard Claude works on each inference call. Accepts a bare level string (`"high"`) or `{"type": "high"}`. On create, omitting it resolves the per-model default; on update, omitting it leaves the stored value unchanged. @@ -753,7 +687,9 @@ Update Agent Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -823,11 +759,9 @@ Update Agent Whether URLs in the text of user messages may be fetched: "all" (the default) or "none". - - `Literal["all", "none"]` - - - `"all"` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` - - `"none"` + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `type BetaManagedAgentsWebFetchURLSourceUserInput = ...` diff --git a/content/en/api/python/beta/models.md b/content/en/api/python/beta/models.md index 8a5f3b1632..9fbd4f2c2f 100644 --- a/content/en/api/python/beta/models.md +++ b/content/en/api/python/beta/models.md @@ -303,9 +303,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -467,6 +471,9 @@ print(page.id) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -767,9 +774,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -930,6 +941,9 @@ print(beta_model_info.id) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1169,9 +1183,13 @@ print(beta_model_info.id) Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -1321,9 +1339,13 @@ print(beta_model_info.id) Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -1449,9 +1471,13 @@ print(beta_model_info.id) Whether this capability is supported by the model. + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -1471,9 +1497,13 @@ print(beta_model_info.id) Whether this capability is supported by the model. + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` diff --git a/content/en/api/python/beta/models/list.md b/content/en/api/python/beta/models/list.md index 795ec307aa..921a0474c4 100644 --- a/content/en/api/python/beta/models/list.md +++ b/content/en/api/python/beta/models/list.md @@ -301,9 +301,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -465,6 +469,9 @@ print(page.id) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/python/beta/models/retrieve.md b/content/en/api/python/beta/models/retrieve.md index bfbe96ce62..cc0e65388d 100644 --- a/content/en/api/python/beta/models/retrieve.md +++ b/content/en/api/python/beta/models/retrieve.md @@ -277,9 +277,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -440,6 +444,9 @@ print(beta_model_info.id) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/python/beta/sessions.md b/content/en/api/python/beta/sessions.md index 79a6a73f9f..7fcd008e4d 100644 --- a/content/en/api/python/beta/sessions.md +++ b/content/en/api/python/beta/sessions.md @@ -73,7 +73,11 @@ Create Session Replacement model. Accepts the model string, e.g. `claude-opus-5-5`, or a `model_config` object. Omit to use the agent's model. - - `Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + - `type BetaManagedAgentsModel = Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + + The model that will power your agent. + + See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - `"claude-haiku-5-5"` @@ -155,76 +159,6 @@ Create Session See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - - `"claude-haiku-5-5"` - - Fastest model for high-volume, real-time tasks - - - `"claude-sonnet-5-5"` - - Efficient model for coding and agents - - - `"claude-opus-5-5"` - - Powerful intelligence for coding, knowledge work, and long-running agents - - - `"claude-fable-5-1"` - - Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows - - - `"claude-sonnet-5"` - - Efficient model for coding and agents - - - `"claude-fable-5"` - - Next generation of intelligence for the hardest knowledge work and coding problems - - - `"claude-opus-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-8"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-7"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-6"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-6"` - - Best combination of speed and intelligence - - - `"claude-haiku-4-5"` - - - `"claude-haiku-4-5-20251001"` - - - `"claude-opus-4-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-5-20251101"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-5"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `"claude-sonnet-4-5-20250929"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `str` - - `effort: Optional[Effort]` How hard Claude works on each inference call. Accepts a bare level string (`"high"`) or `{"type": "high"}`. On create, omitting it resolves the per-model default; on update, omitting it leaves the stored value unchanged. @@ -589,7 +523,9 @@ Create Session Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -659,11 +595,9 @@ Create Session Whether URLs in the text of user messages may be fetched: "all" (the default) or "none". - - `Literal["all", "none"]` - - - `"all"` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` - - `"none"` + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `type BetaManagedAgentsWebFetchURLSourceUserInput = ...` @@ -6031,7 +5965,9 @@ Update Session Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -6101,11 +6037,9 @@ Update Session Whether URLs in the text of user messages may be fetched: "all" (the default) or "none". - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` - - `"all"` - - - `"none"` + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `type BetaManagedAgentsWebFetchURLSourceUserInput = ...` @@ -9549,7 +9483,11 @@ print(beta_managed_agents_session.id) Replacement model. Accepts the model string, e.g. `claude-opus-5-5`, or a `model_config` object. Omit to use the agent's model. - - `Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + - `type BetaManagedAgentsModel = Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + + The model that will power your agent. + + See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - `"claude-haiku-5-5"` @@ -9631,76 +9569,6 @@ print(beta_managed_agents_session.id) See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - - `"claude-haiku-5-5"` - - Fastest model for high-volume, real-time tasks - - - `"claude-sonnet-5-5"` - - Efficient model for coding and agents - - - `"claude-opus-5-5"` - - Powerful intelligence for coding, knowledge work, and long-running agents - - - `"claude-fable-5-1"` - - Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows - - - `"claude-sonnet-5"` - - Efficient model for coding and agents - - - `"claude-fable-5"` - - Next generation of intelligence for the hardest knowledge work and coding problems - - - `"claude-opus-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-8"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-7"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-6"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-6"` - - Best combination of speed and intelligence - - - `"claude-haiku-4-5"` - - - `"claude-haiku-4-5-20251001"` - - - `"claude-opus-4-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-5-20251101"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-5"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `"claude-sonnet-4-5-20250929"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `str` - - `effort: Optional[Effort]` How hard Claude works on each inference call. Accepts a bare level string (`"high"`) or `{"type": "high"}`. On create, omitting it resolves the per-model default; on update, omitting it leaves the stored value unchanged. @@ -10065,7 +9933,9 @@ print(beta_managed_agents_session.id) Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -10135,11 +10005,9 @@ print(beta_managed_agents_session.id) Whether URLs in the text of user messages may be fetched: "all" (the default) or "none". - - `Literal["all", "none"]` - - - `"all"` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` - - `"none"` + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `type BetaManagedAgentsWebFetchURLSourceUserInput = ...` @@ -13243,7 +13111,9 @@ print(beta_managed_agents_session.id) Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -13313,11 +13183,9 @@ print(beta_managed_agents_session.id) Whether URLs in the text of user messages may be fetched: "all" (the default) or "none". - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` - - `"all"` - - - `"none"` + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `type BetaManagedAgentsWebFetchURLSourceUserInput = ...` diff --git a/content/en/api/python/beta/sessions/create.md b/content/en/api/python/beta/sessions/create.md index a70c8fd57f..298477487d 100644 --- a/content/en/api/python/beta/sessions/create.md +++ b/content/en/api/python/beta/sessions/create.md @@ -71,7 +71,11 @@ Create Session Replacement model. Accepts the model string, e.g. `claude-opus-5-5`, or a `model_config` object. Omit to use the agent's model. - - `Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + - `type BetaManagedAgentsModel = Union[Literal["claude-haiku-5-5", "claude-sonnet-5-5", "claude-opus-5-5", 14 more], str]` + + The model that will power your agent. + + See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - `"claude-haiku-5-5"` @@ -153,76 +157,6 @@ Create Session See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options. - - `"claude-haiku-5-5"` - - Fastest model for high-volume, real-time tasks - - - `"claude-sonnet-5-5"` - - Efficient model for coding and agents - - - `"claude-opus-5-5"` - - Powerful intelligence for coding, knowledge work, and long-running agents - - - `"claude-fable-5-1"` - - Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows - - - `"claude-sonnet-5"` - - Efficient model for coding and agents - - - `"claude-fable-5"` - - Next generation of intelligence for the hardest knowledge work and coding problems - - - `"claude-opus-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-8"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-7"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-6"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-6"` - - Best combination of speed and intelligence - - - `"claude-haiku-4-5"` - - - `"claude-haiku-4-5-20251001"` - - - `"claude-opus-4-5"` - - Powerful intelligence for long-running agents and coding - - - `"claude-opus-4-5-20251101"` - - Powerful intelligence for long-running agents and coding - - - `"claude-sonnet-4-5"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `"claude-sonnet-4-5-20250929"` - - **Deprecated**: Will reach end-of-life on November 30, 2026. Please migrate to claude-sonnet-5-5. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information. - - High-performance model for agents and coding - - - `str` - - `effort: Optional[Effort]` How hard Claude works on each inference call. Accepts a bare level string (`"high"`) or `{"type": "high"}`. On create, omitting it resolves the per-model default; on update, omitting it leaves the stored value unchanged. @@ -587,7 +521,9 @@ Create Session Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -657,11 +593,9 @@ Create Session Whether URLs in the text of user messages may be fetched: "all" (the default) or "none". - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` - - `"all"` - - - `"none"` + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `type BetaManagedAgentsWebFetchURLSourceUserInput = ...` diff --git a/content/en/api/python/beta/sessions/update.md b/content/en/api/python/beta/sessions/update.md index 780d92edab..c602204da0 100644 --- a/content/en/api/python/beta/sessions/update.md +++ b/content/en/api/python/beta/sessions/update.md @@ -289,7 +289,9 @@ Update Session Which custom tools' results contribute URLs that may be fetched: "all" (the default), "none", or an only or except list. Each name in a list must be a custom tool in the same tools array. - - `Literal["all", "none"]` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` + + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `"all"` @@ -359,11 +361,9 @@ Update Session Whether URLs in the text of user messages may be fetched: "all" (the default) or "none". - - `Literal["all", "none"]` - - - `"all"` + - `type BetaManagedAgentsWebFetchURLSourceShorthand = Literal["all", "none"]` - - `"none"` + String form of a url_sources value that has no field other than its type: "all" means {"type": "all"} and "none" means {"type": "none"}. - `type BetaManagedAgentsWebFetchURLSourceUserInput = ...` diff --git a/content/en/api/python/beta/vaults.md b/content/en/api/python/beta/vaults.md index 393cfb2da3..46a4a9cbb4 100644 --- a/content/en/api/python/beta/vaults.md +++ b/content/en/api/python/beta/vaults.md @@ -5,13 +5,13 @@ url: https://platform.claude.com/docs/en/api/python/beta/vaults # Vaults -## Create Vault +## Create a Vault `beta.vaults.create(**kwargs) -> BetaManagedAgentsVault` **POST** `/v1/vaults` -Create Vault +Create a Vault ### Parameters @@ -149,7 +149,7 @@ Create Vault - `id: str` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Optional[datetime]` @@ -222,7 +222,7 @@ List Vaults - `include_archived: Optional[bool]` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `limit: Optional[int]` (query parameter) @@ -232,7 +232,7 @@ List Vaults - `page: Optional[str]` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=python) response, to get the next page. Leave it out to get the first page. - `betas: Optional[List[AnthropicBetaParam]]` (header parameter) @@ -358,7 +358,7 @@ List Vaults - `id: str` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Optional[datetime]` @@ -423,13 +423,13 @@ print(page.id) } ``` -## Get Vault +## Retrieve a Vault `beta.vaults.retrieve(vault_id, **kwargs) -> BetaManagedAgentsVault` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault ### Parameters @@ -561,7 +561,7 @@ Get Vault - `id: str` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Optional[datetime]` @@ -622,13 +622,13 @@ print(beta_managed_agents_vault.id) } ``` -## Update Vault +## Update a Vault `beta.vaults.update(vault_id, **kwargs) -> BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault ### Parameters @@ -770,7 +770,7 @@ Update Vault - `id: str` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Optional[datetime]` @@ -831,13 +831,13 @@ print(beta_managed_agents_vault.id) } ``` -## Delete Vault +## Delete a Vault `beta.vaults.delete(vault_id, **kwargs) -> BetaManagedAgentsDeletedVault` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault ### Parameters @@ -969,7 +969,7 @@ Delete Vault - `id: str` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ### Example @@ -997,13 +997,13 @@ print(beta_managed_agents_deleted_vault.id) } ``` -## Archive Vault +## Archive a Vault `beta.vaults.archive(vault_id, **kwargs) -> BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault ### Parameters @@ -1135,7 +1135,7 @@ Archive Vault - `id: str` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Optional[datetime]` @@ -1208,7 +1208,7 @@ print(beta_managed_agents_vault.id) - `id: str` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ### Beta Managed Agents Vault @@ -1220,7 +1220,7 @@ print(beta_managed_agents_vault.id) - `id: str` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Optional[datetime]` @@ -1250,13 +1250,13 @@ print(beta_managed_agents_vault.id) ## Vaults › Credentials -### Create Credential +### Create a Credential `beta.vaults.credentials.create(vault_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential #### Parameters @@ -1276,7 +1276,7 @@ Create Credential - `access_token: str` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -1288,7 +1288,9 @@ Create Credential - `expires_at: Optional[Union[str, datetime, null]]` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -1298,13 +1300,13 @@ Create Credential - `client_id: str` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: str` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -1330,7 +1332,7 @@ Create Credential - `client_secret: str` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -1342,7 +1344,7 @@ Create Credential - `client_secret: str` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -1366,7 +1368,7 @@ Create Credential - `token: str` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -1400,7 +1402,9 @@ Create Credential - `allowed_hosts: Sequence[str]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: str` @@ -1410,7 +1414,7 @@ Create Credential - `secret_value: str` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -1560,7 +1564,7 @@ Create Credential - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -1584,7 +1588,7 @@ Create Credential - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1594,7 +1598,7 @@ Create Credential - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -1674,7 +1678,9 @@ Create Credential - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` @@ -1763,7 +1769,7 @@ List Credentials - `include_archived: Optional[bool]` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit: Optional[int]` (query parameter) @@ -1773,7 +1779,7 @@ List Credentials - `page: Optional[str]` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=python) response, to get the next page. Leave it out to get the first page. - `betas: Optional[List[AnthropicBetaParam]]` (header parameter) @@ -1899,7 +1905,7 @@ List Credentials - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -1923,7 +1929,7 @@ List Credentials - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1933,7 +1939,7 @@ List Credentials - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -2013,7 +2019,9 @@ List Credentials - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` @@ -2087,13 +2095,13 @@ print(page.id) } ``` -### Get Credential +### Retrieve a Credential `beta.vaults.credentials.retrieve(credential_id, **kwargs) -> BetaManagedAgentsCredential` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential #### Parameters @@ -2229,7 +2237,7 @@ Get Credential - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -2253,7 +2261,7 @@ Get Credential - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2263,7 +2271,7 @@ Get Credential - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -2343,7 +2351,9 @@ Get Credential - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` @@ -2412,13 +2422,13 @@ print(beta_managed_agents_credential.id) } ``` -### Update Credential +### Update a Credential `beta.vaults.credentials.update(credential_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential #### Parameters @@ -2432,7 +2442,7 @@ Update Credential - `auth: Optional[Auth]` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `class BetaManagedAgentsMCPOAuthUpdateParams` @@ -2442,13 +2452,17 @@ Update Credential - `access_token: Optional[str]` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at: Optional[Union[str, datetime, null]]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -2458,13 +2472,13 @@ Update Credential - `refresh_token: Optional[str]` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: Optional[str]` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -2478,7 +2492,9 @@ Update Credential - `client_secret: Optional[str]` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -2490,7 +2506,9 @@ Update Credential - `client_secret: Optional[str]` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -2502,7 +2520,7 @@ Update Credential - `token: Optional[str]` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -2526,7 +2544,7 @@ Update Credential - `networking: Optional[BetaManagedAgentsCredentialNetworkingParams]` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -2542,11 +2560,13 @@ Update Credential - `allowed_hosts: Sequence[str]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value: Optional[str]` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -2684,7 +2704,7 @@ Update Credential - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -2708,7 +2728,7 @@ Update Credential - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2718,7 +2738,7 @@ Update Credential - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -2798,7 +2818,9 @@ Update Credential - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` @@ -2867,13 +2889,13 @@ print(beta_managed_agents_credential.id) } ``` -### Delete Credential +### Delete a Credential `beta.vaults.credentials.delete(credential_id, **kwargs) -> BetaManagedAgentsDeletedCredential` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential #### Parameters @@ -3009,7 +3031,7 @@ Delete Credential - `id: str` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). #### Example @@ -3038,13 +3060,13 @@ print(beta_managed_agents_deleted_credential.id) } ``` -### Archive Credential +### Archive a Credential `beta.vaults.credentials.archive(credential_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential #### Parameters @@ -3180,7 +3202,7 @@ Archive Credential - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -3204,7 +3226,7 @@ Archive Credential - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -3214,7 +3236,7 @@ Archive Credential - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -3294,7 +3316,9 @@ Archive Credential - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` @@ -3363,13 +3387,13 @@ print(beta_managed_agents_credential.id) } ``` -### Validate Credential +### Validate an MCP OAuth Credential `beta.vaults.credentials.mcp_oauth_validate(credential_id, **kwargs) -> BetaManagedAgentsCredentialValidation` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential #### Parameters @@ -3513,11 +3537,11 @@ Validate Credential - `mcp_probe: Optional[BetaManagedAgentsMCPProbe]` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: Optional[BetaManagedAgentsRefreshHTTPResponse]` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: str` @@ -3579,11 +3603,11 @@ Validate Credential - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: datetime` diff --git a/content/en/api/python/beta/vaults/archive.md b/content/en/api/python/beta/vaults/archive.md index c2c62672d9..9a0071baca 100644 --- a/content/en/api/python/beta/vaults/archive.md +++ b/content/en/api/python/beta/vaults/archive.md @@ -1,15 +1,15 @@ --- -title: Archive Vault +title: Archive a Vault url: https://platform.claude.com/docs/en/api/python/beta/vaults/archive --- -# Archive Vault +# Archive a Vault `beta.vaults.archive(vault_id, **kwargs) -> BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault ## Parameters @@ -141,7 +141,7 @@ Archive Vault - `id: str` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Optional[datetime]` diff --git a/content/en/api/python/beta/vaults/create.md b/content/en/api/python/beta/vaults/create.md index 071abf5dbe..22fca4f83b 100644 --- a/content/en/api/python/beta/vaults/create.md +++ b/content/en/api/python/beta/vaults/create.md @@ -1,15 +1,15 @@ --- -title: Create Vault +title: Create a Vault url: https://platform.claude.com/docs/en/api/python/beta/vaults/create --- -# Create Vault +# Create a Vault `beta.vaults.create(**kwargs) -> BetaManagedAgentsVault` **POST** `/v1/vaults` -Create Vault +Create a Vault ## Parameters @@ -147,7 +147,7 @@ Create Vault - `id: str` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Optional[datetime]` diff --git a/content/en/api/python/beta/vaults/credentials.md b/content/en/api/python/beta/vaults/credentials.md index 99e268f01e..f4014b8353 100644 --- a/content/en/api/python/beta/vaults/credentials.md +++ b/content/en/api/python/beta/vaults/credentials.md @@ -5,13 +5,13 @@ url: https://platform.claude.com/docs/en/api/python/beta/vaults/credentials # Credentials -## Create Credential +## Create a Credential `beta.vaults.credentials.create(vault_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential ### Parameters @@ -31,7 +31,7 @@ Create Credential - `access_token: str` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -43,7 +43,9 @@ Create Credential - `expires_at: Optional[Union[str, datetime, null]]` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -53,13 +55,13 @@ Create Credential - `client_id: str` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: str` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -85,7 +87,7 @@ Create Credential - `client_secret: str` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -97,7 +99,7 @@ Create Credential - `client_secret: str` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -121,7 +123,7 @@ Create Credential - `token: str` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -155,7 +157,9 @@ Create Credential - `allowed_hosts: Sequence[str]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: str` @@ -165,7 +169,7 @@ Create Credential - `secret_value: str` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -315,7 +319,7 @@ Create Credential - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -339,7 +343,7 @@ Create Credential - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -349,7 +353,7 @@ Create Credential - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -429,7 +433,9 @@ Create Credential - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` @@ -518,7 +524,7 @@ List Credentials - `include_archived: Optional[bool]` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit: Optional[int]` (query parameter) @@ -528,7 +534,7 @@ List Credentials - `page: Optional[str]` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=python) response, to get the next page. Leave it out to get the first page. - `betas: Optional[List[AnthropicBetaParam]]` (header parameter) @@ -654,7 +660,7 @@ List Credentials - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -678,7 +684,7 @@ List Credentials - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -688,7 +694,7 @@ List Credentials - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -768,7 +774,9 @@ List Credentials - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` @@ -842,13 +850,13 @@ print(page.id) } ``` -## Get Credential +## Retrieve a Credential `beta.vaults.credentials.retrieve(credential_id, **kwargs) -> BetaManagedAgentsCredential` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential ### Parameters @@ -984,7 +992,7 @@ Get Credential - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -1008,7 +1016,7 @@ Get Credential - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1018,7 +1026,7 @@ Get Credential - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -1098,7 +1106,9 @@ Get Credential - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` @@ -1167,13 +1177,13 @@ print(beta_managed_agents_credential.id) } ``` -## Update Credential +## Update a Credential `beta.vaults.credentials.update(credential_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential ### Parameters @@ -1187,7 +1197,7 @@ Update Credential - `auth: Optional[Auth]` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `class BetaManagedAgentsMCPOAuthUpdateParams` @@ -1197,13 +1207,17 @@ Update Credential - `access_token: Optional[str]` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at: Optional[Union[str, datetime, null]]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -1213,13 +1227,13 @@ Update Credential - `refresh_token: Optional[str]` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: Optional[str]` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -1233,7 +1247,9 @@ Update Credential - `client_secret: Optional[str]` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -1245,7 +1261,9 @@ Update Credential - `client_secret: Optional[str]` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -1257,7 +1275,7 @@ Update Credential - `token: Optional[str]` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -1281,7 +1299,7 @@ Update Credential - `networking: Optional[BetaManagedAgentsCredentialNetworkingParams]` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -1297,11 +1315,13 @@ Update Credential - `allowed_hosts: Sequence[str]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value: Optional[str]` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -1439,7 +1459,7 @@ Update Credential - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -1463,7 +1483,7 @@ Update Credential - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1473,7 +1493,7 @@ Update Credential - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -1553,7 +1573,9 @@ Update Credential - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` @@ -1622,13 +1644,13 @@ print(beta_managed_agents_credential.id) } ``` -## Delete Credential +## Delete a Credential `beta.vaults.credentials.delete(credential_id, **kwargs) -> BetaManagedAgentsDeletedCredential` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential ### Parameters @@ -1764,7 +1786,7 @@ Delete Credential - `id: str` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ### Example @@ -1793,13 +1815,13 @@ print(beta_managed_agents_deleted_credential.id) } ``` -## Archive Credential +## Archive a Credential `beta.vaults.credentials.archive(credential_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential ### Parameters @@ -1935,7 +1957,7 @@ Archive Credential - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -1959,7 +1981,7 @@ Archive Credential - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1969,7 +1991,7 @@ Archive Credential - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -2049,7 +2071,9 @@ Archive Credential - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` @@ -2118,13 +2142,13 @@ print(beta_managed_agents_credential.id) } ``` -## Validate Credential +## Validate an MCP OAuth Credential `beta.vaults.credentials.mcp_oauth_validate(credential_id, **kwargs) -> BetaManagedAgentsCredentialValidation` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential ### Parameters @@ -2268,11 +2292,11 @@ Validate Credential - `mcp_probe: Optional[BetaManagedAgentsMCPProbe]` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: Optional[BetaManagedAgentsRefreshHTTPResponse]` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: str` @@ -2334,11 +2358,11 @@ Validate Credential - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: datetime` @@ -2413,7 +2437,7 @@ print(beta_managed_agents_credential_validation.credential_id) - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -2437,7 +2461,7 @@ print(beta_managed_agents_credential_validation.credential_id) - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2447,7 +2471,7 @@ print(beta_managed_agents_credential_validation.credential_id) - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -2527,7 +2551,9 @@ print(beta_managed_agents_credential_validation.credential_id) - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` @@ -2575,7 +2601,9 @@ print(beta_managed_agents_credential_validation.credential_id) - `allowed_hosts: Sequence[str]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. ### Beta Managed Agents Credential Validation @@ -2595,11 +2623,11 @@ print(beta_managed_agents_credential_validation.credential_id) - `mcp_probe: Optional[BetaManagedAgentsMCPProbe]` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: Optional[BetaManagedAgentsRefreshHTTPResponse]` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: str` @@ -2661,11 +2689,11 @@ print(beta_managed_agents_credential_validation.credential_id) - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: datetime` @@ -2689,11 +2717,11 @@ print(beta_managed_agents_credential_validation.credential_id) - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. ### Beta Managed Agents Deleted Credential @@ -2705,7 +2733,7 @@ print(beta_managed_agents_credential_validation.credential_id) - `id: str` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ### Beta Managed Agents Environment Variable Auth Response @@ -2745,7 +2773,9 @@ print(beta_managed_agents_credential_validation.credential_id) - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` @@ -2777,7 +2807,9 @@ print(beta_managed_agents_credential_validation.credential_id) - `allowed_hosts: Sequence[str]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: str` @@ -2787,7 +2819,7 @@ print(beta_managed_agents_credential_validation.credential_id) - `secret_value: str` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -2825,7 +2857,7 @@ print(beta_managed_agents_credential_validation.credential_id) - `networking: Optional[BetaManagedAgentsCredentialNetworkingParams]` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -2841,11 +2873,13 @@ print(beta_managed_agents_credential_validation.credential_id) - `allowed_hosts: Sequence[str]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value: Optional[str]` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -2881,7 +2915,11 @@ print(beta_managed_agents_credential_validation.credential_id) - `class BetaManagedAgentsInjectionLocationUpdateParams` - Updated injection location. + Changes which parts of an outbound request the secret is substituted into. A location you leave out keeps its current setting. + + After the change, at least one location must be enabled. + + See [Authenticate with vaults](https://platform.claude.com/docs/en/managed-agents/vaults?sdk_languages=python#add-a-credential) to learn more about injection locations. - `body: Optional[bool]` @@ -2901,7 +2939,9 @@ print(beta_managed_agents_credential_validation.credential_id) - `allowed_hosts: Sequence[str]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. ### Beta Managed Agents Limited Credential Networking Response @@ -2913,7 +2953,9 @@ print(beta_managed_agents_credential_validation.credential_id) - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. ### Beta Managed Agents MCP OAuth Auth Response @@ -2929,7 +2971,7 @@ print(beta_managed_agents_credential_validation.credential_id) - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2939,7 +2981,7 @@ print(beta_managed_agents_credential_validation.credential_id) - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -2983,7 +3025,7 @@ print(beta_managed_agents_credential_validation.credential_id) - `access_token: str` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -2995,7 +3037,9 @@ print(beta_managed_agents_credential_validation.credential_id) - `expires_at: Optional[Union[str, datetime, null]]` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -3005,13 +3049,13 @@ print(beta_managed_agents_credential_validation.credential_id) - `client_id: str` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: str` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -3037,7 +3081,7 @@ print(beta_managed_agents_credential_validation.credential_id) - `client_secret: str` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3049,7 +3093,7 @@ print(beta_managed_agents_credential_validation.credential_id) - `client_secret: str` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3073,13 +3117,13 @@ print(beta_managed_agents_credential_validation.credential_id) - `client_id: str` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: str` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -3105,7 +3149,7 @@ print(beta_managed_agents_credential_validation.credential_id) - `client_secret: str` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3117,7 +3161,7 @@ print(beta_managed_agents_credential_validation.credential_id) - `client_secret: str` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3141,7 +3185,7 @@ print(beta_managed_agents_credential_validation.credential_id) - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -3183,13 +3227,13 @@ print(beta_managed_agents_credential_validation.credential_id) - `refresh_token: Optional[str]` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: Optional[str]` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -3203,7 +3247,9 @@ print(beta_managed_agents_credential_validation.credential_id) - `client_secret: Optional[str]` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3215,7 +3261,9 @@ print(beta_managed_agents_credential_validation.credential_id) - `client_secret: Optional[str]` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3229,13 +3277,17 @@ print(beta_managed_agents_credential_validation.credential_id) - `access_token: Optional[str]` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at: Optional[Union[str, datetime, null]]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -3245,13 +3297,13 @@ print(beta_managed_agents_credential_validation.credential_id) - `refresh_token: Optional[str]` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: Optional[str]` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -3265,7 +3317,9 @@ print(beta_managed_agents_credential_validation.credential_id) - `client_secret: Optional[str]` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3277,7 +3331,9 @@ print(beta_managed_agents_credential_validation.credential_id) - `client_secret: Optional[str]` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3289,7 +3345,7 @@ print(beta_managed_agents_credential_validation.credential_id) - `http_response: Optional[BetaManagedAgentsRefreshHTTPResponse]` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: str` @@ -3407,7 +3463,7 @@ print(beta_managed_agents_credential_validation.credential_id) - `token: str` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -3427,7 +3483,7 @@ print(beta_managed_agents_credential_validation.credential_id) - `token: Optional[str]` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -3441,7 +3497,7 @@ print(beta_managed_agents_credential_validation.credential_id) - `client_secret: str` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3463,7 +3519,9 @@ print(beta_managed_agents_credential_validation.credential_id) - `client_secret: Optional[str]` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3493,7 +3551,7 @@ print(beta_managed_agents_credential_validation.credential_id) - `client_secret: str` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3515,7 +3573,9 @@ print(beta_managed_agents_credential_validation.credential_id) - `client_secret: Optional[str]` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 diff --git a/content/en/api/python/beta/vaults/credentials/archive.md b/content/en/api/python/beta/vaults/credentials/archive.md index 6e6c1128a7..9c5c63a9be 100644 --- a/content/en/api/python/beta/vaults/credentials/archive.md +++ b/content/en/api/python/beta/vaults/credentials/archive.md @@ -1,15 +1,15 @@ --- -title: Archive Credential +title: Archive a Credential url: https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/archive --- -# Archive Credential +# Archive a Credential `beta.vaults.credentials.archive(credential_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential ## Parameters @@ -145,7 +145,7 @@ Archive Credential - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -169,7 +169,7 @@ Archive Credential - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -179,7 +179,7 @@ Archive Credential - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -259,7 +259,9 @@ Archive Credential - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` diff --git a/content/en/api/python/beta/vaults/credentials/create.md b/content/en/api/python/beta/vaults/credentials/create.md index 5d2a8ca28d..fae690c1be 100644 --- a/content/en/api/python/beta/vaults/credentials/create.md +++ b/content/en/api/python/beta/vaults/credentials/create.md @@ -1,15 +1,15 @@ --- -title: Create Credential +title: Create a Credential url: https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/create --- -# Create Credential +# Create a Credential `beta.vaults.credentials.create(vault_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential ## Parameters @@ -29,7 +29,7 @@ Create Credential - `access_token: str` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -41,7 +41,9 @@ Create Credential - `expires_at: Optional[Union[str, datetime, null]]` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -51,13 +53,13 @@ Create Credential - `client_id: str` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: str` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -83,7 +85,7 @@ Create Credential - `client_secret: str` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -95,7 +97,7 @@ Create Credential - `client_secret: str` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -119,7 +121,7 @@ Create Credential - `token: str` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -153,7 +155,9 @@ Create Credential - `allowed_hosts: Sequence[str]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: str` @@ -163,7 +167,7 @@ Create Credential - `secret_value: str` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -313,7 +317,7 @@ Create Credential - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -337,7 +341,7 @@ Create Credential - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -347,7 +351,7 @@ Create Credential - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -427,7 +431,9 @@ Create Credential - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` diff --git a/content/en/api/python/beta/vaults/credentials/delete.md b/content/en/api/python/beta/vaults/credentials/delete.md index c9cce38a51..718cc17665 100644 --- a/content/en/api/python/beta/vaults/credentials/delete.md +++ b/content/en/api/python/beta/vaults/credentials/delete.md @@ -1,15 +1,15 @@ --- -title: Delete Credential +title: Delete a Credential url: https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/delete --- -# Delete Credential +# Delete a Credential `beta.vaults.credentials.delete(credential_id, **kwargs) -> BetaManagedAgentsDeletedCredential` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential ## Parameters @@ -145,7 +145,7 @@ Delete Credential - `id: str` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ## Example diff --git a/content/en/api/python/beta/vaults/credentials/list.md b/content/en/api/python/beta/vaults/credentials/list.md index ffe06a86ed..a6cba45e8b 100644 --- a/content/en/api/python/beta/vaults/credentials/list.md +++ b/content/en/api/python/beta/vaults/credentials/list.md @@ -19,7 +19,7 @@ List Credentials - `include_archived: Optional[bool]` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit: Optional[int]` (query parameter) @@ -29,7 +29,7 @@ List Credentials - `page: Optional[str]` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=python) response, to get the next page. Leave it out to get the first page. - `betas: Optional[List[AnthropicBetaParam]]` (header parameter) @@ -155,7 +155,7 @@ List Credentials - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -179,7 +179,7 @@ List Credentials - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -189,7 +189,7 @@ List Credentials - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -269,7 +269,9 @@ List Credentials - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` 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 ab300a9d67..bb7d658ac7 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 @@ -1,15 +1,15 @@ --- -title: Validate Credential +title: Validate an MCP OAuth Credential url: https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/mcp_oauth_validate --- -# Validate Credential +# Validate an MCP OAuth Credential `beta.vaults.credentials.mcp_oauth_validate(credential_id, **kwargs) -> BetaManagedAgentsCredentialValidation` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential ## Parameters @@ -153,11 +153,11 @@ Validate Credential - `mcp_probe: Optional[BetaManagedAgentsMCPProbe]` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: Optional[BetaManagedAgentsRefreshHTTPResponse]` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: str` @@ -219,11 +219,11 @@ Validate Credential - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: datetime` diff --git a/content/en/api/python/beta/vaults/credentials/retrieve.md b/content/en/api/python/beta/vaults/credentials/retrieve.md index 75c3bcce4b..453e47dd0d 100644 --- a/content/en/api/python/beta/vaults/credentials/retrieve.md +++ b/content/en/api/python/beta/vaults/credentials/retrieve.md @@ -1,15 +1,15 @@ --- -title: Get Credential +title: Retrieve a Credential url: https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/retrieve --- -# Get Credential +# Retrieve a Credential `beta.vaults.credentials.retrieve(credential_id, **kwargs) -> BetaManagedAgentsCredential` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential ## Parameters @@ -145,7 +145,7 @@ Get Credential - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -169,7 +169,7 @@ Get Credential - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -179,7 +179,7 @@ Get Credential - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -259,7 +259,9 @@ Get Credential - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` diff --git a/content/en/api/python/beta/vaults/credentials/update.md b/content/en/api/python/beta/vaults/credentials/update.md index 9a0239483b..5ce22fef7f 100644 --- a/content/en/api/python/beta/vaults/credentials/update.md +++ b/content/en/api/python/beta/vaults/credentials/update.md @@ -1,15 +1,15 @@ --- -title: Update Credential +title: Update a Credential url: https://platform.claude.com/docs/en/api/python/beta/vaults/credentials/update --- -# Update Credential +# Update a Credential `beta.vaults.credentials.update(credential_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential ## Parameters @@ -23,7 +23,7 @@ Update Credential - `auth: Optional[Auth]` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `class BetaManagedAgentsMCPOAuthUpdateParams` @@ -33,13 +33,17 @@ Update Credential - `access_token: Optional[str]` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at: Optional[Union[str, datetime, null]]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -49,13 +53,13 @@ Update Credential - `refresh_token: Optional[str]` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: Optional[str]` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -69,7 +73,9 @@ Update Credential - `client_secret: Optional[str]` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -81,7 +87,9 @@ Update Credential - `client_secret: Optional[str]` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -93,7 +101,7 @@ Update Credential - `token: Optional[str]` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -117,7 +125,7 @@ Update Credential - `networking: Optional[BetaManagedAgentsCredentialNetworkingParams]` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -133,11 +141,13 @@ Update Credential - `allowed_hosts: Sequence[str]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value: Optional[str]` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -275,7 +285,7 @@ Update Credential - `id: str` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Optional[datetime]` @@ -299,7 +309,7 @@ Update Credential - `expires_at: Optional[datetime]` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -309,7 +319,7 @@ Update Credential - `client_id: str` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: str` @@ -389,7 +399,9 @@ Update Credential - `allowed_hosts: List[str]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: str` diff --git a/content/en/api/python/beta/vaults/delete.md b/content/en/api/python/beta/vaults/delete.md index cd5acf60e7..bf1d36375e 100644 --- a/content/en/api/python/beta/vaults/delete.md +++ b/content/en/api/python/beta/vaults/delete.md @@ -1,15 +1,15 @@ --- -title: Delete Vault +title: Delete a Vault url: https://platform.claude.com/docs/en/api/python/beta/vaults/delete --- -# Delete Vault +# Delete a Vault `beta.vaults.delete(vault_id, **kwargs) -> BetaManagedAgentsDeletedVault` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault ## Parameters @@ -141,7 +141,7 @@ Delete Vault - `id: str` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ## Example diff --git a/content/en/api/python/beta/vaults/list.md b/content/en/api/python/beta/vaults/list.md index 97f4a25732..7d105178fa 100644 --- a/content/en/api/python/beta/vaults/list.md +++ b/content/en/api/python/beta/vaults/list.md @@ -15,7 +15,7 @@ List Vaults - `include_archived: Optional[bool]` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `limit: Optional[int]` (query parameter) @@ -25,7 +25,7 @@ List Vaults - `page: Optional[str]` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=python) response, to get the next page. Leave it out to get the first page. - `betas: Optional[List[AnthropicBetaParam]]` (header parameter) @@ -151,7 +151,7 @@ List Vaults - `id: str` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Optional[datetime]` diff --git a/content/en/api/python/beta/vaults/retrieve.md b/content/en/api/python/beta/vaults/retrieve.md index ae9f1438f3..5dd9069b4d 100644 --- a/content/en/api/python/beta/vaults/retrieve.md +++ b/content/en/api/python/beta/vaults/retrieve.md @@ -1,15 +1,15 @@ --- -title: Get Vault +title: Retrieve a Vault url: https://platform.claude.com/docs/en/api/python/beta/vaults/retrieve --- -# Get Vault +# Retrieve a Vault `beta.vaults.retrieve(vault_id, **kwargs) -> BetaManagedAgentsVault` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault ## Parameters @@ -141,7 +141,7 @@ Get Vault - `id: str` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Optional[datetime]` diff --git a/content/en/api/python/beta/vaults/update.md b/content/en/api/python/beta/vaults/update.md index b863a34988..a6da40143f 100644 --- a/content/en/api/python/beta/vaults/update.md +++ b/content/en/api/python/beta/vaults/update.md @@ -1,15 +1,15 @@ --- -title: Update Vault +title: Update a Vault url: https://platform.claude.com/docs/en/api/python/beta/vaults/update --- -# Update Vault +# Update a Vault `beta.vaults.update(vault_id, **kwargs) -> BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault ## Parameters @@ -151,7 +151,7 @@ Update Vault - `id: str` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Optional[datetime]` diff --git a/content/en/api/python/models.md b/content/en/api/python/models.md index b3f5362562..e7451d202e 100644 --- a/content/en/api/python/models.md +++ b/content/en/api/python/models.md @@ -289,9 +289,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -444,6 +448,9 @@ print(page.id) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -730,9 +737,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -884,6 +895,9 @@ print(model_info.id) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1091,9 +1105,13 @@ print(model_info.id) Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -1227,9 +1245,13 @@ print(model_info.id) Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -1355,9 +1377,13 @@ print(model_info.id) Whether this capability is supported by the model. + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -1377,9 +1403,13 @@ print(model_info.id) Whether this capability is supported by the model. + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` diff --git a/content/en/api/python/models/list.md b/content/en/api/python/models/list.md index 11ecf42c91..dc661f8af5 100644 --- a/content/en/api/python/models/list.md +++ b/content/en/api/python/models/list.md @@ -287,9 +287,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -442,6 +446,9 @@ print(page.id) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/python/models/retrieve.md b/content/en/api/python/models/retrieve.md index 9a29ec3ee4..663a4ba579 100644 --- a/content/en/api/python/models/retrieve.md +++ b/content/en/api/python/models/retrieve.md @@ -263,9 +263,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -417,6 +421,9 @@ print(model_info.id) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/ruby/beta.md b/content/en/api/ruby/beta.md index 26f4b6911e..6807bf9423 100644 --- a/content/en/api/ruby/beta.md +++ b/content/en/api/ruby/beta.md @@ -625,9 +625,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -783,6 +787,9 @@ puts(page) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1081,9 +1088,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -1237,6 +1248,9 @@ puts(beta_model_info) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -69462,13 +69476,13 @@ puts(beta_managed_agents_deployment_run) ## Beta › Vaults -### Create Vault +### Create a Vault `beta.vaults.create(**kwargs) -> BetaManagedAgentsVault` **POST** `/v1/vaults` -Create Vault +Create a Vault #### Parameters @@ -69606,7 +69620,7 @@ Create Vault - `id: String` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Time` @@ -69674,7 +69688,7 @@ List Vaults - `include_archived: bool` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `limit: Integer` (query parameter) @@ -69684,7 +69698,7 @@ List Vaults - `page: String` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=ruby) response, to get the next page. Leave it out to get the first page. - `betas: Array[AnthropicBeta]` (header parameter) @@ -69810,7 +69824,7 @@ List Vaults - `id: String` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Time` @@ -69871,13 +69885,13 @@ puts(page) } ``` -### Get Vault +### Retrieve a Vault `beta.vaults.retrieve(vault_id, **kwargs) -> BetaManagedAgentsVault` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault #### Parameters @@ -70009,7 +70023,7 @@ Get Vault - `id: String` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Time` @@ -70065,13 +70079,13 @@ puts(beta_managed_agents_vault) } ``` -### Update Vault +### Update a Vault `beta.vaults.update(vault_id, **kwargs) -> BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault #### Parameters @@ -70213,7 +70227,7 @@ Update Vault - `id: String` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Time` @@ -70269,13 +70283,13 @@ puts(beta_managed_agents_vault) } ``` -### Delete Vault +### Delete a Vault `beta.vaults.delete(vault_id, **kwargs) -> BetaManagedAgentsDeletedVault` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault #### Parameters @@ -70407,7 +70421,7 @@ Delete Vault - `id: String` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). #### Example @@ -70430,13 +70444,13 @@ puts(beta_managed_agents_deleted_vault) } ``` -### Archive Vault +### Archive a Vault `beta.vaults.archive(vault_id, **kwargs) -> BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault #### Parameters @@ -70568,7 +70582,7 @@ Archive Vault - `id: String` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Time` @@ -70626,13 +70640,13 @@ puts(beta_managed_agents_vault) ## Beta › Vaults › Credentials -### Create Credential +### Create a Credential `beta.vaults.credentials.create(vault_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential #### Parameters @@ -70652,7 +70666,7 @@ Create Credential - `access_token: String` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -70664,7 +70678,9 @@ Create Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -70674,13 +70690,13 @@ Create Credential - `client_id: String` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: String` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -70706,7 +70722,7 @@ Create Credential - `client_secret: String` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -70718,7 +70734,7 @@ Create Credential - `client_secret: String` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -70742,7 +70758,7 @@ Create Credential - `token: String` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -70776,7 +70792,9 @@ Create Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: String` @@ -70786,7 +70804,7 @@ Create Credential - `secret_value: String` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -70936,7 +70954,7 @@ Create Credential - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -70960,7 +70978,7 @@ Create Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -70970,7 +70988,7 @@ Create Credential - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -71050,7 +71068,9 @@ Create Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` @@ -71136,7 +71156,7 @@ List Credentials - `include_archived: bool` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit: Integer` (query parameter) @@ -71146,7 +71166,7 @@ List Credentials - `page: String` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=ruby) response, to get the next page. Leave it out to get the first page. - `betas: Array[AnthropicBeta]` (header parameter) @@ -71272,7 +71292,7 @@ List Credentials - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -71296,7 +71316,7 @@ List Credentials - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -71306,7 +71326,7 @@ List Credentials - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -71386,7 +71406,9 @@ List Credentials - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` @@ -71454,13 +71476,13 @@ puts(page) } ``` -### Get Credential +### Retrieve a Credential `beta.vaults.credentials.retrieve(credential_id, **kwargs) -> BetaManagedAgentsCredential` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential #### Parameters @@ -71596,7 +71618,7 @@ Get Credential - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -71620,7 +71642,7 @@ Get Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -71630,7 +71652,7 @@ Get Credential - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -71710,7 +71732,9 @@ Get Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` @@ -71776,13 +71800,13 @@ puts(beta_managed_agents_credential) } ``` -### Update Credential +### Update a Credential `beta.vaults.credentials.update(credential_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential #### Parameters @@ -71796,7 +71820,7 @@ Update Credential - `auth: BetaManagedAgentsMCPOAuthUpdateParams | BetaManagedAgentsStaticBearerUpdateParams | BetaManagedAgentsEnvironmentVariableUpdateParams` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `class BetaManagedAgentsMCPOAuthUpdateParams` @@ -71806,13 +71830,17 @@ Update Credential - `access_token: String` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -71822,13 +71850,13 @@ Update Credential - `refresh_token: String` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: String` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -71842,7 +71870,9 @@ Update Credential - `client_secret: String` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -71854,7 +71884,9 @@ Update Credential - `client_secret: String` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -71866,7 +71898,7 @@ Update Credential - `token: String` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -71890,7 +71922,7 @@ Update Credential - `networking: BetaManagedAgentsCredentialNetworkingParams` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -71906,11 +71938,13 @@ Update Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value: String` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -72048,7 +72082,7 @@ Update Credential - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -72072,7 +72106,7 @@ Update Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -72082,7 +72116,7 @@ Update Credential - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -72162,7 +72196,9 @@ Update Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` @@ -72228,13 +72264,13 @@ puts(beta_managed_agents_credential) } ``` -### Delete Credential +### Delete a Credential `beta.vaults.credentials.delete(credential_id, **kwargs) -> BetaManagedAgentsDeletedCredential` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential #### Parameters @@ -72370,7 +72406,7 @@ Delete Credential - `id: String` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). #### Example @@ -72396,13 +72432,13 @@ puts(beta_managed_agents_deleted_credential) } ``` -### Archive Credential +### Archive a Credential `beta.vaults.credentials.archive(credential_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential #### Parameters @@ -72538,7 +72574,7 @@ Archive Credential - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -72562,7 +72598,7 @@ Archive Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -72572,7 +72608,7 @@ Archive Credential - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -72652,7 +72688,9 @@ Archive Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` @@ -72718,13 +72756,13 @@ puts(beta_managed_agents_credential) } ``` -### Validate Credential +### Validate an MCP OAuth Credential `beta.vaults.credentials.mcp_oauth_validate(credential_id, **kwargs) -> BetaManagedAgentsCredentialValidation` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential #### Parameters @@ -72868,11 +72906,11 @@ Validate Credential - `mcp_probe: BetaManagedAgentsMCPProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: BetaManagedAgentsRefreshHTTPResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: String` @@ -72934,11 +72972,11 @@ Validate Credential - `:invalid` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `:unknown` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: Time` @@ -102937,7 +102975,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: String` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: String` @@ -102985,7 +103023,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: :contained | :privileged | :remote` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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` @@ -103309,7 +103351,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: String` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: String` @@ -103357,7 +103399,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: :contained | :privileged | :remote` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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` @@ -103701,7 +103747,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: String` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: String` @@ -103749,7 +103795,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: :contained | :privileged | :remote` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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` @@ -104132,7 +104182,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: String` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: String` @@ -104180,7 +104230,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: :contained | :privileged | :remote` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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` @@ -104702,7 +104756,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: String` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: String` @@ -104710,7 +104764,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: :contained | :privileged | :remote` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `:contained` @@ -105028,7 +105082,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: String` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: String` @@ -105036,7 +105090,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: :contained | :privileged | :remote` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `:contained` @@ -105346,7 +105400,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: String` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: String` @@ -105354,7 +105408,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: :contained | :privileged | :remote` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `:contained` @@ -107410,13 +107464,13 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `repository_url: String` - The `https://` URL of a public repository on github.com that holds the marketplace. Any other host, a URL with credentials in it, or one that does not name a repository is a 400. + 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. minLength: 1 - `ref: String` - The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, or a value that is neither a branch name nor a 40-character SHA, is a 400. + The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, a value longer than 255 characters, or one that contains `..` or a character other than ASCII letters, digits, `.`, `_`, `-`, `+`, and `/`, is a 400. Any other value that is not a 40-character SHA is read as a branch name; if the repository has no such branch, the response is a report with `valid: false`, not a 400. minLength: 1 diff --git a/content/en/api/ruby/beta/models.md b/content/en/api/ruby/beta/models.md index 0ecba3de05..f9e86b9d8f 100644 --- a/content/en/api/ruby/beta/models.md +++ b/content/en/api/ruby/beta/models.md @@ -301,9 +301,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -459,6 +463,9 @@ puts(page) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -757,9 +764,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -913,6 +924,9 @@ puts(beta_model_info) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1152,9 +1166,13 @@ puts(beta_model_info) Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -1302,9 +1320,13 @@ puts(beta_model_info) Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -1428,9 +1450,13 @@ puts(beta_model_info) Whether this capability is supported by the model. + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -1450,9 +1476,13 @@ puts(beta_model_info) Whether this capability is supported by the model. + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` diff --git a/content/en/api/ruby/beta/models/list.md b/content/en/api/ruby/beta/models/list.md index 6cefce50ee..805adb57c4 100644 --- a/content/en/api/ruby/beta/models/list.md +++ b/content/en/api/ruby/beta/models/list.md @@ -299,9 +299,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -457,6 +461,9 @@ puts(page) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/ruby/beta/models/retrieve.md b/content/en/api/ruby/beta/models/retrieve.md index c783a9878d..2143e678a7 100644 --- a/content/en/api/ruby/beta/models/retrieve.md +++ b/content/en/api/ruby/beta/models/retrieve.md @@ -275,9 +275,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -431,6 +435,9 @@ puts(beta_model_info) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/ruby/beta/vaults.md b/content/en/api/ruby/beta/vaults.md index 6917d80c58..6cf09e9c81 100644 --- a/content/en/api/ruby/beta/vaults.md +++ b/content/en/api/ruby/beta/vaults.md @@ -5,13 +5,13 @@ url: https://platform.claude.com/docs/en/api/ruby/beta/vaults # Vaults -## Create Vault +## Create a Vault `beta.vaults.create(**kwargs) -> BetaManagedAgentsVault` **POST** `/v1/vaults` -Create Vault +Create a Vault ### Parameters @@ -149,7 +149,7 @@ Create Vault - `id: String` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Time` @@ -217,7 +217,7 @@ List Vaults - `include_archived: bool` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `limit: Integer` (query parameter) @@ -227,7 +227,7 @@ List Vaults - `page: String` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=ruby) response, to get the next page. Leave it out to get the first page. - `betas: Array[AnthropicBeta]` (header parameter) @@ -353,7 +353,7 @@ List Vaults - `id: String` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Time` @@ -414,13 +414,13 @@ puts(page) } ``` -## Get Vault +## Retrieve a Vault `beta.vaults.retrieve(vault_id, **kwargs) -> BetaManagedAgentsVault` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault ### Parameters @@ -552,7 +552,7 @@ Get Vault - `id: String` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Time` @@ -608,13 +608,13 @@ puts(beta_managed_agents_vault) } ``` -## Update Vault +## Update a Vault `beta.vaults.update(vault_id, **kwargs) -> BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault ### Parameters @@ -756,7 +756,7 @@ Update Vault - `id: String` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Time` @@ -812,13 +812,13 @@ puts(beta_managed_agents_vault) } ``` -## Delete Vault +## Delete a Vault `beta.vaults.delete(vault_id, **kwargs) -> BetaManagedAgentsDeletedVault` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault ### Parameters @@ -950,7 +950,7 @@ Delete Vault - `id: String` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ### Example @@ -973,13 +973,13 @@ puts(beta_managed_agents_deleted_vault) } ``` -## Archive Vault +## Archive a Vault `beta.vaults.archive(vault_id, **kwargs) -> BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault ### Parameters @@ -1111,7 +1111,7 @@ Archive Vault - `id: String` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Time` @@ -1179,7 +1179,7 @@ puts(beta_managed_agents_vault) - `id: String` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ### Beta Managed Agents Vault @@ -1191,7 +1191,7 @@ puts(beta_managed_agents_vault) - `id: String` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Time` @@ -1221,13 +1221,13 @@ puts(beta_managed_agents_vault) ## Vaults › Credentials -### Create Credential +### Create a Credential `beta.vaults.credentials.create(vault_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential #### Parameters @@ -1247,7 +1247,7 @@ Create Credential - `access_token: String` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -1259,7 +1259,9 @@ Create Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -1269,13 +1271,13 @@ Create Credential - `client_id: String` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: String` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -1301,7 +1303,7 @@ Create Credential - `client_secret: String` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -1313,7 +1315,7 @@ Create Credential - `client_secret: String` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -1337,7 +1339,7 @@ Create Credential - `token: String` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -1371,7 +1373,9 @@ Create Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: String` @@ -1381,7 +1385,7 @@ Create Credential - `secret_value: String` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -1531,7 +1535,7 @@ Create Credential - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -1555,7 +1559,7 @@ Create Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1565,7 +1569,7 @@ Create Credential - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -1645,7 +1649,9 @@ Create Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` @@ -1731,7 +1737,7 @@ List Credentials - `include_archived: bool` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit: Integer` (query parameter) @@ -1741,7 +1747,7 @@ List Credentials - `page: String` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=ruby) response, to get the next page. Leave it out to get the first page. - `betas: Array[AnthropicBeta]` (header parameter) @@ -1867,7 +1873,7 @@ List Credentials - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -1891,7 +1897,7 @@ List Credentials - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1901,7 +1907,7 @@ List Credentials - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -1981,7 +1987,9 @@ List Credentials - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` @@ -2049,13 +2057,13 @@ puts(page) } ``` -### Get Credential +### Retrieve a Credential `beta.vaults.credentials.retrieve(credential_id, **kwargs) -> BetaManagedAgentsCredential` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential #### Parameters @@ -2191,7 +2199,7 @@ Get Credential - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -2215,7 +2223,7 @@ Get Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2225,7 +2233,7 @@ Get Credential - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -2305,7 +2313,9 @@ Get Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` @@ -2371,13 +2381,13 @@ puts(beta_managed_agents_credential) } ``` -### Update Credential +### Update a Credential `beta.vaults.credentials.update(credential_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential #### Parameters @@ -2391,7 +2401,7 @@ Update Credential - `auth: BetaManagedAgentsMCPOAuthUpdateParams | BetaManagedAgentsStaticBearerUpdateParams | BetaManagedAgentsEnvironmentVariableUpdateParams` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `class BetaManagedAgentsMCPOAuthUpdateParams` @@ -2401,13 +2411,17 @@ Update Credential - `access_token: String` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -2417,13 +2431,13 @@ Update Credential - `refresh_token: String` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: String` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -2437,7 +2451,9 @@ Update Credential - `client_secret: String` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -2449,7 +2465,9 @@ Update Credential - `client_secret: String` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -2461,7 +2479,7 @@ Update Credential - `token: String` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -2485,7 +2503,7 @@ Update Credential - `networking: BetaManagedAgentsCredentialNetworkingParams` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -2501,11 +2519,13 @@ Update Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value: String` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -2643,7 +2663,7 @@ Update Credential - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -2667,7 +2687,7 @@ Update Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2677,7 +2697,7 @@ Update Credential - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -2757,7 +2777,9 @@ Update Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` @@ -2823,13 +2845,13 @@ puts(beta_managed_agents_credential) } ``` -### Delete Credential +### Delete a Credential `beta.vaults.credentials.delete(credential_id, **kwargs) -> BetaManagedAgentsDeletedCredential` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential #### Parameters @@ -2965,7 +2987,7 @@ Delete Credential - `id: String` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). #### Example @@ -2991,13 +3013,13 @@ puts(beta_managed_agents_deleted_credential) } ``` -### Archive Credential +### Archive a Credential `beta.vaults.credentials.archive(credential_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential #### Parameters @@ -3133,7 +3155,7 @@ Archive Credential - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -3157,7 +3179,7 @@ Archive Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -3167,7 +3189,7 @@ Archive Credential - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -3247,7 +3269,9 @@ Archive Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` @@ -3313,13 +3337,13 @@ puts(beta_managed_agents_credential) } ``` -### Validate Credential +### Validate an MCP OAuth Credential `beta.vaults.credentials.mcp_oauth_validate(credential_id, **kwargs) -> BetaManagedAgentsCredentialValidation` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential #### Parameters @@ -3463,11 +3487,11 @@ Validate Credential - `mcp_probe: BetaManagedAgentsMCPProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: BetaManagedAgentsRefreshHTTPResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: String` @@ -3529,11 +3553,11 @@ Validate Credential - `:invalid` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `:unknown` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: Time` diff --git a/content/en/api/ruby/beta/vaults/archive.md b/content/en/api/ruby/beta/vaults/archive.md index 51c895efe2..686cc8cc91 100644 --- a/content/en/api/ruby/beta/vaults/archive.md +++ b/content/en/api/ruby/beta/vaults/archive.md @@ -1,15 +1,15 @@ --- -title: Archive Vault +title: Archive a Vault url: https://platform.claude.com/docs/en/api/ruby/beta/vaults/archive --- -# Archive Vault +# Archive a Vault `beta.vaults.archive(vault_id, **kwargs) -> BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault ## Parameters @@ -141,7 +141,7 @@ Archive Vault - `id: String` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Time` diff --git a/content/en/api/ruby/beta/vaults/create.md b/content/en/api/ruby/beta/vaults/create.md index 63be6aa313..fa119df953 100644 --- a/content/en/api/ruby/beta/vaults/create.md +++ b/content/en/api/ruby/beta/vaults/create.md @@ -1,15 +1,15 @@ --- -title: Create Vault +title: Create a Vault url: https://platform.claude.com/docs/en/api/ruby/beta/vaults/create --- -# Create Vault +# Create a Vault `beta.vaults.create(**kwargs) -> BetaManagedAgentsVault` **POST** `/v1/vaults` -Create Vault +Create a Vault ## Parameters @@ -147,7 +147,7 @@ Create Vault - `id: String` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Time` diff --git a/content/en/api/ruby/beta/vaults/credentials.md b/content/en/api/ruby/beta/vaults/credentials.md index 3cb7073258..8d78fe1e33 100644 --- a/content/en/api/ruby/beta/vaults/credentials.md +++ b/content/en/api/ruby/beta/vaults/credentials.md @@ -5,13 +5,13 @@ url: https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials # Credentials -## Create Credential +## Create a Credential `beta.vaults.credentials.create(vault_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential ### Parameters @@ -31,7 +31,7 @@ Create Credential - `access_token: String` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -43,7 +43,9 @@ Create Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -53,13 +55,13 @@ Create Credential - `client_id: String` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: String` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -85,7 +87,7 @@ Create Credential - `client_secret: String` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -97,7 +99,7 @@ Create Credential - `client_secret: String` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -121,7 +123,7 @@ Create Credential - `token: String` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -155,7 +157,9 @@ Create Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: String` @@ -165,7 +169,7 @@ Create Credential - `secret_value: String` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -315,7 +319,7 @@ Create Credential - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -339,7 +343,7 @@ Create Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -349,7 +353,7 @@ Create Credential - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -429,7 +433,9 @@ Create Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` @@ -515,7 +521,7 @@ List Credentials - `include_archived: bool` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit: Integer` (query parameter) @@ -525,7 +531,7 @@ List Credentials - `page: String` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=ruby) response, to get the next page. Leave it out to get the first page. - `betas: Array[AnthropicBeta]` (header parameter) @@ -651,7 +657,7 @@ List Credentials - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -675,7 +681,7 @@ List Credentials - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -685,7 +691,7 @@ List Credentials - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -765,7 +771,9 @@ List Credentials - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` @@ -833,13 +841,13 @@ puts(page) } ``` -## Get Credential +## Retrieve a Credential `beta.vaults.credentials.retrieve(credential_id, **kwargs) -> BetaManagedAgentsCredential` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential ### Parameters @@ -975,7 +983,7 @@ Get Credential - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -999,7 +1007,7 @@ Get Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1009,7 +1017,7 @@ Get Credential - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -1089,7 +1097,9 @@ Get Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` @@ -1155,13 +1165,13 @@ puts(beta_managed_agents_credential) } ``` -## Update Credential +## Update a Credential `beta.vaults.credentials.update(credential_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential ### Parameters @@ -1175,7 +1185,7 @@ Update Credential - `auth: BetaManagedAgentsMCPOAuthUpdateParams | BetaManagedAgentsStaticBearerUpdateParams | BetaManagedAgentsEnvironmentVariableUpdateParams` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `class BetaManagedAgentsMCPOAuthUpdateParams` @@ -1185,13 +1195,17 @@ Update Credential - `access_token: String` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -1201,13 +1215,13 @@ Update Credential - `refresh_token: String` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: String` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -1221,7 +1235,9 @@ Update Credential - `client_secret: String` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -1233,7 +1249,9 @@ Update Credential - `client_secret: String` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -1245,7 +1263,7 @@ Update Credential - `token: String` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -1269,7 +1287,7 @@ Update Credential - `networking: BetaManagedAgentsCredentialNetworkingParams` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -1285,11 +1303,13 @@ Update Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value: String` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -1427,7 +1447,7 @@ Update Credential - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -1451,7 +1471,7 @@ Update Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1461,7 +1481,7 @@ Update Credential - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -1541,7 +1561,9 @@ Update Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` @@ -1607,13 +1629,13 @@ puts(beta_managed_agents_credential) } ``` -## Delete Credential +## Delete a Credential `beta.vaults.credentials.delete(credential_id, **kwargs) -> BetaManagedAgentsDeletedCredential` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential ### Parameters @@ -1749,7 +1771,7 @@ Delete Credential - `id: String` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ### Example @@ -1775,13 +1797,13 @@ puts(beta_managed_agents_deleted_credential) } ``` -## Archive Credential +## Archive a Credential `beta.vaults.credentials.archive(credential_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential ### Parameters @@ -1917,7 +1939,7 @@ Archive Credential - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -1941,7 +1963,7 @@ Archive Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1951,7 +1973,7 @@ Archive Credential - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -2031,7 +2053,9 @@ Archive Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` @@ -2097,13 +2121,13 @@ puts(beta_managed_agents_credential) } ``` -## Validate Credential +## Validate an MCP OAuth Credential `beta.vaults.credentials.mcp_oauth_validate(credential_id, **kwargs) -> BetaManagedAgentsCredentialValidation` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential ### Parameters @@ -2247,11 +2271,11 @@ Validate Credential - `mcp_probe: BetaManagedAgentsMCPProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: BetaManagedAgentsRefreshHTTPResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: String` @@ -2313,11 +2337,11 @@ Validate Credential - `:invalid` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `:unknown` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: Time` @@ -2387,7 +2411,7 @@ puts(beta_managed_agents_credential_validation) - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -2411,7 +2435,7 @@ puts(beta_managed_agents_credential_validation) - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2421,7 +2445,7 @@ puts(beta_managed_agents_credential_validation) - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -2501,7 +2525,9 @@ puts(beta_managed_agents_credential_validation) - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` @@ -2549,7 +2575,9 @@ puts(beta_managed_agents_credential_validation) - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. ### Beta Managed Agents Credential Validation @@ -2569,11 +2597,11 @@ puts(beta_managed_agents_credential_validation) - `mcp_probe: BetaManagedAgentsMCPProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: BetaManagedAgentsRefreshHTTPResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: String` @@ -2635,11 +2663,11 @@ puts(beta_managed_agents_credential_validation) - `:invalid` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `:unknown` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: Time` @@ -2663,11 +2691,11 @@ puts(beta_managed_agents_credential_validation) - `:invalid` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `:unknown` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. ### Beta Managed Agents Deleted Credential @@ -2679,7 +2707,7 @@ puts(beta_managed_agents_credential_validation) - `id: String` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ### Beta Managed Agents Environment Variable Auth Response @@ -2719,7 +2747,9 @@ puts(beta_managed_agents_credential_validation) - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` @@ -2751,7 +2781,9 @@ puts(beta_managed_agents_credential_validation) - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: String` @@ -2761,7 +2793,7 @@ puts(beta_managed_agents_credential_validation) - `secret_value: String` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -2799,7 +2831,7 @@ puts(beta_managed_agents_credential_validation) - `networking: BetaManagedAgentsCredentialNetworkingParams` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -2815,11 +2847,13 @@ puts(beta_managed_agents_credential_validation) - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value: String` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -2855,7 +2889,11 @@ puts(beta_managed_agents_credential_validation) - `class BetaManagedAgentsInjectionLocationUpdateParams` - Updated injection location. + Changes which parts of an outbound request the secret is substituted into. A location you leave out keeps its current setting. + + After the change, at least one location must be enabled. + + See [Authenticate with vaults](https://platform.claude.com/docs/en/managed-agents/vaults?sdk_languages=ruby#add-a-credential) to learn more about injection locations. - `body: bool` @@ -2875,7 +2913,9 @@ puts(beta_managed_agents_credential_validation) - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. ### Beta Managed Agents Limited Credential Networking Response @@ -2887,7 +2927,9 @@ puts(beta_managed_agents_credential_validation) - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. ### Beta Managed Agents MCP OAuth Auth Response @@ -2903,7 +2945,7 @@ puts(beta_managed_agents_credential_validation) - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2913,7 +2955,7 @@ puts(beta_managed_agents_credential_validation) - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -2957,7 +2999,7 @@ puts(beta_managed_agents_credential_validation) - `access_token: String` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -2969,7 +3011,9 @@ puts(beta_managed_agents_credential_validation) - `expires_at: Time` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -2979,13 +3023,13 @@ puts(beta_managed_agents_credential_validation) - `client_id: String` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: String` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -3011,7 +3055,7 @@ puts(beta_managed_agents_credential_validation) - `client_secret: String` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3023,7 +3067,7 @@ puts(beta_managed_agents_credential_validation) - `client_secret: String` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3047,13 +3091,13 @@ puts(beta_managed_agents_credential_validation) - `client_id: String` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: String` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -3079,7 +3123,7 @@ puts(beta_managed_agents_credential_validation) - `client_secret: String` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3091,7 +3135,7 @@ puts(beta_managed_agents_credential_validation) - `client_secret: String` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3115,7 +3159,7 @@ puts(beta_managed_agents_credential_validation) - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -3157,13 +3201,13 @@ puts(beta_managed_agents_credential_validation) - `refresh_token: String` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: String` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -3177,7 +3221,9 @@ puts(beta_managed_agents_credential_validation) - `client_secret: String` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3189,7 +3235,9 @@ puts(beta_managed_agents_credential_validation) - `client_secret: String` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3203,13 +3251,17 @@ puts(beta_managed_agents_credential_validation) - `access_token: String` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -3219,13 +3271,13 @@ puts(beta_managed_agents_credential_validation) - `refresh_token: String` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: String` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -3239,7 +3291,9 @@ puts(beta_managed_agents_credential_validation) - `client_secret: String` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3251,7 +3305,9 @@ puts(beta_managed_agents_credential_validation) - `client_secret: String` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3263,7 +3319,7 @@ puts(beta_managed_agents_credential_validation) - `http_response: BetaManagedAgentsRefreshHTTPResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: String` @@ -3381,7 +3437,7 @@ puts(beta_managed_agents_credential_validation) - `token: String` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -3401,7 +3457,7 @@ puts(beta_managed_agents_credential_validation) - `token: String` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -3415,7 +3471,7 @@ puts(beta_managed_agents_credential_validation) - `client_secret: String` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3437,7 +3493,9 @@ puts(beta_managed_agents_credential_validation) - `client_secret: String` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3467,7 +3525,7 @@ puts(beta_managed_agents_credential_validation) - `client_secret: String` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3489,7 +3547,9 @@ puts(beta_managed_agents_credential_validation) - `client_secret: String` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 diff --git a/content/en/api/ruby/beta/vaults/credentials/archive.md b/content/en/api/ruby/beta/vaults/credentials/archive.md index 20644746bd..fd9c163bac 100644 --- a/content/en/api/ruby/beta/vaults/credentials/archive.md +++ b/content/en/api/ruby/beta/vaults/credentials/archive.md @@ -1,15 +1,15 @@ --- -title: Archive Credential +title: Archive a Credential url: https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/archive --- -# Archive Credential +# Archive a Credential `beta.vaults.credentials.archive(credential_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential ## Parameters @@ -145,7 +145,7 @@ Archive Credential - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -169,7 +169,7 @@ Archive Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -179,7 +179,7 @@ Archive Credential - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -259,7 +259,9 @@ Archive Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` diff --git a/content/en/api/ruby/beta/vaults/credentials/create.md b/content/en/api/ruby/beta/vaults/credentials/create.md index e29f2d1b26..ec65523b62 100644 --- a/content/en/api/ruby/beta/vaults/credentials/create.md +++ b/content/en/api/ruby/beta/vaults/credentials/create.md @@ -1,15 +1,15 @@ --- -title: Create Credential +title: Create a Credential url: https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/create --- -# Create Credential +# Create a Credential `beta.vaults.credentials.create(vault_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential ## Parameters @@ -29,7 +29,7 @@ Create Credential - `access_token: String` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -41,7 +41,9 @@ Create Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -51,13 +53,13 @@ Create Credential - `client_id: String` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: String` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -83,7 +85,7 @@ Create Credential - `client_secret: String` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -95,7 +97,7 @@ Create Credential - `client_secret: String` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -119,7 +121,7 @@ Create Credential - `token: String` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -153,7 +155,9 @@ Create Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: String` @@ -163,7 +167,7 @@ Create Credential - `secret_value: String` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -313,7 +317,7 @@ Create Credential - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -337,7 +341,7 @@ Create Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -347,7 +351,7 @@ Create Credential - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -427,7 +431,9 @@ Create Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` diff --git a/content/en/api/ruby/beta/vaults/credentials/delete.md b/content/en/api/ruby/beta/vaults/credentials/delete.md index 70306c7d1f..6cb3d00284 100644 --- a/content/en/api/ruby/beta/vaults/credentials/delete.md +++ b/content/en/api/ruby/beta/vaults/credentials/delete.md @@ -1,15 +1,15 @@ --- -title: Delete Credential +title: Delete a Credential url: https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/delete --- -# Delete Credential +# Delete a Credential `beta.vaults.credentials.delete(credential_id, **kwargs) -> BetaManagedAgentsDeletedCredential` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential ## Parameters @@ -145,7 +145,7 @@ Delete Credential - `id: String` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ## Example diff --git a/content/en/api/ruby/beta/vaults/credentials/list.md b/content/en/api/ruby/beta/vaults/credentials/list.md index f369f38689..4724dd7f40 100644 --- a/content/en/api/ruby/beta/vaults/credentials/list.md +++ b/content/en/api/ruby/beta/vaults/credentials/list.md @@ -19,7 +19,7 @@ List Credentials - `include_archived: bool` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit: Integer` (query parameter) @@ -29,7 +29,7 @@ List Credentials - `page: String` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=ruby) response, to get the next page. Leave it out to get the first page. - `betas: Array[AnthropicBeta]` (header parameter) @@ -155,7 +155,7 @@ List Credentials - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -179,7 +179,7 @@ List Credentials - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -189,7 +189,7 @@ List Credentials - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -269,7 +269,9 @@ List Credentials - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` 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 74f4a61551..fb67961bce 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 @@ -1,15 +1,15 @@ --- -title: Validate Credential +title: Validate an MCP OAuth Credential url: https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/mcp_oauth_validate --- -# Validate Credential +# Validate an MCP OAuth Credential `beta.vaults.credentials.mcp_oauth_validate(credential_id, **kwargs) -> BetaManagedAgentsCredentialValidation` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential ## Parameters @@ -153,11 +153,11 @@ Validate Credential - `mcp_probe: BetaManagedAgentsMCPProbe` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: BetaManagedAgentsRefreshHTTPResponse` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: String` @@ -219,11 +219,11 @@ Validate Credential - `:invalid` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `:unknown` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: Time` diff --git a/content/en/api/ruby/beta/vaults/credentials/retrieve.md b/content/en/api/ruby/beta/vaults/credentials/retrieve.md index 33bf0a2088..a0082cb4fc 100644 --- a/content/en/api/ruby/beta/vaults/credentials/retrieve.md +++ b/content/en/api/ruby/beta/vaults/credentials/retrieve.md @@ -1,15 +1,15 @@ --- -title: Get Credential +title: Retrieve a Credential url: https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/retrieve --- -# Get Credential +# Retrieve a Credential `beta.vaults.credentials.retrieve(credential_id, **kwargs) -> BetaManagedAgentsCredential` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential ## Parameters @@ -145,7 +145,7 @@ Get Credential - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -169,7 +169,7 @@ Get Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -179,7 +179,7 @@ Get Credential - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -259,7 +259,9 @@ Get Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` diff --git a/content/en/api/ruby/beta/vaults/credentials/update.md b/content/en/api/ruby/beta/vaults/credentials/update.md index 385fcf7b96..37f6430d23 100644 --- a/content/en/api/ruby/beta/vaults/credentials/update.md +++ b/content/en/api/ruby/beta/vaults/credentials/update.md @@ -1,15 +1,15 @@ --- -title: Update Credential +title: Update a Credential url: https://platform.claude.com/docs/en/api/ruby/beta/vaults/credentials/update --- -# Update Credential +# Update a Credential `beta.vaults.credentials.update(credential_id, **kwargs) -> BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential ## Parameters @@ -23,7 +23,7 @@ Update Credential - `auth: BetaManagedAgentsMCPOAuthUpdateParams | BetaManagedAgentsStaticBearerUpdateParams | BetaManagedAgentsEnvironmentVariableUpdateParams` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `class BetaManagedAgentsMCPOAuthUpdateParams` @@ -33,13 +33,17 @@ Update Credential - `access_token: String` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -49,13 +53,13 @@ Update Credential - `refresh_token: String` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope: String` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -69,7 +73,9 @@ Update Credential - `client_secret: String` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -81,7 +87,9 @@ Update Credential - `client_secret: String` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -93,7 +101,7 @@ Update Credential - `token: String` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -117,7 +125,7 @@ Update Credential - `networking: BetaManagedAgentsCredentialNetworkingParams` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `class BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -133,11 +141,13 @@ Update Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value: String` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -275,7 +285,7 @@ Update Credential - `id: String` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: Time` @@ -299,7 +309,7 @@ Update Credential - `expires_at: Time` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -309,7 +319,7 @@ Update Credential - `client_id: String` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: String` @@ -389,7 +399,9 @@ Update Credential - `allowed_hosts: Array[String]` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: String` diff --git a/content/en/api/ruby/beta/vaults/delete.md b/content/en/api/ruby/beta/vaults/delete.md index 1c1b4d24d7..598161efd4 100644 --- a/content/en/api/ruby/beta/vaults/delete.md +++ b/content/en/api/ruby/beta/vaults/delete.md @@ -1,15 +1,15 @@ --- -title: Delete Vault +title: Delete a Vault url: https://platform.claude.com/docs/en/api/ruby/beta/vaults/delete --- -# Delete Vault +# Delete a Vault `beta.vaults.delete(vault_id, **kwargs) -> BetaManagedAgentsDeletedVault` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault ## Parameters @@ -141,7 +141,7 @@ Delete Vault - `id: String` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ## Example diff --git a/content/en/api/ruby/beta/vaults/list.md b/content/en/api/ruby/beta/vaults/list.md index beff1b27ad..e761413f03 100644 --- a/content/en/api/ruby/beta/vaults/list.md +++ b/content/en/api/ruby/beta/vaults/list.md @@ -15,7 +15,7 @@ List Vaults - `include_archived: bool` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `limit: Integer` (query parameter) @@ -25,7 +25,7 @@ List Vaults - `page: String` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=ruby) response, to get the next page. Leave it out to get the first page. - `betas: Array[AnthropicBeta]` (header parameter) @@ -151,7 +151,7 @@ List Vaults - `id: String` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Time` diff --git a/content/en/api/ruby/beta/vaults/retrieve.md b/content/en/api/ruby/beta/vaults/retrieve.md index 04e0514cba..4a068435bb 100644 --- a/content/en/api/ruby/beta/vaults/retrieve.md +++ b/content/en/api/ruby/beta/vaults/retrieve.md @@ -1,15 +1,15 @@ --- -title: Get Vault +title: Retrieve a Vault url: https://platform.claude.com/docs/en/api/ruby/beta/vaults/retrieve --- -# Get Vault +# Retrieve a Vault `beta.vaults.retrieve(vault_id, **kwargs) -> BetaManagedAgentsVault` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault ## Parameters @@ -141,7 +141,7 @@ Get Vault - `id: String` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Time` diff --git a/content/en/api/ruby/beta/vaults/update.md b/content/en/api/ruby/beta/vaults/update.md index 269c1d33e8..ce2e96e0e8 100644 --- a/content/en/api/ruby/beta/vaults/update.md +++ b/content/en/api/ruby/beta/vaults/update.md @@ -1,15 +1,15 @@ --- -title: Update Vault +title: Update a Vault url: https://platform.claude.com/docs/en/api/ruby/beta/vaults/update --- -# Update Vault +# Update a Vault `beta.vaults.update(vault_id, **kwargs) -> BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault ## Parameters @@ -151,7 +151,7 @@ Update Vault - `id: String` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: Time` diff --git a/content/en/api/ruby/models.md b/content/en/api/ruby/models.md index 610551ce36..d1d3b38919 100644 --- a/content/en/api/ruby/models.md +++ b/content/en/api/ruby/models.md @@ -287,9 +287,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -436,6 +440,9 @@ puts(page) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -720,9 +727,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -867,6 +878,9 @@ puts(model_info) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1074,9 +1088,13 @@ puts(model_info) Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -1208,9 +1226,13 @@ puts(model_info) Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -1334,9 +1356,13 @@ puts(model_info) Whether this capability is supported by the model. + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -1356,9 +1382,13 @@ puts(model_info) Whether this capability is supported by the model. + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` diff --git a/content/en/api/ruby/models/list.md b/content/en/api/ruby/models/list.md index 94a369d087..c35a5186b5 100644 --- a/content/en/api/ruby/models/list.md +++ b/content/en/api/ruby/models/list.md @@ -285,9 +285,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -434,6 +438,9 @@ puts(page) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/ruby/models/retrieve.md b/content/en/api/ruby/models/retrieve.md index 01240c39d3..f79588c315 100644 --- a/content/en/api/ruby/models/retrieve.md +++ b/content/en/api/ruby/models/retrieve.md @@ -261,9 +261,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -408,6 +412,9 @@ puts(model_info) "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/typescript/beta.md b/content/en/api/typescript/beta.md index 3973089da2..18059dbec5 100644 --- a/content/en/api/typescript/beta.md +++ b/content/en/api/typescript/beta.md @@ -739,9 +739,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -902,6 +906,9 @@ for await (const betaModelInfo of client.beta.models.list()) { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1204,9 +1211,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -1364,6 +1375,9 @@ console.log(betaModelInfo.id); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -70340,13 +70354,13 @@ console.log(betaManagedAgentsDeploymentRun.id); ## Beta › Vaults -### Create Vault +### Create a Vault `client.beta.vaults.create(params, options?): BetaManagedAgentsVault` **POST** `/v1/vaults` -Create Vault +Create a Vault #### Parameters @@ -70486,7 +70500,7 @@ Create Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string | null` @@ -70560,7 +70574,7 @@ List Vaults - `include_archived?: boolean` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `limit?: number` (query parameter) @@ -70570,7 +70584,7 @@ List Vaults - `page?: string` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=typescript) response, to get the next page. Leave it out to get the first page. - `betas?: Array` (header parameter) @@ -70696,7 +70710,7 @@ List Vaults - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string | null` @@ -70760,13 +70774,13 @@ for await (const betaManagedAgentsVault of client.beta.vaults.list()) { } ``` -### Get Vault +### Retrieve a Vault `client.beta.vaults.retrieve(vaultID, params?, options?): BetaManagedAgentsVault` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault #### Parameters @@ -70900,7 +70914,7 @@ Get Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string | null` @@ -70960,13 +70974,13 @@ console.log(betaManagedAgentsVault.id); } ``` -### Update Vault +### Update a Vault `client.beta.vaults.update(vaultID, params, options?): BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault #### Parameters @@ -71110,7 +71124,7 @@ Update Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string | null` @@ -71168,13 +71182,13 @@ console.log(betaManagedAgentsVault.id); } ``` -### Delete Vault +### Delete a Vault `client.beta.vaults.delete(vaultID, params?, options?): BetaManagedAgentsDeletedVault` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault #### Parameters @@ -71308,7 +71322,7 @@ Delete Vault - `id: string` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). #### Example @@ -71335,13 +71349,13 @@ console.log(betaManagedAgentsDeletedVault.id); } ``` -### Archive Vault +### Archive a Vault `client.beta.vaults.archive(vaultID, params?, options?): BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault #### Parameters @@ -71475,7 +71489,7 @@ Archive Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string | null` @@ -71537,13 +71551,13 @@ console.log(betaManagedAgentsVault.id); ## Beta › Vaults › Credentials -### Create Credential +### Create a Credential `client.beta.vaults.credentials.create(vaultID, params, options?): BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential #### Parameters @@ -71565,7 +71579,7 @@ Create Credential - `access_token: string` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -71577,7 +71591,9 @@ Create Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -71587,13 +71603,13 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -71619,7 +71635,7 @@ Create Credential - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -71631,7 +71647,7 @@ Create Credential - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -71655,7 +71671,7 @@ Create Credential - `token: string` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -71689,7 +71705,9 @@ Create Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: string` @@ -71699,7 +71717,7 @@ Create Credential - `secret_value: string` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -71849,7 +71867,7 @@ Create Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -71873,7 +71891,7 @@ Create Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -71883,7 +71901,7 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -71963,7 +71981,9 @@ Create Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -72055,7 +72075,7 @@ List Credentials - `include_archived?: boolean` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit?: number` (query parameter) @@ -72065,7 +72085,7 @@ List Credentials - `page?: string` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=typescript) response, to get the next page. Leave it out to get the first page. - `betas?: Array` (header parameter) @@ -72191,7 +72211,7 @@ List Credentials - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -72215,7 +72235,7 @@ List Credentials - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -72225,7 +72245,7 @@ List Credentials - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -72305,7 +72325,9 @@ List Credentials - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -72378,13 +72400,13 @@ for await (const betaManagedAgentsCredential of client.beta.vaults.credentials.l } ``` -### Get Credential +### Retrieve a Credential `client.beta.vaults.credentials.retrieve(credentialID, params, options?): BetaManagedAgentsCredential` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential #### Parameters @@ -72522,7 +72544,7 @@ Get Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -72546,7 +72568,7 @@ Get Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -72556,7 +72578,7 @@ Get Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -72636,7 +72658,9 @@ Get Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -72704,13 +72728,13 @@ console.log(betaManagedAgentsCredential.id); } ``` -### Update Credential +### Update a Credential `client.beta.vaults.credentials.update(credentialID, params, options?): BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential #### Parameters @@ -72726,7 +72750,7 @@ Update Credential - `auth?: BetaManagedAgentsMCPOAuthUpdateParams | BetaManagedAgentsStaticBearerUpdateParams | BetaManagedAgentsEnvironmentVariableUpdateParams` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `interface BetaManagedAgentsMCPOAuthUpdateParams` @@ -72736,13 +72760,17 @@ Update Credential - `access_token?: string | null` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -72752,13 +72780,13 @@ Update Credential - `refresh_token?: string | null` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope?: string | null` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -72772,7 +72800,9 @@ Update Credential - `client_secret?: string | null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -72784,7 +72814,9 @@ Update Credential - `client_secret?: string | null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -72796,7 +72828,7 @@ Update Credential - `token?: string | null` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -72820,7 +72852,7 @@ Update Credential - `networking?: BetaManagedAgentsCredentialNetworkingParams | null` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `interface BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -72836,11 +72868,13 @@ Update Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value?: string | null` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -72978,7 +73012,7 @@ Update Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -73002,7 +73036,7 @@ Update Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -73012,7 +73046,7 @@ Update Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -73092,7 +73126,9 @@ Update Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -73160,13 +73196,13 @@ console.log(betaManagedAgentsCredential.id); } ``` -### Delete Credential +### Delete a Credential `client.beta.vaults.credentials.delete(credentialID, params, options?): BetaManagedAgentsDeletedCredential` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential #### Parameters @@ -73304,7 +73340,7 @@ Delete Credential - `id: string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). #### Example @@ -73332,13 +73368,13 @@ console.log(betaManagedAgentsDeletedCredential.id); } ``` -### Archive Credential +### Archive a Credential `client.beta.vaults.credentials.archive(credentialID, params, options?): BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential #### Parameters @@ -73476,7 +73512,7 @@ Archive Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -73500,7 +73536,7 @@ Archive Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -73510,7 +73546,7 @@ Archive Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -73590,7 +73626,9 @@ Archive Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -73658,13 +73696,13 @@ console.log(betaManagedAgentsCredential.id); } ``` -### Validate Credential +### Validate an MCP OAuth Credential `client.beta.vaults.credentials.mcpOAuthValidate(credentialID, params, options?): BetaManagedAgentsCredentialValidation` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential #### Parameters @@ -73810,11 +73848,11 @@ Validate Credential - `mcp_probe: BetaManagedAgentsMCPProbe | null` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: BetaManagedAgentsRefreshHTTPResponse | null` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: string` @@ -73876,11 +73914,11 @@ Validate Credential - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: string` @@ -104993,7 +105031,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string | null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -105045,7 +105083,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" | "privileged" | "remote" | null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -105381,7 +105423,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string | null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -105433,7 +105475,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" | "privileged" | "remote" | null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -105787,7 +105833,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string | null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -105839,7 +105885,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" | "privileged" | "remote" | null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -106231,7 +106281,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string | null` - The version string the served version's manifest declares. + The served version's manifest `version`, normalized for display, or `null` (the Plugin Version's `manifest_version` says how and when). - `marketplace_id: string` @@ -106283,7 +106333,11 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" | "privileged" | "remote" | null` - How far the served version reaches: `remote` when it declares an MCP server or a CLI, `privileged` when it declares a hook, monitor, language server or settings but nothing remote, `contained` otherwise; null when not classifiable. + 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"` @@ -106822,7 +106876,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string | null` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -106830,7 +106884,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" | "privileged" | "remote" | null` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -107160,7 +107214,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string | null` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -107168,7 +107222,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" | "privileged" | "remote" | null` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -107491,7 +107545,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `manifest_version: string | null` - The version string the manifest declares; null when it declares none. + 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). - `plugin_id: string` @@ -107499,7 +107553,7 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `reach: "contained" | "privileged" | "remote" | null` - How far the version reaches: `remote`, `privileged` or `contained`, as on the Plugin; null when not classifiable. + How far the version reaches: `remote`, `privileged`, `contained`, or `null`, as defined on the Plugin's `reach`. - `"contained"` @@ -109660,13 +109714,13 @@ Every request must include the beta header `anthropic-beta: ce-plugins-2026-09-0 - `repository_url: string` - The `https://` URL of a public repository on github.com that holds the marketplace. Any other host, a URL with credentials in it, or one that does not name a repository is a 400. + 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. minLength: 1 - `ref?: string | null` - The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, or a value that is neither a branch name nor a 40-character SHA, is a 400. + The branch to validate the tip of, or the full 40-character SHA of the commit to validate. When omitted, the branch a synchronization would read (usually the repository's default branch); if that is not the default branch, the report's `ref` says which branch was read. An empty string, a value longer than 255 characters, or one that contains `..` or a character other than ASCII letters, digits, `.`, `_`, `-`, `+`, and `/`, is a 400. Any other value that is not a 40-character SHA is read as a branch name; if the repository has no such branch, the response is a report with `valid: false`, not a 400. minLength: 1 diff --git a/content/en/api/typescript/beta/models.md b/content/en/api/typescript/beta/models.md index 5c7125c734..08ec908fa9 100644 --- a/content/en/api/typescript/beta/models.md +++ b/content/en/api/typescript/beta/models.md @@ -305,9 +305,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -468,6 +472,9 @@ for await (const betaModelInfo of client.beta.models.list()) { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -770,9 +777,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -930,6 +941,9 @@ console.log(betaModelInfo.id); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1169,9 +1183,13 @@ console.log(betaModelInfo.id); Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -1321,9 +1339,13 @@ console.log(betaModelInfo.id); Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -1449,9 +1471,13 @@ console.log(betaModelInfo.id); Whether this capability is supported by the model. + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -1471,9 +1497,13 @@ console.log(betaModelInfo.id); Whether this capability is supported by the model. + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` diff --git a/content/en/api/typescript/beta/models/list.md b/content/en/api/typescript/beta/models/list.md index b01c08f2ea..6fe10563d9 100644 --- a/content/en/api/typescript/beta/models/list.md +++ b/content/en/api/typescript/beta/models/list.md @@ -303,9 +303,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -466,6 +470,9 @@ for await (const betaModelInfo of client.beta.models.list()) { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/typescript/beta/models/retrieve.md b/content/en/api/typescript/beta/models/retrieve.md index 89c2055ee5..a39e21f8b4 100644 --- a/content/en/api/typescript/beta/models/retrieve.md +++ b/content/en/api/typescript/beta/models/retrieve.md @@ -279,9 +279,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: BetaCapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: BetaCapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: BetaCapabilitySupport` @@ -439,6 +443,9 @@ console.log(betaModelInfo.id); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/typescript/beta/vaults.md b/content/en/api/typescript/beta/vaults.md index b5262c7bab..fa3b597e15 100644 --- a/content/en/api/typescript/beta/vaults.md +++ b/content/en/api/typescript/beta/vaults.md @@ -5,13 +5,13 @@ url: https://platform.claude.com/docs/en/api/typescript/beta/vaults # Vaults -## Create Vault +## Create a Vault `client.beta.vaults.create(params, options?): BetaManagedAgentsVault` **POST** `/v1/vaults` -Create Vault +Create a Vault ### Parameters @@ -151,7 +151,7 @@ Create Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string | null` @@ -225,7 +225,7 @@ List Vaults - `include_archived?: boolean` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `limit?: number` (query parameter) @@ -235,7 +235,7 @@ List Vaults - `page?: string` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=typescript) response, to get the next page. Leave it out to get the first page. - `betas?: Array` (header parameter) @@ -361,7 +361,7 @@ List Vaults - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string | null` @@ -425,13 +425,13 @@ for await (const betaManagedAgentsVault of client.beta.vaults.list()) { } ``` -## Get Vault +## Retrieve a Vault `client.beta.vaults.retrieve(vaultID, params?, options?): BetaManagedAgentsVault` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault ### Parameters @@ -565,7 +565,7 @@ Get Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string | null` @@ -625,13 +625,13 @@ console.log(betaManagedAgentsVault.id); } ``` -## Update Vault +## Update a Vault `client.beta.vaults.update(vaultID, params, options?): BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault ### Parameters @@ -775,7 +775,7 @@ Update Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string | null` @@ -833,13 +833,13 @@ console.log(betaManagedAgentsVault.id); } ``` -## Delete Vault +## Delete a Vault `client.beta.vaults.delete(vaultID, params?, options?): BetaManagedAgentsDeletedVault` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault ### Parameters @@ -973,7 +973,7 @@ Delete Vault - `id: string` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ### Example @@ -1000,13 +1000,13 @@ console.log(betaManagedAgentsDeletedVault.id); } ``` -## Archive Vault +## Archive a Vault `client.beta.vaults.archive(vaultID, params?, options?): BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault ### Parameters @@ -1140,7 +1140,7 @@ Archive Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string | null` @@ -1212,7 +1212,7 @@ console.log(betaManagedAgentsVault.id); - `id: string` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ### Beta Managed Agents Vault @@ -1224,7 +1224,7 @@ console.log(betaManagedAgentsVault.id); - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string | null` @@ -1254,13 +1254,13 @@ console.log(betaManagedAgentsVault.id); ## Vaults › Credentials -### Create Credential +### Create a Credential `client.beta.vaults.credentials.create(vaultID, params, options?): BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential #### Parameters @@ -1282,7 +1282,7 @@ Create Credential - `access_token: string` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -1294,7 +1294,9 @@ Create Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -1304,13 +1306,13 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -1336,7 +1338,7 @@ Create Credential - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -1348,7 +1350,7 @@ Create Credential - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -1372,7 +1374,7 @@ Create Credential - `token: string` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -1406,7 +1408,9 @@ Create Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: string` @@ -1416,7 +1420,7 @@ Create Credential - `secret_value: string` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -1566,7 +1570,7 @@ Create Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -1590,7 +1594,7 @@ Create Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1600,7 +1604,7 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -1680,7 +1684,9 @@ Create Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -1772,7 +1778,7 @@ List Credentials - `include_archived?: boolean` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit?: number` (query parameter) @@ -1782,7 +1788,7 @@ List Credentials - `page?: string` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=typescript) response, to get the next page. Leave it out to get the first page. - `betas?: Array` (header parameter) @@ -1908,7 +1914,7 @@ List Credentials - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -1932,7 +1938,7 @@ List Credentials - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1942,7 +1948,7 @@ List Credentials - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -2022,7 +2028,9 @@ List Credentials - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -2095,13 +2103,13 @@ for await (const betaManagedAgentsCredential of client.beta.vaults.credentials.l } ``` -### Get Credential +### Retrieve a Credential `client.beta.vaults.credentials.retrieve(credentialID, params, options?): BetaManagedAgentsCredential` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential #### Parameters @@ -2239,7 +2247,7 @@ Get Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -2263,7 +2271,7 @@ Get Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2273,7 +2281,7 @@ Get Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -2353,7 +2361,9 @@ Get Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -2421,13 +2431,13 @@ console.log(betaManagedAgentsCredential.id); } ``` -### Update Credential +### Update a Credential `client.beta.vaults.credentials.update(credentialID, params, options?): BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential #### Parameters @@ -2443,7 +2453,7 @@ Update Credential - `auth?: BetaManagedAgentsMCPOAuthUpdateParams | BetaManagedAgentsStaticBearerUpdateParams | BetaManagedAgentsEnvironmentVariableUpdateParams` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `interface BetaManagedAgentsMCPOAuthUpdateParams` @@ -2453,13 +2463,17 @@ Update Credential - `access_token?: string | null` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -2469,13 +2483,13 @@ Update Credential - `refresh_token?: string | null` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope?: string | null` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -2489,7 +2503,9 @@ Update Credential - `client_secret?: string | null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -2501,7 +2517,9 @@ Update Credential - `client_secret?: string | null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -2513,7 +2531,7 @@ Update Credential - `token?: string | null` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -2537,7 +2555,7 @@ Update Credential - `networking?: BetaManagedAgentsCredentialNetworkingParams | null` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `interface BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -2553,11 +2571,13 @@ Update Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value?: string | null` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -2695,7 +2715,7 @@ Update Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -2719,7 +2739,7 @@ Update Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2729,7 +2749,7 @@ Update Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -2809,7 +2829,9 @@ Update Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -2877,13 +2899,13 @@ console.log(betaManagedAgentsCredential.id); } ``` -### Delete Credential +### Delete a Credential `client.beta.vaults.credentials.delete(credentialID, params, options?): BetaManagedAgentsDeletedCredential` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential #### Parameters @@ -3021,7 +3043,7 @@ Delete Credential - `id: string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). #### Example @@ -3049,13 +3071,13 @@ console.log(betaManagedAgentsDeletedCredential.id); } ``` -### Archive Credential +### Archive a Credential `client.beta.vaults.credentials.archive(credentialID, params, options?): BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential #### Parameters @@ -3193,7 +3215,7 @@ Archive Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -3217,7 +3239,7 @@ Archive Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -3227,7 +3249,7 @@ Archive Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -3307,7 +3329,9 @@ Archive Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -3375,13 +3399,13 @@ console.log(betaManagedAgentsCredential.id); } ``` -### Validate Credential +### Validate an MCP OAuth Credential `client.beta.vaults.credentials.mcpOAuthValidate(credentialID, params, options?): BetaManagedAgentsCredentialValidation` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential #### Parameters @@ -3527,11 +3551,11 @@ Validate Credential - `mcp_probe: BetaManagedAgentsMCPProbe | null` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: BetaManagedAgentsRefreshHTTPResponse | null` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: string` @@ -3593,11 +3617,11 @@ Validate Credential - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: string` diff --git a/content/en/api/typescript/beta/vaults/archive.md b/content/en/api/typescript/beta/vaults/archive.md index 65938dbeaf..8535435f76 100644 --- a/content/en/api/typescript/beta/vaults/archive.md +++ b/content/en/api/typescript/beta/vaults/archive.md @@ -1,15 +1,15 @@ --- -title: Archive Vault +title: Archive a Vault url: https://platform.claude.com/docs/en/api/typescript/beta/vaults/archive --- -# Archive Vault +# Archive a Vault `client.beta.vaults.archive(vaultID, params?, options?): BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}/archive` -Archive Vault +Archive a Vault ## Parameters @@ -143,7 +143,7 @@ Archive Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string | null` diff --git a/content/en/api/typescript/beta/vaults/create.md b/content/en/api/typescript/beta/vaults/create.md index 9709bfea8b..93d0fcac54 100644 --- a/content/en/api/typescript/beta/vaults/create.md +++ b/content/en/api/typescript/beta/vaults/create.md @@ -1,15 +1,15 @@ --- -title: Create Vault +title: Create a Vault url: https://platform.claude.com/docs/en/api/typescript/beta/vaults/create --- -# Create Vault +# Create a Vault `client.beta.vaults.create(params, options?): BetaManagedAgentsVault` **POST** `/v1/vaults` -Create Vault +Create a Vault ## Parameters @@ -149,7 +149,7 @@ Create Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string | null` diff --git a/content/en/api/typescript/beta/vaults/credentials.md b/content/en/api/typescript/beta/vaults/credentials.md index 35ceea6bbc..aebead2fb2 100644 --- a/content/en/api/typescript/beta/vaults/credentials.md +++ b/content/en/api/typescript/beta/vaults/credentials.md @@ -5,13 +5,13 @@ url: https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials # Credentials -## Create Credential +## Create a Credential `client.beta.vaults.credentials.create(vaultID, params, options?): BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential ### Parameters @@ -33,7 +33,7 @@ Create Credential - `access_token: string` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -45,7 +45,9 @@ Create Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -55,13 +57,13 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -87,7 +89,7 @@ Create Credential - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -99,7 +101,7 @@ Create Credential - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -123,7 +125,7 @@ Create Credential - `token: string` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -157,7 +159,9 @@ Create Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: string` @@ -167,7 +171,7 @@ Create Credential - `secret_value: string` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -317,7 +321,7 @@ Create Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -341,7 +345,7 @@ Create Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -351,7 +355,7 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -431,7 +435,9 @@ Create Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -523,7 +529,7 @@ List Credentials - `include_archived?: boolean` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit?: number` (query parameter) @@ -533,7 +539,7 @@ List Credentials - `page?: string` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=typescript) response, to get the next page. Leave it out to get the first page. - `betas?: Array` (header parameter) @@ -659,7 +665,7 @@ List Credentials - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -683,7 +689,7 @@ List Credentials - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -693,7 +699,7 @@ List Credentials - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -773,7 +779,9 @@ List Credentials - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -846,13 +854,13 @@ for await (const betaManagedAgentsCredential of client.beta.vaults.credentials.l } ``` -## Get Credential +## Retrieve a Credential `client.beta.vaults.credentials.retrieve(credentialID, params, options?): BetaManagedAgentsCredential` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential ### Parameters @@ -990,7 +998,7 @@ Get Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -1014,7 +1022,7 @@ Get Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1024,7 +1032,7 @@ Get Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -1104,7 +1112,9 @@ Get Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -1172,13 +1182,13 @@ console.log(betaManagedAgentsCredential.id); } ``` -## Update Credential +## Update a Credential `client.beta.vaults.credentials.update(credentialID, params, options?): BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential ### Parameters @@ -1194,7 +1204,7 @@ Update Credential - `auth?: BetaManagedAgentsMCPOAuthUpdateParams | BetaManagedAgentsStaticBearerUpdateParams | BetaManagedAgentsEnvironmentVariableUpdateParams` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `interface BetaManagedAgentsMCPOAuthUpdateParams` @@ -1204,13 +1214,17 @@ Update Credential - `access_token?: string | null` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -1220,13 +1234,13 @@ Update Credential - `refresh_token?: string | null` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope?: string | null` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -1240,7 +1254,9 @@ Update Credential - `client_secret?: string | null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -1252,7 +1268,9 @@ Update Credential - `client_secret?: string | null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -1264,7 +1282,7 @@ Update Credential - `token?: string | null` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -1288,7 +1306,7 @@ Update Credential - `networking?: BetaManagedAgentsCredentialNetworkingParams | null` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `interface BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -1304,11 +1322,13 @@ Update Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value?: string | null` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -1446,7 +1466,7 @@ Update Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -1470,7 +1490,7 @@ Update Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1480,7 +1500,7 @@ Update Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -1560,7 +1580,9 @@ Update Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -1628,13 +1650,13 @@ console.log(betaManagedAgentsCredential.id); } ``` -## Delete Credential +## Delete a Credential `client.beta.vaults.credentials.delete(credentialID, params, options?): BetaManagedAgentsDeletedCredential` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential ### Parameters @@ -1772,7 +1794,7 @@ Delete Credential - `id: string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ### Example @@ -1800,13 +1822,13 @@ console.log(betaManagedAgentsDeletedCredential.id); } ``` -## Archive Credential +## Archive a Credential `client.beta.vaults.credentials.archive(credentialID, params, options?): BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential ### Parameters @@ -1944,7 +1966,7 @@ Archive Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -1968,7 +1990,7 @@ Archive Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -1978,7 +2000,7 @@ Archive Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -2058,7 +2080,9 @@ Archive Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -2126,13 +2150,13 @@ console.log(betaManagedAgentsCredential.id); } ``` -## Validate Credential +## Validate an MCP OAuth Credential `client.beta.vaults.credentials.mcpOAuthValidate(credentialID, params, options?): BetaManagedAgentsCredentialValidation` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential ### Parameters @@ -2278,11 +2302,11 @@ Validate Credential - `mcp_probe: BetaManagedAgentsMCPProbe | null` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: BetaManagedAgentsRefreshHTTPResponse | null` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: string` @@ -2344,11 +2368,11 @@ Validate Credential - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: string` @@ -2420,7 +2444,7 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -2444,7 +2468,7 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2454,7 +2478,7 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -2534,7 +2558,9 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -2582,7 +2608,9 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. ### Beta Managed Agents Credential Validation @@ -2602,11 +2630,11 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `mcp_probe: BetaManagedAgentsMCPProbe | null` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: BetaManagedAgentsRefreshHTTPResponse | null` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: string` @@ -2668,11 +2696,11 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: string` @@ -2696,11 +2724,11 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. ### Beta Managed Agents Deleted Credential @@ -2712,7 +2740,7 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `id: string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ### Beta Managed Agents Environment Variable Auth Response @@ -2752,7 +2780,9 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` @@ -2784,7 +2814,9 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: string` @@ -2794,7 +2826,7 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `secret_value: string` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -2832,7 +2864,7 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `networking?: BetaManagedAgentsCredentialNetworkingParams | null` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `interface BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -2848,11 +2880,13 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value?: string | null` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -2888,7 +2922,11 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `interface BetaManagedAgentsInjectionLocationUpdateParams` - Updated injection location. + Changes which parts of an outbound request the secret is substituted into. A location you leave out keeps its current setting. + + After the change, at least one location must be enabled. + + See [Authenticate with vaults](https://platform.claude.com/docs/en/managed-agents/vaults?sdk_languages=typescript#add-a-credential) to learn more about injection locations. - `body?: boolean` @@ -2908,7 +2946,9 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. ### Beta Managed Agents Limited Credential Networking Response @@ -2920,7 +2960,9 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. ### Beta Managed Agents MCP OAuth Auth Response @@ -2936,7 +2978,7 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -2946,7 +2988,7 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -2990,7 +3032,7 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `access_token: string` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -3002,7 +3044,9 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `expires_at?: string | null` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -3012,13 +3056,13 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `client_id: string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -3044,7 +3088,7 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3056,7 +3100,7 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3080,13 +3124,13 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `client_id: string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -3112,7 +3156,7 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3124,7 +3168,7 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3148,7 +3192,7 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -3190,13 +3234,13 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `refresh_token?: string | null` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope?: string | null` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -3210,7 +3254,9 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `client_secret?: string | null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3222,7 +3268,9 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `client_secret?: string | null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3236,13 +3284,17 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `access_token?: string | null` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -3252,13 +3304,13 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `refresh_token?: string | null` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope?: string | null` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -3272,7 +3324,9 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `client_secret?: string | null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3284,7 +3338,9 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `client_secret?: string | null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3296,7 +3352,7 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `http_response: BetaManagedAgentsRefreshHTTPResponse | null` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: string` @@ -3414,7 +3470,7 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `token: string` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -3434,7 +3490,7 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `token?: string | null` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -3448,7 +3504,7 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -3470,7 +3526,9 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `client_secret?: string | null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -3500,7 +3558,7 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -3522,7 +3580,9 @@ console.log(betaManagedAgentsCredentialValidation.credential_id); - `client_secret?: string | null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 diff --git a/content/en/api/typescript/beta/vaults/credentials/archive.md b/content/en/api/typescript/beta/vaults/credentials/archive.md index 2767b790a1..b8c0d821ea 100644 --- a/content/en/api/typescript/beta/vaults/credentials/archive.md +++ b/content/en/api/typescript/beta/vaults/credentials/archive.md @@ -1,15 +1,15 @@ --- -title: Archive Credential +title: Archive a Credential url: https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/archive --- -# Archive Credential +# Archive a Credential `client.beta.vaults.credentials.archive(credentialID, params, options?): BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive` -Archive Credential +Archive a Credential ## Parameters @@ -147,7 +147,7 @@ Archive Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -171,7 +171,7 @@ Archive Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -181,7 +181,7 @@ Archive Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -261,7 +261,9 @@ Archive Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` diff --git a/content/en/api/typescript/beta/vaults/credentials/create.md b/content/en/api/typescript/beta/vaults/credentials/create.md index e5f8936750..eda26e2349 100644 --- a/content/en/api/typescript/beta/vaults/credentials/create.md +++ b/content/en/api/typescript/beta/vaults/credentials/create.md @@ -1,15 +1,15 @@ --- -title: Create Credential +title: Create a Credential url: https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/create --- -# Create Credential +# Create a Credential `client.beta.vaults.credentials.create(vaultID, params, options?): BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials` -Create Credential +Create a Credential ## Parameters @@ -31,7 +31,7 @@ Create Credential - `access_token: string` - OAuth access token. + The OAuth access token to send to the MCP server. minLength: 1, maxLength: 8192 @@ -43,7 +43,9 @@ Create Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When `access_token` expires, in RFC 3339. + + Must be in the future. format: date-time @@ -53,13 +55,13 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID to use when refreshing the access token. It can't be changed after the credential is created. minLength: 1, maxLength: 1024 - `refresh_token: string` - OAuth refresh token. + The OAuth refresh token that the API uses to get a new access token when the current one expires. minLength: 1, maxLength: 8192 @@ -85,7 +87,7 @@ Create Credential - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` with HTTP Basic authentication. minLength: 1, maxLength: 512 @@ -97,7 +99,7 @@ Create Credential - `client_secret: string` - OAuth client secret. + The OAuth client secret, sent to `token_endpoint` in the POST body. minLength: 1, maxLength: 512 @@ -121,7 +123,7 @@ Create Credential - `token: string` - Static bearer token value. + The static bearer token to send to the MCP server, such as an API key or personal access token. minLength: 1, maxLength: 8192 @@ -155,7 +157,9 @@ Create Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_name: string` @@ -165,7 +169,7 @@ Create Credential - `secret_value: string` - Secret value. Write-only; never returned in responses. + The secret to substitute into the agent's outbound requests. It's write-only and never returned in responses. minLength: 1, maxLength: 4096 @@ -315,7 +319,7 @@ Create Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -339,7 +343,7 @@ Create Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -349,7 +353,7 @@ Create Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -429,7 +433,9 @@ Create Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` diff --git a/content/en/api/typescript/beta/vaults/credentials/delete.md b/content/en/api/typescript/beta/vaults/credentials/delete.md index dfa8043a4d..5b7e008070 100644 --- a/content/en/api/typescript/beta/vaults/credentials/delete.md +++ b/content/en/api/typescript/beta/vaults/credentials/delete.md @@ -1,15 +1,15 @@ --- -title: Delete Credential +title: Delete a Credential url: https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/delete --- -# Delete Credential +# Delete a Credential `client.beta.vaults.credentials.delete(credentialID, params, options?): BetaManagedAgentsDeletedCredential` **DELETE** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Delete Credential +Delete a Credential ## Parameters @@ -147,7 +147,7 @@ Delete Credential - `id: string` - Unique identifier of the deleted credential. + The unique ID of the deleted credential (`vcrd_...`). ## Example diff --git a/content/en/api/typescript/beta/vaults/credentials/list.md b/content/en/api/typescript/beta/vaults/credentials/list.md index 2c2f26dfce..81206e531c 100644 --- a/content/en/api/typescript/beta/vaults/credentials/list.md +++ b/content/en/api/typescript/beta/vaults/credentials/list.md @@ -21,7 +21,7 @@ List Credentials - `include_archived?: boolean` (query parameter) - Whether to include archived credentials in the results. + Whether to include archived credentials in the results. Defaults to `false`. - `limit?: number` (query parameter) @@ -31,7 +31,7 @@ List Credentials - `page?: string` (query parameter) - Opaque pagination token from a previous `list_credentials` response. + The `next_page` value from a previous [List Credentials](https://platform.claude.com/docs/en/api/beta/vaults/credentials/list?sdk_languages=typescript) response, to get the next page. Leave it out to get the first page. - `betas?: Array` (header parameter) @@ -157,7 +157,7 @@ List Credentials - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -181,7 +181,7 @@ List Credentials - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -191,7 +191,7 @@ List Credentials - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -271,7 +271,9 @@ List Credentials - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` 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 87fdb9e9e6..c4c88bda6c 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 @@ -1,15 +1,15 @@ --- -title: Validate Credential +title: Validate an MCP OAuth Credential url: https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/mcp_oauth_validate --- -# Validate Credential +# Validate an MCP OAuth Credential `client.beta.vaults.credentials.mcpOAuthValidate(credentialID, params, options?): BetaManagedAgentsCredentialValidation` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate` -Validate Credential +Validate an MCP OAuth Credential ## Parameters @@ -155,11 +155,11 @@ Validate Credential - `mcp_probe: BetaManagedAgentsMCPProbe | null` - Details of the failing MCP probe step. Null when the probe succeeded. + Details of the MCP probe step that failed, or `null` if the probe succeeded or there was no access token to test. - `http_response: BetaManagedAgentsRefreshHTTPResponse | null` - The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS). + The HTTP error response from the MCP server, or `null` if the MCP server didn't return one for the failing step, for example after a timeout or a DNS or TLS failure. - `body: string` @@ -221,11 +221,11 @@ Validate Credential - `"invalid"` - The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it. + The probe reached the MCP server and the server rejected the credential, or no access token is stored. A refresh, if one was tried, didn't recover it. Usually the end user needs to authorize again. - `"unknown"` - The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed. + The probe couldn't tell whether the credential works, for example because of a network error or because a refresh succeeded but the new access token wasn't tested. Validate the credential again to find out. - `validated_at: string` diff --git a/content/en/api/typescript/beta/vaults/credentials/retrieve.md b/content/en/api/typescript/beta/vaults/credentials/retrieve.md index de3914a89d..4ba9316d5d 100644 --- a/content/en/api/typescript/beta/vaults/credentials/retrieve.md +++ b/content/en/api/typescript/beta/vaults/credentials/retrieve.md @@ -1,15 +1,15 @@ --- -title: Get Credential +title: Retrieve a Credential url: https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/retrieve --- -# Get Credential +# Retrieve a Credential `client.beta.vaults.credentials.retrieve(credentialID, params, options?): BetaManagedAgentsCredential` **GET** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Get Credential +Retrieve a Credential ## Parameters @@ -147,7 +147,7 @@ Get Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -171,7 +171,7 @@ Get Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -181,7 +181,7 @@ Get Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -261,7 +261,9 @@ Get Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` diff --git a/content/en/api/typescript/beta/vaults/credentials/update.md b/content/en/api/typescript/beta/vaults/credentials/update.md index 70e5a30f3f..285ce26889 100644 --- a/content/en/api/typescript/beta/vaults/credentials/update.md +++ b/content/en/api/typescript/beta/vaults/credentials/update.md @@ -1,15 +1,15 @@ --- -title: Update Credential +title: Update a Credential url: https://platform.claude.com/docs/en/api/typescript/beta/vaults/credentials/update --- -# Update Credential +# Update a Credential `client.beta.vaults.credentials.update(credentialID, params, options?): BetaManagedAgentsCredential` **POST** `/v1/vaults/{vault_id}/credentials/{credential_id}` -Update Credential +Update a Credential ## Parameters @@ -25,7 +25,7 @@ Update Credential - `auth?: BetaManagedAgentsMCPOAuthUpdateParams | BetaManagedAgentsStaticBearerUpdateParams | BetaManagedAgentsEnvironmentVariableUpdateParams` - Updated authentication configuration. The `type` is immutable; the variant sent must match the stored credential's type. + New authentication settings for the credential. The `type` must match the credential's current type, which can't be changed. - `interface BetaManagedAgentsMCPOAuthUpdateParams` @@ -35,13 +35,17 @@ Update Credential - `access_token?: string | null` - Updated OAuth access token. + The new OAuth access token to replace the stored one. minLength: 1, maxLength: 8192 - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Leave it out to keep the stored expiry. + + If you send a new `access_token`, send its `expires_at` too, or the new token keeps the old expiry. + + Must be in the future. format: date-time @@ -51,13 +55,13 @@ Update Credential - `refresh_token?: string | null` - Updated OAuth refresh token. + The new OAuth refresh token to replace the stored one. minLength: 1, maxLength: 8192 - `scope?: string | null` - Updated OAuth scope for the refresh request. + The new OAuth scope for refresh requests. Send an empty string to clear the stored scope. maxLength: 8192 @@ -71,7 +75,9 @@ Update Credential - `client_secret?: string | null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -83,7 +89,9 @@ Update Credential - `client_secret?: string | null` - Updated OAuth client secret. + A new OAuth client secret to replace the stored one. + + The credential must already use `client_secret_basic` or `client_secret_post`. It keeps its current `token_endpoint_auth` type, even if the `type` sent with this secret is the other one. minLength: 1, maxLength: 512 @@ -95,7 +103,7 @@ Update Credential - `token?: string | null` - Updated static bearer token value. + The new static bearer token to replace the stored one. minLength: 1, maxLength: 8192 @@ -119,7 +127,7 @@ Update Credential - `networking?: BetaManagedAgentsCredentialNetworkingParams | null` - Updated networking scope. Full replacement. + The new networking scope, which replaces the stored one as a whole. - `interface BetaManagedAgentsUnrestrictedCredentialNetworkingParams` @@ -135,11 +143,13 @@ Update Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.` wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses aren't accepted. The list can have up to 16 entries. - `secret_value?: string | null` - Updated secret value. + The new secret value to replace the stored one. minLength: 1, maxLength: 4096 @@ -277,7 +287,7 @@ Update Credential - `id: string` - Unique identifier for the credential. + The unique ID of the credential (`vcrd_...`). - `archived_at: string | null` @@ -301,7 +311,7 @@ Update Credential - `expires_at?: string | null` - A timestamp in RFC 3339 format + When the credential's access token expires, in RFC 3339. Absent if the expiry isn't known. format: date-time @@ -311,7 +321,7 @@ Update Credential - `client_id: string` - OAuth client ID. + The OAuth client ID used when refreshing the access token. - `token_endpoint: string` @@ -391,7 +401,9 @@ Update Credential - `allowed_hosts: Array` - Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself. + The destination hosts of the outbound requests that the credential's secret is substituted into. + + An entry matches the request host exactly. An entry such as `*.example.com` matches any subdomain of `example.com` but not `example.com` itself. - `secret_name: string` diff --git a/content/en/api/typescript/beta/vaults/delete.md b/content/en/api/typescript/beta/vaults/delete.md index 5817ad98f2..5444fdebbd 100644 --- a/content/en/api/typescript/beta/vaults/delete.md +++ b/content/en/api/typescript/beta/vaults/delete.md @@ -1,15 +1,15 @@ --- -title: Delete Vault +title: Delete a Vault url: https://platform.claude.com/docs/en/api/typescript/beta/vaults/delete --- -# Delete Vault +# Delete a Vault `client.beta.vaults.delete(vaultID, params?, options?): BetaManagedAgentsDeletedVault` **DELETE** `/v1/vaults/{vault_id}` -Delete Vault +Delete a Vault ## Parameters @@ -143,7 +143,7 @@ Delete Vault - `id: string` - Unique identifier of the deleted vault. + The unique ID of the deleted vault (`vlt_...`). ## Example diff --git a/content/en/api/typescript/beta/vaults/list.md b/content/en/api/typescript/beta/vaults/list.md index 11500d0407..dd29e37e57 100644 --- a/content/en/api/typescript/beta/vaults/list.md +++ b/content/en/api/typescript/beta/vaults/list.md @@ -17,7 +17,7 @@ List Vaults - `include_archived?: boolean` (query parameter) - Whether to include archived vaults in the results. + Whether to include archived vaults in the results. Defaults to `false`. - `limit?: number` (query parameter) @@ -27,7 +27,7 @@ List Vaults - `page?: string` (query parameter) - Opaque pagination token from a previous `list_vaults` response. + The `next_page` value from a previous [List Vaults](https://platform.claude.com/docs/en/api/beta/vaults/list?sdk_languages=typescript) response, to get the next page. Leave it out to get the first page. - `betas?: Array` (header parameter) @@ -153,7 +153,7 @@ List Vaults - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string | null` diff --git a/content/en/api/typescript/beta/vaults/retrieve.md b/content/en/api/typescript/beta/vaults/retrieve.md index 1e2e9e069f..a8128600b8 100644 --- a/content/en/api/typescript/beta/vaults/retrieve.md +++ b/content/en/api/typescript/beta/vaults/retrieve.md @@ -1,15 +1,15 @@ --- -title: Get Vault +title: Retrieve a Vault url: https://platform.claude.com/docs/en/api/typescript/beta/vaults/retrieve --- -# Get Vault +# Retrieve a Vault `client.beta.vaults.retrieve(vaultID, params?, options?): BetaManagedAgentsVault` **GET** `/v1/vaults/{vault_id}` -Get Vault +Retrieve a Vault ## Parameters @@ -143,7 +143,7 @@ Get Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string | null` diff --git a/content/en/api/typescript/beta/vaults/update.md b/content/en/api/typescript/beta/vaults/update.md index 4a4fe11d05..3fe554eef0 100644 --- a/content/en/api/typescript/beta/vaults/update.md +++ b/content/en/api/typescript/beta/vaults/update.md @@ -1,15 +1,15 @@ --- -title: Update Vault +title: Update a Vault url: https://platform.claude.com/docs/en/api/typescript/beta/vaults/update --- -# Update Vault +# Update a Vault `client.beta.vaults.update(vaultID, params, options?): BetaManagedAgentsVault` **POST** `/v1/vaults/{vault_id}` -Update Vault +Update a Vault ## Parameters @@ -153,7 +153,7 @@ Update Vault - `id: string` - Unique identifier for the vault. + The unique ID of the vault (`vlt_...`). - `archived_at: string | null` diff --git a/content/en/api/typescript/models.md b/content/en/api/typescript/models.md index 86057d4be0..8f1a9fd458 100644 --- a/content/en/api/typescript/models.md +++ b/content/en/api/typescript/models.md @@ -291,9 +291,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -445,6 +449,9 @@ for await (const modelInfo of client.models.list()) { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -733,9 +740,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -884,6 +895,9 @@ console.log(modelInfo.id); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, @@ -1091,9 +1105,13 @@ console.log(modelInfo.id); Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -1227,9 +1245,13 @@ console.log(modelInfo.id); Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -1355,9 +1377,13 @@ console.log(modelInfo.id); Whether this capability is supported by the model. + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -1377,9 +1403,13 @@ console.log(modelInfo.id); Whether this capability is supported by the model. + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` diff --git a/content/en/api/typescript/models/list.md b/content/en/api/typescript/models/list.md index 1dd82fffbf..559b172b6b 100644 --- a/content/en/api/typescript/models/list.md +++ b/content/en/api/typescript/models/list.md @@ -289,9 +289,13 @@ The Models API response can be used to determine which models are available for Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -443,6 +447,9 @@ for await (const modelInfo of client.models.list()) { "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/api/typescript/models/retrieve.md b/content/en/api/typescript/models/retrieve.md index fd7bbf4ca8..2621cc6ca3 100644 --- a/content/en/api/typescript/models/retrieve.md +++ b/content/en/api/typescript/models/retrieve.md @@ -265,9 +265,13 @@ The Models API response can be used to determine information about a specific mo Whether the model accepts thinking with type 'adaptive' (the model decides whether and how much to think). + - `between_tools: CapabilitySupport` + + Whether the model accepts thinking with type 'between_tools' (thinking turned off, and any short progress updates the model writes between tool calls come back as thinking blocks). False exactly when a request that sends it gets a 400 from this model. A request that sends 'between_tools' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. + - `disabled: CapabilitySupport` - Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. + Whether the model accepts thinking with type 'disabled' (thinking turned off). False exactly when a request that sends it gets a 400 from this model. True on a model that does not support thinking. A request that sends 'disabled' can still be rejected for another reason, such as an effort level the model does not allow with thinking off. - `enabled: CapabilitySupport` @@ -416,6 +420,9 @@ console.log(modelInfo.id); "adaptive": { "supported": true }, + "between_tools": { + "supported": true + }, "disabled": { "supported": true }, diff --git a/content/en/build-with-claude/batch-processing.md b/content/en/build-with-claude/batch-processing.md index 71b3b7ccab..b6a735c0cd 100644 --- a/content/en/build-with-claude/batch-processing.md +++ b/content/en/build-with-claude/batch-processing.md @@ -43,9 +43,9 @@ This is especially useful for bulk operations that don't require immediate resul * A Message Batch is limited to either 100,000 Message requests or 256 MB in size, whichever is reached first. * The system processes each batch as fast as possible, with most batches completing within 1 hour. You can access batch results when all messages have completed or after 24 hours, whichever comes first. Batches expire if processing does not complete within 24 hours. * Batch results are available for 29 days after creation. After that, you may still view the Batch, but its results will no longer be available for download. -* Batches are scoped to a [Workspace](https://platform.claude.com/settings/workspaces). You may view all batches (and their results) that were created within the Workspace your request runs in. +* Batches are scoped to a [Workspace](https://platform.claude.com/settings/workspaces) in the Claude Console. You may view all batches (and their results) that were created within the Workspace your request runs in. * Rate limits apply to both Batches API HTTP requests and the number of requests within a batch waiting to be processed. See [Message Batches API rate limits](https://platform.claude.com/docs/en/api/rate-limits#message-batches-api). Additionally, processing may be slowed down based on current demand and your request volume. In that case, you may see more requests expiring after 24 hours. -* Because of high throughput and concurrent processing, batches may go slightly over your Workspace's configured [spend limit](https://platform.claude.com/settings/billing). +* Because of high throughput and concurrent processing, batches may go slightly over the [spend limit](https://platform.claude.com/settings/billing) configured in the Claude Console for your Workspace. * Each batched request must have `max_tokens` of at least `1`. `max_tokens: 0` ([cache pre-warming](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pre-warming-the-cache)) is not supported inside a batch, because an ephemeral cache entry written during batch processing would likely expire before the follow-up request runs. ### Supported models diff --git a/content/en/build-with-claude/citations.md b/content/en/build-with-claude/citations.md index 9a8823e519..db5c237306 100644 --- a/content/en/build-with-claude/citations.md +++ b/content/en/build-with-claude/citations.md @@ -832,15 +832,15 @@ Plain text documents are automatically chunked into sentences. You can provide t source: { type: "file", file_id: uploaded.id }, title: "Document Title", context: "Context about the document that will not be cited from", - citations: { enabled: true }, + citations: { enabled: true } }, { type: "text", - text: "Summarize this document.", - }, - ], - }, - ], + text: "Summarize this document." + } + ] + } + ] }); console.log(citedResponse); ``` @@ -1651,15 +1651,15 @@ PDF documents can be provided as base64-encoded data, a URL, or by `file_id`. PD source: { type: "file", file_id: uploaded.id }, title: "Document Title", context: "Context about the document that will not be cited from", - citations: { enabled: true }, + citations: { enabled: true } }, { type: "text", - text: "Summarize this document.", - }, - ], - }, - ], + text: "Summarize this document." + } + ] + } + ] }); console.log(citedResponse); ``` diff --git a/content/en/build-with-claude/claude-in-amazon-bedrock.md b/content/en/build-with-claude/claude-in-amazon-bedrock.md index 820ee2c1bb..de544d1775 100644 --- a/content/en/build-with-claude/claude-in-amazon-bedrock.md +++ b/content/en/build-with-claude/claude-in-amazon-bedrock.md @@ -373,10 +373,10 @@ For the full feature list with Amazon Bedrock availability, see [Features overvi * [Thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) * [Tool use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview), including the [Bash tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/bash-tool), [Computer use tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool), [Memory tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/memory-tool), and [Text editor tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/text-editor-tool) * [Citations](https://platform.claude.com/docs/en/build-with-claude/citations) +* [Structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) ### Features not supported -* [Structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) * Input sources (URL sources for images and documents, Files API) * Server-side tools (code execution, web search, web fetch, advisor) * Agent infrastructure (Agent Skills, MCP connector, programmatic tool calling) diff --git a/content/en/build-with-claude/claude-on-amazon-bedrock-legacy.md b/content/en/build-with-claude/claude-on-amazon-bedrock-legacy.md index ab5b382600..e508e2ef05 100644 --- a/content/en/build-with-claude/claude-on-amazon-bedrock-legacy.md +++ b/content/en/build-with-claude/claude-on-amazon-bedrock-legacy.md @@ -730,7 +730,7 @@ For the full feature list with Amazon Bedrock availability, see [Features overvi * [Thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) * [Tool use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview), including the [Bash tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/bash-tool), [Computer use tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool), [Memory tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/memory-tool), and [Text editor tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/text-editor-tool) * [Citations](https://platform.claude.com/docs/en/build-with-claude/citations) -* [Structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs), for the models in the Amazon Bedrock note under its [Compatibility](https://platform.claude.com/docs/en/build-with-claude/structured-outputs#compatibility) section +* [Structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) ### Features not supported 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 e7111f200d..635ca76b03 100644 --- a/content/en/build-with-claude/claude-platform-on-aws.md +++ b/content/en/build-with-claude/claude-platform-on-aws.md @@ -207,7 +207,7 @@ Generate API keys in the **AWS Console** under **Claude Platform on AWS → API For workloads that need to hand a credential to a separate process (such as an LLM gateway, a serverless function, or a tool that supports bearer-token authentication but not SigV4), generate a short-term API key from your AWS credentials instead of provisioning a long-lived key in the AWS Console. -AWS publishes token-generator libraries for [JavaScript](https://github.com/aws/token-generator-for-aws-external-anthropic-js), [Python](https://github.com/aws/token-generator-for-aws-external-anthropic-python), and [Java](https://github.com/aws/token-generator-for-aws-external-anthropic-java). Each library reads your AWS credentials through the standard provider chain and returns a time-limited token that works with the `x-api-key` header. Token lifetime defaults to 12 hours and is capped at the lesser of your requested duration, your AWS credentials' expiry, and 12 hours. See the linked repository READMEs for installation and full configuration options. +AWS publishes token-generator libraries for [JavaScript](https://github.com/aws/token-generator-for-aws-external-anthropic-js), [Python](https://github.com/aws/token-generator-for-aws-external-anthropic-python), and [Java](https://github.com/aws/token-generator-for-aws-external-anthropic-java). Each library reads your AWS credentials through the standard provider chain and returns a time-limited token that you send as `Authorization: Bearer `. Token lifetime defaults to 12 hours and is capped at the lesser of your requested duration, your AWS credentials' expiry, and 12 hours. See the linked repository READMEs for installation and full configuration options. Pass the generated token to the SDK the same way you'd pass an AWS Console-generated API key: @@ -405,8 +405,8 @@ Before running these examples, complete the steps in [Before making API calls](h ```bash CLI # Replace us-west-2 with your AWS region - # ant reads ANTHROPIC_API_KEY and sends it as x-api-key. Generate a key in the - # AWS Console (see API key authentication). + # ant reads ANTHROPIC_API_KEY. Generate a key in the AWS Console + # (see API key authentication). export ANTHROPIC_API_KEY="YOUR_AWS_API_KEY" ant messages create \ @@ -629,8 +629,8 @@ Set the inference geography per request with the `inference_geo` parameter: ```bash CLI # Replace us-west-2 with your AWS region - # ant reads ANTHROPIC_API_KEY and sends it as x-api-key. Generate a key in the - # AWS Console (see API key authentication). + # ant reads ANTHROPIC_API_KEY. Generate a key in the AWS Console + # (see API key authentication). export ANTHROPIC_API_KEY="YOUR_AWS_API_KEY" ant messages create \ @@ -903,8 +903,8 @@ Each response includes two request IDs in the response headers: ```bash CLI # Replace us-west-2 with your AWS region - # ant reads ANTHROPIC_API_KEY and sends it as x-api-key. Generate a key in the - # AWS Console (see API key authentication). + # ant reads ANTHROPIC_API_KEY. Generate a key in the AWS Console + # (see API key authentication). export ANTHROPIC_API_KEY="YOUR_AWS_API_KEY" # --debug prints the HTTP response, including the X-Amzn-Requestid and diff --git a/content/en/build-with-claude/effort.md b/content/en/build-with-claude/effort.md index d7aa779dd6..52754d0afa 100644 --- a/content/en/build-with-claude/effort.md +++ b/content/en/build-with-claude/effort.md @@ -105,9 +105,7 @@ Set `output_config.effort` on the request. The following example runs one reques } }); - const textBlock = response.content.find( - (block): block is Anthropic.TextBlock => block.type === "text" - ); + const textBlock = response.content.find((block) => block.type === "text"); console.log(textBlock?.text); ``` diff --git a/content/en/build-with-claude/extended-thinking.md b/content/en/build-with-claude/extended-thinking.md index 8f296b685e..abce6359d6 100644 --- a/content/en/build-with-claude/extended-thinking.md +++ b/content/en/build-with-claude/extended-thinking.md @@ -98,14 +98,14 @@ Here is an example of using extended thinking in the Messages API: max_tokens: 16000, thinking: { type: "enabled", - budget_tokens: 10000, + budget_tokens: 10000 }, messages: [ { role: "user", - content: "Are there an infinite number of prime numbers such that n mod 4 == 3?", - }, - ], + content: "Are there an infinite number of prime numbers such that n mod 4 == 3?" + } + ] }); // The response contains summarized thinking blocks and text blocks diff --git a/content/en/build-with-claude/fallback-credit.md b/content/en/build-with-claude/fallback-credit.md index 5a3bb82032..c851d3952b 100644 --- a/content/en/build-with-claude/fallback-credit.md +++ b/content/en/build-with-claude/fallback-credit.md @@ -513,7 +513,7 @@ Fallback credit is in beta on the Claude API, Amazon Bedrock, Claude Platform on The retry model must be one of the refused model's permitted fallback targets. For Claude Fable 5.1, Claude Fable 5, and Claude Opus 5.5, those are Claude Opus 4.8 (`claude-opus-4-8`) and Claude Opus 5 (`claude-opus-5`). For Claude Opus 5, it is Claude Opus 4.8. For Claude Sonnet 5.5, it is Claude Sonnet 5 (`claude-sonnet-5`). - On the Claude API and Claude Platform on AWS, the target list is published as `allowed_fallback_models` on each model's entry in the [Models API](https://platform.claude.com/docs/en/api/models/list) when the `server-side-fallback-2026-07-01` beta header is set. The list is not yet visible under the `fallback-credit-*` header alone. It is not exposed on Amazon Bedrock, Google Cloud, or Microsoft Foundry. + On the Claude API and Claude Platform on AWS, the target list is published as `allowed_fallback_models` on each model's entry in the [Models API](https://platform.claude.com/docs/en/api/beta/models/list) when the `server-side-fallback-2026-07-01` beta header is set. The list is not yet visible under the `fallback-credit-*` header alone. It is not exposed on Amazon Bedrock, Google Cloud, or Microsoft Foundry. ## Checking that the credit applied diff --git a/content/en/build-with-claude/fast-mode.md b/content/en/build-with-claude/fast-mode.md index be406eeeaf..fe859439ee 100644 --- a/content/en/build-with-claude/fast-mode.md +++ b/content/en/build-with-claude/fast-mode.md @@ -95,9 +95,7 @@ Fast mode works only on supported models. See [Model availability](https://platf ] }); - const textBlock = response.content.find( - (block): block is Anthropic.TextBlock => block.type === "text" - ); + const textBlock = response.content.find((block) => block.type === "text"); console.log(textBlock?.text); ``` diff --git a/content/en/build-with-claude/files.md b/content/en/build-with-claude/files.md index 901ca97a23..f01afde4a3 100644 --- a/content/en/build-with-claude/files.md +++ b/content/en/build-with-claude/files.md @@ -62,11 +62,9 @@ Upload a file to be referenced in future API calls: ```typescript TypeScript const uploaded = await client.files.upload({ - file: await toFile( - fs.createReadStream("/path/to/document.pdf"), - undefined, - { type: "application/pdf" }, - ), + file: await toFile(fs.createReadStream("/path/to/document.pdf"), undefined, { + type: "application/pdf" + }) }); console.log(uploaded.id); ``` @@ -243,18 +241,18 @@ Once uploaded, reference the file by passing the `id` from the upload response a content: [ { type: "text", - text: "Please summarize this document for me.", + text: "Please summarize this document for me." }, { type: "document", source: { type: "file", - file_id: uploaded.id, - }, - }, - ], - }, - ], + file_id: uploaded.id + } + } + ] + } + ] }); console.log(response); @@ -531,9 +529,7 @@ The following examples read a text file and send its contents as plain text: ] }); - const textBlock = response.content.find( - (block): block is Anthropic.TextBlock => block.type === "text" - ); + const textBlock = response.content.find((block) => block.type === "text"); console.log(textBlock?.text); ``` @@ -906,7 +902,6 @@ Download files that were created by [skills](https://platform.claude.com/docs/en _, err = io.Copy(out, resp.Body) return err } - ``` ```java Java diff --git a/content/en/build-with-claude/handling-stop-reasons.md b/content/en/build-with-claude/handling-stop-reasons.md index f68419700e..aef62de2ee 100644 --- a/content/en/build-with-claude/handling-stop-reasons.md +++ b/content/en/build-with-claude/handling-stop-reasons.md @@ -97,9 +97,7 @@ The most common stop reason. Indicates Claude finished its response naturally. if (response.stop_reason === "end_turn") { // Process the complete response - const textBlock = response.content.find( - (block): block is Anthropic.TextBlock => block.type === "text" - ); + const textBlock = response.content.find((block) => block.type === "text"); console.log(textBlock?.text); } ``` @@ -2103,9 +2101,7 @@ Make it a habit to check the `stop_reason` in your response handling logic: return handleRefusal(response); default: { // Handle end_turn and other cases - const textBlock = response.content.find( - (block): block is Anthropic.Beta.BetaTextBlock => block.type === "text" - ); + const textBlock = response.content.find((block) => block.type === "text"); return textBlock?.text ?? ""; } } @@ -2226,9 +2222,7 @@ When a response is truncated because of token limits or the context window, appe ```typescript TypeScript function handleTruncatedResponse(response: Anthropic.Beta.BetaMessage): string { - const textBlock = response.content.find( - (block): block is Anthropic.Beta.BetaTextBlock => block.type === "text" - ); + const textBlock = response.content.find((block) => block.type === "text"); const text = textBlock?.text ?? ""; if ( @@ -3244,9 +3238,7 @@ When using streaming, `stop_reason` is: messages }); - const textBlock = response.content.find( - (block): block is Anthropic.TextBlock => block.type === "text" - ); + const textBlock = response.content.find((block) => block.type === "text"); fullResponse += textBlock?.text ?? ""; if (response.stop_reason !== "max_tokens") { @@ -3502,9 +3494,7 @@ With the `model_context_window_exceeded` stop reason, you can request the maximu console.log(`Generated ${tokens} tokens (natural completion)`); } - const textBlock = response.content.find( - (block): block is Anthropic.Beta.BetaTextBlock => block.type === "text" - ); + const textBlock = response.content.find((block) => block.type === "text"); return textBlock?.text ?? ""; } ``` diff --git a/content/en/build-with-claude/mid-conversation-effort-example.md b/content/en/build-with-claude/mid-conversation-effort-example.md index e1bd1e037c..d6560156b5 100644 --- a/content/en/build-with-claude/mid-conversation-effort-example.md +++ b/content/en/build-with-claude/mid-conversation-effort-example.md @@ -40,7 +40,9 @@ The example is a single file. The constants control the effort level, the fan-ou MODEL = "claude-opus-5-5" EFFORT = "xhigh" - SYSTEM_PROMPT = "You are a helpful general-purpose agent. Answer the user's request directly." + SYSTEM_PROMPT = ( + "You are a helpful general-purpose agent. Answer the user's request directly." + ) REQUEST_TIMEOUT_SECONDS = 600 BASH_TIMEOUT_SECONDS = 60 @@ -162,7 +164,6 @@ The example is a single file. The constants control the effort level, the fan-ou } return normal } - ``` ```java Java @@ -283,9 +284,7 @@ The reminders are short on purpose. They flip the mode and point at the tool des "description for standing consent, granularity guidance, and quality patterns. Work solo " "only on conversational or trivial turns." ) - MODE_REFRESH = ( - "Orchestration mode is still on. Use the Workflow tool; see its standing consent section." - ) + MODE_REFRESH = "Orchestration mode is still on. Use the Workflow tool; see its standing consent section." MODE_EXIT = ( "Orchestration mode is off. The Workflow tool's standard opt-in rule applies again." ) @@ -327,7 +326,6 @@ The reminders are short on purpose. They flip the mode and point at the tool des modeRefresh = "Orchestration mode is still on. Use the Workflow tool; see its standing consent section." modeExit = "Orchestration mode is off. The Workflow tool's standard opt-in rule applies again." ) - ``` ```java Java @@ -422,18 +420,27 @@ The Workflow tool carries the real behavioral contract: the opt-in rule, the sta "input_schema": { "type": "object", "properties": { - "summary": {"type": "string", "description": "Two or three sentences of synthesis"}, + "summary": { + "type": "string", + "description": "Two or three sentences of synthesis", + }, "findings": { "type": "array", "items": { "type": "object", "properties": { - "claim": {"type": "string", "description": "The finding, one sentence"}, + "claim": { + "type": "string", + "description": "The finding, one sentence", + }, "evidence": { "type": "string", "description": "How it was verified (file, line, or command output)", }, - "severity": {"type": "string", "enum": ["high", "medium", "low", "info"]}, + "severity": { + "type": "string", + "enum": ["high", "medium", "low", "info"], + }, }, "required": ["claim", "evidence", "severity"], }, @@ -465,7 +472,7 @@ The Workflow tool carries the real behavioral contract: the opt-in rule, the sta "opt-in is standing. Author and run a workflow for every substantive task by default, " + "and lean toward verifying findings adversarially. Work solo only on conversational " + "turns or trivial mechanical edits. When a system message says the mode is off, " + - "revert to the opt-in rule above.", + "revert to the opt-in rule above." ].join("\n\n"), input_schema: { type: "object", @@ -473,11 +480,11 @@ The Workflow tool carries the real behavioral contract: the opt-in rule, the sta subtasks: { type: "array", items: { type: "string" }, - description: "Independent subtask prompts to run as parallel agents", - }, + description: "Independent subtask prompts to run as parallel agents" + } }, - required: ["subtasks"], - }, + required: ["subtasks"] + } }; const BASH_TOOL: Anthropic.ToolBash20250124 = { type: "bash_20250124", name: "bash" }; @@ -499,16 +506,16 @@ The Workflow tool carries the real behavioral contract: the opt-in rule, the sta claim: { type: "string", description: "The finding, one sentence" }, evidence: { type: "string", - description: "How it was verified (file, line, or command output)", + description: "How it was verified (file, line, or command output)" }, - severity: { type: "string", enum: ["high", "medium", "low", "info"] }, + severity: { type: "string", enum: ["high", "medium", "low", "info"] } }, - required: ["claim", "evidence", "severity"], - }, - }, + required: ["claim", "evidence", "severity"] + } + } }, - required: ["summary", "findings"], - }, + required: ["summary", "findings"] + } }; ``` @@ -651,7 +658,6 @@ The Workflow tool carries the real behavioral contract: the opt-in rule, the sta }, }, } - ``` ```java Java @@ -896,7 +902,10 @@ The bash handler runs the requested command with a timeout, captures combined st return f"command timed out after {BASH_TIMEOUT_SECONDS}s", True output = (proc.stdout + proc.stderr).strip() or "(no output)" if len(output) > TOOL_RESULT_MAX_CHARS: - output = output[:TOOL_RESULT_MAX_CHARS] + f"\n(truncated at {TOOL_RESULT_MAX_CHARS} chars)" + output = ( + output[:TOOL_RESULT_MAX_CHARS] + + f"\n(truncated at {TOOL_RESULT_MAX_CHARS} chars)" + ) if proc.returncode != 0: output = f"(exit code {proc.returncode})\n{output}" return output, proc.returncode != 0 @@ -927,7 +936,7 @@ The bash handler runs the requested command with a timeout, captures combined st return n if n < 2 else fib(n - 1) + fib(n - 2) print(fib(10)) - `, + ` ); } @@ -938,7 +947,7 @@ The bash handler runs the requested command with a timeout, captures combined st shell: "/bin/bash", cwd: WORK_DIR, timeout: BASH_TIMEOUT_SECONDS * 1000, - maxBuffer: 16 * 1024 * 1024, + maxBuffer: 16 * 1024 * 1024 }; return new Promise((resolve) => { exec(command, options, (error, stdout, stderr) => { @@ -1132,7 +1141,6 @@ The bash handler runs the requested command with a timeout, captures combined st } return runBash(ctx, input.Command) } - ``` ```java Java @@ -1426,7 +1434,9 @@ Each workflow subtask becomes its own small agent loop with the bash tool, runni if response.stop_reason == "pause_turn": continue if response.stop_reason != "tool_use": - text = "".join(block.text for block in response.content if block.type == "text") + text = "".join( + block.text for block in response.content if block.type == "text" + ) if response.stop_reason == "max_tokens": text += "\n\n(warning: subagent response was truncated at max_tokens)" return text @@ -1475,9 +1485,9 @@ Each workflow subtask becomes its own small agent loop with the bash tool, runni system: subagentSystem, output_config: { effort: EFFORT }, tools: [BASH_TOOL, REPORT_TOOL], - messages, + messages }, - { signal: AbortSignal.timeout(REQUEST_TIMEOUT_SECONDS * 1000) }, + { signal: AbortSignal.timeout(REQUEST_TIMEOUT_SECONDS * 1000) } ) .finalMessage(); messages.push({ role: "assistant", content: response.content }); @@ -1515,7 +1525,7 @@ Each workflow subtask becomes its own small agent loop with the bash tool, runni type: "tool_result", tool_use_id: block.id, content: outcome.output, - is_error: outcome.isError, + is_error: outcome.isError }); } if (report !== null) { @@ -1692,7 +1702,6 @@ Each workflow subtask becomes its own small agent loop with the bash tool, runni } return "(subagent hit the turn limit before finishing)", nil } - ``` ```java Java @@ -1976,7 +1985,8 @@ A fan-out that spawns dozens of subagents is expensive to restart from scratch. with open(temp, "w") as file: json.dump(journal, file) os.replace(temp, JOURNAL_PATH) # atomic on POSIX and Windows - except OSError as error: # the journal is best-effort; never discard a computed result + # A failed journal write must not lose the computed result + except OSError as error: print(f"[journal] write failed: {error}", file=sys.stderr) return result ``` @@ -2113,7 +2123,6 @@ A fan-out that spawns dozens of subagents is expensive to restart from scratch. } return result, nil } - ``` ```java Java @@ -2279,13 +2288,16 @@ The fan-out accepts up to `MAX_TOTAL_SUBTASKS` prompts, runs them through the jo def run_one(prompt: str) -> str: try: return journaled(prompt, lambda: run_subagent(model, prompt)) - except Exception as error: # isolation boundary: one bad subagent should not end the run + # One failed subagent must not end the run + except Exception as error: return f"(subagent failed: {type(error).__name__}: {error})" with concurrent.futures.ThreadPoolExecutor(max_workers=MAX_CONCURRENT) as pool: results = list(pool.map(run_one, subtasks)) print(f"[workflow] verifying {len(results)} results", file=sys.stderr) - verify_prompts = [verify_prompt_for(task, result) for task, result in zip(subtasks, results)] + verify_prompts = [ + verify_prompt_for(task, result) for task, result in zip(subtasks, results) + ] verdicts = list(pool.map(run_one, verify_prompts)) joined = "\n\n".join( @@ -2294,7 +2306,9 @@ The fan-out accepts up to `MAX_TOTAL_SUBTASKS` prompts, runs them through the jo [verify {index + 1}] {verdict}""" - for index, (task, result, verdict) in enumerate(zip(subtasks, results, verdicts)) + for index, (task, result, verdict) in enumerate( + zip(subtasks, results, verdicts) + ) ) if dropped > 0: joined = ( @@ -2320,7 +2334,7 @@ The fan-out accepts up to `MAX_TOTAL_SUBTASKS` prompts, runs them through the jo return []; } return value - .filter((task): task is string => typeof task === "string") + .filter((task) => typeof task === "string") .map((task) => task.trim()) .filter((task) => task.length > 0); } @@ -2344,7 +2358,7 @@ The fan-out accepts up to `MAX_TOTAL_SUBTASKS` prompts, runs them through the jo async function mapWithLimit( items: readonly In[], limit: number, - task: (item: In) => Promise, + task: (item: In) => Promise ): Promise { const results = new Array(items.length); let cursor = 0; @@ -2375,7 +2389,8 @@ The fan-out accepts up to `MAX_TOTAL_SUBTASKS` prompts, runs them through the jo return await journaled(prompt, () => runSubagent(model, prompt)); } catch (error) { // Isolation boundary: one bad subagent should not end the run. - const reason = error instanceof Error ? `${error.name}: ${error.message}` : String(error); + const reason = + error instanceof Error ? `${error.name}: ${error.message}` : String(error); return `(subagent failed: ${reason})`; } }; @@ -2391,7 +2406,7 @@ The fan-out accepts up to `MAX_TOTAL_SUBTASKS` prompts, runs them through the jo ${results[index]} [verify ${index + 1}] - ${verdicts[index]}`, + ${verdicts[index]}` ) .join("\n\n"); const droppedNote = @@ -2592,7 +2607,6 @@ The fan-out accepts up to `MAX_TOTAL_SUBTASKS` prompts, runs them through the jo } return joined, false } - ``` ```java Java @@ -3021,7 +3035,9 @@ The agent appends the user's message first, then any system messages that are du if response.stop_reason == "pause_turn": continue if response.stop_reason != "tool_use": - text = "".join(block.text for block in response.content if block.type == "text") + text = "".join( + block.text for block in response.content if block.type == "text" + ) if response.stop_reason == "max_tokens": # Drop the truncated assistant message so later turns do not build on it. self.messages.pop() @@ -3034,7 +3050,9 @@ The agent appends the user's message first, then any system messages that are du continue match block.name: case "Workflow": - output, is_error = run_workflow(self.model, block.input.get("subtasks", [])) + output, is_error = run_workflow( + self.model, block.input.get("subtasks", []) + ) case "bash": output, is_error = handle_bash_block(block) case _: @@ -3113,9 +3131,9 @@ The agent appends the user's message first, then any system messages that are du system: SYSTEM_PROMPT, // static for the whole session output_config: { effort: EFFORT }, tools: [WORKFLOW_TOOL, BASH_TOOL], - messages: this.#messages, + messages: this.#messages }, - { signal: AbortSignal.timeout(REQUEST_TIMEOUT_SECONDS * 1000) }, + { signal: AbortSignal.timeout(REQUEST_TIMEOUT_SECONDS * 1000) } ) .finalMessage(); this.#messages.push({ role: "assistant", content: response.content }); @@ -3157,7 +3175,7 @@ The agent appends the user's message first, then any system messages that are du type: "tool_result", tool_use_id: block.id, content: outcome.output, - is_error: outcome.isError, + is_error: outcome.isError }); } this.#messages.push({ role: "user", content: toolResults }); @@ -3404,7 +3422,6 @@ The agent appends the user's message first, then any system messages that are du } return "(hit the main loop turn limit before finishing)", nil } - ``` ```java Java @@ -3837,7 +3854,6 @@ The agent appends the user's message first, then any system messages that are du fmt.Println(summary) return nil } - ``` ```java Java 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 a7eaf9a9cf..d012a97822 100644 --- a/content/en/build-with-claude/mid-conversation-system-messages.md +++ b/content/en/build-with-claude/mid-conversation-system-messages.md @@ -1770,9 +1770,7 @@ A `role: "system"` message can also carry `output_config.effort` to change the [ ] }); - const textBlock = response.content.find( - (block): block is Anthropic.TextBlock => block.type === "text" - ); + const textBlock = response.content.find((block) => block.type === "text"); console.log(textBlock?.text); ``` diff --git a/content/en/build-with-claude/overview.md b/content/en/build-with-claude/overview.md index cd512915af..dd2c108619 100644 --- a/content/en/build-with-claude/overview.md +++ b/content/en/build-with-claude/overview.md @@ -38,20 +38,20 @@ Ways to steer Claude and Claude's direct outputs, including response format, rea The ZDR column indicates whether a feature is available under a Zero Data Retention arrangement. For most features this depends only on what the feature mechanism retains; for features tied to specific models, model-level ZDR availability also applies. See [Model-specific data retention requirements](https://platform.claude.com/docs/en/manage-claude/api-and-data-retention#model-specific-data-retention-requirements). -| Feature | Description | Zero Data Retention (ZDR) | Availability | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | -| [Context windows](https://platform.claude.com/docs/en/build-with-claude/context-windows) | Up to 1M tokens for processing large documents, extensive code bases, and long conversations. | ZDR eligible | | -| [Adaptive thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) | Let Claude dynamically determine when and how much to think. The only thinking mode on Claude 4.7 and later models. Use the effort parameter to control thinking depth. | ZDR eligible | | -| [Batch processing](https://platform.claude.com/docs/en/build-with-claude/batch-processing) | Process large volumes of requests asynchronously for cost savings. Send batches with a large number of queries per batch. Batch API calls cost 50% less than standard API calls. | Not ZDR eligible | | -| [Citations](https://platform.claude.com/docs/en/build-with-claude/citations) | Ground Claude's responses in source documents. With Citations, Claude can provide detailed references to the exact sentences and passages it uses to generate responses, leading to more verifiable, trustworthy outputs. | ZDR eligible | | -| [Data residency](https://platform.claude.com/docs/en/manage-claude/data-residency) | Control where model inference runs using geographic controls. Specify `"global"` or `"us"` routing per request through the `inference_geo` parameter. | ZDR eligible | | -| [Effort](https://platform.claude.com/docs/en/build-with-claude/effort) | Control how many tokens Claude uses when responding with the effort parameter, trading off between response thoroughness and token efficiency. | ZDR eligible | | -| [Fallback credit](https://platform.claude.com/docs/en/build-with-claude/fallback-credit) | Avoid paying the prompt-cache cost twice when you retry a refused request on another model. The refusal carries a credit token, and echoing it on the retry bills the retry as though the conversation had been on the new model all along. Message Batches results do not include fallback credit tokens. | Not ZDR eligible\* | | -| [PDF support](https://platform.claude.com/docs/en/build-with-claude/pdf-support) | Process and analyze text and visual content from PDF documents. | ZDR eligible | | -| [Search results](https://platform.claude.com/docs/en/build-with-claude/search-results) | Enable natural citations for RAG applications by providing search results with proper source attribution. Achieve web search-quality citations for custom knowledge bases and tools. | ZDR eligible | | -| [Server-side fallback](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback) | Retry a refused request inside a single API call. Use the `"default"` mode to apply Anthropic's recommended fallback models, or name up to three models of your own; when the requested model declines, the API runs the next model in the chain on the same request. The `fallbacks` parameter is not available in the Message Batches API. | Not ZDR eligible\* | | -| [Structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Guarantee schema conformance with two approaches: JSON outputs for structured data responses, and strict tool use for validated tool inputs. | [ZDR eligible (qualified)](https://platform.claude.com/docs/en/build-with-claude/structured-outputs#data-retention)\* | | -| [Thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) | Enhanced reasoning capabilities for complex tasks, with an optional summary of Claude's reasoning before its final answer. | ZDR eligible | | +| Feature | Description | Zero Data Retention (ZDR) | Availability | +| --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| [Context windows](https://platform.claude.com/docs/en/build-with-claude/context-windows) | Up to 1M tokens for processing large documents, extensive code bases, and long conversations. | ZDR eligible | | +| [Adaptive thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) | Let Claude dynamically determine when and how much to think. The only thinking mode on Claude 4.7 and later models. Use the effort parameter to control thinking depth. | ZDR eligible | | +| [Batch processing](https://platform.claude.com/docs/en/build-with-claude/batch-processing) | Process large volumes of requests asynchronously for cost savings. Send batches with a large number of queries per batch. Batch API calls cost 50% less than standard API calls. | Not ZDR eligible | | +| [Citations](https://platform.claude.com/docs/en/build-with-claude/citations) | Ground Claude's responses in source documents. With Citations, Claude can provide detailed references to the exact sentences and passages it uses to generate responses, leading to more verifiable, trustworthy outputs. | ZDR eligible | | +| [Data residency](https://platform.claude.com/docs/en/manage-claude/data-residency) | Control where model inference runs using geographic controls. Specify `"global"` or `"us"` routing per request through the `inference_geo` parameter. | ZDR eligible | | +| [Effort](https://platform.claude.com/docs/en/build-with-claude/effort) | Control how many tokens Claude uses when responding with the effort parameter, trading off between response thoroughness and token efficiency. | ZDR eligible | | +| [Fallback credit](https://platform.claude.com/docs/en/build-with-claude/fallback-credit) | Avoid paying the prompt-cache cost twice when you retry a refused request on another model. The refusal carries a credit token, and echoing it on the retry bills the retry as though the conversation had been on the new model all along. Message Batches results do not include fallback credit tokens. | Not ZDR eligible\* | | +| [PDF support](https://platform.claude.com/docs/en/build-with-claude/pdf-support) | Process and analyze text and visual content from PDF documents. | ZDR eligible | | +| [Search results](https://platform.claude.com/docs/en/build-with-claude/search-results) | Enable natural citations for RAG applications by providing search results with proper source attribution. Achieve web search-quality citations for custom knowledge bases and tools. | ZDR eligible | | +| [Server-side fallback](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback) | Retry a refused request inside a single API call. Use the `"default"` mode to apply Anthropic's recommended fallback models, or name up to three models of your own; when the requested model declines, the API runs the next model in the chain on the same request. The `fallbacks` parameter is not available in the Message Batches API. | Not ZDR eligible\* | | +| [Structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Guarantee schema conformance with two approaches: JSON outputs for structured data responses, and strict tool use for validated tool inputs. | [ZDR eligible (qualified)](https://platform.claude.com/docs/en/build-with-claude/structured-outputs#data-retention)\* | | +| [Thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) | Enhanced reasoning capabilities for complex tasks, with an optional summary of Claude's reasoning before its final answer. | ZDR eligible | | ## Tools diff --git a/content/en/build-with-claude/prompt-caching.md b/content/en/build-with-claude/prompt-caching.md index 4bed1a91a4..b96c00a656 100644 --- a/content/en/build-with-claude/prompt-caching.md +++ b/content/en/build-with-claude/prompt-caching.md @@ -1293,9 +1293,7 @@ Fire a pre-warm request when your application starts (or on a scheduled interval // Later, when the user submits a message, the system-prompt prefix is already cached. const response = await respond("How do I implement a binary search tree?"); - const textBlock = response.content.find( - (block): block is Anthropic.TextBlock => block.type === "text" - ); + const textBlock = response.content.find((block) => block.type === "text"); console.log(textBlock?.text); ``` 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 0c6bfee3ea..8c3a5e0c2f 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 @@ -178,15 +178,15 @@ The following loop shows this placement. Each assistant turn goes back exactly a name = "demo" version = "0.1.0" description = "Demo project for the batching example" - `, + ` ], [ "README.md", `# demo A small demo project. Run \`demo --help\` for usage. - `, - ], + ` + ] ]); const tools: Anthropic.Beta.Messages.BetaTool[] = [ { @@ -195,12 +195,12 @@ The following loop shows this placement. Each assistant turn goes back exactly a input_schema: { type: "object", properties: { path: { type: "string" } }, - required: ["path"], - }, - }, + required: ["path"] + } + } ]; const messages: Anthropic.Beta.Messages.BetaMessageParam[] = [ - { role: "user", content: "Summarize pyproject.toml and README.md." }, + { role: "user", content: "Summarize pyproject.toml and README.md." } ]; let response: Anthropic.Beta.Messages.BetaMessage; @@ -210,7 +210,7 @@ The following loop shows this placement. Each assistant turn goes back exactly a max_tokens: 16000, betas: ["mid-conversation-system-clear-at-2026-08-21"], tools, - messages, + messages }); // Append the assistant turn exactly as returned, thinking blocks included. messages.push({ role: "assistant", content: response.content }); @@ -236,14 +236,14 @@ The following loop shows this placement. Each assistant turn goes back exactly a type: "tool_result", tool_use_id: block.id, content: `File not found: ${path}`, - is_error: true, + is_error: true }); continue; } toolResults.push({ type: "tool_result", tool_use_id: block.id, - content: text, + content: text }); } // Send the tool results as the user turn, then a fresh copy of the nudge as a @@ -253,7 +253,7 @@ The following loop shows this placement. Each assistant turn goes back exactly a messages.push({ role: "system", content: BATCH_NUDGE, - clear_at: "next_user_message", + clear_at: "next_user_message" }); } diff --git a/content/en/build-with-claude/refusals-and-fallback.md b/content/en/build-with-claude/refusals-and-fallback.md index cb57e35f43..6a5c7cf67f 100644 --- a/content/en/build-with-claude/refusals-and-fallback.md +++ b/content/en/build-with-claude/refusals-and-fallback.md @@ -627,7 +627,7 @@ The highlighted lines are the only difference from the default-routing request. A few rules apply to the `fallbacks` list: * Entries are tried in order. Each must be distinct from the other entries and from the requested model. -* Each entry must be one of the requested model's permitted targets. With the beta header set, that list is published as `allowed_fallback_models` on the model's entry in the [Models API](https://platform.claude.com/docs/en/api/models/list). +* Each entry must be one of the requested model's permitted targets. With the beta header set, that list is published as `allowed_fallback_models` on the model's entry in the [Models API](https://platform.claude.com/docs/en/api/beta/models/list). * Each entry names a `model` and can override `max_tokens`, `thinking`, `output_config`, and `speed` for that attempt only. * The request must be valid as a direct request to every model named. If a fallback model does not support a feature the request uses, the API rejects the request up front. Under the `2026-07-01` header, `thinking: {"type": "between_tools"}` is the exception: when a Claude Sonnet 5.5 request falls back to Claude Sonnet 5, the fallback attempt runs with `thinking: {"type": "disabled"}` and `display: "omitted"`. Under `2026-06-01`, set `thinking` on the Claude Sonnet 5 entry, or the request is rejected up front. * As with the default mode, only a safety classifier decline triggers the fallback. A rate limit, overload, or server error on the requested model is returned to you as-is. diff --git a/content/en/build-with-claude/search-results.md b/content/en/build-with-claude/search-results.md index 9f1d25900c..55f2b726fd 100644 --- a/content/en/build-with-claude/search-results.md +++ b/content/en/build-with-claude/search-results.md @@ -247,9 +247,7 @@ Returning search results from your custom tools enables dynamic RAG applications // Handle tool use and provide results. // The tool_use block is not always first: find it in the content array. - const toolUse = response.content.find( - (block): block is Anthropic.ToolUseBlock => block.type === "tool_use" - ); + const toolUse = response.content.find((block) => block.type === "tool_use"); if (toolUse) { const input = toolUse.input as { query: string }; const toolResult = searchKnowledgeBase(input.query); diff --git a/content/en/build-with-claude/structured-outputs.md b/content/en/build-with-claude/structured-outputs.md index 7916009418..990c75dfcb 100644 --- a/content/en/build-with-claude/structured-outputs.md +++ b/content/en/build-with-claude/structured-outputs.md @@ -28,9 +28,7 @@ featureMetadata: supportedPlatforms: Claude API: ga Claude Platform on AWS: ga - Amazon Bedrock: - availability: ga - note: On Amazon Bedrock, structured outputs are available on the legacy [Amazon Bedrock (Opus 4.6 and earlier)](https://platform.claude.com/docs/en/build-with-claude/claude-on-amazon-bedrock-legacy) integration for Claude Opus 4.6, Claude Sonnet 4.6, Claude Sonnet 4.5, Claude Opus 4.5, and Claude Haiku 4.5, and not on [Claude in Amazon Bedrock](https://platform.claude.com/docs/en/build-with-claude/claude-in-amazon-bedrock). + Amazon Bedrock: ga Google Cloud: ga Microsoft Foundry: ga --- diff --git a/content/en/build-with-claude/thinking-steering-and-cost.md b/content/en/build-with-claude/thinking-steering-and-cost.md index acd7850eab..5aa1e87051 100644 --- a/content/en/build-with-claude/thinking-steering-and-cost.md +++ b/content/en/build-with-claude/thinking-steering-and-cost.md @@ -571,7 +571,7 @@ The following example demonstrates the invalidation with a multi-turn script you )) .addAssistantMessageOfBlockParams(response1.content().stream() .map(block -> block.toParam()) - .collect(java.util.stream.Collectors.toList())) + .collect(Collectors.toList())) .addUserMessage("Analyze the characters in this passage.") .build(); @@ -598,11 +598,11 @@ The following example demonstrates the invalidation with a multi-turn script you )) .addAssistantMessageOfBlockParams(response1.content().stream() .map(block -> block.toParam()) - .collect(java.util.stream.Collectors.toList())) + .collect(Collectors.toList())) .addUserMessage("Analyze the characters in this passage.") .addAssistantMessageOfBlockParams(response2.content().stream() .map(block -> block.toParam()) - .collect(java.util.stream.Collectors.toList())) + .collect(Collectors.toList())) .addUserMessage("Analyze the setting in this passage.") .build(); diff --git a/content/en/build-with-claude/thinking-tool-workflows.md b/content/en/build-with-claude/thinking-tool-workflows.md index 7f527cff72..24e17a45aa 100644 --- a/content/en/build-with-claude/thinking-tool-workflows.md +++ b/content/en/build-with-claude/thinking-tool-workflows.md @@ -400,9 +400,7 @@ The example defines a `get_weather` tool, lets Claude think and request a tool c }); // Extract the tool use block to get its ID for the tool result - const toolUseBlock = response.content.find( - (block): block is Anthropic.ToolUseBlock => block.type === "tool_use" - ); + const toolUseBlock = response.content.find((block) => block.type === "tool_use"); // Call your actual weather API, here is where your actual API call would go // Let's pretend this is what we get back diff --git a/content/en/build-with-claude/thinking.md b/content/en/build-with-claude/thinking.md index cb1f8192e4..857b75db0e 100644 --- a/content/en/build-with-claude/thinking.md +++ b/content/en/build-with-claude/thinking.md @@ -471,7 +471,7 @@ Claude Haiku 5.5 also has thinking on by default and accepts `thinking: {type: " Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5, Claude Opus 5.5, and Claude Mythos Preview reject `thinking: {type: "disabled"}`. Thinking can't be turned off on these models. -To check whether a model accepts `"disabled"` before you send a request, read its `capabilities.thinking.types.disabled.supported` value from the Models API. [Using the Models API](https://platform.claude.com/docs/en/models/overview#using-the-models-api) describes the field. +To check whether a model accepts `"disabled"` or `"between_tools"` before you send a request, read its `capabilities.thinking.types.disabled.supported` or `capabilities.thinking.types.between_tools.supported` value from the Models API. [Using the Models API](https://platform.claude.com/docs/en/models/overview#using-the-models-api) describes both fields. If your model supports only extended thinking (see the [per-model configuration table](https://platform.claude.com/docs/en/build-with-claude/thinking-troubleshooting#supported-models)), configure it with `type: "enabled"` and a `budget_tokens` value instead. The [Extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) page covers that configuration. And if any thinking configuration comes back with a 400 error, [Troubleshooting thinking](https://platform.claude.com/docs/en/build-with-claude/thinking-troubleshooting) matches each error message to its fix. diff --git a/content/en/build-with-claude/token-counting.md b/content/en/build-with-claude/token-counting.md index 1dc0e0687e..e09a2885af 100644 --- a/content/en/build-with-claude/token-counting.md +++ b/content/en/build-with-claude/token-counting.md @@ -1406,7 +1406,7 @@ Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, and Claude Mythos 5 share t ## Pricing and rate limits -Token counting is **free to use** but subject to requests per minute rate limits based on your [usage tier](https://platform.claude.com/docs/en/api/rate-limits#rate-limits). If you need higher limits, use **Request tier increase** on the [Rate limits](https://platform.claude.com/usage/limits) page. +Token counting is **free to use** but subject to requests per minute rate limits based on your [usage tier](https://platform.claude.com/docs/en/api/rate-limits#rate-limits). If you need higher limits, use **Request tier increase** on the [Rate limits](https://platform.claude.com/usage/limits) page in the Claude Console. | Usage tier | Requests per minute (RPM) | | ---------- | ------------------------- | diff --git a/content/en/build-with-claude/vision-coordinates.md b/content/en/build-with-claude/vision-coordinates.md index abfb8ad1e3..4b3bbf457b 100644 --- a/content/en/build-with-claude/vision-coordinates.md +++ b/content/en/build-with-claude/vision-coordinates.md @@ -276,7 +276,6 @@ First check which resolution tier your model is on (see [Resolution and token co } return lo, max(int(math.RoundToEven(float64(lo)/aspectRatio)), 1) } - ``` ```java Java @@ -534,12 +533,7 @@ Screenshots and zoom images that you return to the [computer use](https://platfo maxEdge = 1568, maxTokens = 1568 ): [number, number] { - const [resizedW, resizedH] = resizedSize( - originalWidth, - originalHeight, - maxEdge, - maxTokens - ); + const [resizedW, resizedH] = resizedSize(originalWidth, originalHeight, maxEdge, maxTokens); return [x / resizedW, y / resizedH]; } diff --git a/content/en/cli-sdks-libraries/cli/apply.md b/content/en/cli-sdks-libraries/cli/apply.md index 104fb0c637..22116f2747 100644 --- a/content/en/cli-sdks-libraries/cli/apply.md +++ b/content/en/cli-sdks-libraries/cli/apply.md @@ -107,7 +107,7 @@ You can declaratively define the other resources as files as well. A file holds Any resource except a skill can be written as YAML, JSON, or Markdown. In Markdown, the frontmatter is the body and the prose fills the kind's text field: an agent's `system`, an environment's or memory store's `description`, a deployment's first message. A vault has no text field, so `ant apply` refuses a vault Markdown file that has prose. -Resources refer to each other by path. Wherever the API expects another resource's ID, write the relative path to that resource's file instead. In this project, the reviewer agent lists `../skills/pr-summary` under `skills`, the lead agent lists `./reviewer.md` in its roster, and the deployment names its agent, environment, and memory store by path. `ant apply` creates them in dependency order and fills in the real IDs. The project has six files: +Resources refer to each other by path. Wherever the API expects another resource's ID, write the relative path to that resource's file instead. In this project, the reviewer agent lists `../skills/pr-summary` under `skills`, the agent in `agents/lead.md` lists `./reviewer.md` under `multiagent.subagents.predefined_agents`, and the deployment names its agent, environment, and memory store by path. `ant apply` creates them in dependency order and fills in the real IDs. A path under `multiagent.subagents.predefined_agents` or `multiagent.workflows.predefined_agents` needs CLI version 1.40.0 or later. The project has six files: @@ -131,9 +131,11 @@ Resources refer to each other by path. Wherever the API expects another resource name: Engineering lead model: claude-opus-5-5 multiagent: - type: coordinator - agents: - - ./reviewer.md + type: multiagent_20261001 + subagents: + type: enabled + predefined_agents: + - ./reviewer.md --- You coordinate engineering work. Delegate code review to the reviewer. diff --git a/content/en/cli-sdks-libraries/cli/authentication.md b/content/en/cli-sdks-libraries/cli/authentication.md index 1435bf9889..1608065a44 100644 --- a/content/en/cli-sdks-libraries/cli/authentication.md +++ b/content/en/cli-sdks-libraries/cli/authentication.md @@ -71,7 +71,7 @@ The CLI also reads your API key from the `ANTHROPIC_API_KEY` environment variabl -To override the key for a single invocation, pass `--api-key`. To point at a different API host, set `ANTHROPIC_BASE_URL` or pass `--base-url`. +To override the key for a single invocation, pass [`--api-key-stdin`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/using#global-flags) and pipe the key to the command. To point at a different API host, set `ANTHROPIC_BASE_URL` or pass `--base-url`. If you are using an API key scoped to multiple workspaces, such as a [personal or service account key](https://platform.claude.com/docs/en/manage-claude/authentication#key-types), you must [specify the workspace](https://platform.claude.com/docs/en/manage-claude/authentication#select-a-workspace) to run your command in. Do this by setting an `ANTHROPIC_WORKSPACE_ID` environment variable, which the CLI reads automatically, or by using the [`--workspace-id` flag](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/using#global-flags). The value must be a `wrkspc_...` ID. diff --git a/content/en/cli-sdks-libraries/cli/using.md b/content/en/cli-sdks-libraries/cli/using.md index 97d4049471..f0bb538cd1 100644 --- a/content/en/cli-sdks-libraries/cli/using.md +++ b/content/en/cli-sdks-libraries/cli/using.md @@ -30,6 +30,8 @@ ant beta:sessions:events list --session-id session_01... | Flag | Description | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `--profile` | Named profile to use for this invocation (equivalent to setting `ANTHROPIC_PROFILE`). See [Switch between workspaces](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication#switch-between-workspaces). | +| `--api-key-stdin` | Read the API key from standard input. The flag reads all of standard input, so pass the request body with [flags](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/using#flags). | +| `--auth-token-stdin` | Read the bearer token from standard input. The flag reads all of standard input, so pass the request body with [flags](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/using#flags). | | `--format` | Output format: `auto`, `json`, `jsonl`, `yaml`, `pretty`, `raw`, `explore` | | `--transform` | Filter or reshape the response with a [GJSON path](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/using#transform-output-with-gjson) | | `-r`, `--raw-output` | Print string results without surrounding quotes, like `jq -r` | diff --git a/content/en/cli-sdks-libraries/libraries/apple-foundation-models.md b/content/en/cli-sdks-libraries/libraries/apple-foundation-models.md index a096c922dd..4789bf84cf 100644 --- a/content/en/cli-sdks-libraries/libraries/apple-foundation-models.md +++ b/content/en/cli-sdks-libraries/libraries/apple-foundation-models.md @@ -147,7 +147,7 @@ ClaudeLanguageModel( ) ``` -Your proxy receives standard [Messages API](https://platform.claude.com/docs/en/api/messages/create) requests, attaches the `x-api-key` header, and forwards them to `https://api.anthropic.com`. +Your proxy receives standard [Messages API](https://platform.claude.com/docs/en/api/messages/create) requests, attaches your API key as `Authorization: Bearer `, and forwards them to `https://api.anthropic.com`. ### API key (development) diff --git a/content/en/cli-sdks-libraries/libraries/openai-sdk.md b/content/en/cli-sdks-libraries/libraries/openai-sdk.md index 7070d616ce..9230ea35d1 100644 --- a/content/en/cli-sdks-libraries/libraries/openai-sdk.md +++ b/content/en/cli-sdks-libraries/libraries/openai-sdk.md @@ -25,7 +25,7 @@ To use the OpenAI SDK compatibility feature, you'll need to: 2. Change the following * Update your base URL to point to the Claude API - * Replace your API key with a [Claude API key](https://platform.claude.com/settings/keys) + * Replace your API key with a [Claude API key](https://platform.claude.com/settings/keys) from the Claude Console * If your key is a [personal or service account key](https://platform.claude.com/docs/en/manage-claude/authentication#key-types) with access to multiple workspaces, also send the `anthropic-workspace-id` header on every request (for example, `default_headers` in the Python SDK or `defaultHeaders` in TypeScript); see [Select a workspace](https://platform.claude.com/docs/en/manage-claude/authentication#select-a-workspace) * Update your model name to use a [Claude model](https://platform.claude.com/docs/en/models/overview) diff --git a/content/en/cli-sdks-libraries/sdks/php.md b/content/en/cli-sdks-libraries/sdks/php.md index ecbd4e2539..13022198ba 100644 --- a/content/en/cli-sdks-libraries/sdks/php.md +++ b/content/en/cli-sdks-libraries/sdks/php.md @@ -72,8 +72,8 @@ foreach ($stream as $event) { Streaming requires an HTTP client that returns the response body incrementally. When Guzzle is the discovered PSR-18 client, the SDK configures it for streaming automatically. With a buffering client, the `foreach` loop yields every event at once when the response completes instead of incrementally; if you observe that symptom, install Guzzle or supply a streaming-capable PSR-18 client through the `streamingTransporter` request option: ```php -$client = new \Anthropic\Client( - requestOptions: \Anthropic\RequestOptions::with(streamingTransporter: $myStreamingClient), +$client = new Client( + requestOptions: RequestOptions::with(streamingTransporter: $myStreamingClient), ); ``` diff --git a/content/en/docs/claude-code/admin-setup.md b/content/en/docs/claude-code/admin-setup.md index 6fbc8187d9..3b428ac74e 100644 --- a/content/en/docs/claude-code/admin-setup.md +++ b/content/en/docs/claude-code/admin-setup.md @@ -34,7 +34,7 @@ Claude Code connects to Claude through one of several API providers. Your choice | Google Cloud's Agent Platform | You want to inherit existing GCP compliance controls and billing | | Microsoft Foundry | You want to inherit existing Azure compliance controls and billing | -Some Claude Code features require a claude.ai account. [Cloud sessions](/docs/en/claude-code-on-the-web), [Routines](/docs/en/routines), [Code Review](/docs/en/code-review), [Remote Control](/docs/en/remote-control), and the [Chrome extension](/docs/en/chrome) aren't available through Console API keys or cloud-provider credentials alone. If you deploy through Amazon Bedrock, Google Cloud's Agent Platform, or Microsoft Foundry, plan whether developers also need Claude for Teams or Enterprise seats. Each feature page lists its plan requirements. +Some Claude Code features require a claude.ai account. [Cloud sessions](/docs/en/claude-code-on-the-web), [cloud scheduled tasks](/docs/en/routines), [Code Review](/docs/en/code-review), [Remote Control](/docs/en/remote-control), and the [Chrome extension](/docs/en/chrome) aren't available through Console API keys or cloud-provider credentials alone. If you deploy through Amazon Bedrock, Google Cloud's Agent Platform, or Microsoft Foundry, plan whether developers also need Claude for Teams or Enterprise seats. Each feature page lists its plan requirements. For the full provider comparison covering authentication, regions, and feature parity, see the [enterprise deployment overview](/docs/en/third-party-integrations). Each provider's auth setup is in [Authentication](/docs/en/authentication). diff --git a/content/en/docs/claude-code/agent-sdk/agent-loop.md b/content/en/docs/claude-code/agent-sdk/agent-loop.md index ae89bc74b1..65f1b812f0 100644 --- a/content/en/docs/claude-code/agent-sdk/agent-loop.md +++ b/content/en/docs/claude-code/agent-sdk/agent-loop.md @@ -237,7 +237,7 @@ The permission mode option (`permission_mode` in Python, `permissionMode` in Typ | `"default"` | Tool calls that need approval and aren't covered by allow rules trigger your `canUseTool` callback; no callback means deny | Interactive applications with a custom approval callback | | `"acceptEdits"` | Auto-approves file edits and common filesystem commands (`mkdir`, `touch`, `mv`, `cp`, etc.); other Bash commands follow default rules | You trust Claude's edits and want faster iteration, such as during prototyping or when working in an isolated directory | | `"plan"` | Claude explores and plans without editing your source files; file edits are never auto-approved and prompt through your `canUseTool` callback | You want Claude to propose changes without executing them, such as during code review or when you need to approve changes before they're made | -| `"dontAsk"` | Never prompts. Tools pre-approved by [permission rules](/docs/en/settings-reference#permission-settings) run, and so do calls that need no approval in `default` mode, such as file reads inside your working directories; every call that would otherwise prompt is denied. `AskUserQuestion`, connector tools [your organization set to `ask`](/docs/en/mcp#organization-controls-on-connector-tools), MCP tools marked [`requiresUserInteraction`](/docs/en/mcp#require-approval-for-a-specific-tool), and [reads from network paths](/docs/en/permissions#network-paths) are denied even if you've allowed them | You want a fixed, explicit tool surface for a headless agent and prefer a hard deny over silent reliance on `canUseTool` being absent | +| `"dontAsk"` | Never prompts. Tools pre-approved by [permission rules](/docs/en/settings-reference#permission-settings) run, and so do calls that need no approval in `default` mode, such as file reads inside your working directories. Every call that would otherwise prompt is denied, though a [mod](/docs/en/plugins/mods/overview) you installed can still approve [some of those calls](/docs/en/permissions#precedence-among-rules-hooks-and-mods). `AskUserQuestion`, connector tools [your organization set to `ask`](/docs/en/mcp#organization-controls-on-connector-tools), MCP tools marked [`requiresUserInteraction`](/docs/en/mcp#require-approval-for-a-specific-tool), and [reads from network paths](/docs/en/permissions#network-paths) are denied even if you've allowed them | You want a fixed, explicit tool surface for a headless agent and prefer a hard deny over silent reliance on `canUseTool` being absent | | `"auto"` | Uses a model classifier to review actions such as shell commands and network requests, allowing or blocking each one it reviews. See [Auto mode](/docs/en/permission-modes#eliminate-prompts-with-auto-mode) for availability and the decision order | Autonomous agents that still want safety guardrails on tool use | | `"bypassPermissions"` | Runs all allowed tools without asking, except tools matched by an explicit [`ask` rule](/docs/en/settings-reference#permission-settings), connector tools [your organization set to `ask`](/docs/en/mcp#organization-controls-on-connector-tools), and tools that require user interaction. The [cross-session messaging safeguards](/docs/en/permission-modes#skip-all-checks-with-bypasspermissions-mode) still apply. See [How permissions are evaluated](/docs/en/agent-sdk/permissions#how-permissions-are-evaluated) for the precedence order. In the TypeScript SDK, also requires `allowDangerouslySkipPermissions: true` in `options`. Can't be used when running as root on Unix. Use only in isolated environments where the agent's actions can't affect systems you care about | CI, containers, or other isolated environments | diff --git a/content/en/docs/claude-code/agent-sdk/custom-tools.md b/content/en/docs/claude-code/agent-sdk/custom-tools.md index 256e344716..bbd3dd3a60 100644 --- a/content/en/docs/claude-code/agent-sdk/custom-tools.md +++ b/content/en/docs/claude-code/agent-sdk/custom-tools.md @@ -155,7 +155,7 @@ The [`get_precipitation_chance` tool below](#add-more-tools) shows both patterns ### Call a custom tool -Pass the MCP server you created to `query` via the `mcpServers` option. Each tool's [fully qualified name](/docs/en/agent-sdk/mcp#tool-naming-convention) is `mcp__{server_name}__{tool_name}`, where `{server_name}` is the key you give the server in `mcpServers`. If the key contains characters such as `.` or spaces, replace them with `_` when you write `{server_name}`. List the fully qualified name in `allowedTools` so the tool runs without a permission prompt. +Pass the MCP server you created to `query` via the `mcpServers` option, and list each tool's [fully qualified name](/docs/en/agent-sdk/mcp#tool-naming-convention) in `allowedTools` so the tool runs without a permission prompt. That name is `mcp__{server_name}__{tool_name}`, where `{server_name}` is the key you give the server in `mcpServers`. If the key contains characters such as `.` or spaces, replace them with `_` when you write `{server_name}`. These snippets reuse the `weatherServer` from the [weather tool example](#weather-tool-example) to ask Claude what the weather is in a specific location. diff --git a/content/en/docs/claude-code/agent-sdk/permissions.md b/content/en/docs/claude-code/agent-sdk/permissions.md index 0e33a717de..5039c0b45f 100644 --- a/content/en/docs/claude-code/agent-sdk/permissions.md +++ b/content/en/docs/claude-code/agent-sdk/permissions.md @@ -47,7 +47,7 @@ When Claude requests a tool, the SDK checks permissions in this order: - If not resolved by any of the above, call your [`canUseTool` callback](/docs/en/agent-sdk/user-input) for a decision. In `dontAsk` mode, this step is skipped and the tool is denied. + If not resolved by any of the above, call your [`canUseTool` callback](/docs/en/agent-sdk/user-input) for a decision. In `dontAsk` mode, this step is skipped and the tool is denied, though a [mod](/docs/en/plugins/mods/overview) you installed can still approve [some such calls](/docs/en/permissions#precedence-among-rules-hooks-and-mods). In the TypeScript SDK, if you set [`permissionPrompts: 'none'`](/docs/en/agent-sdk/typescript#options), your callback isn't called at this step. A [`PermissionRequest` hook](/docs/en/hooks#permissionrequest) still gets a chance to decide, and if it doesn't, Claude Code denies the call. The option requires Claude Code v2.1.259 or later. @@ -105,7 +105,9 @@ const options = { }; ``` -Listed tools are approved, apart from the [actions no mode auto-approves](/docs/en/permission-modes#actions-no-mode-auto-approves) and [reads from network paths](/docs/en/permissions#network-paths), and every other call that would prompt is denied instead. Calls that need no approval in `default` mode run whether or not you list them, such as [read-only Bash commands](/docs/en/permissions#read-only-commands), tools like `Agent` that don't ask before running, and file reads inside your working directories. To remove a tool from the request entirely, add its bare name to `disallowedTools`. +Listed tools are approved, apart from the [actions no mode auto-approves](/docs/en/permission-modes#actions-no-mode-auto-approves) and [reads from network paths](/docs/en/permissions#network-paths). Every other call that would prompt is denied instead, though a [mod](/docs/en/plugins/mods/overview) you installed can still approve [some of those calls](/docs/en/permissions#precedence-among-rules-hooks-and-mods). + +Calls that need no approval in `default` mode run whether or not you list them. They include [read-only Bash commands](/docs/en/permissions#read-only-commands), tools like `Agent` that don't ask before running, and file reads inside your working directories. To remove a tool from the request entirely, add its bare name to `disallowedTools`. **`allowed_tools` does not constrain `bypassPermissions`.** `allowed_tools` pre-approves the tools you list. Other unlisted tools are not matched by any allow rule and fall through to the permission mode, where `bypassPermissions` approves them. Setting `allowed_tools=["Read"]` alongside `permission_mode="bypassPermissions"` still approves every tool, including `Bash`, `Write`, and `Edit`. If you need `bypassPermissions` but want specific tools blocked, use `disallowed_tools`. @@ -126,7 +128,7 @@ The SDK supports these permission modes: | Mode | Description | Tool behavior | | :- | :- | :- | | `default` | Standard permission behavior | No mode-based auto-approvals; calls that need approval and match no allow rule trigger your `canUseTool` callback | -| `dontAsk` | Deny instead of prompting | Any call that would otherwise prompt is denied. Calls approved by `allowed_tools` or rules run, and so do calls that need no approval in `default` mode; connector tools [your organization set to `ask`](/docs/en/mcp#organization-controls-on-connector-tools) and tools that require user interaction are denied even if you've pre-approved them, as are [reads from network paths](/docs/en/permissions#network-paths) and `rm` and `rmdir` removals targeting a [critical path](/docs/en/permission-modes#critical-paths). `canUseTool` is never called | +| `dontAsk` | Deny instead of prompting | Any call that would otherwise prompt is denied, though a [mod](/docs/en/plugins/mods/overview) you installed can still approve [some of those calls](/docs/en/permissions#precedence-among-rules-hooks-and-mods). Calls approved by `allowed_tools` or rules run, and so do calls that need no approval in `default` mode. Connector tools [your organization set to `ask`](/docs/en/mcp#organization-controls-on-connector-tools) and tools that require user interaction are denied even if you've pre-approved them. [Reads from network paths](/docs/en/permissions#network-paths) and `rm` and `rmdir` removals targeting a [critical path](/docs/en/permission-modes#critical-paths) are also denied even if you've pre-approved them. `canUseTool` is never called | | `acceptEdits` | Auto-accept file edits | File edits and [filesystem operations](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv`, etc.) are automatically approved | | `bypassPermissions` | Bypass permission checks | Tools run without permission prompts, except for the [actions no mode auto-approves](/docs/en/permission-modes#actions-no-mode-auto-approves). Use with caution | | `plan` | Planning mode | Claude explores and plans without editing your source files; file edits are never auto-approved and prompt through your `canUseTool` callback | @@ -265,7 +267,9 @@ Both apply only to paths inside the working directory or `additionalDirectories` #### Don't ask mode (`dontAsk`) -Converts any permission prompt into a denial, without calling `canUseTool`. Tools pre-approved by `allowed_tools`, `settings.json` allow rules, or a hook run as normal, and so do calls that need no approval in `default` mode, such as file reads inside your working directories and calls to `Agent`. Connector tools [your organization set to `ask`](/docs/en/mcp#organization-controls-on-connector-tools), tools that require user interaction, [reads from network paths](/docs/en/permissions#network-paths), and `rm` and `rmdir` removals targeting a [critical path](/docs/en/permission-modes#critical-paths) are denied even when an allow rule matches. A `PreToolUse` hook allow doesn't clear a critical-path removal or a read from a network path either. +Converts any permission prompt into a denial, without calling `canUseTool`, though a [mod](/docs/en/plugins/mods/overview) you installed can still approve [some of those calls](/docs/en/permissions#precedence-among-rules-hooks-and-mods). Tools pre-approved by `allowed_tools`, `settings.json` allow rules, or a hook run as normal. Calls that need no approval in `default` mode also run, such as file reads inside your working directories and calls to `Agent`. + +Connector tools [your organization set to `ask`](/docs/en/mcp#organization-controls-on-connector-tools), tools that require user interaction, [reads from network paths](/docs/en/permissions#network-paths), and `rm` and `rmdir` removals targeting a [critical path](/docs/en/permission-modes#critical-paths) are denied even when an allow rule matches. A `PreToolUse` hook allow doesn't clear a critical-path removal or a read from a network path either. **Use when:** you want a fixed, explicit tool surface for a headless agent and prefer a hard deny over silent reliance on `canUseTool` being absent. diff --git a/content/en/docs/claude-code/agent-sdk/python.md b/content/en/docs/claude-code/agent-sdk/python.md index 49c11f14f2..23e52c7722 100644 --- a/content/en/docs/claude-code/agent-sdk/python.md +++ b/content/en/docs/claude-code/agent-sdk/python.md @@ -935,7 +935,7 @@ options = ClaudeAgentOptions( ) ``` -* `API_TIMEOUT_MS`: per-request timeout on the Anthropic client, in milliseconds. Default `600000`. Applies to the main loop and all subagents. +* [`API_TIMEOUT_MS`](/docs/en/env-vars): how long each request attempt can wait for response headers, in milliseconds. It doesn't limit how long a streaming response runs after the headers arrive. Default `600000`. Applies to the main loop and all subagents. * `CLAUDE_CODE_MAX_RETRIES`: maximum API retries. Default `10`, capped at `15`. Each retry gets its own `API_TIMEOUT_MS` window. For unattended runs that need to wait through longer outages, set [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/en/errors#tune-retry-behavior): it retries transient capacity errors indefinitely and, on Claude Code v2.1.199 or later, raises the default for other transient errors to `300` and removes the cap on this variable. diff --git a/content/en/docs/claude-code/agent-sdk/typescript.md b/content/en/docs/claude-code/agent-sdk/typescript.md index ecfdfa075b..8f436134d5 100644 --- a/content/en/docs/claude-code/agent-sdk/typescript.md +++ b/content/en/docs/claude-code/agent-sdk/typescript.md @@ -580,7 +580,7 @@ const result = query({ }); ``` -* `API_TIMEOUT_MS`: per-request timeout on the Anthropic client, in milliseconds. Default `600000`. Applies to the main loop and all subagents. +* [`API_TIMEOUT_MS`](/docs/en/env-vars): how long each request attempt can wait for response headers, in milliseconds. It doesn't limit how long a streaming response runs after the headers arrive. Default `600000`. Applies to the main loop and all subagents. * `CLAUDE_CODE_MAX_RETRIES`: maximum API retries. Default `10`, capped at `15`. Each retry gets its own `API_TIMEOUT_MS` window. For unattended runs that need to wait through longer outages, set [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/en/errors#tune-retry-behavior): it retries transient capacity errors indefinitely and, on Claude Code v2.1.199 or later, raises the default for other transient errors to `300` and removes the cap on this variable. @@ -853,7 +853,7 @@ Interpret the list with these caveats: * Only messages that were enqueued with a UUID appear. An empty array doesn't mean nothing else will run. * Only main-thread messages are listed. Messages addressed to a subagent are out of scope. -* The list can include UUIDs your client never sent, such as [scheduled task](/docs/en/scheduled-tasks) triggers. Ignore UUIDs you don't recognize instead of treating them as an error. +* The list can include UUIDs your client never sent, such as [session-scoped scheduled task](/docs/en/scheduled-tasks) triggers. Ignore UUIDs you don't recognize instead of treating them as an error. A client that drives the CLI's control protocol directly, rather than through `interrupt()`, can set `cancel_queued: true` on the `interrupt` control request. Claude Code v2.1.219 and later advertises support with the `interrupt_cancel_queued_v1` capability in [`SDKSystemMessage.capabilities`](#sdksystemmessage); older CLIs ignore the field and leave queued messages to run as usual. Such an interrupt also cancels every message that would otherwise be listed under `still_queued`: the receipt lists them under `cancelled` instead, `still_queued` is empty, and none of them run. @@ -1692,7 +1692,12 @@ Use the reason code to explain why fast mode is off in your own UI instead of re The same pair of fields appears on [`SDKSystemMessage`](#sdksystemmessage) and on the [`SDKControlInitializeResponse`](#sdkcontrolinitializeresponse), so you can read the fast mode state before the first turn. -The `origin` field forwards the [`SDKMessageOrigin`](#sdkmessageorigin) of the user message that triggered this result. When the SDK injects a synthetic follow-up turn, such as for a finished background task, the resulting `SDKResultMessage` carries `origin: { kind: "task-notification" }`. Routines whose trigger fired and server-verified messages from your other sessions arrive with this kind too, each with the `subkind` described in [Task-notification subkinds](#task-notification-subkinds). Check `kind` to distinguish results that answer your prompt from injected follow-ups before routing or suppressing them. If your application [declares scheduled runs](#declare-a-scheduled-run), their results carry `kind: "task-notification"` too, so don't suppress on `kind` alone. +The `origin` field forwards the [`SDKMessageOrigin`](#sdkmessageorigin) of the user message that triggered this result. Results that carry `origin: { kind: "task-notification" }` include: + +* **Synthetic follow-up turns**: when the SDK injects a synthetic follow-up turn, such as for a finished background task, the resulting `SDKResultMessage` carries this kind +* **Fired scheduled tasks and messages from other sessions**: cloud scheduled tasks whose trigger fired and server-verified messages from your other sessions arrive with this kind too, each with the `subkind` described in [Task-notification subkinds](#task-notification-subkinds) + +Check `kind` to distinguish results that answer your prompt from injected follow-ups before routing or suppressing them. If your application [declares scheduled runs](#declare-a-scheduled-run), their results carry `kind: "task-notification"` too, so don't suppress on `kind` alone. When several background-task completions are queued together, Claude Code can answer them in one turn rather than one turn each. Each completion still produces its own result with this origin. All but the last of the completions Claude Code answers together produce empty results with `num_turns: 0`, in order, and the last one's result carries the turn that answers them all. @@ -2219,12 +2224,12 @@ type SDKMessageOrigin = When Claude Code delivers a task notification into a session, it sets `subkind` on the notification's `origin` if Anthropic servers verified where that notification came from. It also sets `subkind` when your application [declares the message as a scheduled run](#declare-a-scheduled-run) itself, which requires TypeScript Agent SDK v0.3.280 or later. `subkind` requires Claude Code v2.1.213 or later, and it takes one of two values: -* `scheduled-trigger`: the notification is a [routine](/docs/en/routines)'s stored prompt, delivered because one of the routine's triggers fired: its schedule, its [API trigger](/docs/en/routines#add-an-api-trigger), its [GitHub trigger](/docs/en/routines#add-a-github-trigger), or **Run now**. A prompt your application [declares as a scheduled run](#declare-a-scheduled-run) carries this value too. Claude Code frames these to the model as the session's assigned task, with a different notice from the [notice that other task notifications carry](#sdktasknotificationmessage). +* `scheduled-trigger`: the notification is a [cloud scheduled task](/docs/en/routines)'s stored prompt, delivered because one of the task's triggers fired: its schedule, its [API trigger](/docs/en/routines#add-an-api-trigger), its [GitHub trigger](/docs/en/routines#add-a-github-trigger), or **Run now**. A prompt your application [declares as a scheduled run](#declare-a-scheduled-run) carries this value too. Claude Code frames these to the model as the session's assigned task, with a different notice from the [notice that other task notifications carry](#sdktasknotificationmessage). * `peer-send-message`: the notification is a message that another of your sessions sent with the server-side `send_message` tool that [cloud sessions](/docs/en/claude-code-on-the-web) use to message each other, not the [cross-session `SendMessage` tool](/docs/en/cross-session-messaging), and Anthropic servers verified that both sessions belong to the same private group of sessions. Requires Claude Code v2.1.224 or later. A `send_message` delivery the servers didn't verify that way gets no subkind. Every other task notification has no `subkind`. That includes [PR activity](/docs/en/claude-code-on-the-web#how-claude-responds-to-pr-activity) delivered into a session and background events such as a finished task. Messages from the [cross-session `SendMessage` tool](/docs/en/cross-session-messaging) aren't task notifications at all: whether they come from a session on the same machine or through Anthropic servers from another machine, Claude Code gives them `kind: "peer"` and the [peer origin fields](#peer-origin-fields). -`fireReason` says why a `scheduled-trigger` notification fired, as a short lowercase token such as `scheduled`, `manual`, `retry`, `catch_up`, or `api`. Anthropic servers set it on a [routine](/docs/en/routines)'s deliveries, and your application sets it when it declares a scheduled run. It's absent when neither sent one. Requires TypeScript Agent SDK v0.3.280 or later. +`fireReason` says why a `scheduled-trigger` notification fired, as a short lowercase token such as `scheduled`, `manual`, `retry`, `catch_up`, or `api`. Anthropic servers set it on a [cloud scheduled task](/docs/en/routines)'s deliveries, and your application sets it when it declares a scheduled run. It's absent when neither sent one. Requires TypeScript Agent SDK v0.3.280 or later. A background task can run more than once under the same `task_id`, such as when Claude [resumes a subagent](/docs/en/agent-sdk/subagents#resume-subagents). Each run has its own [`run_id`](#sdktaskstartedmessage). When a run's notification reaches your session as a user message, `runId` on that message's `task-notification` origin holds the same value. A notification can arrive after the task's next run has started, and it still carries the earlier run's ID. To tell which run a turn belongs to, compare `runId`, not `task_id`. Requires TypeScript Agent SDK v0.3.292 or later. @@ -3480,7 +3485,7 @@ type CronCreateInput = { }; ``` -Schedules a prompt to run on a 5-field cron schedule in local time. Set `recurring` to `false` to fire once at the next match. Jobs are session-scoped by default, and resuming with `--resume` or `--continue` restores jobs that haven't expired. See [Scheduled tasks](/docs/en/scheduled-tasks). +Schedules a prompt to run on a 5-field cron schedule in local time. Set `recurring` to `false` to fire once at the next match. Jobs are session-scoped by default, and resuming with `--resume` or `--continue` restores jobs that haven't expired. See [Session-scoped scheduled tasks](/docs/en/scheduled-tasks). Setting `durable` to `true` requests persistence to `.claude/scheduled_tasks.json` so the job survives restarts. Durable scheduling isn't available in every session: when it isn't, Claude Code accepts `durable: true` but creates the job session-only. Read the output's `durable` field to see whether the job persisted. @@ -3546,13 +3551,14 @@ type RemoteTriggerInput = { }; ``` -Manages [Routines](/docs/en/routines), the scheduled and triggered Claude Code runs hosted in the cloud. This tool backs the `/schedule` command. `trigger_id` is required for the `get`, `update`, `run`, and `list_runs` actions. `body` is required for `create`, `update`, and `create_webhook_trigger`, and optional for `run`. +Manages [cloud scheduled tasks](/docs/en/routines), formerly routines: the scheduled and triggered Claude Code runs hosted in the cloud. This tool backs the `/schedule` command. `trigger_id` is required for the `get`, `update`, `run`, and `list_runs` actions. `body` is required for `create`, `update`, and `create_webhook_trigger`, and optional for `run`. -`create_webhook_trigger` attaches an event source to an existing routine, such as a [GitHub event](/docs/en/routines#add-a-github-trigger) that fires it. The `body` names the source, the events, and the routine to fire. Requires Claude Code v2.1.225 or later. +`create_webhook_trigger`, `list_runs`, and `get_run_log` each require a minimum Claude Code version: -`list_runs` lists a routine's recent runs, and `get_run_log` reads one run's log. `session_id` names the run to read, from a `list_runs` result, and `cursor` pages through either action's results. Both actions require Claude Code v2.1.227 or later. +* **`create_webhook_trigger`**: attaches an event source to an existing scheduled task, such as a [GitHub event](/docs/en/routines#add-a-github-trigger) that fires it. The `body` names the source, the events, and the task to fire. Requires Claude Code v2.1.225 or later. +* **`list_runs` and `get_run_log`**: `list_runs` lists a scheduled task's recent runs, and `get_run_log` reads one run's log. `session_id` names the run to read, from a `list_runs` result, and `cursor` pages through either action's results. Both actions require Claude Code v2.1.227 or later. -This tool is available only when the session is authenticated with a claude.ai account on a plan with Routines enabled, and is absent when your organization's policy disables [cloud sessions](/docs/en/claude-code-on-the-web). On Claude Code v2.1.227 or later, the tool is also absent when an Owner has [turned off routines for the organization](/docs/en/routines#routines-are-disabled-by-your-organizations-policy). Before v2.1.227, a session with only the routines toggle turned off still showed the tool, and the server denied its calls. +This tool is available only when the session is authenticated with a claude.ai account on a plan with cloud scheduled tasks enabled. It is absent when your organization's policy disables [cloud sessions](/docs/en/claude-code-on-the-web). On Claude Code v2.1.227 or later, the tool is also absent when an Owner has [turned off scheduled tasks for the organization](/docs/en/routines#routines-are-disabled-by-your-organizations-policy). ### PushNotification diff --git a/content/en/docs/claude-code/agents.md b/content/en/docs/claude-code/agents.md index b38c571d53..f45d5f3a39 100644 --- a/content/en/docs/claude-code/agents.md +++ b/content/en/docs/claude-code/agents.md @@ -28,7 +28,7 @@ A few other features run Claude without you driving each step, but they solve a * A [background bash command](/docs/en/interactive-mode#background-bash-commands) runs one shell command without blocking the conversation. It doesn't spawn an agent. * A [forked subagent](/docs/en/sub-agents#fork-the-current-conversation) is a subagent that inherits your full conversation context instead of starting fresh. It's a way to spawn a subagent, not a separate surface. Start one with `/subtask`. Claude also spawns one itself where [fork mode](/docs/en/sub-agents#turn-fork-mode-on-or-off) is on. To copy the whole session into a new [background session](/docs/en/agent-view#from-inside-a-session) that runs alongside it, use `/fork`. With [agent view turned off](/docs/en/agent-view#turn-off-agent-view), the forked-subagent command is `/fork` instead and `/subtask` isn't available. -* A [routine](/docs/en/routines) runs a session on a schedule in the cloud, not in parallel on your machine. +* A [cloud scheduled task](/docs/en/routines) runs a session on a schedule in the cloud, not in parallel on your machine. Running several sessions or subagents at once multiplies token usage. See [Costs](/docs/en/costs) for usage and rate-limit details. diff --git a/content/en/docs/claude-code/artifacts.md b/content/en/docs/claude-code/artifacts.md index 038d92fbbb..90cd63cc71 100644 --- a/content/en/docs/claude-code/artifacts.md +++ b/content/en/docs/claude-code/artifacts.md @@ -67,7 +67,7 @@ A new artifact that Claude publishes in response to a prompt you type goes throu | The session is in [plan mode](/docs/en/permission-modes#analyze-before-you-edit-with-plan-mode) | Asks before the first publish of each artifact | | The publish declares runtime capabilities for the page, such as [connector calls](#pull-live-data-with-mcp-connectors) or [file downloads](#offer-a-file-download) | Asks before that publish | | You shared the artifact publicly | Asks once per conversation before changing it | -| Claude publishes in a turn that a [scheduled task](/docs/en/scheduled-tasks) firing in your session started, rather than a prompt you typed | Asks before the first publish of each artifact | +| Claude publishes in a turn that a [session-scoped scheduled task](/docs/en/scheduled-tasks) firing in your session started, rather than a prompt you typed | Asks before the first publish of each artifact | | Claude can't read the file without your approval | Asks before publishing it. An allow rule for the `Artifact` tool doesn't skip this prompt | | In [Manual](/docs/en/permission-modes) or `acceptEdits` mode, Claude makes a small change to an artifact's file it can't edit without your approval, such as a project file in Manual mode | Asks before publishing the change. You're asked even if an allow rule covers the `Artifact` tool, because the edit to the file needs your approval | diff --git a/content/en/docs/claude-code/best-practices.md b/content/en/docs/claude-code/best-practices.md index 5fa8e3bdbe..326e3cd1a7 100644 --- a/content/en/docs/claude-code/best-practices.md +++ b/content/en/docs/claude-code/best-practices.md @@ -507,7 +507,7 @@ For large migrations or analyses, you can distribute work across many parallel C - Refine your prompt based on what goes wrong with the first 2-3 files, then run on the full set. The `--allowedTools` flag pre-approves the tools the migration needs, and [`--permission-mode dontAsk`](/docs/en/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) denies anything else that would need approval, which matters when you're running unattended. + Refine your prompt based on what goes wrong with the first 2-3 files, then run on the full set. The `--allowedTools` flag pre-approves the tools the migration needs. [`--permission-mode dontAsk`](/docs/en/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) denies anything else that would need approval, which matters when you're running unattended, though a [mod](/docs/en/plugins/mods/overview) you installed can still approve some of those calls. diff --git a/content/en/docs/claude-code/changelog.md b/content/en/docs/claude-code/changelog.md index 18ec445288..71e946436f 100644 --- a/content/en/docs/claude-code/changelog.md +++ b/content/en/docs/claude-code/changelog.md @@ -10,6 +10,96 @@ This page is generated from the [CHANGELOG.md on GitHub](https://github.com/anth Run `claude --version` to check your installed version. + + **Added** + + * Added a transcript line when a plugin that runs first skips one of your mod's hooks, naming the event and the plugin + * Added `decider: "person"` to a mod's `tool.check` answer: only the permission dialog or a host's callback can approve the ask, and it is refused with the mod's reason where nobody can be asked + * Added `e.isReadOnly` to a mod's `tool.check` event, set when the tool call is read-only + * Added `/auto-mode-setup`: a guided setup that reads your project and recent sessions to teach auto mode about your environment, now also available on Bedrock, Vertex, Foundry, Claude apps gateway and telemetry-disabled sessions + * Added `/claude-api managed-agents-secure`, which compares a Managed Agents agent's settings with Anthropic's published security guide, without changing anything + * Added the names of the tools called earlier to the compaction summary in the transcript view (Ctrl+O) + * Added a warning on Pro and Max plans when resuming an inactive conversation would use a noticeable share of your 5-hour usage limit: resume anyway, or start a new conversation and Claude can look up the previous one if you refer to it + * \[VSCode] Added mod drawing in the chat panel for sessions on Amazon Bedrock, Google Vertex AI and Microsoft Foundry, behind an LLM gateway, or with telemetry turned off + * \[Code Review] Added review levels to Code Review: Owners choose Quick, Standard (the default), or Deep for the organization, and can give individual repositories their own level + * \[Code Review] Added an option in Code Review admin settings to review every repository in a GitHub organization, including ones added later, without selecting them one by one + + **Changed** + + * Changed mods' `settings.read` hooks to receive each settings layer and rewrite the merged settings, so a managed mod can make an organization's setting a ceiling, including the `cleanupPeriodDays` the retention sweep uses + * Changed the `/artifacts` delete confirmation to show numbered choices: 1 or Enter keeps the artifact, 2 deletes it, and y, n and Esc still work + * Changed the question that turns on the mods Claude writes in a session to plain text with no link or session id; it stays up when a new turn starts, and Claude tells you what loaded when you turn them on + * Changed tool search to be on by default behind a custom `ANTHROPIC_BASE_URL`; a 400 or 422 from the gateway is retried without it + * Changed compaction to send Claude the skill list again afterwards; `/reload-skills` now sends only new or changed skills + * Changed skill hooks: the skills of one source (a repo, your own folder, or a plugin) can register at most 1,024 hooks and 16,384 matcher characters per session + * Changed skills under a policy that allows hooks from plugins only: a skill used in the main conversation whose hooks are kept out no longer gets its `allowed-tools` + * Updated the /claude-api skill to use the `ant` CLI on Claude Platform on AWS instead of falling back to the SDK or curl + * Removed the notes from `claude plugin validate` that predicted where a mod's hooks would run + * Removed the "(research preview)" label from the `/fast` dialog title on Opus 5.5 + * \[VSCode] Changed background sub-agents to show as one status line under their Agent card instead of streaming every step into the chat; the full transcript stays in /tasks + + + - Improved `/usage` to say when a rate limit on usage data ends instead of "try again in a moment" + - Improved the lines shown when a mod written in the session loads, reloads or fails to load + - Improved artifacts with several views: when you ask for links to them, Claude now writes out each view's link and explains that the address bar stays the same as you switch views + - Improved cloud sessions: a new conversation's first turn no longer waits for the local (stdio) MCP servers of plugins synced from claude.ai, unless a server sets `alwaysLoad: true` + - Improved how a remote session recovers its status when the server refuses a status update that carried other session data + - Improved session file size in auto mode: the safety classifier's context is no longer stored with every request + - Improved the `claude -p` invalid-settings warning: a file that did not load lists only what stopped it, and long lists are capped per file + - Improved resume of large compacted sessions in SDK and headless mode: the first request after resuming is sent sooner + - Improved responsiveness and throughput when many subagents are running at the same time + - Improved memory use when sending requests in long or resumed conversations + - Self-hosted runner: Improved the error shown when the git host answers "not found" for a session's repository: it now names the repository and whom to ask + - Windows: Improved git command start-up with a standard Git for Windows install by running its git.exe directly instead of through its cmd launcher + + + + * Fixed the organization policy not refreshing until the hourly check after approving an `ANTHROPIC_API_KEY` at startup or switching "Use custom API key" in `/config` + * Fixed sandboxed commands failing to start on Linux when a `sandbox.filesystem.denyRead` glob contains brackets that are not a character class, such as a `[user-id]` route folder + * Fixed `rm -r` of a mounted drive or a folder at its top level (`/Volumes`, `/media`, WSL's `/mnt/c`) not getting the safety prompt that `rm -rf /Applications` gets + * Fixed `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` dropping messages from the saved transcript when the disk filled up while the file was being trimmed + * Fixed a plugin keeping a headless run going past `--max-turns`, Stop, or ended input by spawning subagents or re-running a finished one + * Fixed a failed mod reload removing the tools and commands of the version that stays loaded, and its messages being wrong or silent about whether the previous version is still loaded + * Fixed a click on a mod's button being lost when buttons with the same label and no `key` were redrawn unchanged + * Fixed mod sharing in the built-in `plugin-authoring` skill stopping at the secret scan on machines with managed settings and on Team and Enterprise plans + * Fixed scheduled Cowork cloud sessions waiting five minutes again for each subagent whose WebFetch needed a URL approval that nobody was there to give + * Fixed Write results and rejected edits showing a file outside the working directory as `../../…`; they now show `~/…` or the full path + * Fixed a claude.ai Directory plugin's skills not running as commands when picked from the "/" menu in Cowork cloud sessions + * Fixed Remote Control permanently withholding a desktop conversation's history when a different account was signed in to the terminal + * Fixed Remote Control failing to start from Claude Desktop when DISABLE\_TELEMETRY or DO\_NOT\_TRACK is set on a paid plan + * Fixed model switches, messages and interrupts waiting behind a context usage check in SDK and desktop sessions + * Fixed `context_management: Extra inputs are not permitted` errors behind LLM gateways; Claude Code now resends the request without that field + * Fixed OpenTelemetry settings delivered through server-managed settings being ignored for the whole session after signing in during first-run setup or the first start after /logout + * Fixed unsandboxed Bash commands in Claude Desktop Code tab sessions on macOS and Linux not seeing environment variables exported in shell startup files such as \~/.zshrc + * Fixed the Consumer Terms notice being skipped for a day or longer after a server error + * Fixed `/privacy-settings` offering choices that may not apply to you after a network or server error + * Fixed a "Context limit reached" or "Prompt is too long" error after stopping a turn while Claude Code was compacting a conversation the API had rejected as too long + * Fixed subagents sometimes forgetting their most recent work when they were messaged or resumed right after finishing + * Fixed `claude --help` text for `--tools`, `--resume`, `--debug`, `--json-schema`, `--disable-slash-commands`, `--system-prompt-snapshot` and `claude update` to match actual behavior + * Fixed `claude --worktree` removing the worktree and its branch without asking at exit when HEAD was detached or on another branch, which could lose commits + * Fixed resumed and cloud sessions sending Claude the whole skill list again each time plugins reloaded at startup + * Fixed an interrupt not ending a Read that waits on an idle pipe or device named like an image + * Fixed `/effort status`, `/effort ultracode` and the prompt's effort indicator showing a guessed effort level when `CLAUDE_CODE_EFFORT_LEVEL` is `auto` or `unset` and no level is sent + * Fixed a PreToolUse hook's deny reason being replaced by a timeout error when an Agent SDK callback hook on the same tool call timed out + * Fixed Bash and PowerShell deleting a large command's output file when it could not be copied to the session's tool-results folder, unless the disk is full + * Fixed notes typed into a multiple-choice question with previews being cut off with "…" in terminals under about 100 columns, hiding what was typed (anthropics/claude-code#82768) + * Fixed self-paced `/loop` wakeups scheduled at the 1-hour maximum firing just after the 1-hour prompt cache expired, so those wakeups no longer re-read the conversation uncached + * Fixed agent teams: approving a shutdown request from the main session no longer exits the whole CLI + * Fixed a skill's `once` hook also removing another skill's identical hook after it ran + * Fixed transcript mode's `{` and `}` landing the prompt on an inconsistent row, or off screen, instead of the transcript's first row + * Fixed `CLAUDE_CODE_AUTO_COMPACT_WINDOW=200k` silently setting a 100K window: the variable now accepts `k` and `M` suffixes like `--autocompact`, and warns when a value is out of range or ignored + * Fixed Ctrl+C in the agents view clearing a text selection without copying it when pressed before the mouse button was released + * \[VSCode] Fixed one cause of sessions failing to start with "Subprocess initialization did not complete within 60000ms": time a SessionStart command hook spends running no longer counts toward the limit, up to 10 minutes in total + * \[VSCode] Fixed a session closed while it was starting keeping its Claude Code process running until the start ended + * \[VSCode] Fixed a mod's drawings disappearing from a long-open panel until the next turn on machines that also run an older Claude Code + * \[VSCode] Fixed Past conversations hiding sessions when `claudeCode.claudeProcessWrapper` is set + * \[Cloud sessions] Fixed folders in the composer's @ list showing no name in cloud sessions, where picking one added only a space instead of a mention + * \[Claude Tag] Fixed Claude going silent in a thread when its channel becomes shared across Enterprise Grid workspaces mid-task; it now posts a one-time note to @-mention it in a new thread + * \[Claude Tag] Fixed `@Claude !fork` typed outside a thread getting no visible reply; Claude now shows you a private note saying to run it from inside a thread + * \[Code Review] Fixed pull requests opened within a minute or two of an admin turning on Code Review being silently skipped; they are now retried and reviewed + + + * Bug fixes and reliability improvements diff --git a/content/en/docs/claude-code/channels.md b/content/en/docs/claude-code/channels.md index 21a3fc74d5..cea6e1c695 100644 --- a/content/en/docs/claude-code/channels.md +++ b/content/en/docs/claude-code/channels.md @@ -373,4 +373,4 @@ Once you have a channel running, explore these related features: * [Build your own channel](/docs/en/channels-reference) for systems that don't have plugins yet * [Remote Control](/docs/en/remote-control) to drive a local session from your phone instead of forwarding events into it -* [Scheduled tasks](/docs/en/scheduled-tasks) to poll on a timer instead of reacting to pushed events +* [Session-scoped scheduled tasks](/docs/en/scheduled-tasks) to poll on a timer instead of reacting to pushed events diff --git a/content/en/docs/claude-code/claude-apps-gateway-config.md b/content/en/docs/claude-code/claude-apps-gateway-config.md index 323552d27b..6b55432c44 100644 --- a/content/en/docs/claude-code/claude-apps-gateway-config.md +++ b/content/en/docs/claude-code/claude-apps-gateway-config.md @@ -306,10 +306,16 @@ The gateway adds these headers to every request it forwards to that upstream. When the IdP token carries no email, the gateway sends only `x-claude-gateway-user-id` and omits the two email headers. If your IdP puts the email in a different claim, set [`oidc.email_claim`](#oidc) to that claim. +Your proxy doesn't receive the [`x-claude-code-*` headers](/docs/en/llm-gateway-protocol#request-headers) that Claude Code sends, such as `x-claude-code-session-id`. The gateway doesn't pass them to any upstream, so group requests by developer with the headers in the table above. + When your proxy answers `429` to a request that carried the developer's email, the gateway returns that response to the developer as-is instead of failing over to the next upstream, so your proxy's per-user budget or rate limit holds. The proxy's other responses follow the ordinary [failover rules](#upstreams). If a developer's IdP token carries no email, the gateway forwards their requests without the email headers, so a `429` to one of those requests counts as upstream capacity and fails over. Before v2.1.267 on the gateway server, every `429` failed over. Set `forward_user_identity` only on an upstream whose `base_url` is a proxy you operate. The gateway sends developer emails to whatever server that `base_url` names. If the `base_url` is the Anthropic API, which is the default, the gateway refuses to start. + + If you set `forward_user_identity` on an Amazon Bedrock upstream, the gateway exits at startup with `Unrecognized key(s) in object: 'forward_user_identity'`. If your proxy sits in front of Bedrock, list it as a `provider: anthropic` upstream instead. The gateway sends that upstream the Anthropic Messages format, so your proxy has to [translate requests for Bedrock](/docs/en/llm-gateway-protocol#format-mismatch-with-the-upstream). To name each developer to AWS instead, see [Per-developer AWS cost attribution](#per-developer-aws-cost-attribution). + + #### Amazon Bedrock For the client-side Amazon Bedrock deployment that the gateway replaces or fronts, see [Claude Code on Amazon Bedrock](/docs/en/amazon-bedrock). The gateway-side upstream: diff --git a/content/en/docs/claude-code/claude-apps-gateway.md b/content/en/docs/claude-code/claude-apps-gateway.md index 23fd49393e..d6e2edc593 100644 --- a/content/en/docs/claude-code/claude-apps-gateway.md +++ b/content/en/docs/claude-code/claude-apps-gateway.md @@ -8,6 +8,8 @@ The Claude apps gateway is designed for organizations that must, or prefer to, route inference through their own cloud provider, for example to meet [data residency](/docs/en/claude-apps-gateway-deploy#compliance-posture) requirements. If you don't have this requirement, and want access to other features such as SCIM provisioning or Claude Code on web and mobile, Claude Enterprise may be a better fit. See the [feature availability](/docs/en/feature-availability) page for a full comparison of all deployment methods. + + Claude Code uses one sign-in at a time: a gateway sign-in takes the place of a Claude for Teams or Enterprise login. Gateway sessions don't fetch the [server-managed settings](/docs/en/server-managed-settings) you set in the claude.ai admin console, so deliver them from the gateway's [`managed` block](/docs/en/claude-apps-gateway-config#managed). Leave `forceLoginMethod` and `forceLoginOrgUUID` out of that block, or [some signed-in sessions exit at startup](/docs/en/claude-apps-gateway-config#client-side-managed-settings). See [Availability and limitations](#availability-and-limitations) for what gateway sessions lose. Claude apps gateway is a self-hosted service that sits between your developers' Claude Code clients and your model provider. Developers sign in with your corporate identity provider (IdP) instead of holding API keys or cloud credentials. The gateway holds the upstream credential, enforces model access and [managed settings](/docs/en/managed-settings) by IdP group, and relays usage telemetry to your own observability stack. @@ -25,7 +27,7 @@ Companion pages go deeper. The [configuration reference](/docs/en/claude-apps-ga ## Why Claude apps gateway -The [gateway overview](/docs/en/gateways) covers what a gateway does and why you'd run one. Claude apps gateway is Anthropic's own gateway, built into the `claude` binary and tested alongside each Claude Code release, so it forwards the headers and request fields Claude Code sends without operators maintaining a separate allowlist. Once deployed it gives you: +The [gateway overview](/docs/en/gateways) covers what a gateway does and why you'd run one. Claude apps gateway is Anthropic's own gateway, built into the `claude` binary and tested alongside each Claude Code release, so it forwards the `anthropic-beta` values and request fields Claude Code sends without operators maintaining a separate allowlist. Once deployed it gives you: * **Credentials**: the upstream API key or cloud credential lives only in your infrastructure. Developers authenticate with corporate SSO and receive short-lived bearer tokens, so offboarding happens in your IdP. Deprovision a user and their gateway access expires within the session lifetime, one hour by default. * **Access control**: your IdP groups map to model allowlists and [managed settings](/docs/en/managed-settings) policies. The gateway enforces model access server-side, rejecting requests for non-granted models, and selects each group's managed settings policy, which the CLI applies at the [managed settings tier](/docs/en/settings#settings-precedence). Different teams get different models, tools, and permissions, and a developer can't override what their policy locks. @@ -51,6 +53,10 @@ The [gateway compatibility guide](/docs/en/llm-gateway-protocol) documents what Breaking changes to the protocol are announced in advance, but indefinite backwards compatibility isn't guaranteed. + + A gateway sign-in token identifies the developer who approved the sign-in, not the program that uses it. Claude Code signs in without a client ID or secret of its own, so a gateway has no way to verify which program is signing in. Any client can set `User-Agent` and other request fields, so use them for routing or metrics, not as proof that a request comes from Claude Code. + + ## Quickstart This quickstart walks the minimal path: register an OAuth client in your IdP, write a `gateway.yaml`, run the gateway alongside Postgres with Docker Compose, and verify sign-in end to end. It uses an Amazon Bedrock upstream; Claude Platform on AWS, Google Cloud's Agent Platform, Microsoft Foundry, and the Anthropic API are equally supported by swapping the `upstreams` block as shown in the [configuration reference](/docs/en/claude-apps-gateway-config#upstreams). At the end you have a gateway a developer can `/login` to. @@ -466,7 +472,7 @@ Once connected, Claude Desktop sends model requests from every enabled tab throu ### CI pipelines and remote machines -There is no service-token flow for unattended pipelines. Gateway sign-in always runs the browser device flow, so a CI job with no developer to approve the sign-in can't authenticate; configure those against your provider directly. +There is no service-token flow for unattended pipelines. Gateway sign-in always runs the browser device flow, so a CI job with no developer to approve the sign-in can't authenticate; configure those against your provider directly. Deploy `forceLoginMethod` and `forceLoginGatewayUrl` to developer machines and leave them off CI runners. On a machine whose managed settings set them, a session that authenticates with `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, or `apiKeyHelper` [exits at startup](/docs/en/errors#administrator-policy-requires-a-cloud-gateway-sign-in). Once a developer has signed in, each Claude Code session on that machine uses the gateway session, including non-interactive `claude -p` runs and sessions started by the Agent SDK. Claude Code applies the [gateway policy](/docs/en/claude-apps-gateway-config#managed) to each of them. 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 918d57b28f..64e2b17b83 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 @@ -20,7 +20,7 @@ You can start a cloud session from any of these surfaces: * **Mobile**: the **Code** tab in the [Claude app](/docs/en/mobile) * **Desktop app**: select **Cloud** instead of **Local** when you [start a session](/docs/en/desktop#run-long-running-tasks-in-the-cloud) * **Terminal**: [`claude --cloud`](#from-terminal-to-cloud) -* **Routines**: [scheduled and triggered runs](/docs/en/routines) each run as a cloud session +* **Cloud scheduled tasks**: [scheduled and triggered runs](/docs/en/routines) each run as a cloud session Once you're set up, use this page to move work between your terminal and the cloud, manage and share sessions, turn on auto-fix for pull requests, and troubleshoot. @@ -436,14 +436,16 @@ Before relying on cloud sessions for a workflow, account for these constraints: * **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](/docs/en/cloud-environments#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](/docs/en/github-enterprise-server) 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 -* **Organization IP allowlist**: cloud sessions call the Anthropic API from Anthropic-managed infrastructure, not your network, while sessions in a [self-hosted environment](/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. The same applies to [Code Review](/docs/en/code-review) and to [routines](/docs/en/routines) that run on Anthropic-hosted environments; a routine routed to a self-hosted environment calls the API from your own network. Contact [Anthropic support](https://support.claude.com/) to exempt Anthropic-hosted services from your organization's IP allowlist. +* **Organization IP allowlist**: cloud sessions call the Anthropic API from Anthropic-managed infrastructure, not your network, while sessions in a [self-hosted environment](/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](/docs/en/code-review) and to [cloud scheduled tasks](/docs/en/routines) 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. ## Related resources * [Cloud environments](/docs/en/cloud-environments): configure network access, environment variables, and setup scripts for cloud sessions * [Projects](/docs/en/claude-projects): one conversation where Claude coordinates parallel cloud sessions on your repositories and reports back * [Ultrareview](/docs/en/ultrareview): run a deep multi-agent code review in a cloud sandbox -* [Routines](/docs/en/routines): automate work on a schedule, via API call, or in response to GitHub events +* [Cloud scheduled tasks](/docs/en/routines): automate work on a schedule, via API call, or in response to GitHub events * [Hooks configuration](/docs/en/hooks): run scripts at session lifecycle events * [All settings](/docs/en/settings-reference): all configuration options * [Security](/docs/en/security): isolation guarantees and data handling diff --git a/content/en/docs/claude-code/claude-directory.md b/content/en/docs/claude-code/claude-directory.md index bb9db40418..1a8c233059 100644 --- a/content/en/docs/claude-code/claude-directory.md +++ b/content/en/docs/claude-code/claude-directory.md @@ -1682,11 +1682,14 @@ Skip the confirmation prompt for use in scripts: claude purge ~/work/my-repo --yes ``` -Pass `--all` instead of a path to purge state for every project at once, which deletes `history.jsonl` outright rather than filtering it. Pass `-i` to step through the deletion plan one item at a time. +Other options: + +* Pass `--all` instead of a path to purge state for every project at once, which deletes `history.jsonl` outright rather than filtering it. +* Pass `-i` to step through the deletion plan one item at a time. The command leaves `shell-snapshots/` and `backups/` alone because those are not project-scoped, and warns about them in the plan output. If anyone ran [`/heapdump`](/docs/en/troubleshooting#high-cpu-or-memory-usage) on the machine, delete the `.heapsnapshot` files it wrote too. A heap snapshot contains the full conversation and any credentials the process held, and neither the retention sweep nor the purge touches it. -You can also delete any of the application-data paths above by hand, apart from the [state files to keep](#state-files-to-keep). New sessions are unaffected. The table below shows what you lose for past sessions. +You can also delete any of the application-data paths above yourself, apart from the [state files to keep](#state-files-to-keep). | Delete | You lose | | - | - | @@ -1702,7 +1705,7 @@ You can also delete any of the application-data paths above by hand, apart from | `~/.claude/remote-settings.json` | Nothing. Re-fetched on next launch. | | `~/.claude/cache/changelog.md` | Nothing. Refreshed in the background. | | `~/.claude/policy-limits.json` | Nothing. Refreshed automatically. | -| `~/.claude/tasks/` | Task lists that a resumed session would pick up | +| `~/.claude/tasks/` | Your [task lists](/docs/en/interactive-mode#task-list), including any still in use | | `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | The chance to recover [synced skills](/docs/en/skills#how-synced-skills-behave) and [synced plugins](/docs/en/plugins/loading#synced-plugins) that Claude Code removed | | `~/.claude/plugins/installed_plugins.set-aside...json`, `~/.claude/plugins/installed_plugins.unreadable...kept` | The copies of plugin install records that Claude Code dropped or couldn't read. Nothing reads them back | | `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Nothing user-facing | diff --git a/content/en/docs/claude-code/claude-projects.md b/content/en/docs/claude-code/claude-projects.md index c6c79ef0c7..9a441be05c 100644 --- a/content/en/docs/claude-code/claude-projects.md +++ b/content/en/docs/claude-code/claude-projects.md @@ -31,7 +31,7 @@ A project is worth creating when the work has a goal that outlasts one session a * **A build or migration bigger than a session**: "Build what `docs/spec.md` describes" or "Move the app off the deprecated ORM." The work splits into threads that each take a part, decisions you ask Claude to remember early on reach the later cloud threads, and the spec changes and bugs you find during the build go into the same conversation. * **Work that isn't code**: a folder of contracts or a support-ticket export you keep coming back to with new questions, such as "find the ten most common integration mistakes in these tickets." Upload the documents instead of adding a repository, and threads deliver each write-up as a file on the project's [**Library** tab](#see-what-needs-you-in-overview). -In any of them you can send a batch of tasks, tell Claude to start without asking you to confirm, walk away, and find the threads that need you under [**Waiting on you**](#see-what-needs-you-in-overview) when you're back, or ask Claude to put part of the work on a schedule as a [routine](/docs/en/routines). If one of these is your situation, [create a project](#create-a-project). +In any of them you can send a batch of tasks, tell Claude to start without asking you to confirm, and walk away. When you're back, you can find the threads that need you under [**Waiting on you**](#see-what-needs-you-in-overview). You can also ask Claude to put part of the work on a schedule as a [cloud scheduled task](/docs/en/routines). If one of these is your situation, [create a project](#create-a-project). ### When something else fits better @@ -39,7 +39,7 @@ A project still fits when only some tasks need your machine. Cloud threads work * **One task that fits in a session**: "Fix the flaky login test." Start a [cloud session](/docs/en/claude-code-on-the-web) yourself. * **Work where every task needs your machine**: a local database, a device emulator, or an API behind your VPN. Use a local session, or [agent view](/docs/en/agent-view) to run several at once. If the work only needs local files, upload them to the project instead. -* **One task that repeats on a schedule with no conversation around it**: "Post a dependency report every Monday." Create a [routine](/docs/en/routines) on its own. +* **One task that repeats on a schedule with no conversation around it**: "Post a dependency report every Monday." Create a [cloud scheduled task](/docs/en/routines) on its own. * **Several people giving Claude work and steering it together in a Slack channel**: see [Claude Tag](https://claude.com/docs/claude-tag/overview). A project draws on the same plan limits as your other Claude Code sessions and uses them faster. [Usage and cost](#usage-and-cost) covers what draws on your plan and how to keep it down. @@ -55,7 +55,7 @@ A project is one coordinating conversation with Claude plus the threads it start * The `CLAUDE.md` and skills in [each of the project's repositories](#what-threads-pick-up-from-your-repositories), and in a project with one repository, that repository's permission rules and hooks too * The [connectors](#get-skills-plugins-connectors-and-tools-into-threads) on your claude.ai account * A [cloud environment](#choose-an-environment-for-threads) that sets its network access, environment variables, network secrets, and installed tools -* **The Overview pane**: where you [see all the threads at once](#see-what-needs-you-in-overview) and which of them need you. Its other tabs are **Library** for the files you added and the files threads produced, **Pull requests** for the ones threads opened, and **Routines** for scheduled work in the project. +* **The Overview pane**: where you [see all the threads at once](#see-what-needs-you-in-overview) and which of them need you. Its other tabs are **Library** for the files you added and the files threads produced, **Pull requests** for the ones threads opened, and **Scheduled tasks** for scheduled work in the project. Cloud threads don't pick up anything from the Claude Code setup on your own machine. [Get skills, plugins, connectors, and tools into threads](#get-skills-plugins-connectors-and-tools-into-threads) covers how to give them what they'd otherwise be missing. @@ -109,7 +109,7 @@ Starting a project from scratch means opening the **New project** dialog, naming On your first project, Claude takes a turn of its own as soon as the project is created, unless you send a message first. That turn uses your plan. In it, Claude may: * Start one thread that explores the repository without changing anything and proposes next steps, if the project has a repository it can read. - * Post **Setup recommendations** drawn from your recent cloud sessions: repositories to add, routines to create, and threads it could start. Every recommended repository and routine starts switched on. Switch off the ones you don't want, then click **Update setup** to add the rest, or ignore the recommendations and describe work yourself. + * Post **Setup recommendations** drawn from your recent cloud sessions: repositories to add, scheduled tasks to create, and threads it could start. Every recommended repository and scheduled task starts switched on. Switch off the ones you don't want, then click **Update setup** to add the rest, or ignore the recommendations and describe work yourself. @@ -204,7 +204,11 @@ The pane's **Threads** tab groups threads by state: | **Idle** | Threads that finished and aren't waiting on anything | | **Resolved** | Threads marked done: by you from the thread's menu, by Claude once you've taken the last step, such as merging its pull request, or automatically after a week with no activity. You can reopen one from the same menu | -The pane's other tabs are **Library** for the files and folders you added and the files threads produced, **Pull requests** once threads have opened any, and **Routines** for the [routines](/docs/en/routines) Claude set up from this project. +The pane's other tabs are: + +* **Library**: the files and folders you added and the files threads produced +* **Pull requests**: shown once threads have opened any +* **Scheduled tasks**: the [cloud scheduled tasks](/docs/en/routines) Claude set up from this project ### Open a thread when you need control @@ -393,9 +397,9 @@ Settings save as you change them; a text field you're editing, such as the goal All three controls are at the bottom of **Project settings > General**: -* **Pause**: stops everything at once. Every running thread and the conversation are interrupted, no new threads start, routines don't run, and the project doesn't accept messages until you resume it. Click **Resume** in the same place or on the banner above the project's message box; a paused thread continues when you send it a message after that. -* **Archive**: hides the project from the sidebar and archives its threads, which stops any thread that was running or watching a pull request. Routines in the project don't run while it's archived. To bring the project back, open it from the Projects page and click **Unarchive**. Its threads stay archived until you unarchive them individually from the session list. -* **Delete**: permanently removes the project along with its threads, its memory, and its files, and turns off the project's routines. This can't be undone. Branches and pull requests the threads pushed to GitHub aren't affected. +* **Pause**: stops everything at once. Every running thread and the conversation are interrupted, no new threads start, scheduled tasks don't run, and the project doesn't accept messages until you resume it. Click **Resume** in the same place or on the banner above the project's message box; a paused thread continues when you send it a message after that. +* **Archive**: hides the project from the sidebar and archives its threads, which stops any thread that was running or watching a pull request. Scheduled tasks in the project don't run while it's archived. To bring the project back, open it from the Projects page and click **Unarchive**. Its threads stay archived until you unarchive them individually from the session list. +* **Delete**: permanently removes the project along with its threads, its memory, and its files, and turns off the project's scheduled tasks. This can't be undone. Branches and pull requests the threads pushed to GitHub aren't affected. ## Usage and cost @@ -429,7 +433,7 @@ Several Claude Code features let more than one session work at the same time, so * **Claude Tag**: [Claude Tag](https://claude.com/docs/claude-tag/overview) is Claude in your team's Slack channels, on Team and Enterprise plans. Anyone in a channel can give it work, everyone in the channel sees and steers it, and it uses connections an admin set up for that channel. A project is yours alone: you're the only one who sends it work or sees its threads, it uses your own GitHub access and connectors, and it's on Pro and Max. [How Claude Tag differs from Cowork and Claude Code](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) has the side-by-side. * **Cloud sessions**: every thread is a [cloud session](/docs/en/claude-code-on-the-web) unless you ask Claude to run it on your machine. Either way, Claude starts and tracks it instead of you. A cloud session you started yourself can become a project or feed one through [**Continue as project** or **Move to project**](#start-from-an-existing-cloud-session). -* **Routines**: when you ask for scheduled work in a project, Claude creates a [routine](/docs/en/routines) that runs as threads in that project and appears on its **Routines** tab. Routines you create outside a project keep working on their own. +* **Scheduled tasks**: when you ask for scheduled work in a project, Claude creates a [cloud scheduled task](/docs/en/routines) that runs as threads in that project and appears on its **Scheduled tasks** tab. Scheduled tasks you create outside a project keep working on their own. * **Remote Control**: [Remote Control](/docs/en/remote-control) connects claude.ai to a Claude Code session running on your machine. When you ask Claude in a project to run a thread on your computer, the project [uses Remote Control to do it](#run-a-thread-on-your-own-computer). * **Local sessions and agent view**: a session you start yourself in your terminal, IDE, or the desktop app's local environment can't be added to a project. [Agent view](/docs/en/agent-view) is a screen for tracking several local sessions side by side, and you still start each one and give it its task yourself. * **Worktrees**: a [worktree](/docs/en/worktrees) gives each local session its own working copy of a repository. Cloud threads don't need them: each clones its repositories into its own cloud sandbox and works on its own branch. @@ -486,9 +490,9 @@ To fix any of them, click the button the message offers, such as **Install GitHu A thread hit the usage limit -When a thread or the project conversation reaches your plan's five-hour or weekly limit, it keeps retrying on its own and continues when the limit resets. While it waits, the thread shows **Service is busy** with "Claude is still retrying and will continue automatically." You don't need to do anything for the work to continue. If you'd rather it not use your next usage window, click **Stop** in the thread, or [pause the project](#pause-archive-or-delete-a-project) to hold every thread. A thread that a routine started doesn't wait: its turn stops with a limit error, and you send it a message after the limit resets. +When a thread or the project conversation reaches your plan's five-hour or weekly limit, it keeps retrying on its own and continues when the limit resets. A thread that a scheduled task started doesn't wait: its turn stops with a limit error, and you send it a message after the limit resets. -[Usage limit errors](/docs/en/errors#youve-hit-your-session-limit) explain the limits and when they reset. +While a thread waits, it shows **Service is busy** with "Claude is still retrying and will continue automatically." You don't need to do anything for the work to continue. If you'd rather it not use your next usage window, click **Stop** in the thread, or [pause the project](#pause-archive-or-delete-a-project) to hold every thread. [Usage limit errors](/docs/en/errors#youve-hit-your-session-limit) explain the limits and when they reset.

Additional usage credits are required @@ -522,6 +526,6 @@ These messages name their own cause. The table gives the next step for each. * [Use Claude Code in the cloud](/docs/en/claude-code-on-the-web): how the cloud sessions behind each cloud thread work, including GitHub access options and auto-fix on pull requests * [Configure cloud environments](/docs/en/cloud-environments): change what cloud threads can reach on the network, give them environment variables and network secrets, and install tools with a setup script -* [Automate work with routines](/docs/en/routines): schedules, triggers, and management for routines, including the ones Claude creates from a project +* [Automate work with scheduled tasks](/docs/en/routines): schedules, triggers, and management for scheduled tasks, including the ones Claude creates from a project * [Manage multiple agents with agent view](/docs/en/agent-view): run and track several sessions on your own machine when the work needs tools or services only your machine can reach * [Projects redesigned: from folder to conversation](https://claude.com/blog/projects-redesigned): the launch announcement, with the thinking behind making a project a conversation with Claude diff --git a/content/en/docs/claude-code/cloud-environments.md b/content/en/docs/claude-code/cloud-environments.md index b22d1f9709..5282cf5315 100644 --- a/content/en/docs/claude-code/cloud-environments.md +++ b/content/en/docs/claude-code/cloud-environments.md @@ -12,7 +12,16 @@ Each [cloud session](/docs/en/claude-code-on-the-web) runs in a cloud environment. You can configure an environment to allow or deny [network access](#access-levels), [set environment variables](#set-environment-variables) for the session, store [network secrets](#add-network-secrets) that sessions use without seeing them, and run a [setup script](#setup-scripts) before Claude starts working. -The same environments apply wherever you start a cloud session: the [Desktop app](/docs/en/desktop), the [Claude mobile app](/docs/en/mobile), your browser at [claude.ai/code](https://claude.ai/code), the terminal with [`claude --cloud`](/docs/en/claude-code-on-the-web#from-terminal-to-cloud), [routines](/docs/en/routines), and [Claude Tag](https://claude.com/docs/claude-tag/overview). Each of these surfaces can also route to a [self-hosted environment](/docs/en/self-hosted-environments). [Availability and limitations](/docs/en/self-hosted-environments#availability-and-limitations) covers what Claude can't use yet when a Claude Tag session runs in one. +The same environments apply wherever you start a cloud session: + +* The [Desktop app](/docs/en/desktop) +* The [Claude mobile app](/docs/en/mobile) +* Your browser at [claude.ai/code](https://claude.ai/code) +* The terminal with [`claude --cloud`](/docs/en/claude-code-on-the-web#from-terminal-to-cloud) +* [Cloud scheduled tasks](/docs/en/routines) +* [Claude Tag](https://claude.com/docs/claude-tag/overview) + +Each of these surfaces can also route to a [self-hosted environment](/docs/en/self-hosted-environments). [Availability and limitations](/docs/en/self-hosted-environments#availability-and-limitations) covers what Claude can't use yet when a Claude Tag session runs in one. [Remote Control](/docs/en/remote-control) 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](/docs/en/self-hosted-environments). @@ -178,7 +187,9 @@ Archiving affects new sessions, not running ones: * Sessions already running in the environment continue to work. * The environment disappears from the selector and from `/remote-env`, so you can't pick it for new sessions. * Network secrets on the environment stay attached in its running sessions. Delete any you no longer want before you archive. -* No new session can start in an archived environment, on any surface. If the environment was your saved [CLI default](#select-an-environment-from-the-cli), Claude Code starts CLI cloud sessions in the Anthropic-hosted environment when your list has one, and otherwise in the first environment in your list that isn't a [Remote Control bridge environment](#the-default-environment). Anything configured with the environment explicitly, such as a [routine](/docs/en/routines#environments-and-network-access), can't start new sessions in it. Point it at another environment. +* No new session can start in an archived environment, on any surface: + * **Saved CLI default**: if the environment was your saved [CLI default](#select-an-environment-from-the-cli), Claude Code starts CLI cloud sessions in the Anthropic-hosted environment when your list has one. Otherwise, it starts them in the first environment in your list that isn't a [Remote Control bridge environment](#the-default-environment). + * **Configured explicitly**: anything configured with the environment explicitly, such as a [cloud scheduled task](/docs/en/routines#environments-and-network-access), can't start new sessions in it. Point it at another environment. ### Organization-shared environments @@ -189,7 +200,7 @@ Shared environments appear in each member's [environment selector](#configure-yo An Owner makes an environment available to the organization in one of two ways: * **Create a shared environment**: use the **Cloud environments** page in [admin settings](https://claude.ai/admin-settings), which is also where Owners edit and archive shared environments. Each one has a name, a [network access level](#access-levels), [environment variables](#set-environment-variables) in `.env` format, and a [setup script](#setup-scripts). -* **Share a personal environment**: open one of your own environments for editing in the environment selector, then share it from the **Who can use it** row. The environment keeps its ID, so sessions and routines that already use it aren't affected, and every member can then see it and start sessions in it. +* **Share a personal environment**: open one of your own environments for editing in the environment selector, then share it from the **Who can use it** row. The environment keeps its ID, so sessions and scheduled tasks that already use it aren't affected, and every member can then see it and start sessions in it. Owners choose the organization's [default environment](#the-default-environment) separately, at [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code). @@ -206,12 +217,12 @@ In [Claude Tag](https://claude.com/docs/claude-tag/overview) channels, Claude wo Each environment sets one network access level, which controls the outbound connections its sessions can make. The default level, **Trusted**, allows package registries and other [allowlisted domains](#default-allowed-domains); **Custom** takes your own domain list. -To change an environment's network access, [open it for editing](#configure-your-environment) and use the **Network access** selector in the dialog. A [shared environment](#organization-shared-environments) opens read-only there, so an Owner changes its network access from the **Cloud environments** page in [admin settings](https://claude.ai/admin-settings) instead. The control that opens the selector appears on the app surfaces listed under [The Default environment](#the-default-environment) and in the [routine editor](/docs/en/routines#environments-and-network-access); personal environments don't have a separate page in your claude.ai account settings. +To change an environment's network access, [open it for editing](#configure-your-environment) and use the **Network access** selector in the dialog. A [shared environment](#organization-shared-environments) opens read-only there, so an Owner changes its network access from the **Cloud environments** page in [admin settings](https://claude.ai/admin-settings) instead. The control that opens the selector appears on the app surfaces listed under [The Default environment](#the-default-environment) and in the [cloud scheduled task editor](/docs/en/routines#environments-and-network-access). Personal environments don't have a separate page in your claude.ai account settings. When you change an Anthropic-hosted environment's network access, its existing sessions follow the new setting within about a minute, for requests that go through the session's [network allowlist](#access-levels). You don't need to start a new session. - MCP connectors you enable on a session or routine work without adding their hosts to **Allowed domains**, because connector traffic travels through Anthropic's servers rather than the session's network. This relies on the same Anthropic-bound channel noted under [Security and isolation](/docs/en/claude-code-on-the-web#security-and-isolation). Turn off any connector you don't need to limit which tools Claude can reach. + MCP connectors you enable on a session or scheduled task work without adding their hosts to **Allowed domains**, because connector traffic travels through Anthropic's servers rather than the session's network. This relies on the same Anthropic-bound channel noted under [Security and isolation](/docs/en/claude-code-on-the-web#security-and-isolation). Turn off any connector you don't need to limit which tools Claude can reach. ### Access levels @@ -810,7 +821,7 @@ With **Trusted** network access, sessions can reach the following domains by def * [Cloud sessions reference](/docs/en/claude-code-on-the-web): start, manage, and share cloud sessions * [Cloud sessions quickstart](/docs/en/web-quickstart): connect GitHub and start your first cloud session * [Claude Tag](https://claude.com/docs/claude-tag/overview): sessions Claude starts from Slack run in the same environments -* [Routines](/docs/en/routines): scheduled runs use the same environments and network access levels +* [Cloud scheduled tasks](/docs/en/routines): scheduled runs use the same environments and network access levels * [Remote Control](/docs/en/remote-control): run sessions on your own machine's network and files instead * [Self-hosted environments](/docs/en/self-hosted-environments): run cloud sessions on your organization's own infrastructure * [SessionStart hooks](/docs/en/hooks#sessionstart): repo-committed setup that runs in local and cloud sessions diff --git a/content/en/docs/claude-code/code-review-local.md b/content/en/docs/claude-code/code-review-local.md index 6eda7e1802..5fb90b69a5 100644 --- a/content/en/docs/claude-code/code-review-local.md +++ b/content/en/docs/claude-code/code-review-local.md @@ -123,9 +123,9 @@ Before v2.1.218, the review ran inside your conversation. Claude can start `/code-review` on its own, without you typing the command: * **When you ask in plain language**: ask Claude to review your changes and it can run the skill -* **From a scheduled task**: a [scheduled task](/docs/en/scheduled-tasks) with `/code-review` as its prompt runs the review +* **From a scheduled task**: a [session-scoped scheduled task](/docs/en/scheduled-tasks) with `/code-review` as its prompt runs the review -A scheduled task never launches the [cloud review](#escalate-to-ultrareview), so schedule `/code-review` without the `ultra` argument. +A session-scoped scheduled task never launches the [cloud review](#escalate-to-ultrareview), so schedule `/code-review` without the `ultra` argument. To stop both Claude and scheduled tasks from starting the review while keeping `/code-review` available for you to type, add a [`skillOverrides`](/docs/en/skills#override-skill-visibility-from-settings) entry to a [settings file](/docs/en/settings#where-settings-live) such as `~/.claude/settings.json`: diff --git a/content/en/docs/claude-code/commands.md b/content/en/docs/claude-code/commands.md index 99ad6f6fc4..56f02748f4 100644 --- a/content/en/docs/claude-code/commands.md +++ b/content/en/docs/claude-code/commands.md @@ -135,7 +135,7 @@ In the table below, `` indicates a required argument and `[arg]` indicates | `/run` | **[Skill](/docs/en/skills#bundled-skills).** Launch and drive your project's app to see a change working, not only passing tests. See [Run and verify your app](/docs/en/skills#run-and-verify-your-app) | | `/run-skill-generator` | **[Skill](/docs/en/skills#bundled-skills).** Teach `/run` and `/verify` how to build, launch, and drive your project's app from a clean environment by writing a per-project [skill](/docs/en/skills#run-and-verify-your-app) | | `/sandbox` | Toggle [sandbox mode](/docs/en/sandboxing). Available on supported platforms only | -| `/schedule [description]` | Create, update, list, or run [routines](/docs/en/routines), which execute in the cloud. Claude walks you through the setup conversationally. You can also ask about a [routine's recent runs](/docs/en/routines#manage-routines-from-the-cli). Alias: `/routines` | +| `/schedule [description]` | Create, update, list, or run [cloud scheduled tasks](/docs/en/routines), formerly routines. Claude walks you through the setup conversationally. You can also ask about a [scheduled task's recent runs](/docs/en/routines#manage-scheduled-tasks-from-the-cli). Alias: `/routines` | | `/scroll-speed` | Adjust mouse wheel [scroll speed](/docs/en/fullscreen#mouse-wheel-scrolling) interactively. Available in [fullscreen rendering](/docs/en/fullscreen) only and not in the JetBrains IDE terminal | | `/security-review` | Analyze the changes on your current branch for security vulnerabilities. Reviews the diff between your branch and origin's default branch, identifying risks like injection, auth issues, and data exposure. Needs an `origin` remote; if the review fails with an `ambiguous argument` error, see the [error reference](/docs/en/errors#security-review-fails-without-origin-head) | | `/setup-bedrock` | Configure [Amazon Bedrock](/docs/en/amazon-bedrock) authentication, region, and model pins through an interactive wizard. [Hidden from the command menu](#how-the-command-menu-matches-what-you-type) until `CLAUDE_CODE_USE_BEDROCK=1` is set; type it in full. First-time Amazon Bedrock users can also access this wizard from the login screen | diff --git a/content/en/docs/claude-code/common-workflows.md b/content/en/docs/claude-code/common-workflows.md index b70cb83687..90bcf500d2 100644 --- a/content/en/docs/claude-code/common-workflows.md +++ b/content/en/docs/claude-code/common-workflows.md @@ -407,7 +407,7 @@ Pick a scheduling option based on where you want the task to run: | Option | Where it runs | Best for | | :- | :- | :- | -| [Routines](/docs/en/routines) | Cloud, Anthropic-managed by default | Tasks that should run even when your computer is off. Can also trigger on API calls or GitHub events in addition to a schedule. Configure at [claude.ai/code/routines](https://claude.ai/code/routines). | +| [Cloud scheduled tasks](/docs/en/routines) | Cloud, Anthropic-managed by default | Tasks that should run even when your computer is off. Can also trigger on API calls or GitHub events in addition to a schedule. Configure at [claude.ai/code/routines](https://claude.ai/code/routines). | | [Desktop scheduled tasks](/docs/en/desktop-scheduled-tasks) | Your machine, via the desktop app | Tasks that need direct access to local files, tools, or uncommitted changes. | | [GitHub Actions](/docs/en/github-actions) | Your CI pipeline | Tasks tied to repo events like opened PRs, or cron schedules that should live alongside your workflow config. | | [`/loop`](/docs/en/scheduled-tasks) | The current CLI session | Quick polling while a session is open. `--resume` and `--continue` restore unexpired fixed-interval loops. | diff --git a/content/en/docs/claude-code/context-window.md b/content/en/docs/claude-code/context-window.md index 3782f75071..6db64b3d51 100644 --- a/content/en/docs/claude-code/context-window.md +++ b/content/en/docs/claude-code/context-window.md @@ -53,8 +53,7 @@ export const ContextWindow = () => { tokens: 450, color: '#D4A843', vis: 'hidden', - noSurviveCompact: true, - desc: 'One-line descriptions of available skills so Claude knows what it can invoke. Full skill content loads only when Claude actually uses one. Skills with `disable-model-invocation: true` are not in this list. They stay completely out of context until you invoke them with `/name`. Unlike the rest of the startup content, this listing is not re-injected after `/compact`. Only skills you actually invoked get preserved.', + desc: 'One-line descriptions of available skills so Claude knows what it can invoke. Full skill content loads only when Claude actually uses one. Skills with `disable-model-invocation: true` are not in this list. They stay completely out of context until you invoke them with `/name`. After compaction, Claude Code re-injects this list.', link: '/en/skills' }, { t: 0.12, @@ -535,7 +534,7 @@ export const ContextWindow = () => { }; } {} - const autoLoads = nonCompact.filter(e => e.kind === 'auto' && e.t < STARTUP_END && !e.noSurviveCompact); + const autoLoads = nonCompact.filter(e => e.kind === 'auto' && e.t < STARTUP_END); const restored = nonCompact.filter(e => e.restoredAfterCompact); const summarized = nonCompact.filter(e => e.t >= STARTUP_END && e.kind !== 'sub'); const sumTokens = summarized.reduce((s, e) => s + e.tokens, 0); @@ -623,7 +622,7 @@ export const ContextWindow = () => { if (detailRef.current) detailRef.current.scrollTop = 0; }, [hovEvent]); const focusT = hovEvent ? hovEvent.t : time; - const takeaway = isCompacted ? 'Compaction replaces the conversation with a structured summary. System prompt, CLAUDE.md, memory, and MCP tools reload automatically. Claude Code also re-reads up to five of the files modified most recently and re-injects the skills you invoked. The skill listing does not reload.' : focusT < STARTUP_END ? 'A lot loads before you type anything. CLAUDE.md, memory, skills, and MCP tools are all in context before your first prompt.' : focusT < 0.28 ? "Your prompt is tiny compared to what's already loaded. Most of Claude's context is project knowledge, not your words." : focusT < 0.50 ? 'Each file Claude reads grows the context. Path-scoped rules load automatically alongside matching files.' : focusT < 0.71 ? 'Hooks fire automatically on tool events. Output reaches Claude via additionalContext JSON. Exit code 2 surfaces stderr to Claude. Plain stdout on exit 0 goes to the debug log, not the transcript.' : focusT < 0.79 ? 'Follow-up questions keep building on the same context. Everything from earlier is still there.' : focusT < 0.87 ? "The subagent works in its own separate context window. None of its file reads touch yours. Only the final summary comes back." : focusT < 0.88 ? 'Bang commands run in your shell and prefix the output to your next message. Useful for grounding Claude in command results without it running them.' : focusT < 0.90 ? 'User-only skills stay out of context entirely until you invoke them. The skill index at startup only lists skills Claude can call on its own.' : '/compact summarizes the conversation to free space while keeping key information. In a real session, run it when context starts affecting performance or before a long new task.'; + const takeaway = isCompacted ? 'Compaction replaces the conversation with a structured summary. System prompt, CLAUDE.md, memory, skill descriptions, and MCP tools reload automatically. Claude Code also re-reads up to five of the files modified most recently and re-injects the skills you invoked.' : focusT < STARTUP_END ? 'A lot loads before you type anything. CLAUDE.md, memory, skills, and MCP tools are all in context before your first prompt.' : focusT < 0.28 ? "Your prompt is tiny compared to what's already loaded. Most of Claude's context is project knowledge, not your words." : focusT < 0.50 ? 'Each file Claude reads grows the context. Path-scoped rules load automatically alongside matching files.' : focusT < 0.71 ? 'Hooks fire automatically on tool events. Output reaches Claude via additionalContext JSON. Exit code 2 surfaces stderr to Claude. Plain stdout on exit 0 goes to the debug log, not the transcript.' : focusT < 0.79 ? 'Follow-up questions keep building on the same context. Everything from earlier is still there.' : focusT < 0.87 ? "The subagent works in its own separate context window. None of its file reads touch yours. Only the final summary comes back." : focusT < 0.88 ? 'Bang commands run in your shell and prefix the output to your next message. Useful for grounding Claude in command results without it running them.' : focusT < 0.90 ? 'User-only skills stay out of context entirely until you invoke them. The skill index at startup only lists skills Claude can call on its own.' : '/compact summarizes the conversation to free space while keeping key information. In a real session, run it when context starts affecting performance or before a long new task.'; const terminalView = isCompacted ? 'A "Conversation compacted" message, then a one-line "Read auth.ts" for each re-read file and "Skills restored (commit-push)". None of the content itself appears.' : focusT < STARTUP_END ? 'The input box, waiting for your first message. Everything above loads silently before you type anything.' : focusT < 0.28 ? 'Your prompt. Claude hasn\'t started working yet.' : focusT < 0.52 ? 'Your prompt and "Reading files...". Rules show as one-line "Loaded" notices, not their content.' : focusT < 0.72 ? "Claude's response and file diffs. Hooks fire silently. Tool output like npm test shows as a brief summary, not the full content." : focusT < 0.79 ? 'Your follow-up prompt.' : focusT < 0.86 ? "A brief notice that a subagent is working, then its result. You don't see the subagent's individual file reads." : focusT < 0.90 ? "Claude's response, your git status output, and the commit-push skill running." : 'Your full conversation. /compact is available to run.'; const mono = 'var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace)'; const renderWithCode = s => s.split('`').map((part, i) => i % 2 === 1 ? { lineHeight: 1.5, marginTop: 4 }}> - This is what's left in context: startup content, which lives outside the message history and reloads after compaction, a structured summary of the entire conversation, the files modified most recently, and the body of each skill you invoked. Skill descriptions don't reload. + What's left in context: a conversation summary, the most recently modified files, the bodies of invoked skills, and the startup content, skill descriptions included. } {time > 0 && visible.length > 0 &&
- By default, scheduled tasks run against whatever state your working directory is in, including uncommitted changes. Enable the worktree toggle when creating the task to give each run its own [isolated Git worktree](/docs/en/desktop#run-a-session-in-its-own-worktree). + By default, local scheduled tasks run against whatever state your working directory is in, including uncommitted changes. To give each run its own [isolated Git worktree](/docs/en/desktop#run-a-session-in-its-own-worktree) instead, select **Worktree** in the task's [**Edit** form](#manage-scheduled-tasks) after you create it. The checkbox is available when the task's folder is a Git repository. ## Create a scheduled task -On Claude Desktop before 1.1.5368, local scheduled tasks aren't available. In the [**Code** tab](/docs/en/desktop), click **Routines** in the sidebar or in the sidebar's **More** menu, then click **New routine** and choose **Local**. Configure these fields: +Local scheduled tasks require Claude Desktop 1.1.5368 or later. + + + + In the [**Code** tab](/docs/en/desktop), click **Scheduled** in the sidebar or in the sidebar's **More** menu. + + + + Click **New task**. If a menu opens with **Create with Claude** and **Set up manually**, select **Set up manually**. The **New scheduled task** dialog opens. If **Only on this computer** is at the top of the dialog, go to [Dialog with Only on this computer at the top](#dialog-with-only-on-this-computer-at-the-top) before you enter anything. + + + + Enter a name in the **Name** field. Desktop converts it to lowercase kebab-case and uses it as the task's folder name on disk, so the name must be unique across your tasks. + + + + In the box below the name, enter what Claude should do when the task runs. + + + + Skip past the **Trigger** card for now and expand **Advanced settings** below it. On the **General** tab, turn on **Only on this computer**. With it on, the task runs on your machine in a local folder, and the **Trigger** card offers the presets listed in [Schedule options](#schedule-options). + + If the switch is unavailable, clear the repository or the GitHub event or API trigger, because those make the task a [cloud scheduled task](/docs/en/routines). + + + + In the **Local folder** row, select a folder. **Create** stays unavailable until you pick one. + + + + Back in the **Trigger** card, select a [schedule preset](#schedule-options). + + + + In the instructions box's toolbar, select a [permission mode](#permissions-for-scheduled-tasks) and model. If you leave them unchanged, runs use your Claude Code settings and the default model. + -| Field | Description | -| - | - | -| Name | Identifier for the task. Converted to lowercase kebab-case and used as the folder name on disk. Must be unique across your tasks. | -| Description | Short summary shown in the task list. | -| Instructions | What Claude should do when the task runs. Write this the same way you'd write any message in the prompt box. The instructions input includes pickers for the permission mode and model, and below it you select the working folder and whether to run in an isolated worktree. | -| Schedule | How often the task runs. See [schedule options](#schedule-options) below. | + + Click **Create**. If you haven't trusted the folder yet, Desktop asks you to trust it at this point. The task's detail page opens. + + -A folder is required before you can save the task. If you haven't trusted that folder yet, Desktop prompts you to trust it before saving. +On the detail page, click the pencil icon to open the [**Edit** form](#manage-scheduled-tasks). There you can change the **Description** that Desktop filled in from your instructions, select **Worktree**, or switch the schedule to **Manual**. -You can also create a task by describing what you want in any session. For example, "set up a daily code review that runs every morning at 9am" creates a recurring task, and "remind me at 3pm tomorrow to check the deploy" creates a one-time task that disables itself after it fires. +You can also create a task by describing what you want in any session. For example, "set up a daily code review that runs every morning at 9am" creates a recurring task. A request like "remind me at 3pm tomorrow to check the deploy" creates a one-time task that disables itself after it fires. + +### Dialog with Only on this computer at the top + +If **Only on this computer** is at the top of the **New scheduled task** dialog when it opens, turn it on before you enter anything. When you turn it on, a separate blank form for a local task replaces the form. + +Then fill in the local form's fields: + +* **Name**: enter a name, as in the [steps to create a scheduled task](#create-a-scheduled-task). +* **Description**: enter a description. **Create** stays unavailable until you do. +* **The instructions box**: enter what Claude should do when the task runs. Select the permission mode and model from the menus in the box. +* **Working folder**: select the folder the task runs in. **Create** stays unavailable until you select one. +* **Trigger**: select a schedule. **Custom** takes a cron expression. For the other presets, see [Schedule options](#schedule-options). + +Click **Create**. The task's detail page opens. ## Schedule options -Pick a preset from the Schedule control: +When you turn on **Only on this computer** under **Advanced settings**, the **Trigger** card offers Hourly, Daily, Weekdays, and Weekly. The task's [**Edit** form](#manage-scheduled-tasks) also offers **Manual**. -* **Manual**: no schedule, only runs when you click **Run now**. Useful for saving a prompt you trigger on demand * **Hourly**: runs every hour * **Daily**: runs every day at the local time you pick * **Weekdays**: same as Daily but skips Saturday and Sunday * **Weekly**: shows a time picker and a day picker +* **Manual**: no schedule, only runs when you click **Run now**. Useful for saving a prompt you trigger on demand For intervals the picker doesn't offer, such as every 15 minutes, the first of each month, or a single run at a specific future time, ask Claude in any Desktop session to set the schedule. Use plain language; for example, "schedule a task to run all the tests every 6 hours." ## How scheduled tasks run -Scheduled tasks run on your machine. Desktop checks the schedule every minute while the app is open and starts a fresh session when a task is due, independent of any manual sessions you have open. Each task gets a small delay of a few minutes after the scheduled time to stagger API traffic. The delay is deterministic: the same task always starts at the same offset. +Local scheduled tasks run on your machine. Desktop checks the schedule every minute while the app is open and starts a fresh session when a task is due, independent of any manual sessions you have open. Each task gets a small delay of a few minutes after the scheduled time to stagger API traffic. The delay is deterministic: the same task always starts at the same offset. + +Tasks only run while the desktop app is running and your computer is awake. If your computer sleeps through a scheduled time, the run is skipped. To prevent idle-sleep, turn on **Keep computer awake** in **Settings > This computer > System**. Closing the laptop lid still puts it to sleep. -When a task fires, you get a desktop notification and a new session appears under a **Scheduled** section in the sidebar. Open it to see what Claude did, review changes, or respond to permission prompts. Claude can edit files, run commands, create commits, and open pull requests, the same as in a session you start yourself, but can't send or receive [messages between your desktop sessions](/docs/en/desktop#work-across-sessions) through the desktop app's session surface. + + For tasks that need to run even when your computer is off, or that should trigger on an API call or GitHub event, create a [cloud scheduled task](/docs/en/routines) instead. + -Tasks only run while the desktop app is running and your computer is awake. If your computer sleeps through a scheduled time, the run is skipped. To prevent idle-sleep, turn on **Keep computer awake** in **Settings > This computer > System**. Closing the laptop lid still puts it to sleep. For tasks that need to run even when your computer is off, or that should trigger on an API call or GitHub event, create a remote [routine](/docs/en/routines) instead. +When a local task fires, a new session appears under a **Scheduled** section in the sidebar. Open it to see what Claude did, review changes, or respond to permission prompts. Claude can edit files, run commands, create commits, and open pull requests, the same as in a session you start yourself. ## Missed runs @@ -85,7 +141,7 @@ MCP tools marked [`requiresUserInteraction`](/docs/en/mcp#require-approval-for-a ## Manage scheduled tasks -In the **Code** tab, click a task in the **Routines** list to open its detail page. From here you can: +In the **Code** tab, click **Scheduled** in the sidebar, then click a task in the list to open its detail page. From here you can: * **Run now**: start the task immediately without waiting for the next scheduled time * **Status**: toggle between Active and Paused to pause or resume scheduled runs without deleting the task @@ -102,7 +158,7 @@ To edit a task's prompt on disk, open `~/.claude/scheduled-tasks//SKI ## Related resources -* [Routines](/docs/en/routines): run tasks in the cloud on a schedule, via API call, or in response to GitHub events, even when your computer is off +* [Cloud scheduled tasks](/docs/en/routines): run tasks in the cloud on a schedule, via API call, or in response to GitHub events, even when your computer is off * [Run prompts on a schedule](/docs/en/scheduled-tasks): session-scoped scheduling with `/loop` in the CLI * [Claude Code GitHub Actions](/docs/en/github-actions): run Claude on a schedule in CI instead of on your machine * [Use Claude Code Desktop](/docs/en/desktop): the full Desktop app guide diff --git a/content/en/docs/claude-code/env-vars.md b/content/en/docs/claude-code/env-vars.md index 45e8a9cce3..b512a5470c 100644 --- a/content/en/docs/claude-code/env-vars.md +++ b/content/en/docs/claude-code/env-vars.md @@ -186,7 +186,7 @@ Numeric variables such as timeouts, token budgets, and retry counts accept scien | `ANTHROPIC_VERTEX_PROJECT_ID` | GCP project ID that Google Cloud's Agent Platform requests are addressed to. See [Configure GCP credentials](/docs/en/google-vertex-ai#3-configure-gcp-credentials) | | `ANTHROPIC_WORKSPACE_ID` | Workspace ID for [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Set this when your federation rule is scoped to more than one workspace so the token exchange knows which workspace to target | | `API_FORCE_IDLE_TIMEOUT` | Override the 5-minute body idle timeout that aborts a streaming model response when no bytes arrive. Set to `0` to turn the timeout off, for example when a slow [gateway](/docs/en/llm-gateway) or local model pauses longer than 5 minutes between chunks, or `1` to keep it on for every provider. When unset, the timeout is active on providers other than the direct Anthropic API, [Claude Platform on AWS](/docs/en/claude-platform-on-aws), and Amazon Bedrock with `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` set. The [stream watchdogs](/docs/en/network-config#streaming-idle-watchdogs) run independently of it and abort a long silent pause even when you set `0` here | -| `API_TIMEOUT_MS` | Timeout for API requests in milliseconds (default: 600000, or 10 minutes; maximum: 2147483647). A streaming request has to receive its response headers within it. Increase this when requests time out on slow networks or when routing through a proxy | +| `API_TIMEOUT_MS` | Time in milliseconds that each API request attempt has to receive its response headers (default: 600000, or 10 minutes; maximum: 2147483647). It doesn't limit how long a streaming response runs after that. When you set a positive value, each attempt at a [non-streaming request](/docs/en/errors#streaming-response-ended-before-any-complete-data-was-received) has to finish within it. Increase this when requests time out on slow networks or when routing through a proxy | | `AWS_BEARER_TOKEN_BEDROCK` | Amazon Bedrock API key for authentication (see [Amazon Bedrock API keys](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) | | `BASH_DEFAULT_TIMEOUT_MS` | Default timeout for a foreground Bash or PowerShell tool command, in milliseconds (default: 120000, or 2 minutes). A value above the [default time limit for background commands](/docs/en/tools-reference#time-limit-for-background-commands) replaces that default in unattended sessions. The background time limit requires Claude Code v2.1.285 or later | | `BASH_MAX_OUTPUT_LENGTH` | Maximum number of characters of bash output that Claude Code reads back into a command's result (default: 30000; maximum: 150000). If you set the [`bashOutputMaxChars`](/docs/en/settings-reference#bashoutputmaxchars) setting, Claude Code ignores this variable. See [Output limits](/docs/en/tools-reference#output-limits) | @@ -218,7 +218,7 @@ Numeric variables such as timeouts, token budgets, and retry counts accept scien | `CLAUDE_CODE_ARTIFACT_PUBLISH_EDITS` | Set to `0` to stop Claude from applying small changes to an [artifact's](/docs/en/artifacts#update-an-artifact) file as part of publishing it. Claude then edits the file with its file-editing tools and publishes it as a separate step. Requires Claude Code v2.1.300 or later | | `CLAUDE_CODE_ATTRIBUTION_HEADER` | Set to `0` to omit the [attribution block](/docs/en/llm-gateway-protocol#system-prompt-attribution-block), which carries the client version and a prompt fingerprint, from the start of the system prompt. Caching on a direct connection to the Anthropic API is unaffected either way. In some direct-connection setups, Claude Code keeps the block on [auto mode](/docs/en/permission-modes#eliminate-prompts-with-auto-mode) classifier requests even when you set `0`. In [System prompt attribution block](/docs/en/llm-gateway-protocol#system-prompt-attribution-block), check which connections and credentials this covers. Before v2.1.181 the block included a per-request token on custom base URLs and Microsoft Foundry connections, so on those versions set it to `0` when your LLM gateway caches on the request body or forwards requests to a third-party provider, or when you connect to Microsoft Foundry directly | | `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Removed in v2.1.283. Use `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` instead | -| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Set the [auto-compact window](/docs/en/model-config#set-the-auto-compact-window) in tokens, from `100000` to `1000000`. Accepts a plain integer such as `500000` only: a value like `500k` reads as `500` and clamps to the 100K minimum. The effective window is also capped at the model's context window. Takes precedence over the `/autocompact` command, the `--autocompact` flag, and the `autoCompactWindow` setting. The status line's `used_percentage` always measures against the model's full context window, so once this variable is set, that percentage no longer indicates when compaction will run | +| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Set the auto-compact window, how full the context gets before compaction, from `100000` to `1000000` tokens. Suffixed values such as `200k` require v2.1.304 or later. For precedence over the other ways to set the window and the effect on the status line's `used_percentage`, see [Set the auto-compact window](/docs/en/model-config#set-the-auto-compact-window) | | `CLAUDE_CODE_AUTO_CONNECT_IDE` | Override automatic [IDE connection](/docs/en/vs-code). By default, Claude Code connects automatically when launched inside a supported IDE's integrated terminal. Set to `false` to prevent this. Set to `true` to force a connection attempt when auto-detection fails, such as when tmux obscures the parent terminal. Takes precedence over the [`autoConnectIde`](/docs/en/settings-reference#autoconnectide) global config setting | | `CLAUDE_CODE_AUTO_MODE_MODEL` | Sets the model for the classifier requests Claude Code sends in [auto mode](/docs/en/permission-modes#eliminate-prompts-with-auto-mode). Use a full model ID such as `claude-sonnet-4-6`. For the cases where Claude Code ignores it, see [Choose the classifier model](/docs/en/permission-modes#choose-the-classifier-model). Requires Claude Code v2.1.302 or later | | `CLAUDE_CODE_AUTO_MODE_SERVER` | Controls whether Claude Code asks the server to [review auto mode actions](/docs/en/permission-modes#server-side-classifier-review). Set to `0` to use Claude Code's own classifier requests instead. On a direct connection to the Anthropic API, requires v2.1.281 or later. The linked section lists which sessions ask the server when the variable is unset, and from which version. Requires Claude Code v2.1.271 or later | @@ -232,7 +232,7 @@ Numeric variables such as timeouts, token budgets, and retry counts accept scien | `CLAUDE_CODE_CLIENT_CERT` | Path to client certificate file for mTLS authentication | | `CLAUDE_CODE_CLIENT_KEY` | Path to client private key file for mTLS authentication | | `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Passphrase for encrypted CLAUDE\_CODE\_CLIENT\_KEY (optional) | -| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Removed in v2.1.186 and now a no-op. Previously set a separate timeout for the connect, TLS, and response-header phase of a streaming API request. Use `API_TIMEOUT_MS` for the per-request timeout. For the response-header phase of a streaming request, see `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | +| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Removed in v2.1.186 and now a no-op. Previously set a separate timeout for the connect, TLS, and response-header phase of a streaming API request. Use `API_TIMEOUT_MS` instead. For the response-header phase of a streaming request, see `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | | `CLAUDE_CODE_DEBUG_LOGS_DIR` | Override the debug log file path. Despite the name, this is a file path, not a directory. Requires debug mode to be enabled separately via `--debug`, `/debug`, or the `DEBUG` environment variable: setting this variable alone does not enable logging. The [`--debug-file`](/docs/en/cli-reference#cli-flags) flag does both at once. Defaults to `~/.claude/debug/.txt` | | `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Minimum log level written to the debug log file. Values: `verbose`, `debug` (default), `info`, `warn`, `error`. Set to `verbose` to include high-volume diagnostics like full status line command output, or raise to `error` to reduce noise | | `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Set to `1` to turn off [1M context window](/docs/en/model-config#extended-context) support. Claude Code removes `[1m]` model variants from the model picker and holds models that run with the 1M window by default to a 200K window. See [Turn off 1M context](/docs/en/model-config#turn-off-1m-context). Useful for enterprise environments with compliance requirements. For its role in correcting the window for an unrecognized `[1m]` model ID, see [Correct the window for a gateway or custom model ID](/docs/en/model-config#correct-the-window-for-a-gateway-or-custom-model-id) | @@ -253,7 +253,7 @@ Numeric variables such as timeouts, token budgets, and retry counts accept scien | `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Set to `1` to disable the [skills](/docs/en/skills) and workflows included with Claude Code: bundled skills and workflows are removed entirely, while built-in commands like `/init` stay typable but are hidden from the model. `/doctor` stays typable like the built-in commands; hide it with `DISABLE_DOCTOR_COMMAND` instead. Skills from plugins, `.claude/skills/`, and `.claude/commands/` are unaffected. Equivalent to the [`disableBundledSkills`](/docs/en/settings-reference#disablebundledskills) setting | | `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Set to `1` to keep the [Claude in Chrome](/docs/en/chrome) browser tools available while omitting the Chrome section of the system prompt and the `/claude-in-chrome` [bundled skill](/docs/en/skills#bundled-skills). For hosts that embed Claude Code and supply their own browser guidance. Requires Claude Code v2.1.257 or later | | `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Set to `1` to prevent loading any CLAUDE.md memory files into context, including user, project, and auto memory files | -| `CLAUDE_CODE_DISABLE_CRON` | Set to `1` to disable [scheduled tasks](/docs/en/scheduled-tasks). The `/loop` skill and cron tools become unavailable and any already-scheduled tasks stop firing, including tasks that are already running mid-session | +| `CLAUDE_CODE_DISABLE_CRON` | Set to `1` to disable [session-scoped scheduled tasks](/docs/en/scheduled-tasks). The `/loop` skill and cron tools become unavailable and any already-scheduled tasks stop firing, including tasks that are already running mid-session | | `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Set to `1` to turn off the time limit on [critical-path removal](/docs/en/permission-modes#critical-paths) prompts. In `auto` mode Claude Code then sends these removals to the classifier instead, and in `bypassPermissions` mode the prompt waits for your answer. Set it in the environment that launches Claude Code, since Claude Code ignores a copy delivered through a settings `env` block. Requires Claude Code v2.1.281 or later | | `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Set to `1` to strip pre-release `anthropic-beta` request headers, the body fields that pair with them, and beta tool-schema fields such as `defer_loading` and `eager_input_streaming` from API requests. Use this when a proxy gateway rejects requests with an `Unexpected value(s)` error for the `anthropic-beta` header or an `Extra inputs are not permitted` error. [Disable pre-release capabilities](/docs/en/llm-gateway-protocol#disable-pre-release-capabilities) lists what the variable removes, including [MCP tool search](/docs/en/mcp#scale-with-mcp-tool-search), and what Claude Code keeps sending | | `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Set to `1` to disable the built-in [Explore and Plan subagents](/docs/en/sub-agents#built-in-subagents). Claude explores with its search tools or the general-purpose subagent instead, and [plan mode](/docs/en/permission-modes#analyze-before-you-edit-with-plan-mode) reads files directly rather than launching Explore and Plan agents. Custom subagents named `Explore` or `Plan` are unaffected. To remove every built-in subagent type in the Agent SDK or non-interactive mode, use `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` instead. Requires Claude Code v2.1.198 or later | @@ -265,6 +265,7 @@ Numeric variables such as timeouts, token budgets, and retry counts accept scien | `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT` | Set to `1` to stop Claude Code from reading scripts passed to a shell with `-c`, such as `bash -c 'rm -rf ~'`, for [critical-path](/docs/en/permission-modes#removals-inside-nested-commands-and-inline-scripts) removals. Claude Code still checks the shell variable and positional parameter targets in those scripts, and the other critical-path checks keep running. Set it in the environment that launches Claude Code, since Claude Code ignores a copy delivered through a settings `env` block. Requires Claude Code v2.1.288 or later | | `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Set to `1` to prevent automatic remapping of Opus 4 and Opus 4.1 to the current Opus version on the Anthropic API. Use when you intentionally want to pin an older model. The remap does not run on Amazon Bedrock, Google Cloud's Agent Platform, or Microsoft Foundry | | `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` | Set to `1` to stop Claude Code on [Amazon Bedrock](/docs/en/amazon-bedrock#when-a-model-is-disabled-mid-session) and [Google Cloud's Agent Platform](/docs/en/google-vertex-ai#when-a-model-is-disabled-mid-session) from switching to an older model when your account loses access to a session's model mid-session; the refused request fails at once instead. A [fallback model chain](/docs/en/model-config#fallback-model-chains) you configure still switches on that refusal, and the [startup model checks](/docs/en/amazon-bedrock#startup-model-checks) still fall back at launch. Requires Claude Code v2.1.285 or later | +| `CLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT` | Set to `1` to turn off the [mounted drive prompt](/docs/en/permission-modes#the-mounted-drive-prompt) for paths such as `/Volumes/USB`. [Set it in the environment that launches Claude Code](#set-variables-in-your-shell), because Claude Code [ignores it in a settings `env` block](/docs/en/settings-reference#variables-claude-code-ignores-in-env). Requires Claude Code v2.1.304 or later | | `CLAUDE_CODE_DISABLE_MOUSE` | Set to `1` to disable mouse tracking in [fullscreen rendering](/docs/en/fullscreen). Keyboard scrolling with `PgUp` and `PgDn` still works. Use this to keep your terminal's native copy-on-select behavior | | `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Set to `1` to disable click, drag, and hover handling in [fullscreen rendering](/docs/en/fullscreen) while keeping mouse-wheel scrolling. Use this when you want wheel scroll to work inside Claude Code but don't want clicks to position the cursor, expand tool output, or open links. `CLAUDE_CODE_DISABLE_MOUSE` takes precedence when both are set. Requires Claude Code v2.1.195 or later | | `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Set to `1` to stop Claude Code from re-reading the [mTLS client certificate and key](/docs/en/network-config#mtls-authentication) when an API request fails with a connection-level error, such as a connection reset or a TLS handshake error. With the reload disabled, Claude Code loads rotated files only when it next applies settings or at the next startup. Requires Claude Code v2.1.232 or later | @@ -586,7 +587,6 @@ With fetching off, you can't: * Run [`/skill-doctor`](/docs/en/skills#find-unused-skills) or open its report in the `/plugin` **Stats** tab * Sync the [skills](/docs/en/skills#where-synced-skills-load) and [plugins](/docs/en/plugins/loading#synced-plugins) enabled for your claude.ai account into your terminal sessions * Turn on the [You should know mod](/docs/en/interactive-mode#you-should-know-suggestions) -* See what a [mod](/docs/en/plugins/mods/overview#where-mods-run) draws in the VS Code extension's chat panel; the mod's hooks still run * Use [the advisor tool](/docs/en/advisor#requirements) * Read or reply to [comments on an artifact](/docs/en/artifacts#collect-comments-on-an-artifact) * Have Claude read [another organization's public artifact](/docs/en/artifacts#read-an-artifact-shared-with-you) diff --git a/content/en/docs/claude-code/errors.md b/content/en/docs/claude-code/errors.md index 534db05ea3..2e6daa7249 100644 --- a/content/en/docs/claude-code/errors.md +++ b/content/en/docs/claude-code/errors.md @@ -130,7 +130,7 @@ Match the message you see to a section below. | `SSL certificate verification failed` | [Network](#ssl-certificate-errors) | | `SSL certificate error (...)` during login or startup | [Network](#ssl-certificate-errors) | | `unable to get local issuer certificate` | [Network](#ssl-certificate-errors) | -| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [Network](#host-not-allowed-in-a-cloud-session) | +| `403` with `x-deny-reason: host_not_allowed` in a cloud session or cloud scheduled task | [Network](#host-not-allowed-in-a-cloud-session) | | `proxy refused the connection` | [Network](#the-proxy-refused-the-connection) | | `403` with `GitHub GraphQL is not available from Claude Code sessions` in a cloud session | [GitHub proxy](/docs/en/cloud-environments#github-proxy) | | `The cloud environments service returned an empty response` / `The cloud environments service returned a response in an unexpected format` | [Network](#the-cloud-environments-service-returned-an-empty-or-unexpected-response) | @@ -464,7 +464,7 @@ You can tune retry behavior with these environment variables: | [`CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS`](/docs/en/env-vars) | unset | Maximum time in milliseconds that each API request spends waiting out `429` and `529` errors when `CLAUDE_CODE_RETRY_WATCHDOG` is set. When unset, the wait has no limit. Requires Claude Code v2.1.295 or later. | | [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](/docs/en/env-vars) | 500 | Starting delay in milliseconds of the backoff between retries of a request that the API rejects with a `529` overloaded error. Raise it, up to 32000, to spread the retries over a longer window when the API is at capacity. Has no effect when `CLAUDE_CODE_RETRY_WATCHDOG` is set to `1`, or when the rejected request was sent in [fast mode](/docs/en/fast-mode#handle-rate-limits). Requires Claude Code v2.1.292 or later. | | [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](/docs/en/env-vars) | 32000 | Ceiling in milliseconds on the backoff between retries of a request that the API rejects with a `529` overloaded error. Raise it, up to 64000, so that later retries keep spreading apart when the API is at capacity. Has no effect when `CLAUDE_CODE_RETRY_WATCHDOG` is set to `1`, or when the rejected request was sent in [fast mode](/docs/en/fast-mode#handle-rate-limits). Requires Claude Code v2.1.296 or later. | -| [`API_TIMEOUT_MS`](/docs/en/env-vars) | 600000 | Per-request timeout in milliseconds. Raise it for slow networks or proxies. It also caps how long Claude Code waits for response headers, described in [No response from API](#no-response-from-api). | +| [`API_TIMEOUT_MS`](/docs/en/env-vars) | 600000 | Time in milliseconds that each request attempt has to receive its response headers. It doesn't limit how long a streaming response runs after that. Raise it for slow networks or proxies. For how it caps the first-byte deadline, see [No response from API](#no-response-from-api). | | [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](/docs/en/env-vars) | unset | Limit on re-sends of a [non-streaming request](#streaming-response-ended-before-any-complete-data-was-received) that times out. At the limit, the request fails. A response from Claude that takes longer than the timeout to generate times out again on every re-send, so set a low number such as `0` to fail sooner. Each non-streaming attempt times out after 300 seconds in a local session, or after `API_TIMEOUT_MS` when you set a positive value. Requires Claude Code v2.1.285 or later. | | [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/en/env-vars) | unset | Deadline in milliseconds for the first response byte of a streaming request. Requires Claude Code v2.1.242 or later. For how Claude Code picks the deadline when this is unset, see [No response from API](#no-response-from-api). | @@ -520,7 +520,7 @@ The API didn't respond before the connection deadline. Request timed out ``` -This can happen during periods of high load or when the model is generating a very large response. The default request timeout is 10 minutes. +The default request timeout is 10 minutes. **What to do:** @@ -1115,7 +1115,7 @@ The Agent SDK and `-p` non-interactive mode surface this as the `oauth_org_not_a Routines are disabled by your organization's policy

-An Owner in your Team or Enterprise organization has turned off routines at the organization level. The error appears when you try to create or run a routine, for example from the [Routines](/docs/en/routines) UI on claude.ai/code. On Claude Code v2.1.227 or later, the same setting also [hides `/schedule`](/docs/en/routines#troubleshooting) in the CLI. +An Owner in your Team or Enterprise organization has turned off [cloud scheduled tasks](/docs/en/routines), formerly routines, at the organization level. The error appears when you try to create or run one, for example at [claude.ai/code/routines](https://claude.ai/code/routines). On Claude Code v2.1.227 or later, the same setting also [hides `/schedule`](/docs/en/routines#troubleshooting) in the CLI. ```text theme={null} Routines are disabled by your organization's policy. @@ -1125,8 +1125,7 @@ This is a server-side setting, so it can't be overridden from local settings, en **What to do:** -* Ask an Owner in your organization to enable the **Routines** toggle at [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) -* For one-off scheduled work that does not require organization-level routines, see [scheduled tasks](/docs/en/scheduled-tasks) +* Ask an Owner in your organization to turn on the **Scheduled tasks (Was Routines)** toggle at [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities) ### Remote Control requires the Anthropic API @@ -1966,7 +1965,7 @@ On [Amazon Bedrock](/docs/en/amazon-bedrock), the requests Claude Code itself se ### Host not allowed in a cloud session -An outbound HTTP request from a cloud session or routine was blocked by the environment's network policy. +An outbound HTTP request from a cloud session or cloud scheduled task was blocked by the environment's network policy. ```text theme={null} HTTP 403 @@ -1975,13 +1974,16 @@ x-deny-reason: host_not_allowed You may also see a TLS certificate that doesn't match the destination's real certificate. Cloud sessions route outbound traffic through a proxy that enforces the network policy, so a mismatched certificate means the proxy terminated the connection, not the destination. -This is not a client-side network problem. Cloud sessions and [routines](/docs/en/routines) run inside a sandboxed VM whose outbound traffic through the session's network is filtered to the [cloud environment's](/docs/en/cloud-environments) allowlist; [GitHub operations](/docs/en/cloud-environments#github-proxy) and MCP connector traffic use separate channels, which is why they can keep working while other hosts are blocked. The **Default** environment uses **Trusted** access, which permits the [default allowlist](/docs/en/cloud-environments#default-allowed-domains) of package registries, cloud provider APIs, container registries, and common development domains and blocks other domains on that path. +This error is not a client-side network problem. Cloud sessions and [cloud scheduled tasks](/docs/en/routines) run inside a sandboxed VM whose outbound traffic through the session's network is filtered to the [cloud environment's](/docs/en/cloud-environments) allowlist: + +* **GitHub and connector traffic**: [GitHub operations](/docs/en/cloud-environments#github-proxy) and MCP connector traffic use separate channels, which is why they can keep working while other hosts are blocked +* **Default environment**: the **Default** environment uses **Trusted** access, which permits the [default allowlist](/docs/en/cloud-environments#default-allowed-domains) of package registries, cloud provider APIs, container registries, and common development domains and blocks other domains on that path **What to do:** These steps change one of your own environments. An [organization-shared environment](/docs/en/cloud-environments#organization-shared-environments) opens read-only in the selector, so ask an Owner to change its network access from the **Cloud environments** page in [admin settings](https://claude.ai/admin-settings). -* Open your environment for editing, either from the [routine's form](/docs/en/routines#environments-and-network-access) or from the [environment selector](/docs/en/cloud-environments#configure-your-environment) where you start cloud sessions. +* Open your environment for editing, either from the [cloud scheduled task's form](/docs/en/routines#environments-and-network-access) or from the [environment selector](/docs/en/cloud-environments#configure-your-environment) where you start cloud sessions. * In the **Edit cloud environment** dialog, change **Network access** from **Trusted** to **Custom**, then add the blocked domain to **Allowed domains**. Enter one domain per line. Check **Also include default list of common package managers** to keep the [default allowlist](/docs/en/cloud-environments#default-allowed-domains) alongside your custom domains. Select **Full** instead if you want unrestricted access. * Click **Save changes**. The next run uses the updated allowlist. For a cloud session that's already open, see [when a network access change reaches existing sessions](/docs/en/cloud-environments#network-access). @@ -3585,9 +3587,9 @@ Claude Code answers an unmatched `/` name this way only in an interactive termin * [Agent SDK](/docs/en/agent-sdk/overview) applications * The Code tab of the [Desktop app](/docs/en/desktop) * The chat panel of the [VS Code extension](/docs/en/vs-code) -* [Cloud sessions](/docs/en/claude-code-on-the-web) and [routines](/docs/en/routines) +* [Cloud sessions](/docs/en/claude-code-on-the-web) and [cloud scheduled tasks](/docs/en/routines) -For a built-in command that can't run in one of those sessions, Claude Code still answers that the command isn't available instead of sending it to Claude. Before v2.1.274, only cloud sessions and routines sent an unmatched name to Claude. Before v2.1.273, they answered `Unknown command` too. +For a built-in command that can't run in one of those sessions, Claude Code still answers that the command isn't available instead of sending it to Claude. Before v2.1.274, only cloud sessions and cloud scheduled tasks sent an unmatched name to Claude. Before v2.1.273, they answered `Unknown command` too. Claude Code doesn't treat every prompt that starts with `/` as a command. It sends the prompt to Claude as a normal message when the first word after the `/` starts with punctuation, such as the `/--` that opens a Lean doc comment, or is a path such as `/var/log/syslog`. @@ -3729,7 +3731,7 @@ You started a [cloud session](/docs/en/claude-code-on-the-web) from your local r GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud. Run /web-setup to connect with your GitHub CLI login, or connect on the web at https://claude.ai/connect-github ``` -When you create a routine with [`/schedule`](/docs/en/routines), the same message appears as a setup note that names the repository; the note doesn't block creating the routine. +When you create a cloud scheduled task with [`/schedule`](/docs/en/routines), the same message appears as a setup note that names the repository; the note doesn't block creating the task. **What to do:** @@ -3981,7 +3983,7 @@ Output styles are saved to local settings (.claude/settings.local.json), which t /recap only runs when you ask for it yourself -The [`/recap`](/docs/en/interactive-mode#session-recap) request didn't come from your own input. It arrived in a message relayed into the session from a Slack, Teams, or [project](/docs/en/claude-projects) thread, or in a prompt that a [routine](/docs/en/routines) or another program sent. +The [`/recap`](/docs/en/interactive-mode#session-recap) request didn't come from your own input. It arrived in a message relayed into the session from a Slack, Teams, or [project](/docs/en/claude-projects) thread, or in a prompt that a [cloud scheduled task](/docs/en/routines) or another program sent. A relayed message gets the notice even when you wrote it yourself. Claude Code can't tell that a relayed or automated message came from the person whose account runs the session, so it answers with this notice instead of a summary: @@ -3994,7 +3996,7 @@ A `/recap` you pass to `claude -p`, or that your own [Agent SDK](/docs/en/agent- **What to do:** * Open the session yourself and run `/recap` there: in its terminal, in the [Desktop app](/docs/en/desktop) or the [mobile app](/docs/en/mobile), at [claude.ai/code](https://claude.ai/code), or over [Remote Control](/docs/en/remote-control) -* If a routine or another program sent it, remove `/recap` from that prompt +* If a cloud scheduled task or another program sent it, remove `/recap` from that prompt ## Plugin errors diff --git a/content/en/docs/claude-code/feature-availability.md b/content/en/docs/claude-code/feature-availability.md index 69d62340ee..1bdceefc0e 100644 --- a/content/en/docs/claude-code/feature-availability.md +++ b/content/en/docs/claude-code/feature-availability.md @@ -48,7 +48,7 @@ These require signing in with a claude.ai account and are not reachable with an * [Cloud sessions](/docs/en/claude-code-on-the-web) and Claude Code on mobile * [Claude Code in Slack](/docs/en/slack): Pro and Max plans * [Claude Code Desktop](/docs/en/desktop) -* [Routines](/docs/en/routines) (`/schedule`) +* [Cloud scheduled tasks](/docs/en/routines) (`/schedule`) * [Ultrareview](/docs/en/ultrareview) * [Code Review](/docs/en/code-review): Team and Enterprise plans * [Remote Control](/docs/en/remote-control) @@ -294,7 +294,7 @@ In Enterprise organizations with the [HIPAA configuration](/docs/en/hipaa-setup) | Feature | Pro | Max | Team | Enterprise | | :- | :- | :- | :- | :- | | [Cloud sessions](/docs/en/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ 6 | -| [Routines](/docs/en/routines) | ✓ | ✓ | ✓ | ✓ | +| [Cloud scheduled tasks](/docs/en/routines) | ✓ | ✓ | ✓ | ✓ | | [Remote Control](/docs/en/remote-control) | ✓ | ✓ | Admin-enabled | Admin-enabled | | [Channels](/docs/en/channels) | ✓ | ✓ | Admin-enabled | Admin-enabled | | [Computer use](/docs/en/computer-use) | ✓ | ✓ | ✗ | ✗ | diff --git a/content/en/docs/claude-code/gateways.md b/content/en/docs/claude-code/gateways.md index 5541ef85ce..f225bbf933 100644 --- a/content/en/docs/claude-code/gateways.md +++ b/content/en/docs/claude-code/gateways.md @@ -40,7 +40,7 @@ Claude Code works with Anthropic's own gateway or with a gateway your organizati Claude apps gateway is Anthropic's self-hosted gateway, included in the `claude` binary. It routes to Amazon Bedrock, Claude Platform on AWS, Google Cloud, Microsoft Foundry, or the Anthropic API as the upstream. Developers sign in with your corporate identity provider through `/login`, the gateway enforces model access and [managed settings](/docs/en/managed-settings) by IdP group, and it emits [OpenTelemetry Protocol (OTLP)](/docs/en/monitoring-usage) usage metrics to your own observability stack. -Because it is built and tested alongside each Claude Code release, it forwards the headers and request fields Claude Code sends. A gateway maintained separately needs its [forwarding rules updated](/docs/en/llm-gateway-protocol#forward-as-open-lists) as those headers and fields change with each release; Claude apps gateway releases with the CLI, so there is no list to keep current. See [Availability and limitations](/docs/en/claude-apps-gateway#availability-and-limitations) for the small set of features that behave differently on a gateway session. +Because it is built and tested alongside each Claude Code release, it forwards the `anthropic-beta` values and request fields Claude Code sends. A gateway maintained separately needs its [forwarding rules updated](/docs/en/llm-gateway-protocol#forward-as-open-lists) as those change with each release; Claude apps gateway releases with the CLI, so there is no list to keep current. See [Availability and limitations](/docs/en/claude-apps-gateway#availability-and-limitations) for the small set of features that behave differently on a gateway session. The gateway sign-in is a browser SSO step, and there is no service-token flow, so a CI pipeline with no developer to approve the sign-in can't authenticate through it; configure those against your provider directly. Agent SDK sessions and `claude -p` runs on a machine where a developer has signed in use that machine's gateway session and are governed by its policies. See [CI pipelines and remote machines](/docs/en/claude-apps-gateway#ci-pipelines-and-remote-machines). diff --git a/content/en/docs/claude-code/github-enterprise-server.md b/content/en/docs/claude-code/github-enterprise-server.md index 69f1003ec3..732a6d6924 100644 --- a/content/en/docs/claude-code/github-enterprise-server.md +++ b/content/en/docs/claude-code/github-enterprise-server.md @@ -106,7 +106,7 @@ Then start a cloud session. Claude detects the GHES host from your git remote an claude --cloud "Add retry logic to the payment webhook handler" ``` -The session clones your repository from GHES and pushes changes back to a branch. Monitor progress at [claude.ai/code](https://claude.ai/code). See [Use Claude Code in the cloud](/docs/en/claude-code-on-the-web) for the full cloud session workflow including diff review, auto-fix, and routines. +The session clones your repository from GHES and pushes changes back to a branch. Monitor progress at [claude.ai/code](https://claude.ai/code). See [Use Claude Code in the cloud](/docs/en/claude-code-on-the-web) for the full cloud session workflow including diff review, auto-fix, and cloud scheduled tasks. ### Teleport sessions to your terminal diff --git a/content/en/docs/claude-code/glossary.md b/content/en/docs/claude-code/glossary.md index 23b0e057fa..c13efab206 100644 --- a/content/en/docs/claude-code/glossary.md +++ b/content/en/docs/claude-code/glossary.md @@ -102,7 +102,9 @@ Learn more: [CLAUDE.md files](/docs/en/memory#claude-md-files) ### Cloud session -A Claude Code session that keeps running after you close your laptop, because it runs on cloud infrastructure instead of your machine: Anthropic-managed by default, or a [self-hosted environment](/docs/en/self-hosted-environments) your organization operates. You start one from claude.ai/code, the Claude mobile app, the Desktop app with **Cloud** selected, `claude --cloud`, or a [routine](/docs/en/routines). A session in your terminal, IDE, or the Desktop app with **Local** selected is a local session; to reach a local session from another device, use [Remote Control](#remote-control). +A Claude Code session that keeps running after you close your laptop, because it runs on cloud infrastructure instead of your machine. That infrastructure is Anthropic-managed by default, or a [self-hosted environment](/docs/en/self-hosted-environments) your organization operates. You start one from claude.ai/code, the Claude mobile app, the Desktop app with **Cloud** selected, `claude --cloud`, or a [cloud scheduled task](/docs/en/routines). + +A session in your terminal, IDE, or the Desktop app with **Local** selected is a local session; to reach a local session from another device, use [Remote Control](#remote-control). Learn more: [Use Claude Code in the cloud](/docs/en/claude-code-on-the-web) diff --git a/content/en/docs/claude-code/goal.md b/content/en/docs/claude-code/goal.md index 936de906be..a6188772e4 100644 --- a/content/en/docs/claude-code/goal.md +++ b/content/en/docs/claude-code/goal.md @@ -30,7 +30,7 @@ Three approaches keep the current session running between prompts. Pick based on [Auto mode](/docs/en/auto-mode-config) on its own approves tool calls within a single turn but doesn't start a new one. Claude stops when it judges the work done. `/goal` adds a separate evaluator that checks your condition after every turn, so completion is decided by a fresh model rather than the one doing the work. The two are complementary: auto mode removes per-tool prompts, and `/goal` removes per-turn prompts. - The approaches above keep the current session running. You can also schedule work that runs independent of any open session, such as nightly tests or morning triage. See [scheduling options](/docs/en/scheduled-tasks#compare-scheduling-options) for cloud routines and desktop scheduled tasks. + The approaches above keep the current session running. You can also schedule work that runs independent of any open session, such as nightly tests or morning triage. See [scheduling options](/docs/en/scheduled-tasks#compare-scheduling-options) for cloud and Desktop scheduled tasks. ## Use `/goal` diff --git a/content/en/docs/claude-code/headless.md b/content/en/docs/claude-code/headless.md index 2aee48df3b..97e4ea26ad 100644 --- a/content/en/docs/claude-code/headless.md +++ b/content/en/docs/claude-code/headless.md @@ -308,7 +308,9 @@ Calls to tools you didn't list run if they need no approval. In a [Manual mode]( To set a baseline for the whole session instead of listing individual tools, pass a [permission mode](/docs/en/permission-modes) with `--permission-mode`, such as `auto`, `dontAsk`, or `acceptEdits`: * **`auto`**: pass `--permission-mode auto` to have a classifier review most actions instead of you -* **`dontAsk`**: Claude Code denies every call that would otherwise prompt, which is useful for locked-down CI runs. Actions that need no approval in Manual mode still run, such as file reads in your working directories and the [read-only command set](/docs/en/permissions#read-only-commands), and so do actions your `--allowedTools` entries or `permissions.allow` rules cover. `AskUserQuestion`, connector tools [your organization set to `ask`](/docs/en/mcp#organization-controls-on-connector-tools), MCP tools marked [`requiresUserInteraction`](/docs/en/mcp#require-approval-for-a-specific-tool), and [reads from network paths](/docs/en/permissions#network-paths) are denied even when an allow rule matches +* **`dontAsk`**: Claude Code denies every call that would otherwise prompt, which is useful for locked-down CI runs, though a [mod](/docs/en/plugins/mods/overview) you installed can still approve some of those calls. To check which calls a mod can approve, see [Extend permissions with hooks](/docs/en/permissions#precedence-among-rules-hooks-and-mods). + + Actions that need no approval in Manual mode still run, such as file reads in your working directories and the [read-only command set](/docs/en/permissions#read-only-commands). Actions covered by your `--allowedTools` entries or `permissions.allow` rules also run. `AskUserQuestion`, connector tools [your organization set to `ask`](/docs/en/mcp#organization-controls-on-connector-tools), MCP tools marked [`requiresUserInteraction`](/docs/en/mcp#require-approval-for-a-specific-tool), and [reads from network paths](/docs/en/permissions#network-paths) are denied even when an allow rule matches * **`acceptEdits`**: Claude writes files without prompting, and Claude Code auto-approves common filesystem commands such as `mkdir`, `touch`, `mv`, and `cp`. The [actions no mode auto-approves](/docs/en/permission-modes#actions-no-mode-auto-approves) still apply. Apart from the read-only command set, other shell commands and network requests still need an `--allowedTools` entry or a `permissions.allow` rule. See [what `acceptEdits` auto-approves](/docs/en/permission-modes#auto-approve-file-edits-with-acceptedits-mode) for the full list This example applies lint fixes with `acceptEdits` as the baseline: diff --git a/content/en/docs/claude-code/hooks-guide.md b/content/en/docs/claude-code/hooks-guide.md index 56de158cb3..8a09f73a65 100644 --- a/content/en/docs/claude-code/hooks-guide.md +++ b/content/en/docs/claude-code/hooks-guide.md @@ -477,7 +477,7 @@ Keep the matcher as narrow as possible. Matching on `.*` or leaving the matcher ## How hooks work -Claude Code fires hook events at specific points in its lifecycle. When an event fires, Claude Code runs all matching hooks in parallel; see [Hook handler fields](/docs/en/hooks#hook-handler-fields) for how duplicate handlers are treated. The table below shows each event and when it triggers: +Claude Code fires hook events at specific points in its lifecycle. When an event fires, Claude Code runs the matching hooks in parallel; see [Hook handler fields](/docs/en/hooks#hook-handler-fields) for how duplicate handlers are treated. The table below shows each event and when it triggers: | Event | When it fires | | :- | :- | @@ -976,7 +976,11 @@ With a hook in a settings file or a plugin's `hooks/hooks.json` you can't loosen In [plan mode](/docs/en/permissions#hook-approvals-in-plan-mode), if your `PreToolUse` hook returns `"allow"` for a file edit, you get the same prompt, block, or approval the edit would get with no hook. To lift this limit on hook approvals, [approve the plan](/docs/en/permission-modes#review-and-approve-a-plan) or switch to another permission mode. * **`"deny"` in every permission mode**: a hook that returns `permissionDecision: "deny"` blocks the tool even in `bypassPermissions` mode or with `--dangerously-skip-permissions`. `PreToolUse` hooks fire before any permission-mode check, in every [permission mode](/docs/en/permission-modes), including `dontAsk`. This lets you enforce policy that users can't bypass by changing their permission mode. -A [mod](/docs/en/plugins/mods/overview) you install that handles `tool.check` can approve a call that your `PreToolUse` hook blocked, unless the hook is in managed settings. In plan mode, the mod can approve such a call when it's read-only, but not a file edit or another call that isn't read-only. [Extend permissions with hooks](/docs/en/permissions#extend-permissions-with-hooks) lists which rules hold over a mod. + + If your machine has no [managed settings](/docs/en/settings#check-what-your-organization-enforces) and your session doesn't use [`/login` credentials](/docs/en/authentication#authentication-precedence) for a Team or Enterprise plan, a [mod](/docs/en/plugins/mods/overview) can approve a call your `PreToolUse` hook blocked. A session that runs on an API key or a long-lived [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/en/authentication#generate-a-long-lived-token) instead isn't using that login, even when that login is stored. + + In plan mode, a mod can approve such a blocked call only when it's read-only, so not a file edit. For the cases where a mod's approval doesn't get past your rules and hooks, see [Extend permissions with hooks](/docs/en/permissions#precedence-among-rules-hooks-and-mods). + ### Hook not firing diff --git a/content/en/docs/claude-code/hooks.md b/content/en/docs/claude-code/hooks.md index 6bbb9f85cb..bd8151bf5d 100644 --- a/content/en/docs/claude-code/hooks.md +++ b/content/en/docs/claude-code/hooks.md @@ -409,7 +409,9 @@ Each object in the inner `hooks` array is a hook handler: the shell command, HTT * **[Prompt hooks](#prompt-and-agent-hook-fields)** (`type: "prompt"`): send a prompt to a Claude model for single-turn evaluation. The model returns its decision as JSON. See [Prompt-based hooks](#prompt-based-hooks). * **[Agent hooks](#prompt-and-agent-hook-fields)** (`type: "agent"`): spawn a subagent that can use tools like Read, Grep, and Glob to verify conditions before returning a decision. Agent hooks are experimental and may change. See [Agent-based hooks](#agent-based-hooks). -All matching hooks run in parallel. If you define the same handler in more than one settings file, it runs once. A plugin's or skill's copy of the same handler stays separate. +When an event fires, its matching hooks run in parallel. If more than 12 of them are prompt or agent hooks, 12 of those run at once and the rest start as running ones finish. Each waiting hook's [`timeout`](#common-fields) starts counting when that hook starts. + +If you define the same handler in more than one settings file, it runs once. A plugin's or skill's copy of the same handler stays separate. Handlers run in the current directory with Claude Code's environment. If the current directory no longer exists, for example a worktree or temp directory that another shell deleted mid-session, Claude Code runs command hooks from the first of these that still exists: the directory the session started in, the project root, your home directory, or the system temp directory. Claude Code records a warning naming the fallback directory in the [debug log](#debug-hooks). For a worktree session that you start from the desktop app, see [What worktrees share with the main checkout](/docs/en/worktrees#what-worktrees-share-with-the-main-checkout). @@ -1467,7 +1469,7 @@ block certain types of prompts. `UserPromptSubmit` hooks don't fire only on prompts you type. Claude Code also runs them on: -* A [scheduled task](/docs/en/scheduled-tasks) firing, including a `/loop` iteration +* A [session-scoped scheduled task](/docs/en/scheduled-tasks) firing, including a `/loop` iteration * A [background subagent](/docs/en/sub-agents#run-subagents-in-foreground-or-background) reporting back to the session that started it * A [message another session sends](/docs/en/cross-session-messaging) to your main conversation diff --git a/content/en/docs/claude-code/interactive-mode.md b/content/en/docs/claude-code/interactive-mode.md index d4b561392f..e88a4de997 100644 --- a/content/en/docs/claude-code/interactive-mode.md +++ b/content/en/docs/claude-code/interactive-mode.md @@ -706,7 +706,7 @@ The list fills only in sessions that have the task-tracking tools, which Claude When you return to the terminal after stepping away, Claude Code shows a one-line recap of what happened in the session so far. The recap generates in the background once at least three minutes have passed since the last completed turn and the terminal is unfocused, so it's ready when you switch back. Recaps only appear once the session has at least three turns, and never twice in a row. -Run `/recap` to generate a summary on demand. It runs only when you ask for it yourself. When it arrives in a message relayed from a Slack, Teams, or project thread, or in a prompt a routine sent, you get a [notice](/docs/en/errors#recap-only-runs-when-you-ask-for-it-yourself) instead of a recap. +Run `/recap` to generate a summary on demand. It runs only when you ask for it yourself. When it arrives in a message relayed from a Slack, Teams, or project thread, you get a [notice](/docs/en/errors#recap-only-runs-when-you-ask-for-it-yourself) instead of a recap. You also get the notice when `/recap` arrives in a prompt a cloud scheduled task sent. Session recap is on by default for every plan and provider. To turn automatic recaps off, open `/config` and turn off **Session recap**. The automatic recap never appears in non-interactive mode. Claude Code caps both automatic recaps and `/recap` output at 400 characters. diff --git a/content/en/docs/claude-code/model-config.md b/content/en/docs/claude-code/model-config.md index 85c6ae2d86..b2eeac8d90 100644 --- a/content/en/docs/claude-code/model-config.md +++ b/content/en/docs/claude-code/model-config.md @@ -780,12 +780,16 @@ The auto-compact window is how full the context window can get before Claude Cod ### Set the auto-compact window + + If Claude Code warned about the value of `CLAUDE_CODE_AUTO_COMPACT_WINDOW`, see [the variable's values and warnings](#claude_code_auto_compact_window-values). + + You can set the auto-compact window in these places: * **For the current model, in this session and later ones**: run `/autocompact` with a value, like `/autocompact 500k`. Claude Code saves it to your user settings under the current model in [`modelSettings`](/docs/en/settings-reference#modelsettings) and applies it to the current session. If a higher-priority [settings scope](/docs/en/settings#settings-precedence) such as managed settings sets its own window for that model or for every model, the command saves your value but the session keeps that scope's window, and the command says so. Run `/autocompact auto` to return to the window tuned for your model. Before v2.1.288, the command saved one window for every model, as the top-level `autoCompactWindow`. * **For every model**: set [`autoCompactWindow`](/docs/en/settings-reference#autocompactwindow) in a settings file, such as `"autoCompactWindow": 200000` in `~/.claude/settings.json`. A window you saved for a model with `/autocompact` takes precedence over this key in the same file for that model. * **For one launch**: pass [`--autocompact`](/docs/en/cli-reference#cli-flags) when starting Claude Code. The flag overrides your saved setting for that launch without changing it, and `claude --autocompact auto` runs the session at the tuned window even if your saved setting has a value. Unlike `/autocompact`, the flag isn't preempted by a higher-priority settings scope such as managed settings. -* **In scripts and cloud environments**: set [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/en/env-vars). While it's set, it takes precedence over the command, the flag, and the setting, and `/autocompact` reports the override instead of changing the window. +* **In scripts and cloud environments**: set [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/en/env-vars) to a token count such as `200000`. Unless Claude Code [ignores the value](#claude_code_auto_compact_window-values), the variable takes precedence over the command, the flag, and the `autoCompactWindow` setting. `/autocompact` then reports the override without saving. The status line's `used_percentage` measures against the model's full context window, so while the variable is set, that percentage doesn't indicate when compaction will run. * **For one subagent**: see [Set the auto-compact window for one subagent](/docs/en/sub-agents#subagent-auto-compact-window). The command and the flag accept a window size from 100K to 1M tokens, in any of these forms: @@ -794,7 +798,23 @@ The command and the flag accept a window size from 100K to 1M tokens, in any of * A `k` or `M` suffix, such as `500k` or `1M` * A bare number from 100 to 1000, meaning thousands, so `200` sets 200,000 -The environment variable accepts only the plain token count. Claude Code caps the window at the model's context window. +Whichever way you set the window, Claude Code caps it at the model's context window. + +

+ Values and warnings for `CLAUDE_CODE_AUTO_COMPACT_WINDOW` +

+ +A warning that quotes your `CLAUDE_CODE_AUTO_COMPACT_WINDOW` value means the value falls outside 100,000 to 1,000,000 or isn't a token count. To stop the warning, set a number in that range, such as `CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`. On Claude Code v2.1.304 or later, you can also write the number with `k` for thousands or `M` for millions, as in `200k` or `1M`. + +Find your warning's wording in the first column, then read across for the window your session uses and what to change: + +| Your warning contains | Window the session uses | What to change | +| :- | :- | :- | +| `reads as tokens, so Claude Code treats it as the 100k minimum` | The smaller of 100,000 tokens and your model's context window | Set at least `100000`, such as `200000`, or `200k` if you meant `200` as thousands | +| `is too large, so Claude Code treats it as the 1M maximum` | The smaller of 1,000,000 tokens and your model's context window | You already have the largest window. To stop the warning, set `1M` or `1000000` | +| `isn't a usable size, so Claude Code ignores it` | The window from `--autocompact`, `/autocompact`, or `autoCompactWindow`, or the [default](#default-auto-compact-thresholds) when none is set | Set a number such as `200000`, or unset the variable | + +A number with no suffix is read as that many tokens, so `CLAUDE_CODE_AUTO_COMPACT_WINDOW=200` means 200 tokens even though `/autocompact 200` means 200,000. ### Default auto-compact thresholds diff --git a/content/en/docs/claude-code/monitoring-usage.md b/content/en/docs/claude-code/monitoring-usage.md index f05556ff5c..4298a4c54c 100644 --- a/content/en/docs/claude-code/monitoring-usage.md +++ b/content/en/docs/claude-code/monitoring-usage.md @@ -1038,7 +1038,7 @@ To group tool calls by the permission mode each was checked in, use `permission_ * `event.sequence`: per-process counter for ordering events, described under [Event correlation attributes](#event-correlation-attributes) * `from_mode`: The previous permission mode, for example `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, or `"bypassPermissions"` * `to_mode`: The new permission mode -* `trigger`: What caused the change. One of `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"`, or `"auto_opt_in"`. Absent for some changes, such as when the SDK sets the permission mode through [`setPermissionMode()`](/docs/en/agent-sdk/typescript#query-object) +* `trigger`: What caused the change, for example `"shift_tab"`, `"exit_plan_mode"`, or `"auto_gate_denied"`. Absent for some changes, such as when the SDK sets the permission mode through [`setPermissionMode()`](/docs/en/agent-sdk/typescript#query-object) #### Auth event diff --git a/content/en/docs/claude-code/network-config.md b/content/en/docs/claude-code/network-config.md index a07161f902..ca2d453ab4 100644 --- a/content/en/docs/claude-code/network-config.md +++ b/content/en/docs/claude-code/network-config.md @@ -201,7 +201,7 @@ Configure the timers with these variables, each detailed in the [environment var * `CLAUDE_STREAM_IDLE_TIMEOUT_MS` sets both watchdogs' timeout. Claude Code raises values below 5 minutes to 5 minutes, and caps the value at 30 minutes for the byte-level watchdog. * `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` sets the byte-level watchdog's timeout without changing the event-level watchdog's, clamped to between 10 seconds and 30 minutes, and takes precedence over `CLAUDE_STREAM_IDLE_TIMEOUT_MS` for that watchdog. * `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` sets the first-byte deadline directly. Leave it unset and Claude Code uses the byte-level watchdog's timeout, so `CLAUDE_STREAM_IDLE_TIMEOUT_MS` and `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` change the deadline too. For the clamps, the upload allowance, the `API_TIMEOUT_MS` cap, and how long the retry waits after a no-response abort, see [No response from API](/docs/en/errors#no-response-from-api). -* `API_TIMEOUT_MS` limits the wait for response headers. Where the first-byte deadline doesn't run, such as a Claude apps gateway session, set it below `300000`, which is 5 minutes, to retry an unanswered request sooner. Keep it above the longest wait for headers, and the longest [non-streaming request](/docs/en/errors#streaming-response-ended-before-any-complete-data-was-received), that you expect: a request that needs longer times out again on each retry. +* `API_TIMEOUT_MS` limits the wait for response headers, not how long a response streams after them. Where the first-byte deadline doesn't run, such as a Claude apps gateway session, set it below `300000`, which is 5 minutes, to retry an unanswered request sooner. Keep it above the longest wait for headers, and the longest [non-streaming request](/docs/en/errors#streaming-response-ended-before-any-complete-data-was-received), that you expect: a request that needs longer times out again on each retry. * `API_FORCE_IDLE_TIMEOUT` set to `0` turns the body idle timeout off, and set to `1` turns it on for every provider. The watchdogs run independently of it, so to let a stream pause longer than their thresholds, also raise or disable them. When a watchdog aborts a stalled stream, Claude Code treats the abort as a mid-stream failure, and what you see depends on how far the response had got. Claude Code retries the request or ends the turn with an error, keeps the completed output and shows an [incomplete-response notice](/docs/en/errors#the-response-above-may-be-incomplete), or ends the turn normally. [Automatic retries](/docs/en/errors#automatic-retries) says where each outcome applies. diff --git a/content/en/docs/claude-code/overview.md b/content/en/docs/claude-code/overview.md index f15011b82a..f8df84ec48 100644 --- a/content/en/docs/claude-code/overview.md +++ b/content/en/docs/claude-code/overview.md @@ -202,7 +202,7 @@ Here are some of the ways you can use Claude Code: Run Claude on a schedule to automate work that repeats: morning PR reviews, overnight CI failure analysis, weekly dependency audits, or syncing docs after PRs merge. - * [Routines](/docs/en/routines) run in the cloud, so they keep running even when your computer is off. They can also trigger on API calls or GitHub events. Create them from the web, the Desktop app, or by running `/schedule` in the CLI. + * [Cloud scheduled tasks](/docs/en/routines), formerly routines, run in the cloud, so they keep running even when your computer is off. They can also trigger on API calls or GitHub events. Create them from the web, the Desktop app, or by running `/schedule` in the CLI. * [Desktop scheduled tasks](/docs/en/desktop-scheduled-tasks) run on your machine, with direct access to your local files and tools * [`/loop`](/docs/en/scheduled-tasks) repeats a prompt within a CLI session for quick polling @@ -229,7 +229,7 @@ Beyond the [Terminal](/docs/en/quickstart), [VS Code](/docs/en/vs-code), [JetBra | Continue a local session from my phone or another device | [Remote Control](/docs/en/remote-control) | | Push events from Telegram, Discord, iMessage, or my own webhooks into a session | [Channels](/docs/en/channels) | | Start a task locally, continue on mobile | [`claude --cloud`](/docs/en/claude-code-on-the-web#from-terminal-to-cloud), then the [Claude mobile app](/docs/en/mobile) | -| Run Claude on a recurring schedule | [Routines](/docs/en/routines) or [Desktop scheduled tasks](/docs/en/desktop-scheduled-tasks) | +| Run Claude on a recurring schedule | [Cloud scheduled tasks](/docs/en/routines) or [Desktop scheduled tasks](/docs/en/desktop-scheduled-tasks) | | Automate PR reviews and issue triage | [GitHub Actions](/docs/en/github-actions) or [GitLab CI/CD](/docs/en/gitlab-ci-cd) | | Get automatic code review on every PR | [GitHub Code Review](/docs/en/code-review) | | Route bug reports from Slack to pull requests | [Slack](/docs/en/slack) | diff --git a/content/en/docs/claude-code/permission-modes.md b/content/en/docs/claude-code/permission-modes.md index 98c0720a67..826f9100af 100644 --- a/content/en/docs/claude-code/permission-modes.md +++ b/content/en/docs/claude-code/permission-modes.md @@ -20,7 +20,7 @@ Each mode makes a different tradeoff between convenience and oversight. The tabl | [`acceptEdits`](#auto-approve-file-edits-with-acceptedits-mode) | Reads, file edits, and common filesystem commands (`mkdir`, `touch`, `mv`, `cp`, etc.) | Iterating on code you're reviewing | | [`plan`](#analyze-before-you-edit-with-plan-mode) | Reads, plus classifier-approved commands when [auto mode](#eliminate-prompts-with-auto-mode) is available | Exploring a codebase before changing it | | [`auto`](#eliminate-prompts-with-auto-mode) | Everything, with background safety checks | Long tasks, reducing prompt fatigue | -| [`dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode) | File reads inside your working directories and pre-approved tools; anything that would prompt is denied | Locked-down CI and scripts | +| [`dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode) | File reads inside your working directories and pre-approved tools; anything that would prompt is denied, though a [mod](/docs/en/plugins/mods/overview) you installed can still approve some of those calls | Locked-down CI and scripts | | [`bypassPermissions`](#skip-all-checks-with-bypasspermissions-mode) | Everything | Isolated containers and VMs only | The mode that reviews every action is named **Manual** in the CLI, in `claude --help`, in the VS Code and JetBrains extensions, and in the desktop app. Its config value is `default`, which is what hooks and SDK integrations use. The CLI accepts `manual` as an alias wherever you type the value, for example `claude --permission-mode manual` or `"defaultMode": "manual"`. @@ -421,15 +421,17 @@ With Claude Code v2.1.302 or later, set [`CLAUDE_CODE_AUTO_MODE_MODEL`](/docs/en ```

- When your model isn't the one reviewing + When your model doesn't review

| Situation | What happens | What to do | | - | - | - | -| In a session, `/status` shows [`Auto mode server`](#server-side-classifier-review) as `Enabled` | Your model reviews only what the server doesn't | None needed | -| You set Claude Opus 5, Claude Sonnet 5.5, Claude Opus 5.5 or a model your organization's [model policy](/docs/en/model-config#restrict-model-selection) excludes | The [default classifier model](#default-classifier-model) reviews | Set a different model | -| Anthropic configured a classifier model for your session | That model reviews | None needed | -| Your provider can't serve the model | Requests fail and Claude Code [denies every reviewed action](/docs/en/errors#auto-mode-cannot-determine-the-safety-of-an-action) | Set a model it serves, or remove the variable | +| The [debug log](#classifier-model-check) reports an Anthropic-configured classifier model | That model reviews | None needed | +| You set Claude Opus 5, Sonnet 5.5, Opus 5.5 or one your organization's [model policy](/docs/en/model-config#restrict-model-selection) excludes | The [default classifier model](#default-classifier-model) reviews | Set another model | +| Your provider can't serve the model | Classifier checks fail, so Claude Code [denies each action it checks](/docs/en/errors#auto-mode-cannot-determine-the-safety-of-an-action) | Set a model it serves, or remove the variable | +| In a session, `/status` shows [`Auto mode server`](#server-side-classifier-review) as `Enabled` | The server reviews without your model | None needed | + +If several situations apply, go by the first listed.

Check which model the classifier used @@ -446,7 +448,7 @@ Have Claude run a shell command that isn't read-only, then search the log for `c * **Your model after `model=`**: the variable took effect * **A different model after `model=`**: search the log for `ignoring CLAUDE_CODE_AUTO_MODE_MODEL`, which gives the reason and any step to take * **No such line**: read `Auto mode server` in `/status` at the Claude Code prompt: - * **`Enabled`**: the [server](#server-side-classifier-review) is set to review this session's calls. Nothing to change. + * **`Enabled`**: the [server](#server-side-classifier-review) is set to review this session's calls. * **`Disabled`**: make sure the [permission mode](#switch-permission-modes) is auto, then have Claude run another command that isn't read-only. ### What the classifier blocks by default @@ -519,7 +521,9 @@ Claude Code v2.1.261 and later also block these by default: * Installing dependencies declared in your lock files or manifests * Reading `.env` and sending credentials to their matching API * Read-only HTTP requests -* Pushing to any branch of the repository you're working in, including the default branch. A non-default branch whose name marks it as a deploy or publication target, such as `production` or `gh-pages`, isn't covered: the classifier judges a push there on its own terms. The push's content is still checked against the other rules, [`permissions.deny` rules](/docs/en/permissions#manage-permissions) can still block push commands [as written](/docs/en/permissions#bash-rule-limits) in every mode, and the remote's own branch protection still applies. Before v2.1.211, only pushes to the branch you started on, branches Claude created, and routine pushes to the default branch were allowed by default +* Pushing to any branch of the repository you're working in, including the default branch. A non-default branch whose name marks it as a deploy or publication target, such as `production` or `gh-pages`, isn't covered: the classifier judges a push there on its own terms. + + A push's content is still checked against the classifier's other rules, and [`permissions.deny` rules](/docs/en/permissions#manage-permissions) can still block push commands [as written](/docs/en/permissions#bash-rule-limits) in every mode. The remote's own branch protection still applies. From v2.1.203 until v2.1.211, only routine default-branch pushes and pushes to the branch you started on or to branches Claude created were allowed by default. * Deleting the exact jobs Claude created earlier in the same session * Reading, reviewing, or writing security-related code, configs, and threat models as part of your task * Messages between agents working together in the same multi-agent session @@ -605,7 +609,7 @@ The following sections cover the order Claude Code evaluates an action in, how t 3. Everything else goes to the classifier, apart from [critical-path removals](#critical-paths) under their default handling. The connector tools and `requiresUserInteraction` MCP tools that prompt you directly in step 1 never reach the classifier either, so neither an org-required approval nor a consent step is auto-approved 4. If the classifier blocks, Claude receives the reason. In most sessions the reason names the rule the classifier matched, such as `[Data Exfiltration]`, rather than giving a written explanation; see [Review denials](/docs/en/auto-mode-config#review-denials) - A [mod](/docs/en/plugins/mods/overview) you install that handles `tool.check` can approve an action before step 3, and the classifier doesn't check an action the mod approves. See [Extend permissions with hooks](/docs/en/permissions#extend-permissions-with-hooks). + A [mod](/docs/en/plugins/mods/overview) you install that handles `tool.check` can also approve an action. For the cases where its approval doesn't get past your rules and hooks, see [Extend permissions with hooks](/docs/en/permissions#precedence-among-rules-hooks-and-mods). In the VS Code extension, how [Claude in Chrome](/docs/en/chrome) browser actions get approved depends on how the session connected to the browser: see [Permission prompts in VS Code sessions](/docs/en/chrome#permission-prompts-in-vs-code-sessions). @@ -647,7 +651,9 @@ The following sections cover the order Claude Code evaluates an action in, how t ## Allow only pre-approved tools with dontAsk mode -If you set `dontAsk` mode, Claude Code auto-denies every tool call that would otherwise prompt you. Claude still runs actions that need no approval in Manual mode, such as file reads inside your working directories and [read-only Bash commands](/docs/en/permissions#read-only-commands), plus actions matching your `permissions.allow` rules and calls approved by a [PreToolUse hook](/docs/en/permissions#extend-permissions-with-hooks). Use this mode for CI pipelines or restricted environments where you pre-define what Claude may do; the session never waits for input. The status bar shows `⏵⏵ don't ask on` while this mode is active. +If you set `dontAsk` mode, Claude Code auto-denies every tool call that would otherwise prompt you, though a [mod](/docs/en/plugins/mods/overview) you installed can still approve some of those calls. To check which calls a mod can approve, see [Extend permissions with hooks](/docs/en/permissions#precedence-among-rules-hooks-and-mods). + +Claude still runs actions that need no approval in Manual mode, such as file reads inside your working directories and [read-only Bash commands](/docs/en/permissions#read-only-commands). Actions matching your `permissions.allow` rules and calls approved by a [PreToolUse hook](/docs/en/permissions#extend-permissions-with-hooks) run too. Use this mode for CI pipelines or restricted environments where you pre-define what Claude may do; the session never waits for input. The status bar shows `⏵⏵ don't ask on` in this mode. Claude Code denies calls matching your explicit [`ask` rules](/docs/en/permissions#manage-permissions) rather than prompting. It also denies the built-in `AskUserQuestion` tool even if your allow rules match it, and does the same to connector tools [your organization set to `ask`](/docs/en/mcp#organization-controls-on-connector-tools) in sessions where that setting reaches Claude Code. It denies MCP tools marked [`_meta["anthropic/requiresUserInteraction"]`](/docs/en/mcp#require-approval-for-a-specific-tool) the same way, because their approval card needs an answer this mode never collects. @@ -789,6 +795,8 @@ Claude Code treats an `rm` or `rmdir` target as a critical path when it is any o * Your working directory and its parents * Your additional working directories and their parents, but only when the removal is a glob under one of them, such as `rm -rf /*`. `rm -rf ` on the directory itself doesn't trigger this check +For mounted drive paths such as `/mnt/c` or `/Volumes/USB`, see [The mounted drive prompt](#the-mounted-drive-prompt). + The checks on the home directory's 8.3 short name and on the `\\?\C:\` and `\\localhost\C$` spellings require Claude Code v2.1.292 or later. ### Other targets that count as critical paths @@ -831,6 +839,52 @@ How to rewrite a command so it passes the check depends on which of the [other t For a glob or trailing slash under a variable, the prompt names the flagged `rm` and says how to rewrite it so the check passes. +### The mounted drive prompt + +The mounted drive prompt appears on macOS, Linux, and WSL when a recursive `rm` targets a listed [mounted drive path](#paths-that-get-the-mounted-drive-prompt), such as `/mnt/c` or `/Volumes/USB/build`. Its reason reads `Dangerous rm operation on mounted drive path: `. A `/*` target gets the prompt without the recursive flag, since Claude Code reads `rm /Volumes/USB/build/*` as a removal of `/Volumes/USB/build`. + +Even with an allow rule for `rm`, Claude Code handles the command as a [critical-path removal](#critical-paths): a prompt or a denial [depending on your permission mode](#critical-path-removals-in-each-permission-mode). Approve the prompt to let the `rm` run, or [turn the prompt off](#turn-off-the-mounted-drive-prompt). + +#### Paths that get the mounted drive prompt + +Match the target of your recursive `rm` or `/*` removal against these path shapes, where each placeholder such as `` or `` stands for exactly one path segment: + +| Under | Path shapes that get the prompt | Examples | +| :- | :- | :- | +| `/Volumes` | `/Volumes/`, `/Volumes//` | `/Volumes/USB`, `/Volumes/USB/build` | +| `/System/Volumes` | `/System/Volumes`, `/System/Volumes/`, `/System/Volumes//` | `/System/Volumes/Data` | +| `/media` | `/media/`, `/media//`, `/media///` | `/media/alex` | +| `/run/media` | `/run/media`, `/run/media/`, `/run/media//`, `/run/media///` | `/run/media/alex/USB/build` | +| `/mnt` | `/mnt/`, and `/mnt//` under a one-letter mount such as WSL's `/mnt/c` | `/mnt/data`, `/mnt/c/Users` | + +For a recursive or non-recursive `rm` on `/Volumes`, `/media`, or `/mnt` itself, you see the [critical path](#which-paths-are-critical) reason `Dangerous rm operation on critical path: ` instead. + +A relative target counts from your working directory, so `rm -rf build` while you work in `/Volumes/USB` targets `/Volumes/USB/build` and gets the prompt. + +#### Turn off the mounted drive prompt + +To stop getting the mounted drive prompt while [prompts from other causes](#removals-that-still-prompt-with-the-mounted-drive-prompt-off) stay, start Claude Code with [`CLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT=1`](/docs/en/env-vars#variables) in its environment. For example, set the variable in [your shell](/docs/en/env-vars#set-variables-in-your-shell) and start `claude` from it: + +```bash theme={null} +export CLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT=1 +claude +``` + +In a session started that way, the mounted drive prompt stops for a whole drive such as `/Volumes/USB` and for the other [listed paths](#paths-that-get-the-mounted-drive-prompt). If you allow `Bash(rm *)`, use Manual mode, and work in `/Volumes/USB`, then `rm -rf build` runs with no prompt. + +A prompt that still shows `Dangerous rm operation on mounted drive path` means the variable isn't reaching the session: + +* **Variable in a settings file**: Claude Code [ignores the variable in a settings file's `env` block](/docs/en/settings-reference#variables-claude-code-ignores-in-env), whichever kind of settings file, so set the variable where you start `claude` instead +* **Session started without the variable**: start `claude` again from an environment where the variable is set, since a running session doesn't pick it up + +#### Removals that still prompt with the mounted drive prompt off + +In Manual mode with an allow rule for `rm`, an `rm` on a mounted drive path can still prompt, without the `Dangerous rm operation on mounted drive path` reason: + +* **Target outside your working directories**: `rm -rf /Volumes/USB/other` while you work in `/Volumes/USB/project` gets a prompt. To stop that prompt, [add a directory that contains the target](/docs/en/permissions#working-directories) to the session +* **Target with a `*`**: `rm -rf build/*` gets a prompt. Approve that prompt to run the command, or ask Claude to name each target without a `*` +* **Target that is a critical path**: `/mnt` itself and your working directory itself stay [critical paths](#which-paths-are-critical), so `rm -rf` on either gets a prompt. Approve that prompt to let the `rm` run + ### Critical-path removals in each permission mode What Claude Code does with a critical-path removal depends on your permission mode: diff --git a/content/en/docs/claude-code/permissions.md b/content/en/docs/claude-code/permissions.md index 32c08043c9..ab90a3f543 100644 --- a/content/en/docs/claude-code/permissions.md +++ b/content/en/docs/claude-code/permissions.md @@ -83,7 +83,7 @@ Claude Code supports several permission modes that control how it approves tool | `acceptEdits` | Automatically accepts file edits and common filesystem commands such as `mkdir`, `touch`, `mv`, and `cp` for paths in the working directory or `additionalDirectories` | | `plan` | Claude reads files and runs read-only shell commands to explore but doesn't edit your source files; with [auto mode](/docs/en/permission-modes#eliminate-prompts-with-auto-mode) available, classifier-approved commands also run. Labeled Plan in the CLI and the VS Code extension | | `auto` | Runs without routine prompts; before actions such as shell commands and network requests run, a background [classifier](/docs/en/permission-modes#eliminate-prompts-with-auto-mode) checks that they align with your request | -| `dontAsk` | Auto-denies every call that would otherwise prompt; file reads in your working directories and other actions that need no approval still run, as do tools pre-approved via `/permissions` or `permissions.allow` rules. `AskUserQuestion`, MCP tools marked [`requiresUserInteraction`](/docs/en/mcp#require-approval-for-a-specific-tool), [reads from network paths](#network-paths), and connector tools [your organization set to `ask`](/docs/en/mcp#organization-controls-on-connector-tools) in sessions where that setting reaches Claude Code are denied even if you've allowed them | +| `dontAsk` | Auto-denies every call that would otherwise prompt, though a [mod](/docs/en/plugins/mods/overview) you installed can still approve some of those calls. File reads in your working directories and other actions that need no approval still run, as do tools pre-approved via `/permissions` or `permissions.allow` rules. `AskUserQuestion`, MCP tools marked [`requiresUserInteraction`](/docs/en/mcp#require-approval-for-a-specific-tool), [reads from network paths](#network-paths), and connector tools [your organization set to `ask`](/docs/en/mcp#organization-controls-on-connector-tools) in sessions where that setting reaches Claude Code are denied even if you've allowed them | | `bypassPermissions` | Skips permission prompts, except for the [actions no mode auto-approves](/docs/en/permission-modes#actions-no-mode-auto-approves) | @@ -603,12 +603,21 @@ Path patterns share the `//`, `~/`, and `/` anchors from [Read and Edit rules](# PreToolUse hook decisions don't bypass permission rules. Claude Code evaluates deny and ask rules regardless of what a PreToolUse hook returns: a matching deny rule blocks the call, and a matching ask rule still prompts even when the hook returned `"allow"` or `"ask"`. This preserves the deny-first precedence described in [Manage permissions](#manage-permissions), including deny rules set in managed settings. -That precedence covers hooks in settings files and in a plugin's `hooks/hooks.json`. A [mod](/docs/en/plugins/mods/overview) you install that handles `tool.check` answers after the rules and the `PreToolUse` hooks have decided. Outside [plan mode](#hook-approvals-in-plan-mode), or for a read-only call, its answer can replace theirs: +That precedence covers hooks in settings files and in a plugin's `hooks/hooks.json`. A [mod](/docs/en/plugins/mods/overview) you install that handles the [`tool.check`](/docs/en/plugins/mods/events#approve-or-refuse-a-tool-call-before-the-user-is-asked) event gives its answer after the permission rules and the `PreToolUse` hooks have decided. With [managed settings](/docs/en/settings#check-what-your-organization-enforces) on the machine, or a Team or Enterprise [`/login`](/docs/en/authentication#authentication-precedence) as the session's credential, these outcomes stay in place by default when the mod approves a call: -* **Ask rules**: the mod can approve a call that an ask rule would prompt for -* **A block from a `PreToolUse` hook**: the mod can approve the call, unless the hook is in managed settings -* **The auto mode classifier**: in [auto mode](/docs/en/permission-modes#eliminate-prompts-with-auto-mode), a call the mod approves runs without a classifier check -* **Deny rules**: on a machine with managed settings, or when you're signed in with a Team or Enterprise plan, deny rules hold over the mod by default, and your organization can change that. Anywhere else, the mod can approve a call that a deny rule refuses. +* A call that a deny rule refuses stays refused, and your organization can change that. +* A call that an ask rule would prompt for still prompts you. +* A call that a `PreToolUse` hook or [`permissions.blockReadsOutsideWorkingDirectories`](/docs/en/settings-reference#permissions-blockreadsoutsideworkingdirectories) would prompt for still prompts you. +* A call that a `PreToolUse` hook blocked stays blocked, whichever settings file the hook comes from. +* A call that your [`--permission-prompt-tool`](/docs/en/cli-reference#cli-flags) or Agent SDK [`canUseTool` callback](/docs/en/agent-sdk/user-input#handle-tool-approval-requests) would be asked about is still put to that tool or callback. + +With neither managed settings nor a Team or Enterprise `/login` as the session's credential, the mod can approve a call that a deny rule refuses or a `PreToolUse` hook blocked. A session that runs on an API key or a long-lived [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/en/authentication#generate-a-long-lived-token) instead isn't using that login, even when that login is stored. + +In that setup you aren't prompted when the mod approves a call that an ask rule, a `PreToolUse` hook, or `permissions.blockReadsOutsideWorkingDirectories` would prompt for. Your `--permission-prompt-tool` or `canUseTool` callback isn't asked about a call the mod approves, either. Auto mode, plan mode, and `dontAsk` mode each add an outcome of their own in every setup: + +* **[Auto mode](/docs/en/permission-modes#eliminate-prompts-with-auto-mode)**: a call the mod approves runs without a classifier check, except where the mod can't bypass your permission prompt tool or Agent SDK permission callback. There the classifier checks the call first. +* **[Plan mode](#hook-approvals-in-plan-mode)**: the mod can't approve a call that isn't read-only, such as a file edit or a shell command that writes. +* **[`dontAsk` mode](/docs/en/permission-modes#allow-only-pre-approved-tools-with-dontask-mode)**: the mod can approve a call that nothing but the mode would deny. See [Decide whether to trust a mod](/docs/en/plugins/mods/overview#decide-whether-to-trust-a-mod), or [Manage mods for your organization](/docs/en/plugins/mods/admin#know-what-happens-by-default) if you deploy managed settings. diff --git a/content/en/docs/claude-code/platforms.md b/content/en/docs/claude-code/platforms.md index 6acfe4eab4..760f12b76f 100644 --- a/content/en/docs/claude-code/platforms.md +++ b/content/en/docs/claude-code/platforms.md @@ -82,4 +82,4 @@ If you're not sure where to start, [install the CLI](/docs/en/quickstart) and ru * [Dispatch](/docs/en/desktop#sessions-from-dispatch): message a task from your phone and it can spawn a Desktop session * [Remote Control](/docs/en/remote-control): drive a running session from your phone or browser * [Channels](/docs/en/channels): push events from chat apps or your own servers into a session -* [Scheduled tasks](/docs/en/scheduled-tasks): run prompts on a recurring schedule +* [Scheduling options](/docs/en/scheduled-tasks#compare-scheduling-options): run prompts on a recurring schedule diff --git a/content/en/docs/claude-code/plugins/mods/admin.md b/content/en/docs/claude-code/plugins/mods/admin.md index bf70b4e603..97415411c0 100644 --- a/content/en/docs/claude-code/plugins/mods/admin.md +++ b/content/en/docs/claude-code/plugins/mods/admin.md @@ -58,13 +58,15 @@ With no mod settings of your own, this is what your users get: * **A built-in guard runs first.** Claude Code loads a built-in mod named `sec-default@builtin` ahead of every mod a user installs. Users can't turn it off. `/plugin` and the debug log list it as `cc-plugin-sec-default`. The guard loads when either of these is true: * The machine has managed settings - * The user is signed in to Claude Code with a Team or Enterprise plan + * The session runs on [`/login` credentials](/docs/en/authentication#authentication-precedence) for a Team or Enterprise plan - A user who authenticates with an API key, or through Amazon Bedrock, Google Cloud's Agent Platform, or Microsoft Foundry, gets the guard only on a machine that has managed settings. + A user who authenticates with an API key, or through Amazon Bedrock, Google Cloud's Agent Platform, or Microsoft Foundry, gets the guard only on a machine that has managed settings. A session that runs on a long-lived [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/en/authentication#generate-a-long-lived-token) doesn't count as that login either, even when a Team or Enterprise login is stored on the machine. * **The guard protects what you manage.** A user's mod can't change what your managed hooks receive or decide, the system prompt, your managed `CLAUDE.md` and other managed instructions, what any mod reads as settings, or the tools and descriptions of your managed MCP servers. -* **Everything else is allowed.** The guard adds no other restrictions. A user's mod can still read and write files, start processes, make network requests, rewrite tool calls and prompts, deny a tool call, approve one that would otherwise prompt, and draw in the interface, all with that user's permissions. -* **Deny rules and your managed hooks take precedence.** Where the guard loads, a user's mod can't approve a call that a `deny` rule refuses, whichever settings file holds the rule. A block from a `PreToolUse` hook in managed settings is final too. Both apply to Claude's tool calls. Neither applies to a mod's own [`$.fs` and `$.process` calls](/docs/en/plugins/mods/api#reach-files-processes-and-the-network): with `Read(.env)` denied, a mod can still read that file with `$.fs.read` or start a program that does. To limit those calls, keep the mod from loading or handle the call in a [policy mod](#enforce-a-policy-with-a-mod-of-your-own). -* **Other permission checks can be overridden.** A user's mod that approves tool calls can approve a call that an `ask` rule would prompt for, or that a `PreToolUse` hook outside managed settings blocked. In auto mode, a call the mod approves runs without a classifier check. For the prompts a mod's `tool.check` approval doesn't skip, see [Extend permissions with hooks](/docs/en/permissions#extend-permissions-with-hooks). +* **Outside what you manage, a user's mod acts as that user.** The mod keeps that user's permissions: it can still read and write files, start processes, and make network requests. It can also rewrite tool calls and prompts, deny a tool call, and draw in the interface. +* **Permission rules and `PreToolUse` hooks take precedence over a user's mod.** With the guard loaded, by default a user's mod can't approve a call that a `deny` rule refuses or an `ask` rule prompts for, whichever settings file holds the rule. The mod can't approve a call that any `PreToolUse` hook blocked, either. + + Permission rules and `PreToolUse` hooks apply to Claude's tool calls, not to a mod's [`$.fs` and `$.process` calls](/docs/en/plugins/mods/api#reach-files-processes-and-the-network). With `Read(.env)` denied, a mod can still read that file with `$.fs.read` or start a program that does. To limit a mod's own `$.fs` and `$.process` calls, [keep the mod from loading](#stop-user-installed-mods-from-loading) or handle them in a [policy mod](#enforce-a-policy-with-a-mod-of-your-own). +* **A user's mod can still skip some prompts.** In [auto mode](/docs/en/permission-modes#eliminate-prompts-with-auto-mode), a call the mod approves runs without a classifier check, unless the guard is loaded and the session runs with [`--permission-prompt-tool`](/docs/en/cli-reference#cli-flags) or an Agent SDK [`canUseTool` callback](/docs/en/agent-sdk/user-input#handle-tool-approval-requests). There the classifier checks the call first. For the prompts a mod's approval doesn't skip, see [Extend permissions with hooks](/docs/en/permissions#precedence-among-rules-hooks-and-mods). The guard's source is public in the [`mods/sec-default` directory of the Claude Code repository](https://github.com/anthropics/claude-code/tree/main/mods/sec-default). @@ -74,7 +76,9 @@ Mods don't replace the controls you already have: * **Settings hooks keep working.** Command, HTTP, prompt, and agent hooks in settings files and in plugins' `hooks/hooks.json` run as before, alongside mods. * **Deny rules take precedence where the guard loads.** A user's mod can't approve a call that a `deny` rule refuses, unless you set [`allowModsToOverrideDenyRules`](#set-options-on-the-built-in-guard). -* **Managed hooks run first.** A `PreToolUse` hook in managed settings runs before any mod sees the tool call, and its block is final. If a mod then rewrites the call, your managed hooks run again on the rewritten call, so a block still applies. `PreToolUse` hooks from other settings files and from plugins run after the last mod, so a mod that returns its own result in place of running the tool keeps those from running. See [The order mods run in](/docs/en/plugins/mods/events#the-order-mods-run-in). +* **Managed hooks run first.** A `PreToolUse` hook in managed settings runs before any mod's [`tool.call`](/docs/en/plugins/mods/reference#tools) hook, and when that managed hook blocks a tool call, no mod's `tool.call` hook runs for that call. If the call goes ahead and a mod rewrites it, your managed hooks run again on the rewritten call, so they can still block it. + + `PreToolUse` hooks from other settings files and from plugins run after the last mod. If a mod answers the tool call itself, the tool never runs and neither do those hooks. See [The order mods run in](/docs/en/plugins/mods/events#the-order-mods-run-in). * **Network policy covers `$.http.fetch`.** * **Your organization's policy doesn't allow WebFetch**: Claude Code also refuses every mod's `$.http.fetch` request. See [WebFetch availability](/docs/en/tools-reference#webfetch-availability). @@ -311,7 +315,7 @@ These rules decide which ids in the two lists take effect: * **The list replaces the default**: when you set `prependPlugins` in managed settings, name `sec-default@builtin` in it to keep the built-in guard. The guard is built in and needs no `enabledPlugins` entry. * **Your own ids must count as yours**: in managed settings, Claude Code skips an id whose plugin doesn't meet the conditions for an organization's mod -* **Repositories can't set them**: Claude Code reads both settings from managed settings and never from a repository's settings file. A user can set them in `~/.claude/settings.json` to order their own mods only on a machine with no managed settings, and only when they aren't signed in with a Team or Enterprise plan. Anywhere else, Claude Code ignores both keys in user settings. A list there neither adds nor removes the built-in guard. +* **Repositories can't set them**: Claude Code reads both settings from managed settings, never from a repository's settings file. A user can set them in `~/.claude/settings.json` to order their own mods only on a machine with no managed settings, and only when the session's credential isn't a Team or Enterprise `/login`. Anywhere else, Claude Code ignores both keys in user settings. A list there neither adds nor removes the built-in guard. ### Enforce a policy with a mod of your own diff --git a/content/en/docs/claude-code/plugins/mods/api.md b/content/en/docs/claude-code/plugins/mods/api.md index dbf6d45ecc..8ac33a0367 100644 --- a/content/en/docs/claude-code/plugins/mods/api.md +++ b/content/en/docs/claude-code/plugins/mods/api.md @@ -222,6 +222,89 @@ When a background job finds something that needs Claude's attention, it can star Timers stop when the module reloads. For long-running work inside a hook, [`next.signal`](/docs/en/plugins/mods/reference#the-hook-function) is an `AbortSignal` that aborts when the event your hook is handling is abandoned, for example when the user interrupts, so pass it to anything long-running. +### Calls and background work after the user interrupts a turn + +The reason `the session was stopped and nobody has sent input since` in a result or error means the user stopped a running turn, such as with Esc or **Stop**. After that interruption, calls that start new work in the session are refused until the user's next input, such as a message at the prompt. + +Apart from `$.prompt.submit` and `$.command.run`, this handling of calls and background work after an interruption requires Claude Code v2.1.304 or later. + +#### Retry a refused or dropped call + +Make a refused or dropped call again from a [`turn.complete`](/docs/en/plugins/mods/events#follow-a-turn) hook. Calls stay refused until the user's next input, and nothing queues or repeats them for you. + +When a call's result or error contains one of these strings, keep its arguments for a later retry: + +* **`the session was stopped and nobody has sent input since`**: the call was refused +* **`was removed from the queue before it ran`**: the prompt or command left the queue without running and was dropped, for example when the user stopped the turn + +In this example, call `submitPrompt` from your background job in place of [`$.prompt.submit`](#start-a-turn-from-a-background-job). When the result or the error carries one of those strings, `submitPrompt` keeps the text in `pendingText` for the `turn.complete` hook to submit again: + +```javascript theme={null} +// The text of the last refused or dropped prompt, or null +let pendingText = null + +async function submitPrompt($, text) { + let reason + try { + const result = await $.prompt.submit({ text }) + reason = result?.drop ?? '' + } catch (error) { + reason = String(error?.message ?? error) + } + if (reason.includes('the session was stopped and nobody has sent input since') || + reason.includes('was removed from the queue before it ran')) { + pendingText = text + } + // Any other result or error isn't retried +} + +on('turn.complete', async ($, e, next) => { + if (pendingText !== null) { + const text = pendingText + // Empty pendingText before retrying, so that a second run of this hook + // doesn't submit the same text. + pendingText = null + // Not awaited: the hook would stay open until the new turn starts + submitPrompt($, text) + } + return next(e) +}) +``` + +Before the user's next input, `turn.complete` can fire for the interrupted turn itself and for a subagent's turn, and calls made then are refused again. In that case `submitPrompt` keeps the text for a later `turn.complete`. + +For a call that rejects, such as `$.command.run`, catch the error and test its message the way `submitPrompt` tests `reason`. + +#### What refused calls return + +In the results, `` stands for `the session was stopped and nobody has sent input since`: + +| Some refused calls | Result until the user's next input | +| :- | :- | +| `$.prompt.submit` | Resolves with `{ drop: '' }` and queues no prompt | +| `$.command.run` | Rejects with an error whose message ends with `` | +| [`$.agent.spawn`](/docs/en/plugins/mods/reference#mods-api-methods) | Resolves with `{ deny: '' }` and starts no subagent | +| `$.session.send` to a subagent that finished | Resolves with `{ isDelivered: false, reason: 'Agent "" was not resumed: .' }`, where `` is the subagent's id. A subagent that's still running receives the message. | +| `$.session.send` to an [agent team](/docs/en/agent-teams) teammate | Resolves with `{ isDelivered: false, reason: 'Teammate "" was not messaged: .' }`, where `` is the teammate's name | +| [`$.tool.call`](/docs/en/plugins/mods/reference#mods-api-methods) of Bash with `run_in_background: true`, Monitor, or CronCreate | Resolves with `{ deny: ' was not run: it starts background work, a schedule or a goal, and ' }`, where `` is the tool's name | + +Along with these `$.session.send` and `$.tool.call` results, the user can see the [`Stopped:` toast](/docs/en/plugins/mods/troubleshoot#stopped-type-a-message-to-continue). + +#### Work your mod started before the interruption + +After the user stops a running turn, for example with Esc, some work your mod had already started is dropped and some waits for the user's next input. + +| Work | What happens until the user's next input | What to do | +| :- | :- | :- | +| A prompt from `$.prompt.submit` still in the queue | Dropped. The call resolves with `{ drop: 'the prompt was removed from the queue before it ran' }`. | Submit it again as [Retry a refused or dropped call](#retry-a-refused-or-dropped-call) shows | +| A command from `$.command.run` still in the queue | Dropped. The call rejects with an error whose message includes `the command was removed from the queue before it ran`. | Run it again as [Retry a refused or dropped call](#retry-a-refused-or-dropped-call) shows | +| A one-time job scheduled with a tool such as CronCreate that comes due before the user's next input | Starts no turn then, and runs after that input | Nothing needed | +| A recurring job scheduled with a tool such as CronCreate that comes due before the user's next input | Starts no turn then. The job loses that run and keeps its schedule. | Nothing needed | +| An event from a monitor your mod started | The monitor keeps running. An event the monitor raises before the user's next input is dropped, except the notice that the monitor ended, which arrives after that input. | Nothing can be done | +| A subagent your mod spawned and later resumed with `$.session.send` that finishes before the user's next input | Its finish notice waits, and reaches the conversation after that input | Nothing needed | + +When a scheduled job comes due or a monitor raises an event before the user's next input, the user can see the [`Stopped:` toast](/docs/en/plugins/mods/troubleshoot#stopped-type-a-message-to-continue). + ## Send and receive messages between sessions A mod can send a plain-text message to another of your sessions, to one of this session's subagents, or to a teammate in its [agent team](/docs/en/agent-teams). It can also observe the messages that arrive and leave. diff --git a/content/en/docs/claude-code/plugins/mods/create.md b/content/en/docs/claude-code/plugins/mods/create.md index 03cc325f0a..1c9de6c83b 100644 --- a/content/en/docs/claude-code/plugins/mods/create.md +++ b/content/en/docs/claude-code/plugins/mods/create.md @@ -28,7 +28,7 @@ The mod runs once you approve it, except in [sessions where a mod Claude writes Ask for the mod in your own words, for example `make a mod that shows the current git branch above the prompt`. Claude writes the mod in a directory of its own in the session's mods folder, which is `~/.claude/dev-mods/` followed by the session's ID. A mod's full path looks like `~/.claude/dev-mods/3f2a9c1e-5b7d-4e8a-9c21-6d0f4b8a7e13/git-branch/`. - In the `default` and `acceptEdits` [permission modes](/docs/en/permission-modes), Claude Code asks before Claude creates each of the mod's files, because the mods folder is a [protected path](/docs/en/permission-modes#protected-paths). Approve each file as it comes up. + In the `default` and `acceptEdits` [permission modes](/docs/en/permission-modes), Claude Code asks you to approve each of the mod's files before Claude creates it, because the mods folder is a [protected path](/docs/en/permission-modes#protected-paths). Approve each file as it comes up. diff --git a/content/en/docs/claude-code/plugins/mods/events.md b/content/en/docs/claude-code/plugins/mods/events.md index 5056a25362..8895bfce69 100644 --- a/content/en/docs/claude-code/plugins/mods/events.md +++ b/content/en/docs/claude-code/plugins/mods/events.md @@ -138,7 +138,7 @@ Your hook can also change a call, retry it, answer it itself, or withhold its re * **Answer the call yourself**: return an object with a `result` field, without calling `next`, and for a built-in tool, give `result` the shape that tool's own result has in [the types for your build](/docs/en/plugins/mods/create#get-the-types-for-your-build). No permission prompt appears and the tool doesn't run, so the result you return is all Claude learns about what happened. * **Withhold the result from Claude**: return `{ deny: reason }` after `await next(e)`. Claude reads your reason in place of what `next` returned. When the tool ran, the deny keeps its result from Claude and undoes nothing the tool did. When the tool ran and succeeded, the reason follows a note such as `Bash ran, and a plugin withheld its result:`. -Hooks in your organization's [managed settings](/docs/en/server-managed-settings) run before any mod's `tool.call` hook, and a block from one of them is final. +Hooks in your organization's [managed settings](/docs/en/server-managed-settings) run before any mod's `tool.call` hook. When a managed hook blocks the call, no mod's `tool.call` hook runs for that call. #### Hold a tool call until the user decides @@ -205,7 +205,9 @@ The hook denies `git push` on `main` and passes every other call through: The hook matches the text of the command, so treat it as a reminder for Claude. To block pushes to `main` for everyone, protect the branch on your Git host. -A hook can return `allow`, `ask`, or `deny`, so it can also approve a call that a `PreToolUse` hook outside managed settings blocked. In [plan mode](/docs/en/permissions#hook-approvals-in-plan-mode), for a call that isn't read-only, such as a file edit, your hook can tighten the decision `next(e)` returns but can't loosen it. [Extend permissions with hooks](/docs/en/permissions#extend-permissions-with-hooks) lists which decisions hold over a mod. + + A `tool.check` hook can also return `allow` or `ask`. In [plan mode](/docs/en/permissions#hook-approvals-in-plan-mode), for a call that isn't read-only, such as a file edit, your hook can tighten the decision `next(e)` returns but can't loosen it. For the permission rules and `PreToolUse` hook decisions your hook's `allow` can't replace, see [Extend permissions with hooks](/docs/en/permissions#precedence-among-rules-hooks-and-mods). + ### Rewrite or add to a prompt @@ -309,10 +311,10 @@ Among the mods you install, a mod runs before the mods it lists under `dependenc The `PreToolUse` hooks configured in settings files also run during a tool call, at fixed points in the chain of mods: -* **`PreToolUse` hooks from managed settings**: run before the first mod's `tool.call` hook, and a block from one of them is final, so no mod sees the call. +* **`PreToolUse` hooks from managed settings**: run before the first mod's `tool.call` hook. When a managed hook blocks the call, no mod's `tool.call` hook runs for that call. * **`PreToolUse` hooks from every other settings file and from plugins' `hooks/hooks.json`**: run after the last mod calls `next`, as part of Claude Code's own behavior. A mod that answers `tool.call` without calling `next` keeps them from running, and a mod that calls `next` sees their decision in the result it returns. -A [`tool.check`](#approve-or-refuse-a-tool-call-before-the-user-is-asked) hook can approve a call that a `PreToolUse` hook outside managed settings blocked, because `tool.check` fires after those hooks and the permission rules have decided. In plan mode, a `tool.check` hook can approve such a call when it's read-only, but not a file edit or another call that isn't read-only. +[`tool.check`](#approve-or-refuse-a-tool-call-before-the-user-is-asked) fires after the permission rules and both groups of `PreToolUse` hooks have decided. To learn which of those decisions a `tool.check` hook's `allow` can't replace, see [Extend permissions with hooks](/docs/en/permissions#precedence-among-rules-hooks-and-mods). ### Handle a hook that fails diff --git a/content/en/docs/claude-code/plugins/mods/interface.md b/content/en/docs/claude-code/plugins/mods/interface.md index 844caa5b2f..27fc107c35 100644 --- a/content/en/docs/claude-code/plugins/mods/interface.md +++ b/content/en/docs/claude-code/plugins/mods/interface.md @@ -348,7 +348,7 @@ When the pane appears, `$.ui.open` resolves to `{ isPlaced: true }`. When the pa ### Draw in the VS Code extension -In the VS Code extension, what a mod draws appears in the chat panel with extension version 2.1.299 or later, in a session that [fetches feature flags](/docs/en/env-vars#features-that-need-feature-flag-fetching). In a `ui.render` hook for the panel, `e.surface` is `vscode`. To check which sites and elements the panel draws, and which props it ignores, see the [render sites](/docs/en/plugins/mods/reference#render-sites) and [elements](/docs/en/plugins/mods/reference#elements) tables. +In the VS Code extension, what a mod draws appears in the chat panel with extension version 2.1.299 or later. A session that [doesn't fetch feature flags](/docs/en/env-vars#features-that-need-feature-flag-fetching), such as one on Amazon Bedrock, needs 2.1.304 or later. In a `ui.render` hook for the panel, `e.surface` is `vscode`. To check which sites and elements the panel draws, and which props it ignores, see the [render sites](/docs/en/plugins/mods/reference#render-sites) and [elements](/docs/en/plugins/mods/reference#elements) tables. To make a mod work in the panel as well as the terminal, account for these differences: diff --git a/content/en/docs/claude-code/plugins/mods/overview.md b/content/en/docs/claude-code/plugins/mods/overview.md index 8ee63511a4..e8e84bcd7d 100644 --- a/content/en/docs/claude-code/plugins/mods/overview.md +++ b/content/en/docs/claude-code/plugins/mods/overview.md @@ -78,7 +78,7 @@ A mod runs with your permissions, so before you install one, know what it has ac Mods aren't sandboxed. If you turn on [sandboxing](/docs/en/sandboxing), the sandbox isolates the Bash commands Claude runs, and a process that a mod starts runs outside it. -A mod that approves tool calls can approve one that an `ask` rule would prompt for, or that one of your own `PreToolUse` hooks blocked. [Extend permissions with hooks](/docs/en/permissions#extend-permissions-with-hooks) lists what such a mod can approve, including when it can approve a call that a `deny` rule refuses. +With [managed settings](/docs/en/settings#check-what-your-organization-enforces) or a Team or Enterprise [`/login`](/docs/en/authentication#authentication-precedence) as the session's credential, by default a mod's approval doesn't get a call past your `ask` rules or `PreToolUse` hooks. Without either, a mod can approve a call that an `ask` rule would prompt for, or that your `PreToolUse` hook blocked. To check when a mod can also approve a call that a `deny` rule refuses, see [Extend permissions with hooks](/docs/en/permissions#precedence-among-rules-hooks-and-mods). A mod can restyle much of Claude Code's interface, but not the permission prompt. It can't change what a prompt shows you. @@ -195,7 +195,7 @@ A mod's hooks run in every kind of session that loads the plugin, whichever prov | `claude` in a terminal, including an editor's integrated terminal and the JetBrains plugin | Yes | Yes | | The Code tab of the Desktop app, except in a WSL session | Yes | Yes, except elements the [elements table](/docs/en/plugins/mods/reference#elements) marks terminal-only | | A [WSL session](/docs/en/desktop-wsl) in the Desktop app | No, because plugins aren't available in WSL sessions | No | -| The VS Code extension's chat panel | Yes | Yes, with extension version 2.1.299 or later, in a session that [fetches feature flags](/docs/en/env-vars#features-that-need-feature-flag-fetching). The [render sites](/docs/en/plugins/mods/reference#render-sites) and [elements](/docs/en/plugins/mods/reference#elements) tables mark what the panel draws. | +| The VS Code extension's chat panel | Yes | Yes, with extension version 2.1.299 or later. A session that [doesn't fetch feature flags](/docs/en/env-vars#features-that-need-feature-flag-fetching), such as one on Amazon Bedrock, needs 2.1.304 or later. The [render sites](/docs/en/plugins/mods/reference#render-sites) and [elements](/docs/en/plugins/mods/reference#elements) tables mark what the panel draws. | | `claude -p` and the [Agent SDK](/docs/en/agent-sdk/overview) | Yes | No | | [Remote Control](/docs/en/remote-control) from claude.ai or the mobile app | Yes, in the session on your machine | In the terminal on your machine | | A [cloud session](/docs/en/claude-code-on-the-web) | Yes, for a plugin that [reaches the cloud session](/docs/en/cloud-environments#what-carries-over-from-your-setup) | No | diff --git a/content/en/docs/claude-code/plugins/mods/reference.md b/content/en/docs/claude-code/plugins/mods/reference.md index 87c5d15f14..34eb610c25 100644 --- a/content/en/docs/claude-code/plugins/mods/reference.md +++ b/content/en/docs/claude-code/plugins/mods/reference.md @@ -225,7 +225,7 @@ The mods API is the `$` argument every hook receives. Its methods are grouped in A render site is an extension point in Claude Code's interface. Each row is a value of `e.component` in a `ui.render` hook, with the fields of `e.props` and the apps that render it. `e.surface` names the app that's drawing, such as `terminal`, `desktop`, or `vscode`. [Change what Claude Code already draws](/docs/en/plugins/mods/interface#change-what-claude-code-already-draws) shows what a hook can do at a site, with an example of each choice. -Rendering in the VS Code extension requires extension version 2.1.299 or later and a session that [fetches feature flags](/docs/en/env-vars#features-that-need-feature-flag-fetching). [Draw in the VS Code extension](/docs/en/plugins/mods/interface#draw-in-the-vs-code-extension) lists what the extension draws differently. +Rendering in the VS Code extension requires extension version 2.1.299 or later. A session that [doesn't fetch feature flags](/docs/en/env-vars#features-that-need-feature-flag-fetching) needs 2.1.304 or later. [Draw in the VS Code extension](/docs/en/plugins/mods/interface#draw-in-the-vs-code-extension) lists what the extension draws differently. | Site | `e.props` | `e.requestId` | Rendered on | | :- | :- | :- | :- | @@ -381,7 +381,7 @@ These are the settings and environment variables that affect mods. The Where col | :- | :- | :- | | `CLAUDE_CODE_PLUGIN_DIRS` | Environment, or `env` in `~/.claude/settings.json` | Plugin directories to load as `--plugin-dir` does, for apps you can't pass a flag to. Absolute paths separated by `:`, or `;` on Windows. | | `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Environment | `1` makes a long-running non-interactive session reload `--plugin-dir` mods on save | -| `prependPlugins`, `appendPlugins` | Managed settings. User settings only on a machine with no managed settings, for a user who isn't signed in with a Team or Enterprise plan. | Lists of plugin ids, such as `acme-guard@acme-tools`. Mods in `prependPlugins` run before every mod a user installs, and mods in `appendPlugins` run after, in the listed order. See [The order mods run in](/docs/en/plugins/mods/events#the-order-mods-run-in). | +| `prependPlugins`, `appendPlugins` | Managed settings. User settings only on a machine with no managed settings, in a session whose credential isn't a Team or Enterprise `/login`. | Lists of plugin ids, such as `acme-guard@acme-tools`. Mods in `prependPlugins` run before every mod a user installs, and mods in `appendPlugins` run after, in the listed order. See [The order mods run in](/docs/en/plugins/mods/events#the-order-mods-run-in). | | `allowManagedModsOnly` | Managed settings, as an [option on the built-in guard](/docs/en/plugins/mods/admin#set-options-on-the-built-in-guard) | Only mods that [count as your organization's](/docs/en/plugins/mods/admin#install-your-organizations-mods), and mods built into Claude Code, run their hooks. Users' settings hooks keep running. | | `allowModsToOverrideDenyRules` | Managed settings, as an [option on the built-in guard](/docs/en/plugins/mods/admin#set-options-on-the-built-in-guard) | Lets a mod a user installed approve a tool call that a `deny` rule refuses | | `allowManagedHooksOnly` | Managed settings | Blocks hooks and installed mods that aren't your organization's. See [what keeps running](/docs/en/settings-reference#what-runs-under-allowmanagedhooksonly). | @@ -389,7 +389,9 @@ These are the settings and environment variables that affect mods. The Where col | `disableSideloadFlags` | Managed settings | Rejects `--plugin-dir` and `--plugin-url` at startup | | `pluginConfigs` | User or managed settings | Holds `userConfig` values for a mod, keyed by the plugin's id, such as `acme-guard@acme-tools`, or its name and `@inline`, such as `first-mod@inline`, for one loaded with `--plugin-dir` | -`sec-default@builtin` is a guard built into Claude Code, listed as `cc-plugin-sec-default` in `/plugin` and the debug log. It loads ahead of every mod a person installs on a machine with managed settings, or for a user signed in with a Team or Enterprise plan. If managed `prependPlugins` is set, the guard loads only when that list names it, at the position listed. Its source is in the [`mods/sec-default` directory of the Claude Code repository](https://github.com/anthropics/claude-code/tree/main/mods/sec-default). +`sec-default@builtin` is a guard built into Claude Code, listed as `cc-plugin-sec-default` in `/plugin` and the debug log. It loads ahead of every mod a person installs on a machine with managed settings, or in a session whose credential is a Team or Enterprise [`/login`](/docs/en/authentication#authentication-precedence). If managed `prependPlugins` is set, the guard loads only when that list names it, at the position listed. + +Its source is in the [`mods/sec-default` directory of the Claude Code repository](https://github.com/anthropics/claude-code/tree/main/mods/sec-default). ## Commands diff --git a/content/en/docs/claude-code/plugins/mods/troubleshoot.md b/content/en/docs/claude-code/plugins/mods/troubleshoot.md index 0bb8b61717..eda89d9079 100644 --- a/content/en/docs/claude-code/plugins/mods/troubleshoot.md +++ b/content/en/docs/claude-code/plugins/mods/troubleshoot.md @@ -68,7 +68,7 @@ Each of these follows `hooks module`, the mod's name, and `not loaded:` in the d ### Messages from the built-in guard -On a machine with managed settings, or for a user signed in with a Team or Enterprise plan, the [built-in guard](/docs/en/plugins/mods/admin#know-what-happens-by-default) can refuse a mod or one of its answers. Each message names the option your organization's administrator sets to change the rule. +On a machine with managed settings, or in a session whose credential is a Team or Enterprise `/login`, the [built-in guard](/docs/en/plugins/mods/admin#know-what-happens-by-default) can refuse a mod or one of its answers. Each message names the option your organization's administrator sets to change the rule. | Message contains | What it means | Where it appears | | :- | :- | :- | @@ -179,6 +179,16 @@ The message tells Claude to issue the call once more as recorded. If that's deni Look them up in [Messages from the built-in guard](#messages-from-the-built-in-guard). +## A toast appears after a turn is stopped + +

+ `Stopped: type a message to continue; a mod cannot resume work after Stop` +

+ +This toast means that after you stopped the turn, for example with Esc, a mod tried to start work on its own and Claude Code didn't let it. Nothing needs fixing. After your next message, mods can start work again and [some of that work comes back](/docs/en/plugins/mods/api#work-your-mod-started-before-the-interruption) on its own. If what you expected from the mod doesn't come back, ask for it again or run the mod's command again. + +If you wrote the mod, see [Calls and background work after the user interrupts a turn](/docs/en/plugins/mods/api#calls-and-background-work-after-the-user-interrupts-a-turn). + ## A drawing doesn't appear or respond The mod loaded, and its pane, band, toast, or controls don't behave as you expect. @@ -249,7 +259,7 @@ Either that app doesn't draw the site or element, or the session is one where th * **The site or element isn't drawn in that app**: look up your site in the [render sites](/docs/en/plugins/mods/reference#render-sites) table and your elements in the [elements](/docs/en/plugins/mods/reference#elements) table. For an element the app lacks, check `e.surface` in the hook and return a tree the app can draw. * **The VS Code extension is older than 2.1.299**: the chat panel draws for mods from [extension version](/docs/en/vs-code#install-the-extension) 2.1.299. Check the version in VS Code's Extensions view and update the extension there. -* **The VS Code session doesn't fetch feature flags**: drawing in the chat panel requires it. Sessions on Amazon Bedrock, Google Cloud's Agent Platform, or Microsoft Foundry, or through a [Claude apps gateway](/docs/en/claude-apps-gateway), skip it, among others that [Features that need feature-flag fetching](/docs/en/env-vars#features-that-need-feature-flag-fetching) lists. To see the drawing in such a session, run `claude` in a terminal instead, such as VS Code's integrated terminal. +* **The extension is older than 2.1.304 and the session doesn't fetch feature flags**: update the extension, or run `claude` in VS Code's integrated terminal instead. Sessions on Amazon Bedrock, Google Cloud's Agent Platform, or Microsoft Foundry skip the fetch. For the others that skip it, such as a [Claude apps gateway](/docs/en/claude-apps-gateway) session, see [Features that need feature-flag fetching](/docs/en/env-vars#features-that-need-feature-flag-fetching). ## An edit or a value is lost diff --git a/content/en/docs/claude-code/routines.md b/content/en/docs/claude-code/routines.md index c21c304b58..1211c7068a 100644 --- a/content/en/docs/claude-code/routines.md +++ b/content/en/docs/claude-code/routines.md @@ -2,93 +2,87 @@ > Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt > Use this file to discover all available pages before exploring further. -# Automate work with routines +# Automate work with scheduled tasks -> Put Claude Code on autopilot. Define routines that run on a schedule, trigger on API calls, or react to GitHub events from cloud infrastructure. +> Put Claude Code on autopilot. Create scheduled tasks, formerly routines, that run in the cloud on a schedule, on API calls, or on GitHub events. - Routines are in research preview. Behavior, limits, and the API surface may change. + Scheduled tasks are in research preview. Behavior, limits, and the API surface may change. -A routine is a saved Claude Code configuration: a prompt, one or more repositories, and a set of [connectors](/docs/en/mcp), packaged once and run automatically. Routines execute on Anthropic-managed cloud infrastructure, or on your organization's [self-hosted environment](/docs/en/self-hosted-environments) when routed there, so they keep working when your laptop is closed. +A cloud scheduled task, formerly a routine, is a saved Claude Code configuration: a prompt, one or more repositories, and a set of [connectors](/docs/en/mcp), packaged once and run automatically. Scheduled tasks execute on Anthropic-managed cloud infrastructure, or on your organization's [self-hosted environment](/docs/en/self-hosted-environments) when routed there, so they keep working when your laptop is closed. -Each routine can have one or more triggers attached to it: +Each scheduled task can have one or more triggers attached to it: -* **Scheduled**: run on a recurring cadence like hourly, nightly, or weekly, or once at a specific future time -* **API**: trigger on demand by sending an HTTP POST to a per-routine endpoint with a bearer token +* **Schedule**: run on a recurring cadence like hourly, nightly, or weekly, or once at a specific future time +* **API**: trigger on demand by sending an HTTP POST to the task's own endpoint with a bearer token * **GitHub**: run automatically in response to repository events such as pull requests or releases -A single routine can combine triggers. For example, a PR review routine can run nightly, trigger from a deploy script, and also react to every new PR. +A single scheduled task can combine triggers. For example, a PR review task can run nightly, trigger from a deploy script, and also react to every new PR. -Routines are available on Pro, Max, Team, and Enterprise plans. Create and manage them at [claude.ai/code/routines](https://claude.ai/code/routines), or from the CLI with `/schedule`. +A scheduled task doesn't need a schedule: -Team and Enterprise Owners can disable routines for all members with the Routines toggle at [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code). When disabled, existing routines stop running and members cannot create new ones. +* A task with only an API trigger runs when you call its endpoint. +* A task with only a GitHub trigger runs when a matching repository event occurs. -This page covers creating a routine, configuring each trigger type, managing runs, and how usage limits apply. +Scheduled tasks are available on Pro, Max, Team, and Enterprise plans. Create and manage them at [claude.ai/code/routines](https://claude.ai/code/routines), or from the CLI with `/schedule`. The earlier name, routines, [still appears](#where-the-name-routines-still-appears) in the web address, the CLI, and the API. -## Example use cases - -Each example pairs a trigger type with the kind of work routines are suited to: unattended, repeatable, and tied to a clear outcome. + + Two other features schedule work on your machine instead of in the cloud: [Desktop scheduled tasks](/docs/en/desktop-scheduled-tasks) and [`/loop`](/docs/en/scheduled-tasks). To choose among all three, see [Compare scheduling options](/docs/en/scheduled-tasks#compare-scheduling-options). + -**Backlog maintenance.** A schedule trigger runs every weeknight against your issue tracker via a connector. The routine reads issues opened since the last run, applies labels, assigns owners based on the area of code referenced, and posts a summary to Slack so the team starts the day with a groomed queue. +Team and Enterprise Owners can turn off scheduled tasks for all members with the **Scheduled tasks (Was Routines)** toggle at [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities). When the toggle is off, existing scheduled tasks stop running and members can't create new ones. -**Alert triage.** Your monitoring tool calls the routine's API endpoint when an error threshold is crossed, passing the alert body as `text`. The routine's prompt tells Claude to investigate the alert in the fire payload, so it pulls the stack trace, correlates it with recent commits in the repository, and opens a draft pull request with a proposed fix and a link back to the alert. On-call reviews the PR instead of starting from a blank terminal. +## Example use cases -**Bespoke code review.** A GitHub trigger runs on `pull_request.opened`. The routine applies your team's own review checklist, leaves inline comments for security, performance, and style issues, and adds a summary comment so human reviewers can focus on design instead of mechanical checks. +Each example pairs a trigger type with the kind of work scheduled tasks are suited to: unattended, repeatable, and tied to a clear outcome. -**Deploy verification.** Your CD pipeline calls the routine's API endpoint after each production deploy. The routine runs smoke checks against the new build, scans error logs for regressions, and posts a go or no-go to the release channel before the deploy window closes. +* **Backlog maintenance**: a schedule trigger runs every weeknight in your repository, with your issue tracker added as a connector. The scheduled task reads issues opened since the last run, applies labels, and assigns owners based on the area of code referenced. It then posts a summary to Slack so the team starts the day with a groomed queue. +* **Alert triage**: your monitoring tool calls the scheduled task's API endpoint when an error threshold is crossed, passing the alert body as `text`. The task's prompt tells Claude to investigate the alert in the fire payload, so it pulls the stack trace and correlates it with recent commits in the repository. It then opens a draft pull request with a proposed fix and a link back to the alert. On-call reviews the PR instead of starting from a blank terminal. +* **Bespoke code review**: a GitHub trigger runs on `pull_request.opened`. The scheduled task applies your team's own review checklist and leaves inline comments for security, performance, and style issues. It also adds a summary comment so human reviewers can focus on design instead of mechanical checks. +* **Deploy verification**: your CD pipeline calls the scheduled task's API endpoint after each production deploy. The task runs smoke checks against the new build, scans error logs for regressions, and posts a go or no-go to the release channel before the deploy window closes. +* **Docs drift**: a schedule trigger runs weekly. The scheduled task scans merged PRs since the last run, flags documentation that references changed APIs, and opens update PRs against the docs repository for an editor to review. +* **Library port**: a GitHub trigger runs on `pull_request.closed` filtered to merged PRs in one SDK repository. The scheduled task ports the change to a parallel SDK in another language and opens a matching PR, keeping the two libraries in step without a human re-implementing each change. -**Docs drift.** A schedule trigger runs weekly. The routine scans merged PRs since the last run, flags documentation that references changed APIs, and opens update PRs against the docs repository for an editor to review. + -**Library port.** A GitHub trigger runs on `pull_request.closed` filtered to merged PRs in one SDK repository. The routine ports the change to a parallel SDK in another language and opens a matching PR, keeping the two libraries in step without a human re-implementing each change. +## Create a scheduled task -## Create a routine +Create a scheduled task from the web at [claude.ai/code/routines](https://claude.ai/code/routines), from the Desktop app, or from the CLI. All three surfaces write to the same cloud account, so a scheduled task you create in one shows up in the others immediately. In the Desktop app's **Code** tab, click **Scheduled** in the sidebar or in the sidebar's **More** menu, then **New task**, and continue with [Create from the web](#create-from-the-web). -Create a routine from the web at [claude.ai/code/routines](https://claude.ai/code/routines), from the Desktop app, or from the CLI. All three surfaces write to the same cloud account, so a routine you create in one shows up in the others immediately. In the Desktop app's **Code** tab, click **Routines** in the sidebar or in the sidebar's **More** menu, then **New routine**, and choose **Cloud**; choosing **Local** instead creates a [Desktop scheduled task](/docs/en/desktop-scheduled-tasks), which runs on your machine rather than in the cloud. +Scheduled tasks run autonomously as full Claude Code cloud sessions. You don't choose a permission mode. The session runs shell commands, uses [skills](/docs/en/skills) committed to the cloned repository, and calls any connectors you include, all without stopping for approval apart from some [artifact actions](#when-a-run-publishes-an-artifact-without-asking). -The creation form sets up the routine's prompt, repositories, environment, connectors, and triggers. +What a scheduled task can reach is determined by: -Routines run autonomously as full Claude Code cloud sessions: there is no permission-mode picker, and the session runs shell commands, uses [skills](/docs/en/skills) committed to the cloned repository, and calls any connectors you include, all without stopping for approval apart from some [artifact actions](#when-a-run-publishes-an-artifact-without-asking). +* The repositories you select +* The [environment's](/docs/en/cloud-environments) network access and variables +* The connectors you include -What a routine can reach is determined by the repositories you select, the [environment's](/docs/en/cloud-environments) network access and variables, and the connectors you include. Scope each of those to what the routine actually needs. +Scope each of those to what the task needs. -Routines belong to your individual claude.ai account. They are not shared with teammates, and their runs count against your account's [usage and limits](#usage-and-limits). Anything a routine does through your connected GitHub identity or connectors appears as you: commits and pull requests carry your GitHub user, and Slack messages, Linear tickets, or other connector actions use your linked accounts for those services. +Scheduled tasks belong to your individual claude.ai account. They are not shared with teammates, and their runs count against your account's [usage and limits](#usage-and-limits). Anything a scheduled task does through your connected GitHub identity or connectors appears as you. Commits and pull requests carry your GitHub user, and Slack messages, Linear tickets, or other connector actions use your linked accounts for those services. ### Create from the web - - Visit [claude.ai/code/routines](https://claude.ai/code/routines) and click **New routine**. - + + Go to [claude.ai/code/routines](https://claude.ai/code/routines) and click **New task**. If a menu opens first, select **Set up manually**. The **New scheduled task** dialog opens. The menu's other option, **Create with Claude**, lets you describe the task in a chat and have Claude create it instead. - - Give the routine a descriptive name and write the prompt Claude runs each time. The prompt is the most important part: the routine runs autonomously, so the prompt must be self-contained and explicit about what to do and what success looks like. - - When a trigger fires, the session receives the routine's saved prompt as its assigned task and carries it out, rather than treating it as untrusted content that arrived mid-conversation. The trigger attests only that the prompt was stored ahead of time by an authorized session on your account, so the fired prompt is not live user input and can't act as approval or consent for actions during the run. Content the session fetches during the run keeps its normal handling. Before v2.1.213, the session received the same prompt framed as an untrusted background notification and could refuse to act on it. - - The prompt input includes a model selector. Claude uses the selected model on every run. - - - - Add one or more GitHub repositories for Claude to work in. Each repository is cloned at the start of a run. Claude creates `claude/`-prefixed branches for its changes. + If **Repositories** and **Environment** are already showing when the dialog opens, see [how that dialog differs](#dialog-with-repositories-and-environment-in-the-main-view). Otherwise, this dialog also creates scheduled tasks for claude.ai chat. To make yours what the dialog calls a Claude Code task, select a repository or add a GitHub event or API trigger in the steps that follow. That kind of task runs Claude Code in a cloud session. - - Pick a [cloud environment](/docs/en/cloud-environments) for the routine. Environments control what the cloud session has access to: - - * **Network access**: set the level of internet access available during each run - * **Environment variables**: provide values Claude can use during each run. They're [visible to anyone who uses the environment](/docs/en/cloud-environments#what-carries-over-from-your-setup), so in an Anthropic-hosted environment, store keys for the APIs Claude calls during a run as [network secrets](/docs/en/cloud-environments#add-network-secrets) instead. That section also lists the requests that never get a secret - * **Setup script**: install dependencies and tools the routine needs. The result is [cached](/docs/en/cloud-environments#environment-caching), so the script doesn't re-run on every session + + Give the scheduled task a descriptive name and write the prompt Claude runs each time. The prompt is the most important part: the task runs autonomously, so the prompt must be self-contained and explicit about what to do and what success looks like. Select a model in the prompt input's model selector. Claude uses it on every run. - A **Default** environment is provided with **Trusted** network access, which allows only the [default allowlist](/docs/en/cloud-environments#default-allowed-domains) of package registries, cloud provider APIs, container registries, and common development domains through the session's network. Connectors you add to the routine reach their services through Anthropic's servers, so they don't need allowlist changes. If your routine needs to reach your own services directly, or a domain outside that list, edit the environment's [network access](/docs/en/cloud-environments#network-access) before running. To use a separate environment, [create one](/docs/en/cloud-environments#configure-your-environment) first. + When a trigger fires, the session receives the saved prompt as its assignment and carries it out, rather than treating it as untrusted content that arrived mid-conversation. The trigger attests only that the prompt was stored ahead of time by an authorized session on your account. The fired prompt is therefore not live user input and can't act as approval or consent for actions during the run. Content the session fetches during the run keeps its normal handling. - Under **Select a trigger**, choose how the routine starts. You can pick one trigger type or combine several. + In the **Trigger** row, choose how the task starts. To combine several triggers, click **+** at the end of the row. - Pick a preset frequency for a recurring run, or schedule a single one-off run at a specific timestamp. See [Add a schedule trigger](#add-a-schedule-trigger) for timezone handling, late starts, custom cron intervals, and one-off runs. + Pick a preset frequency for a recurring run. See [Add a schedule trigger](#add-a-schedule-trigger) for timezone handling, late starts, custom cron intervals, and one-off runs. @@ -96,47 +90,82 @@ Routines belong to your individual claude.ai account. They are not shared with t - Select **API** here, then save the routine. The URL and token are generated after the routine is saved, since they depend on the routine ID. See [Add an API trigger](#add-an-api-trigger) to copy the URL and generate a token. + Select **API** here. When you click **Create**, the **API token** dialog shows the token once, so copy it before you close the dialog. See [Add an API trigger](#add-an-api-trigger) to copy the URL or generate a new token. + + Expand **Advanced settings**. Under **Repository** on the **General** tab, select one or more GitHub repositories for Claude to work in. + + Each repository is cloned at the start of a run. Claude creates `claude/`-prefixed branches for its changes. + + + + After you select a repository, **Cloud environment** appears below it. Pick a [cloud environment](/docs/en/cloud-environments) for the task. Environments control what the cloud session has access to: + + * **Network access**: set the level of internet access available during each run + * **Environment variables**: provide values Claude can use during each run. They're [visible to anyone who uses the environment](/docs/en/cloud-environments#what-carries-over-from-your-setup), so in an Anthropic-hosted environment, store keys for the APIs Claude calls during a run as [network secrets](/docs/en/cloud-environments#add-network-secrets) instead. That section also lists the requests that never get a secret + * **Setup script**: install dependencies and tools the task needs. The result is [cached](/docs/en/cloud-environments#environment-caching), so the script doesn't re-run on every session + + A **Default** environment is provided with **Trusted** network access, which allows only the [default allowlist](/docs/en/cloud-environments#default-allowed-domains) of package registries, cloud provider APIs, container registries, and common development domains through the session's network. Connectors you add to the task reach their services through Anthropic's servers, so they don't need allowlist changes. + + If your task needs to reach your own services directly, or a domain outside that list, edit the environment's [network access](/docs/en/cloud-environments#network-access) before running. To use a separate environment, [create one](/docs/en/cloud-environments#configure-your-environment) first. + + - Under **Connectors** at the bottom of the form, all of your connected [MCP connectors](/docs/en/mcp) are included by default. Remove any the routine doesn't need: Claude can use every tool from an included connector, including writes, without asking for permission during a run. + Switch to the **Connectors** tab of **Advanced settings**. All of your connected [MCP connectors](/docs/en/mcp) are included by default. Remove any the task doesn't need: Claude can use every tool from an included connector, including writes, without asking for permission during a run. - - Click **Create**. The routine appears in the list and runs the next time one of its triggers matches. To start a run immediately, click **Run now** on the routine's detail page. + + Click **Create**. The dialog closes and the new task's detail page opens. The task runs the next time one of its triggers matches. To start a run immediately, click **Run now** on the detail page. Each run creates a new session alongside your other sessions, where you can see what Claude did, review changes, and create a pull request. +#### Dialog with Repositories and Environment in the main view + +Follow the [steps to create from the web](#create-from-the-web), and fill in each field in the dialog's main view rather than under **Advanced settings**. This dialog creates only Claude Code tasks. + +Select the repository before you add a GitHub event trigger, because that trigger is unavailable until a repository is selected. + ### Create from the CLI -Run `/schedule` in any session to create a scheduled routine conversationally. You can also pass a description directly, for a recurring routine like `/schedule daily PR review at 9am` or a one-off like `/schedule clean up feature flag in one week`. Claude walks through the same information the web form collects, then saves the routine to your account. The command is also available under the alias `/routines`. +Run `/schedule` in any session to create a scheduled task conversationally. You can also pass a description directly, for a recurring task like `/schedule daily PR review at 9am` or a one-off like `/schedule clean up feature flag in one week`. Claude walks through the same information the web dialog collects, then saves the task to your account. The command is also available under the alias `/routines`. -A successful start looks like a conversation: Claude asks follow-up questions about the schedule, repositories, and prompt before saving. If Claude instead replies that you need to authenticate or that it can't connect to your remote claude.ai account, no routine was created; see [Troubleshooting](#troubleshooting). +A successful start looks like a conversation: Claude asks follow-up questions about the schedule, repositories, and prompt before saving. If Claude instead replies that you need to authenticate or that it can't connect to your remote claude.ai account, no scheduled task was created; see [Troubleshooting](#troubleshooting). -`/schedule` in the CLI creates scheduled routines. To add an API trigger, edit the routine on the web at [claude.ai/code/routines](https://claude.ai/code/routines). You can add a [GitHub trigger](#add-a-github-trigger) from the web or from the CLI. The CLI path requires Claude Code v2.1.225 or later. +A task you create with `/schedule` has a schedule trigger. You can also add the other trigger types: -A routine with no schedule trigger, such as one started only by API calls or GitHub events, has no next run time, and the CLI shows none when Claude saves or updates it. Before v2.1.211, the CLI reported a next run time in the year 1 for these routines. +* **API trigger**: edit the task on the web at [claude.ai/code/routines](https://claude.ai/code/routines) +* **[GitHub trigger](#add-a-github-trigger)**: edit the task on the web, or ask Claude in the CLI. Adding one from the CLI requires Claude Code v2.1.225 or later + +A scheduled task with no schedule trigger, such as one started only by API calls or GitHub events, has no next run time. The CLI shows none when Claude saves or updates it. Before v2.1.211, the CLI reported a next run time in the year 1 for these tasks. ## Configure triggers -A routine starts when one of its triggers matches. You can attach any combination of schedule, API, and GitHub triggers to the same routine, and add or remove them at any time from the **Select a trigger** section of the routine's edit form. +A scheduled task starts when one of its triggers matches. Add or remove a task's triggers at any time in the **Trigger** row of the task's [edit dialog](#edit-and-control-scheduled-tasks). -### Add a schedule trigger +When a task has two or more triggers, each one has a trash icon in that dialog. To remove a schedule or GitHub event trigger, click its trash icon, then **Save changes**. To remove an API trigger, [delete its token](#add-an-api-trigger) instead. -A schedule trigger runs the routine on a recurring cadence, or once at a specific future time. Pick a preset frequency in the **Select a trigger** section: hourly, daily, weekdays, or weekly. Times are entered in your local zone and converted automatically, so the routine runs at that wall-clock time regardless of where the cloud infrastructure is located. +### Add a schedule trigger -If you schedule a run exactly on the hour, such as 9:00, it can start several minutes late. To start close to the scheduled time, pick a few minutes past the hour, for example 9:07. +A schedule trigger runs the task on a recurring cadence, or once at a specific future time. In the task's creation or edit dialog on the web, pick a preset frequency such as hourly, daily, or weekly: -For a custom interval such as every two hours or the first of each month, pick the closest preset in the form, then run `/schedule update` in the CLI to set a specific cron expression. The minimum interval is one hour; expressions that run more frequently are rejected. +* **Time zone**: times are entered in your local zone and converted automatically, so the task runs at that wall-clock time regardless of where the cloud infrastructure is located. +* **Runs on the hour**: if you schedule a run exactly on the hour, such as 9:00, it can start several minutes late. To start close to the scheduled time, pick a few minutes past the hour, for example 9:07. +* **Custom intervals**: for a custom interval such as every two hours, pick the closest preset in the dialog, then run `/schedule update` in the CLI to set a specific cron expression. The minimum interval is one hour; expressions that run more frequently are rejected. #### Schedule a one-off run -A one-off schedule fires the routine a single time at a specific timestamp. Use it to remind yourself later in the week, to open a cleanup PR after a rollout finishes, or to start a follow-up task after an upstream change ships. After the routine fires, it auto-disables and the web UI marks it as **Ran**. To run it again, edit the routine and set a new one-off time. +A one-off schedule runs the task a single time at a specific timestamp. For example, use it to: + +* Remind yourself later in the week +* Open a cleanup PR after a rollout finishes +* Start follow-up work after an upstream change ships + +After the task runs, it turns itself off and the web UI marks it as **Completed**. To run it again, open the task's edit dialog on the web, which offers **One-time** for a one-off task, and set a new time. Create a one-off run from the CLI by describing the time in natural language. Claude resolves the phrase against the current time and confirms the absolute timestamp before saving. @@ -154,42 +183,46 @@ One-off runs count against the same hourly limit as other scheduled runs. See [U ### Add an API trigger -An API trigger gives a routine a dedicated HTTP endpoint. POSTing to the endpoint with the routine's bearer token starts a new session and returns a session URL. Use this to wire Claude Code into alerting systems, deploy pipelines, internal tools, or anywhere you can make an authenticated HTTP request. +An API trigger gives a scheduled task a dedicated HTTP endpoint. POSTing to the endpoint with the task's bearer token starts a new session and returns a session URL. Use this to wire Claude Code into alerting systems, deploy pipelines, internal tools, or anywhere you can make an authenticated HTTP request. -API triggers are added to an existing routine from the web. The CLI can't currently create, regenerate, or delete tokens. +Add an API trigger on the web, either while you [create the task](#create-from-the-web) or later with the steps below. You can't add an API trigger or manage its token from the CLI. - - Go to [claude.ai/code/routines](https://claude.ai/code/routines), click the routine you want to trigger via API, then open the menu next to the routine's name and select **Edit**. + + Go to [claude.ai/code/routines](https://claude.ai/code/routines), click the scheduled task you want to trigger via API, then open the menu next to its name and select **Edit**. The **Edit scheduled task** dialog opens. - Scroll to the **Select a trigger** section below the **Instructions** box, click **Add another trigger**, and choose **API**. + In the **Trigger** row, click **+** and select **API** from the menu that opens. A panel with the **Fire URL** and **Token** for this task appears. - The modal shows the URL for this routine along with a sample curl command. Copy the URL, then click **Generate token** and copy the token immediately. The token is shown once and cannot be retrieved later, so store it somewhere secure such as your alerting tool's secret store. + Copy the **Fire URL**. Click **Generate token**, then copy the token from the **Token generated** dialog immediately. The token is shown once and can't be retrieved later, so store it somewhere secure such as your alerting tool's secret store. + + The API trigger takes effect as soon as you generate the token. You don't need to click **Save changes**, so close the dialog when you're done. - Send the token in the `Authorization: Bearer` header when you POST to the URL. The [Trigger a routine](#trigger-a-routine) section below shows a complete example. + Send the token in the `Authorization: Bearer` header when you POST to the URL. [Trigger a scheduled task](#trigger-a-scheduled-task) shows a complete example. -Each routine has its own token, scoped to triggering that routine only. To turn off API access or rotate the token, return to the same modal: +Each scheduled task has its own token, scoped to triggering that task only. To turn off API access or rotate the token, [open the task's **Edit scheduled task** dialog](#edit-and-control-scheduled-tasks) again. Both controls are next to the token in the API trigger's panel and take effect immediately: -* **Turn off API access**: click **Delete token**, the trash icon next to **Regenerate** -* **Rotate the token**: click **Regenerate** +* **Turn off API access**: click **Delete token**, the trash icon next to **Regenerate**. This removes the API trigger +* **Rotate the token**: click **Regenerate**. The previous token stops working, and the **Token generated** dialog shows the new one once -#### Trigger a routine + -Send a POST request to the `/fire` endpoint with the bearer token in the `Authorization` header. The request body accepts an optional `text` field for run-specific context such as an alert body or a failing log, passed to the routine alongside its saved prompt. The value is freeform text and is not parsed: if you send JSON or another structured payload, the routine receives it as a literal string. +#### Trigger a scheduled task + +Send a POST request to the `/fire` endpoint with the bearer token in the `Authorization` header. The request body accepts an optional `text` field for run-specific context such as an alert body or a failing log, passed to the task alongside its saved prompt. The value is freeform text and is not parsed: if you send JSON or another structured payload, the task receives it as a literal string. The `text` value doesn't reach the routine as a bare message. It arrives wrapped in a `` block that labels it as untrusted data and tells Claude not to follow instructions inside it unless the routine's own prompt says to. The same wrapping applies to text supplied with **Run now** in the web UI. This means a routine's saved prompt must opt in to acting on fire text: write the prompt to reference the payload explicitly, for example "Investigate the alert described in the routine-fire-payload block", or the routine treats the text as inert context. Anyone holding the bearer token can send `text`, so the wrapper makes fire text from a leaked token arrive labeled as untrusted data rather than as direct instructions to your routine. -The example below triggers a routine from a shell. The routine ID and token shown are placeholders: replace them with the URL and token you copied when [adding the API trigger](#add-an-api-trigger), or the request fails with a `401` authentication error: +The example below triggers a scheduled task from a shell. The task ID and token shown are placeholders: replace them with the URL and token you copied when [adding the API trigger](#add-an-api-trigger), or the request fails with a `401` authentication error: ```bash theme={null} curl -X POST https://api.anthropic.com/v1/claude_code/routines/trig_01ABCDEFGHJKLMNOPQRSTUVW/fire \ @@ -218,7 +251,7 @@ Open the session URL in a browser to watch the run in real time, review changes, #### API reference -For the full API reference, including all error responses, validation rules, and field limits, see [Trigger a routine via API](https://platform.claude.com/docs/en/api/claude-code/routines-fire) in the Claude Platform documentation. +For the full API reference, including all error responses, validation rules, and field limits, see [Trigger a routine through the API](https://platform.claude.com/docs/en/api/claude-code/routines-fire) in the Claude Platform documentation. The `/fire` endpoint is available to claude.ai users only and is not part of the Claude Platform API surface. @@ -227,21 +260,21 @@ The `/fire` endpoint is available to claude.ai users only and is not part of the A GitHub trigger starts a new session automatically when a matching event occurs on a connected repository. Claude Code doesn't reuse sessions across events, so two PR updates produce two independent sessions. - GitHub webhook events are subject to per-routine and per-account hourly caps. Events beyond the limit are dropped until the window resets. + GitHub webhook events are subject to per-task and per-account hourly caps. Events beyond the limit are dropped until the window resets. The Claude GitHub App must be installed on the repository you want to subscribe to, whichever surface you configure the trigger from. * Configure GitHub triggers from the web UI, which prompts you to install the app when it's missing. Follow the steps below to configure one on the web. -* From the CLI, install the app from the [GitHub App page](https://github.com/apps/claude) first, then ask Claude to attach a GitHub trigger to an existing routine, for example `/schedule add a GitHub trigger to my nightly review for pull requests opened in acme/webapp`. The CLI path requires Claude Code v2.1.225 or later. When Claude adds the trigger, it replies with a link to the routine the trigger fires. +* From the CLI, install the app from the [GitHub App page](https://github.com/apps/claude) first, then ask Claude to attach a GitHub trigger to an existing scheduled task, for example `/schedule add a GitHub trigger to my nightly review for pull requests opened in acme/webapp`. The CLI path requires Claude Code v2.1.225 or later. When Claude adds the trigger, it replies with a link to the task the trigger fires. - - Go to [claude.ai/code/routines](https://claude.ai/code/routines), click the routine, then open the menu next to the routine's name and select **Edit**. + + Go to [claude.ai/code/routines](https://claude.ai/code/routines), click the scheduled task, then open the menu next to its name and select **Edit**. The **Edit scheduled task** dialog opens. - Scroll to the **Select a trigger** section, click **Add another trigger**, and choose **GitHub event**. + In the **Trigger** row, click **+** and select **GitHub event** from the menu that opens. Running `/web-setup` in the CLI grants repository access for cloning, but it does not install the Claude GitHub App and does not enable webhook delivery. @@ -249,7 +282,7 @@ The Claude GitHub App must be installed on the repository you want to subscribe - Select the repository, choose an event from the [supported events](#supported-events) list, and optionally add filters. Save the trigger. + Change the repository if needed, choose an event from the [supported events](#supported-events) list, and optionally add filters. Then click **Save changes** at the bottom of the dialog to apply the trigger. @@ -264,7 +297,7 @@ GitHub triggers can subscribe to either of the following event categories. Withi #### Filter pull requests -Use filters to narrow which pull requests start a new session. All filter conditions must match for the routine to trigger. The available filter fields are: +Use filters to narrow which pull requests start a new session. All filter conditions must match for the scheduled task to trigger. The available filter fields are: | Filter | Matches | | :- | :- | @@ -284,59 +317,72 @@ The `matches regex` operator tests the entire field value, not a substring withi A few example filter combinations: * **Auth module review**: base branch `main`, head branch contains `auth-provider`. Sends any PR that touches authentication to a focused reviewer. -* **Ready-for-review only**: is draft is `false`. Skips drafts so the routine only runs when the PR is ready for review. -* **Label-gated backport**: labels include `needs-backport`. Triggers a port-to-another-branch routine only when a maintainer tags the PR. +* **Ready-for-review only**: is draft is `false`. Skips drafts so the task only runs when the PR is ready for review. +* **Label-gated backport**: labels include `needs-backport`. Triggers a port-to-another-branch task only when a maintainer tags the PR. + + -## Manage routines +## Manage scheduled tasks -Click a routine in the list to open its detail page. The detail page shows the routine's repositories, connectors, prompt, schedule, API tokens, GitHub triggers, and a list of past runs. +Click a scheduled task in the list to open its detail page. The detail page shows the task's repositories, connectors, prompt, schedule, API tokens, GitHub triggers, and a list of past runs. ### View and interact with runs Click any run to open it as a full session. From there you can see what Claude did, review changes, create a pull request, or continue the conversation. Each run session works like any other session: use the dropdown menu next to the session title to rename, archive, or delete it. - A green status in the run list means the session started and exited without an infrastructure error. It does not mean the task in your prompt succeeded. Open the run to read the transcript and confirm what Claude actually did. Blocked network requests, missing connector tools, and task-level failures all surface there rather than in the status indicator. + A green status in the run list means the session started and exited without an infrastructure error. It does not mean the work your prompt describes succeeded. Open the run to read the transcript and confirm what Claude actually did. Blocked network requests, missing connector tools, and failures in the work itself all surface there rather than in the status indicator. -### Edit and control routines + + +### Edit and control scheduled tasks -From the routine detail page you can: +From the detail page you can: -* Click **Run now** to start a run immediately without waiting for the next scheduled time. You can optionally supply run-specific text, which reaches the routine the same way as the API trigger's `text` field. -* Use the on/off switch at the top of the page to pause or resume the schedule. Paused routines keep their configuration but don't run until you re-enable them. -* Open the menu next to the routine's name and select **Edit** to change the name, prompt, repositories, environment, connectors, or any of the routine's triggers. The **Select a trigger** section is where you add or remove schedules, API tokens, and GitHub event triggers. -* Open the same menu and select **Delete** to delete the routine. +* Click **Run now** to start a run immediately without waiting for the next scheduled time. +* Use the on/off switch at the top of the page to pause or resume the schedule. Paused tasks keep their configuration but don't run until you turn them back on. +* Open the menu next to the task's name and select **Edit** to change the name, prompt, repositories, environment, connectors, or any of the task's triggers. The **Edit scheduled task** dialog opens with the same layout as the [creation dialog](#create-from-the-web). To add a trigger, click **+** in the **Trigger** row. Click **Save changes** to apply your edits. API token actions take effect immediately, without **Save changes**. +* Open the same menu and select **Delete** to delete the task. -### Manage routines from the CLI + -The CLI supports managing existing routines. Run `/schedule list` to see all routines, `/schedule update` to change one, or `/schedule run` to trigger it immediately. +### Manage scheduled tasks from the CLI -You can also ask about a routine's run history, for example `/schedule why did my nightly review do nothing this morning?`. Claude lists the routine's recent runs with their status and a link to [open each run on the web](#view-and-interact-with-runs), and reads a run's log to explain what happened, including tool errors, permission denials, and the final result. Requires Claude Code v2.1.227 or later. +Run `/schedule list` to see your scheduled tasks, `/schedule update` to change one, or `/schedule run` to start one immediately. + +You can also ask about a scheduled task's run history, for example `/schedule why did my nightly review do nothing this morning?`. Claude lists the task's recent runs with their status and a link to [open each run on the web](#view-and-interact-with-runs). It also reads a run's log to explain what happened, including tool errors, permission denials, and the final result. Requires Claude Code v2.1.227 or later. ### Repositories and branch permissions -Routines need GitHub access to clone repositories. When you create a routine from the CLI with `/schedule`, Claude checks whether your account has GitHub access for the repository you ran it from and, if it doesn't, adds a setup note naming how to grant it. See [GitHub authentication options](/docs/en/claude-code-on-the-web#github-authentication-options) for the two ways to grant access. On Team and Enterprise plans, an [Owner](/docs/en/server-managed-settings#access-control) of your Claude organization has to turn on each method before you can use it; see [Connect GitHub](/docs/en/web-quickstart#connect-github). +Scheduled tasks need GitHub access to clone repositories. When you create a scheduled task from the CLI with `/schedule`, Claude checks whether your account has GitHub access for the repository you ran it from. If it doesn't, Claude adds a setup note naming how to grant it. -If your GitHub connection is missing or expired when a run is due, the routine skips runs until you reconnect, for up to 72 hours. Reconnect GitHub within that window and the routine resumes on its own. After 72 hours without a connection, the routine turns off, and you turn it back on after reconnecting GitHub. + + See [GitHub authentication options](/docs/en/claude-code-on-the-web#github-authentication-options) for the two ways to grant access. On Team and Enterprise plans, an [Owner](/docs/en/server-managed-settings#access-control) of your Claude organization has to turn on each method before you can use it; see [Connect GitHub](/docs/en/web-quickstart#connect-github). + -Each repository you add is cloned on every run. Claude starts from the repository's default branch unless your prompt specifies otherwise. If a [GitHub pull request event](#add-a-github-trigger) triggers the run and the pull request's repository is the first repository in the routine, that repository starts from the pull request's head commit instead. +If your GitHub connection is missing or expired when a run is due, the scheduled task skips runs until you reconnect, for up to 72 hours. Reconnect GitHub within that window and the task resumes on its own. After 72 hours without a connection, the task turns off, and you turn it back on after reconnecting GitHub. + +Each repository you add is cloned on every run. Claude starts from the repository's default branch unless your prompt specifies otherwise. If a [GitHub pull request event](#add-a-github-trigger) triggers the run and the pull request's repository is the task's first repository, that repository starts from the pull request's head commit instead. Claude pushes its work to a branch prefixed with `claude/` unless your prompt directs it to push to another branch. To control which branches a run can push to, use branch protection rules or rulesets on GitHub. For runs on Anthropic-managed infrastructure, and for self-hosted runs that push through [Anthropic's git proxy](/docs/en/self-hosted-environments-deploy#use-the-anthropic-git-proxy), GitHub applies them to the GitHub access you connected, so a rule that access can bypass doesn't block a run's push. A self-hosted run that pushes with the git credentials your deployment provides is checked against those instead. See [Configure git](/docs/en/self-hosted-environments-deploy#configure-git). ### Connectors -Routines can use your connected MCP connectors to read from and write to external services during each run. For example, a routine that triages support requests might read from a Slack channel and create issues in Linear. +Scheduled tasks can use your connected MCP connectors to read from and write to external services during each run. For example, a task that triages support requests might read from a Slack channel and create issues in Linear. + +Connectors are the [claude.ai integrations](/docs/en/mcp#use-mcp-servers-from-claude-ai) on your account. MCP servers you added locally in the CLI with `claude mcp add` are stored on your machine rather than your claude.ai account, so they do not appear in the connectors list. To use one of those servers in a scheduled task: -Connectors are the [claude.ai integrations](/docs/en/mcp#use-mcp-servers-from-claude-ai) on your account. MCP servers you added locally in the CLI with `claude mcp add` are stored on your machine rather than your claude.ai account, so they do not appear in the connectors list. To use one of those servers in a routine, add it as a connector at [claude.ai/customize/connectors](https://claude.ai/customize/connectors). For a routine with one repository, you can instead declare it in a committed [`.mcp.json`](/docs/en/mcp#project-scope) so it is part of the cloned repository. +* **As a connector**: add it as a connector at [claude.ai/customize/connectors](https://claude.ai/customize/connectors) +* **In the repository**: for a scheduled task with one repository, you can instead declare the server in a committed [`.mcp.json`](/docs/en/mcp#project-scope) so it is part of the cloned repository -When you create a routine, all of your currently connected connectors are included by default. Remove any that aren't needed to limit which tools Claude has access to during the run. You can also add connectors directly from the routine form. +When you create a scheduled task, all of your currently connected connectors are included by default. Remove any that aren't needed to limit which tools Claude has access to during the run. You can also add connectors directly from the task's creation or edit dialog. -To manage or add connectors outside of the routine form, visit [claude.ai/customize/connectors](https://claude.ai/customize/connectors) or use `/schedule update` in the CLI. +To manage or add connectors outside of that dialog, visit [claude.ai/customize/connectors](https://claude.ai/customize/connectors) or use `/schedule update` in the CLI. ### When a run publishes an artifact without asking -When a routine's schedule or **Run now** starts a run, Claude can publish a new [artifact](/docs/en/artifacts) without asking. The new artifact is visible only to you until you [share it](/docs/en/artifacts#share-an-artifact). If the publish declares runtime capabilities for the page, such as [connector calls](/docs/en/artifacts#pull-live-data-with-mcp-connectors) or [file downloads](/docs/en/artifacts#offer-a-file-download), Claude asks first. +When a scheduled task's schedule or **Run now** starts a run, Claude can publish a new [artifact](/docs/en/artifacts) without asking. The new artifact is visible only to you until you [share it](/docs/en/artifacts#share-an-artifact). If the publish declares runtime capabilities for the page, such as [connector calls](/docs/en/artifacts#pull-live-data-with-mcp-connectors) or [file downloads](/docs/en/artifacts#offer-a-file-download), Claude asks first. In those runs, Claude republishes an existing artifact without asking only when all of these hold: @@ -350,23 +396,23 @@ In those runs, Claude republishes an existing artifact without asking only when In every other case, including a run that an API or GitHub trigger starts, Claude asks first. -When a routine's job is to keep a page current, give it an artifact you already published. +When a scheduled task's job is to keep a page current, give it an artifact you already published. ### Environments and network access -Each routine uses a [cloud environment](/docs/en/cloud-environments) that controls network access, environment variables, and setup scripts. The routine inherits the environment's network policy on every run. +Each scheduled task uses a [cloud environment](/docs/en/cloud-environments) that controls network access, environment variables, and setup scripts. The task inherits the environment's network policy on every run. -The **Default** environment uses **Trusted** network access, which allows only the [default allowlist](/docs/en/cloud-environments#default-allowed-domains) through the session's network. Requests on that path to hosts outside the allowlist fail with `403` and `x-deny-reason: host_not_allowed`. MCP connector traffic is routed through Anthropic's servers rather than that path, so the connectors you add to the routine work without adding their hosts to **Allowed domains**. Remove any connectors you don't need under [Connectors](#connectors). +The **Default** environment uses **Trusted** network access, which allows only the [default allowlist](/docs/en/cloud-environments#default-allowed-domains) through the session's network. Requests on that path to hosts outside the allowlist fail with `403` and `x-deny-reason: host_not_allowed`. MCP connector traffic is routed through Anthropic's servers rather than that path, so the connectors you add to the task work without adding their hosts to **Allowed domains**. Remove any connectors you don't need under [Connectors](#connectors). To allow additional domains on one of your own environments, follow these steps. An [organization-shared environment](/docs/en/cloud-environments#organization-shared-environments) opens read-only here, so an Owner changes its network access from the **Cloud environments** page in [admin settings](https://claude.ai/admin-settings) instead. - - On the routine's detail page, open the menu next to the routine's name and select **Edit**. + + Go to [claude.ai/code/routines](https://claude.ai/code/routines), click the scheduled task, then open the menu next to its name and select **Edit**. The **Edit scheduled task** dialog opens. - Below the **Instructions** box, select the cloud icon showing your environment's name, such as **Default**. + Go to **Advanced settings > General > Cloud environment**, expanding **Advanced settings** first if it's collapsed. Click the cloud icon showing your environment's name, such as **Default**. @@ -378,7 +424,7 @@ To allow additional domains on one of your own environments, follow these steps. - Click **Save changes**. The new policy applies from the next run. + Click **Save changes** in the **Edit cloud environment** dialog, then close the **Edit scheduled task** dialog behind it. The new policy applies from the next run. @@ -386,23 +432,32 @@ See [Network access](/docs/en/cloud-environments#network-access) for details on ## Usage and limits -Routines draw down subscription usage the same way interactive sessions do. See your current consumption at [claude.ai/settings/usage](https://claude.ai/settings/usage). +Scheduled tasks draw down subscription usage the same way interactive sessions do. See your current consumption at [claude.ai/settings/usage](https://claude.ai/settings/usage). Separately from subscription usage, each way of starting a run has an hourly limit: | Action | Limit | Counted for | Over the limit | | :- | :- | :- | :- | | Scheduled runs, including one-off runs | 100 per hour | Your account | The run waits until the limit resets | -| **Run now**, API fires, and setting a one-off routine to run again | 30 per hour | Each routine, one count shared by all three | The action fails until the limit resets | -| **Run now** and setting a one-off routine to run again | 100 per hour | Your account | Same | +| **Run now**, API fires, and setting a one-off task to run again | 30 per hour | Each scheduled task, one count shared by all three | The action fails until the limit resets | +| **Run now** and setting a one-off task to run again | 100 per hour | Your account | Same | | API fires | 100 per hour | Your account, counted separately from **Run now** | Same | | GitHub events | See [Add a GitHub trigger](#add-a-github-trigger) | | | None of these hourly limits has overage. -When a routine hits your subscription usage limit, organizations with usage credits turned on can keep running routines on metered overage. Without usage credits, additional runs are rejected until your usage window resets. Turn on usage credits at [claude.ai/settings/usage](https://claude.ai/settings/usage). On Team and Enterprise plans, an admin turns them on for the organization at [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage). +When a scheduled task hits your subscription usage limit, organizations with usage credits turned on can keep running scheduled tasks on metered overage. Without usage credits, additional runs are rejected until your usage window resets. Turn on usage credits at [claude.ai/settings/usage](https://claude.ai/settings/usage). On Team and Enterprise plans, an admin turns them on for the organization at [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage). + +While your subscription is paused, your scheduled tasks are put on hold and don't run. Once your subscription is active again, turn them back on. + +## Where the name routines still appears + +Scheduled tasks were previously called routines, and these places keep the earlier name. Each one refers to the same feature: -While your subscription is paused, your routines are put on hold and don't run. Once your subscription is active again, turn them back on. +* **Web address**: `claude.ai/code/routines` +* **CLI**: the `/routines` alias for `/schedule`, the command's description, and Claude's replies while it sets up a task +* **API**: the `/fire` endpoint path, its beta header, its response `type`, the `` tag, and the [Trigger a routine through the API](https://platform.claude.com/docs/en/api/claude-code/routines-fire) reference page +* **Organization settings**: the **Scheduled tasks (Was Routines)** toggle ## Troubleshooting @@ -416,23 +471,23 @@ The cause is usually one of the following: * You are authenticated with a Console API key, an [Anthropic profile or federation credential](/docs/en/authentication#anthropic-profiles-and-federation-credentials), or a cloud provider such as Amazon Bedrock, Google Cloud's Agent Platform, or Microsoft Foundry. `/schedule` requires a claude.ai subscription login. With a Console API key or a profile, and feature-flag fetching enabled, submitting `/schedule` instead shows `/schedule is available with Claude for Enterprise — ask your admin about migrating from API-key access`. With a cloud-provider login, you still see `Unknown command: /schedule`. If `ANTHROPIC_API_KEY` or `ANTHROPIC_AUTH_TOKEN` is set in your shell, or `apiKeyHelper` is set in `settings.json`, remove it first, since these take precedence over a claude.ai login. A profile or federation credential takes precedence too, so switch that off as well * You are fully signed out, with no API key or other credential. With feature-flag fetching enabled, submitting `/schedule` shows `/schedule requires a claude.ai subscription. Run /login to sign in with your claude.ai account.` Before v2.1.268, a signed-out session showed the same Claude for Enterprise message as a Console API key -* You are inside a cloud session, where submitting `/schedule` answers that the command isn't available in that environment. Manage routines from the [web UI](https://claude.ai/code/routines) instead -* Your organization's policy disables [cloud sessions](/docs/en/claude-code-on-the-web), which routines require. In this case, submitting `/schedule` answers [`Cloud sessions are disabled by your organization's policy`](/docs/en/errors#cloud-sessions-are-disabled-by-your-organizations-policy) instead. Before v2.1.268, it returned `Unknown command: /schedule` -* An Owner [turned off routines](#routines-are-disabled-by-your-organizations-policy) for your Team or Enterprise organization. Before v2.1.227, the command still appeared in this case, and claude.ai rejected the routine when Claude tried to create or run it +* You are inside a cloud session, where submitting `/schedule` answers that the command isn't available in that environment. Manage scheduled tasks from the [web UI](https://claude.ai/code/routines) instead +* Your organization's policy disables [cloud sessions](/docs/en/claude-code-on-the-web), which scheduled tasks require. In this case, submitting `/schedule` answers [`Cloud sessions are disabled by your organization's policy`](/docs/en/errors#cloud-sessions-are-disabled-by-your-organizations-policy) instead. Before v2.1.268, it returned `Unknown command: /schedule` +* An Owner [turned off scheduled tasks](#routines-are-disabled-by-your-organizations-policy) for your Team or Enterprise organization. Before v2.1.227, the command still appeared in this case, and claude.ai rejected the task when Claude tried to create or run it -Unless your organization's policy disables routines or cloud sessions, you can create and manage routines at [claude.ai/code/routines](https://claude.ai/code/routines) regardless of how the CLI is configured. +Unless your organization's policy disables scheduled tasks or cloud sessions, you can create and manage scheduled tasks at [claude.ai/code/routines](https://claude.ai/code/routines) regardless of how the CLI is configured.

"Routines are disabled by your organization's policy"

-An Owner in your Team or Enterprise organization has likely turned off the **Routines** toggle at [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code). On Claude Code v2.1.227 or later, the same toggle also hides `/schedule` in the CLI. This is a server-side organization setting, so it cannot be overridden from your local configuration. Ask an Owner to enable routines for your organization. +An Owner in your Team or Enterprise organization has likely turned off the **Scheduled tasks (Was Routines)** toggle at [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities). On Claude Code v2.1.227 or later, the same toggle also hides `/schedule` in the CLI. This is a server-side organization setting, so it cannot be overridden from your local configuration. Ask an Owner to turn scheduled tasks back on for your organization. ## Related resources * [`/loop` and in-session scheduling](/docs/en/scheduled-tasks): schedule local tasks within an open CLI session * [Desktop scheduled tasks](/docs/en/desktop-scheduled-tasks): local scheduled tasks that run on your machine with access to local files * [Cloud environments](/docs/en/cloud-environments): configure network access, environment variables, and setup scripts for cloud sessions -* [Projects](/docs/en/claude-projects): ongoing work Claude coordinates across parallel cloud sessions; routines created from a project appear on its **Routines** tab +* [Projects](/docs/en/claude-projects): ongoing work Claude coordinates across parallel cloud sessions; scheduled tasks created from a project appear on its **Scheduled tasks** tab * [MCP connectors](/docs/en/mcp): connect external services like Slack, Linear, and Google Drive * [GitHub Actions](/docs/en/github-actions): run Claude in your CI pipeline on repository events diff --git a/content/en/docs/claude-code/scheduled-tasks.md b/content/en/docs/claude-code/scheduled-tasks.md index 719ea4ac93..9bf09c0c11 100644 --- a/content/en/docs/claude-code/scheduled-tasks.md +++ b/content/en/docs/claude-code/scheduled-tasks.md @@ -6,9 +6,16 @@ > Use /loop and the cron scheduling tools to run prompts repeatedly, poll for status, or set one-time reminders within a Claude Code session. -Scheduled tasks let Claude re-run a prompt automatically on an interval. Use them to poll a deployment, babysit a PR, check back on a long-running build, or remind yourself to do something later in the session. To react to events as they happen instead of polling, see [Channels](/docs/en/channels): your CI can push the failure into the session directly. To keep the session working turn after turn toward a condition rather than on an interval, see [`/goal`](/docs/en/goal). +Session-scoped scheduled tasks let Claude re-run a prompt automatically on an interval within a Claude Code session. Use them to poll a deployment, babysit a PR, check back on a long-running build, or remind yourself to do something later in the session. -Tasks are session-scoped. When you resume with `--resume` or `--continue`, Claude Code restores tasks that haven't [expired](#seven-day-expiry), except those listed under [Limitations](#limitations). For scheduling that survives independently of any session, use [Routines](/docs/en/routines) to create a routine on the cloud, set up a [Desktop scheduled task](/docs/en/desktop-scheduled-tasks), or use [GitHub Actions](/docs/en/github-actions). + + These cases are covered on other pages: + + * **Reacting to events as they happen instead of polling**: see [Channels](/docs/en/channels). Your CI can push the failure into the session directly. + * **Keeping the session working turn after turn toward a condition rather than on an interval**: see [`/goal`](/docs/en/goal). + + +Tasks are session-scoped. When you resume with `--resume` or `--continue`, Claude Code restores tasks that haven't [expired](#seven-day-expiry), except those listed under [Limitations](#limitations). For scheduling that survives independently of any session, create a [cloud scheduled task](/docs/en/routines), set up a [Desktop scheduled task](/docs/en/desktop-scheduled-tasks), or use [GitHub Actions](/docs/en/github-actions). ## Compare scheduling options @@ -139,7 +146,9 @@ in 45 minutes, check whether the integration tests passed Claude pins the fire time to a specific minute and hour using a cron expression and confirms when it will fire. -## Manage scheduled tasks + + +## Manage session-scoped scheduled tasks Ask Claude in natural language to list or cancel tasks, or reference the underlying tools directly. @@ -161,7 +170,9 @@ These are the underlying tools Claude uses: Each scheduled task has an 8-character ID you can pass to `CronDelete`. A session can hold up to 50 scheduled tasks at once. -## How scheduled tasks run + + +## How session-scoped scheduled tasks run The scheduler checks every second for due tasks and enqueues them at low priority. A scheduled prompt fires between your turns, not while Claude is mid-response. If Claude is busy when a task comes due, the prompt waits until the current turn ends. @@ -198,7 +209,7 @@ A one-shot task scheduled for `:00` or `:30` runs up to 90 seconds early. Claude ### Seven-day expiry -Recurring tasks automatically expire 7 days after creation. The task fires one final time, then deletes itself. This bounds how long a forgotten loop can run. If you need a recurring task to last longer, cancel and recreate it before it expires, or use [Routines](/docs/en/routines) or [Desktop scheduled tasks](/docs/en/desktop-scheduled-tasks) for durable scheduling. +Recurring tasks automatically expire 7 days after creation. The task fires one final time, then deletes itself. This bounds how long a forgotten loop can run. If you need a recurring task to last longer, cancel and recreate it before it expires, or use [cloud scheduled tasks](/docs/en/routines) or [Desktop scheduled tasks](/docs/en/desktop-scheduled-tasks) for durable scheduling. ## Cron expression reference @@ -217,7 +228,9 @@ Day-of-week uses `0` or `7` for Sunday through `6` for Saturday. Extended syntax When both day-of-month and day-of-week are constrained, a date matches if either field matches. This follows standard vixie-cron semantics. -## Disable scheduled tasks + + +## Disable session-scoped scheduled tasks Set `CLAUDE_CODE_DISABLE_CRON=1` in your environment to disable the scheduler entirely. The cron tools and `/loop` become unavailable, and any already-scheduled tasks stop firing. See [Environment variables](/docs/en/env-vars) for the full list of disable flags. @@ -232,6 +245,6 @@ Session-scoped scheduling has inherent constraints: For cron-driven automation that needs to run unattended: -* [Routines](/docs/en/routines): run in the cloud on a schedule, via API call, or on GitHub events +* [Cloud scheduled tasks](/docs/en/routines): run in the cloud on a schedule, via API call, or on GitHub events * [GitHub Actions](/docs/en/github-actions): use a `schedule` trigger in CI * [Desktop scheduled tasks](/docs/en/desktop-scheduled-tasks): run locally on your machine 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 30c4224fdb..e81b1a1ce3 100644 --- a/content/en/docs/claude-code/self-hosted-environments-configuration.md +++ b/content/en/docs/claude-code/self-hosted-environments-configuration.md @@ -489,7 +489,7 @@ If a server's tools don't appear on later turns either, check whether the server ### Turn off built-in session tools -Anthropic's control plane attaches its own MCP server, named Claude Code Remote, to cloud sessions. Claude uses the server's tools to schedule [routines](/docs/en/routines), start and steer other cloud sessions, attach more repositories, and follow pull request activity. +Anthropic's control plane attaches its own MCP server, named Claude Code Remote, to cloud sessions. Claude uses the server's tools to create [cloud scheduled tasks](/docs/en/routines), start and steer other cloud sessions, attach more repositories, and follow pull request activity. To turn off the whole server, add a [server-level deny rule](/docs/en/permissions#mcp) to your settings. The control plane registers the server under one of three names, depending on how the session was created. Claude Code matches the name in a rule exactly, including case, so write the rule once per name as shown: @@ -652,7 +652,7 @@ When Anthropic's control plane supplies a session with [Claude Code hooks](/docs * **Who authors them**: the control plane populates the scripts from fixed constants in its own deployment, never from per-session or third-party input. * **What still governs them**: hooks delivered through `--settings` enter the ordinary merged hook configuration, not the managed tier, so your managed settings still apply. `disableAllHooks` disables them, and they are not among the categories [`allowManagedHooksOnly`](/docs/en/settings-reference#allowmanagedhooksonly) keeps loaded. -When a person starts their own session, Claude Code also downloads the [skills enabled for their claude.ai account](/docs/en/skills#skills-in-cowork-and-cloud-sessions) into that session's config directory. A [routine](/docs/en/routines) run doesn't get its owner's skills, and a session that [sends model requests to Bedrock or Agent Platform](#send-model-requests-to-bedrock-or-agent-platform) doesn't download any. For a skill those sessions need, commit it to the repository's `.claude/skills/` or add it to your runner image. +When a person starts their own session, Claude Code also downloads the [skills enabled for their claude.ai account](/docs/en/skills#skills-in-cowork-and-cloud-sessions) into that session's config directory. A [cloud scheduled task](/docs/en/routines) run doesn't get its owner's skills, and a session that [sends model requests to Bedrock or Agent Platform](#send-model-requests-to-bedrock-or-agent-platform) doesn't download any. For a skill those sessions need, commit it to the repository's `.claude/skills/` or add it to your runner image. Outside [Claude Tag](https://claude.com/docs/claude-tag/overview) sessions, a session in a self-hosted environment runs with [auto memory](/docs/en/memory#auto-memory) off by default. For instructions that should carry across sessions, use the `CLAUDE.md` in your runner image or in the repository. 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 eceabdf76e..83261c81e3 100644 --- a/content/en/docs/claude-code/self-hosted-environments-deploy.md +++ b/content/en/docs/claude-code/self-hosted-environments-deploy.md @@ -510,6 +510,10 @@ Allow more time if you set either of these flags: * **With [`--retire-at`](/docs/en/self-hosted-environments-reference#runner-cli-flags)**: leave enough time between the retire time and the time the host stops for typical turns to finish, plus the wait for background tasks that [Runner lifecycle](/docs/en/self-hosted-environments#runner-lifecycle) describes, plus the logged time. Compute the retire time at each launch, for example `date +%s` plus the runner's intended lifetime. * **With [`--defer-shutdown-max-min`](#defer-the-drain-past-the-first-signal)**: the stop timeout must also cover the minutes you configure and a further wait before the drain starts, 75 seconds at default settings. [Defer the drain past the first signal](#defer-the-drain-past-the-first-signal) explains both. The runner logs this longer time at startup too. +### Post a status message before a restart + +Before a restart that will interrupt sessions, have an [Owner](/docs/en/cloud-environments#organization-shared-environments) post a status message on the environment from the [**Cloud environments** admin page](https://claude.ai/admin-settings/cloud-environments). At [claude.ai/code](https://claude.ai/code), members see the message in their sessions in that environment. Have the Owner set an expiry with the post, or remove the message once the runners are back. + ### Defer the drain past the first signal Set [`--defer-shutdown-max-min `](/docs/en/self-hosted-environments-reference#runner-cli-flags) if you want a runner you're restarting to go on serving the sessions it holds for up to `n` minutes, instead of draining them on the first signal. On the first `SIGTERM` or `SIGINT`, the runner stops taking new work and goes on serving the sessions it holds. It keeps polling so that the control plane doesn't requeue those sessions. Requires Claude Code v2.1.238 or later. @@ -574,7 +578,7 @@ What the reuse path does and doesn't guarantee: ## Pin the version -Each session's child Claude Code process runs the runner's own binary, and the runner turns off auto-update inside the sessions it spawns, so every session runs the version you installed on the host or built into the image. A host-level update takes effect the next time the runner starts. +Each session's child process runs the runner's own binary by default, and the runner turns off auto-update inside the sessions it spawns. With that default, every session runs the version you installed on the host or built into the image. A host-level update takes effect the next time the runner starts. Choose which version your sessions run and when it changes: @@ -582,6 +586,7 @@ Choose which version your sessions run and when it changes: * **To hold a fleet on one version**: build the image with a pinned version, or on a bare host install a specific version and [disable auto-updates](/docs/en/setup#disable-auto-updates) * **To upgrade a fixed fleet**: read the [changelog](/docs/en/changelog) entries between your version and the one you're installing, then install the newer version or rebuild the image and restart the runners * **To upgrade on-demand runners**: read the [changelog](/docs/en/changelog) entries between your version and the one you're installing, then change the image your [`spawn-runner` hook](/docs/en/self-hosted-environments-configuration#the-spawn-runner-hook) starts. Each new runner gets the new version. A runner that's already up, including a standby runner that [`--min-idle`](/docs/en/self-hosted-environments-reference#orchestrator-cli-flags) started, keeps its version until it exits. Don't restart it, because its work order is single-use. +* **If sessions start a different binary**: if you use [`--exec-path`](/docs/en/self-hosted-environments-reference#runner-cli-flags) or a [`command` hook](/docs/en/self-hosted-environments-configuration#command) to start a Claude Code binary other than the runner's own, sessions run that binary's version. Update that binary when you update the runner. * **Plugins**: plugin marketplaces don't auto-update either; set `FORCE_AUTOUPDATE_PLUGINS=1` in the runner's environment to let plugins auto-update while the binary stays pinned ## Scale the fleet @@ -631,6 +636,7 @@ Set the flag above your longest expected session, such as `--kill-session-after- * **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. * **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. * **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`](/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](/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 @@ -673,6 +679,7 @@ Common issues: If every call starts failing about 30 minutes into a session, a wrapper script has likely severed the session's stdin, so token rotations can't reach it; see [Keep stdin and file descriptor 3 attached](/docs/en/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached). Before v2.1.274, the runner stopped retrying a failed fetch after a few attempts and waited for the next scheduled one. A failed turn didn't trigger a fetch, so every turn failed with a 401 until the next scheduled fetch. +* **A turn fails in claude.ai/code with `This model needs a newer version of Claude Code`**: the Claude Code version that your runners start sessions with is older than the session's model requires, so the API [rejects the request](/docs/en/errors#claude-code-does-not-support-this-model). Upgrade the runners to the version the message asks for, or a later one, as described in [Pin the version](#pin-the-version). Until then, people can pick a different model in the session. * **Pod is killed mid-drain**: raise `terminationGracePeriodSeconds` to at least the value the runner logs at startup. See [Shutdown timing](#shutdown-timing). Once logging is initialized, the runner writes its lifecycle log, including `[runner:fatal]` lines, to stdout, and debug output to stderr, all as plain-text lines rather than JSON. The base directory failures described in the troubleshooting entries above print to stderr before that point. Capture both streams with `--log-file`, which also lets `self-hosted-runner doctor` tail them, or with your platform's log collection. diff --git a/content/en/docs/claude-code/self-hosted-environments.md b/content/en/docs/claude-code/self-hosted-environments.md index dc3e1adb5f..fa0bc3e46b 100644 --- a/content/en/docs/claude-code/self-hosted-environments.md +++ b/content/en/docs/claude-code/self-hosted-environments.md @@ -10,7 +10,9 @@ Self-hosted environments are in public beta on Team and Enterprise plans and are off by default. See [Availability and limitations](#availability-and-limitations) for the enablement path and what's excluded. -A self-hosted environment executes Claude Code cloud sessions on infrastructure your organization operates. A [cloud session](/docs/en/claude-code-on-the-web) is any session that runs somewhere other than the developer's machine: developers start them from claude.ai, the mobile and desktop apps, the terminal with [`claude --cloud`](/docs/en/claude-code-on-the-web#from-terminal-to-cloud), and [scheduled routines](/docs/en/routines), and by default they execute on Anthropic's infrastructure. In a self-hosted environment, those same sessions execute inside your network, and the developer experience is otherwise the same apart from the differences in [Availability and limitations](#availability-and-limitations) and the deploy page's [known issues](/docs/en/self-hosted-environments-deploy#known-issues-and-limitations). +A self-hosted environment executes Claude Code cloud sessions on infrastructure your organization operates. A [cloud session](/docs/en/claude-code-on-the-web) is any session that runs somewhere other than the developer's machine. Developers start them from claude.ai, the mobile and desktop apps, the terminal with [`claude --cloud`](/docs/en/claude-code-on-the-web#from-terminal-to-cloud), and [cloud scheduled tasks](/docs/en/routines). By default, cloud sessions execute on Anthropic's infrastructure. + +In a self-hosted environment, those same sessions execute inside your network. The developer experience is otherwise the same apart from the differences in [Availability and limitations](#availability-and-limitations) and the deploy page's [known issues](/docs/en/self-hosted-environments-deploy#known-issues-and-limitations). If your team doesn't use cloud sessions, there's nothing here to configure: sessions in a terminal or IDE always run on the developer's own machine. If you want to run Claude Code on your own always-on machine and drive it from other devices, use [Remote Control](/docs/en/remote-control), which is also available on Pro and Max plans. When you're ready to set up, go straight to the [quickstart](/docs/en/self-hosted-environments-quickstart); to review the security posture first, start with [Deploy to production](/docs/en/self-hosted-environments-deploy). The rest of this page explains how self-hosting works and when to choose it. @@ -43,7 +45,7 @@ Check these before planning a rollout: * **Plans**: public beta for Team and Enterprise organizations. Self-hosted environments are off by default; an [Owner](/docs/en/cloud-environments#organization-shared-environments) turns on **Allow self-hosted environments** on the [**Cloud environments** admin page](https://claude.ai/admin-settings/cloud-environments), which requires [cloud sessions](/docs/en/claude-code-on-the-web) to be enabled for the organization. * **Zero Data Retention and HIPAA**: unavailable for organizations with [Zero Data Retention](/docs/en/zero-data-retention) enabled or with the [HIPAA configuration](/docs/en/hipaa-setup) 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](/docs/en/self-hosted-environments-configuration#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](/docs/en/server-managed-settings) 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, [scheduled routines](/docs/en/routines), and the terminal, with [`claude --cloud`](/docs/en/claude-code-on-the-web#from-terminal-to-cloud) or an [`--environment` dispatch](/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](/docs/en/claude-security) and [Code Review](/docs/en/code-review) sessions don't route to them yet. Support for those two surfaces follows separately. +* **Surfaces**: sessions started from [claude.ai/code](https://claude.ai/code), the mobile and desktop apps, [cloud scheduled tasks](/docs/en/routines), and the terminal, with [`claude --cloud`](/docs/en/claude-code-on-the-web#from-terminal-to-cloud) or an [`--environment` dispatch](/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](/docs/en/claude-security) and [Code Review](/docs/en/code-review) 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](/docs/en/claude-code-on-the-web#github-authentication-options). For a GitHub Enterprise Server host, see its [network requirements](/docs/en/github-enterprise-server#network-requirements). * **Billing**: sessions in a self-hosted environment consume your organization's Claude Code usage the same way sessions in Anthropic-hosted environments do. @@ -70,7 +72,7 @@ These terms appear throughout the self-hosted pages: | Environment | A named group of your runners, created in claude.ai settings. Sessions are routed to an environment, not to an individual runner. | | Environment secret | The single shared credential runners use to authenticate and register with the environment. Shown once at environment creation, labeled **environment key** in the admin UI. | | Runner | The long-lived process you deploy. A runner registers with the environment, receives a runner token, and polls for sessions. | -| Session | One Claude Code task, started from claude.ai, the mobile app, or another Anthropic surface such as a scheduled routine or an agent. Each session runs as a child Claude Code process the runner spawns. | +| Session | One Claude Code task, started from claude.ai, the mobile app, or another Anthropic surface such as a scheduled task or an agent. Each session runs as a child Claude Code process the runner spawns. | In API fields, token claims, and metric names, the environment appears as `pool`, and the environment ID is the `pool_id`. The [reference](/docs/en/self-hosted-environments-reference) maps the two spellings, including the deprecated `pool` flag names. diff --git a/content/en/docs/claude-code/sessions.md b/content/en/docs/claude-code/sessions.md index 0aaad7e532..3e883859b7 100644 --- a/content/en/docs/claude-code/sessions.md +++ b/content/en/docs/claude-code/sessions.md @@ -53,7 +53,7 @@ When Claude Code loads a conversation from its transcript, the resumed session r * Agent: a session started with [`--agent`](/docs/en/sub-agents#invoke-subagents-explicitly) or the `agent` setting continues as that agent, keeping its tool restrictions and model. Pass `--agent` when resuming to pick a different one; for the system prompt in either case, see [System prompt flags in resumed conversations](/docs/en/cli-reference#system-prompt-flags-in-resumed-conversations). Claude Code looks for the agent in two places: the session's original directory, provided you have [trusted that workspace](/docs/en/permissions#project-allow-rules-and-workspace-trust), and then the directory you resume from, so a project-scoped agent still loads when you resume from another directory. If Claude Code doesn't find the agent in either place, the session resumes with the default tools and shows a [warning naming the agent](/docs/en/errors#session-agent-no-longer-available). * Permission mode: if you resume from a terminal with `claude --continue`, `claude --resume `, or `claude --resume ` when the name matches one session, without `-p`, Claude Code restores the permission mode the session was in, except in the cases in [permission mode on resume](#permission-mode-on-resume), which also covers the session picker, `/resume`, and resuming with `claude -p`. Pass `--permission-mode` or `--dangerously-skip-permissions` to override the restored mode. * Active goal: a [goal](/docs/en/goal#resume-with-an-active-goal) that was still active when the session ended carries over; its turn count, timer, and token-spend baseline reset. -* Scheduled tasks: [tasks that haven't expired](/docs/en/scheduled-tasks#limitations) are restored. Background Bash and monitor tasks aren't. +* Session-scoped scheduled tasks: [tasks that haven't expired](/docs/en/scheduled-tasks#limitations) are restored. Background Bash and monitor tasks aren't. * Background work: a [background subagent](/docs/en/sub-agents#run-subagents-in-foreground-or-background), background Bash command, or [workflow](/docs/en/workflows) that ended with the previous process shows up in the resumed transcript as a note that it didn't finish. Claude Code doesn't start a turn from those notes; Claude reads them with your next prompt. Not every configuration flag from the original launch is restored. If the session depended on `--mcp-config`, `--settings`, `--plugin-dir`, `--fallback-model`, or directories added with `--add-dir`, pass them again when you resume; directories added mid-session with `/add-dir` aren't restored either, though the session picker still uses them to locate the session. The standard settings files, such as `settings.json` and `settings.local.json`, are re-read at launch, so configuration that lives in them doesn't need to be passed again. For `--system-prompt` and `--append-system-prompt`, see [System prompt flags in resumed conversations](/docs/en/cli-reference#system-prompt-flags-in-resumed-conversations). diff --git a/content/en/docs/claude-code/settings-reference.md b/content/en/docs/claude-code/settings-reference.md index 43ab9ca775..e121ecbc92 100644 --- a/content/en/docs/claude-code/settings-reference.md +++ b/content/en/docs/claude-code/settings-reference.md @@ -1679,7 +1679,7 @@ Set the [permission mode](/docs/en/permission-modes) new sessions start in. When * `"acceptEdits"`: Claude Code also runs file edits and common filesystem commands such as `mkdir` and `mv` without asking * `"plan"`: Claude Code reads and plans but blocks edits until you approve a plan * `"auto"`: Claude Code runs without routine prompts; before actions such as shell commands and network requests run, a background classifier checks that they align with your request - * `"dontAsk"`: Claude Code auto-denies every call that would otherwise prompt; file reads inside your working directories, other actions that need no approval, and pre-approved tools still run, apart from reads from [network paths](/docs/en/permissions#network-paths) + * `"dontAsk"`: Claude Code auto-denies every call that would otherwise prompt, though a [mod](/docs/en/plugins/mods/overview) you installed can still approve [some of those calls](/docs/en/permissions#precedence-among-rules-hooks-and-mods). File reads inside your working directories, other actions that need no approval, and pre-approved tools still run, apart from reads from [network paths](/docs/en/permissions#network-paths) * `"bypassPermissions"`: Claude Code runs everything without asking * `"manual"`: an alias for `"default"` * **Default**: unset @@ -2780,7 +2780,7 @@ Set how full the context window gets before Claude Code [compacts automatically] * **Scope**: [`Any file`](#scopes) * **Type**: number of tokens, from `100000` to `1000000`. Claude Code caps the value at your model's context window; the [models overview](https://platform.claude.com/docs/en/about-claude/models/overview) lists each model's window * **Default**: unset, so Claude Code picks a window tuned for your model -* **Per-session overrides**: [`--autocompact`](/docs/en/cli-reference#cli-flags) takes precedence over this key for one session, and [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/en/env-vars) takes precedence over both +* **Per-session overrides**: [`--autocompact`](/docs/en/cli-reference#cli-flags) takes precedence over this key for one session, and [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/en/env-vars) takes precedence over both unless Claude Code [ignores the variable's value](/docs/en/model-config#claude_code_auto_compact_window-values) ```json settings.json theme={null} { @@ -2940,7 +2940,7 @@ This example turns off automatic compaction and routes API requests through a pr * [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/en/sessions#name-the-project-directory-yourself), which Claude Code reads from the launch environment only, is ignored from every file; requires v2.1.234 or later. * [`CLAUDE_CODE_RESTRICTED`](/docs/en/env-vars#variables), which Claude Code reads from the launch environment only, is ignored from every file. * [`CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY`](/docs/en/env-vars#variables), which Claude Code reads from the launch environment only, is ignored from every file. The variable requires Claude Code v2.1.283 or later. -* [`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT`, `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT`, and `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT`](/docs/en/env-vars#variables), which Claude Code reads from the launch environment only, are ignored from every file. +* [`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT`, `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT`, `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT`, and `CLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT`](/docs/en/env-vars#variables), which Claude Code reads from the launch environment only, are ignored from every file. ### `fileCheckpointingEnabled` @@ -4839,7 +4839,7 @@ Claude Code ignores project and local entries because it substitutes these value List the managed plugins whose [mods](/docs/en/plugins/mods/overview) run before every mod a user installs, in the listed order. When you set this key in managed settings, name `sec-default@builtin` in the list to keep the built-in guard. In managed settings, Claude Code skips an id whose plugin doesn't count as your organization's. See [Install your organization's mods and set the order](/docs/en/plugins/mods/admin#install-your-organizations-mods) for those conditions and for how the two ordering keys work together. -* **Scope**: [`User or managed`](#scopes). Claude Code reads the key from managed settings. It reads the key from user settings only on a machine with no managed settings, for a user who isn't signed in with a Team or Enterprise plan. It ignores the key in project and local settings and in a `--settings` file. +* **Scope**: [`User or managed`](#scopes). Claude Code reads the key from managed settings. It reads the key from user settings only on a machine with no managed settings, in a session whose credential isn't a Team or Enterprise `/login`. It ignores the key in project and local settings and in a `--settings` file. * **Type**: array of `plugin-name@marketplace-name` strings * **Default**: unset @@ -4859,7 +4859,7 @@ List the managed plugins whose [mods](/docs/en/plugins/mods/overview) run before List the managed plugins whose [mods](/docs/en/plugins/mods/overview) run after every mod a user installs, in the listed order. An id listed in both `prependPlugins` and `appendPlugins` is prepended. In managed settings, Claude Code skips an id whose plugin doesn't [count as your organization's](/docs/en/plugins/mods/admin#install-your-organizations-mods). -* **Scope**: [`User or managed`](#scopes). Claude Code reads the key from managed settings. It reads the key from user settings only on a machine with no managed settings, for a user who isn't signed in with a Team or Enterprise plan. It ignores the key in project and local settings and in a `--settings` file. +* **Scope**: [`User or managed`](#scopes). Claude Code reads the key from managed settings. It reads the key from user settings only on a machine with no managed settings, in a session whose credential isn't a Team or Enterprise `/login`. It ignores the key in project and local settings and in a `--settings` file. * **Type**: array of `plugin-name@marketplace-name` strings * **Default**: unset diff --git a/content/en/docs/claude-code/skills.md b/content/en/docs/claude-code/skills.md index b20f01dab2..f75eec0070 100644 --- a/content/en/docs/claude-code/skills.md +++ b/content/en/docs/claude-code/skills.md @@ -216,9 +216,9 @@ When two skills share a directory or file name, where each one came from decides Use skills in Cowork and cloud sessions

-[Cowork](https://claude.com/product/cowork) sessions and [cloud sessions](/docs/en/cloud-environments#what-carries-over-from-your-setup), including [routines](/docs/en/routines), don't read `~/.claude/skills/` on your machine. Both interactive and scheduled Cowork sessions load the skills enabled for your claude.ai account, synced at session start; manage them from **Customize** in the Desktop app sidebar or from the skills settings on claude.ai. Cloud sessions additionally load project skills committed to the cloned repository's `.claude/skills/`. +[Cowork](https://claude.com/product/cowork) sessions and [cloud sessions](/docs/en/cloud-environments#what-carries-over-from-your-setup), including [cloud scheduled tasks](/docs/en/routines), don't read `~/.claude/skills/` on your machine. Both interactive and scheduled Cowork sessions load the skills enabled for your claude.ai account, synced at session start. Manage them from **Customize** in the Desktop app sidebar or from the skills settings on claude.ai. Cloud sessions additionally load project skills committed to the cloned repository's `.claude/skills/`. -If a skill exists only in `~/.claude/skills/` on your machine, Claude Code reports that the skill was not found when a [routine](/docs/en/routines) invokes it, because each routine run starts as a fresh cloud session. To make a personal skill available in these sessions: +If a skill exists only in `~/.claude/skills/` on your machine, Claude Code reports that the skill was not found when a [cloud scheduled task](/docs/en/routines) invokes it. This happens because each run starts as a fresh cloud session. To make a personal skill available in these sessions: * For Cowork and cloud sessions, enable the skill for your claude.ai account. [Some sessions in a self-hosted environment](/docs/en/self-hosted-environments-configuration#how-each-session’s-config-is-assembled) don't load your account's skills. * For cloud sessions, you can instead commit the skill to the repository's `.claude/skills/`. Plugins declared in the repository's `.claude/settings.json` and plugins enabled only in your user settings [don't load in cloud sessions](/docs/en/cloud-environments#what-carries-over-from-your-setup). @@ -403,7 +403,7 @@ Boolean fields accept `yes`, `no`, `on`, `off`, `1`, and `0` in any letter case, | `when_to_use` | No | Additional context for when Claude should invoke the skill, such as trigger phrases or example requests. Appended to `description` in the skill listing and counts toward the 1,536-character cap. | | `argument-hint` | No | Hint shown during autocomplete to indicate expected arguments. Example: `[issue-number]` or `[filename] [format]`. | | `arguments` | No | Named positional arguments for [`$name` substitution](#available-string-substitutions) in the skill content. Accepts a space-separated string or a YAML list. Names map to argument positions in order. | -| `disable-model-invocation` | No | Set to `true` to prevent Claude from automatically loading this skill. Use for workflows you want to trigger manually with `/name`. Also prevents the skill from being [preloaded into subagents](/docs/en/sub-agents#preload-skills-into-subagents) and from running when a [scheduled task](/docs/en/scheduled-tasks) fires with the skill as its prompt. Default: `false`. | +| `disable-model-invocation` | No | Set to `true` to prevent Claude from automatically loading this skill. Use for workflows you want to trigger manually with `/name`. Also prevents the skill from being [preloaded into subagents](/docs/en/sub-agents#preload-skills-into-subagents) and from running when a [session-scoped scheduled task](/docs/en/scheduled-tasks) fires with the skill as its prompt. Default: `false`. | | `user-invocable` | No | Set to `false` when only Claude should invoke the skill: Claude Code hides it from the `/` menu and doesn't run it when you type `/name`. Use for background knowledge users shouldn't invoke directly. Default: `true`. | | `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`](/docs/en/tools-reference#endconversation-tool-behavior) while any other tool remains. | @@ -428,7 +428,7 @@ Claude Code accepts every field in the table above. Outside Claude Code, you can | Claude Code skills at [any level](#where-skills-live), including [plugin](/docs/en/plugins/overview) skills | Every field in the table above | | claude.ai skill uploads, the Skills API, and packaging with `package_skill.py` from [anthropics/skills](https://github.com/anthropics/skills) | `name`, `description`, `license`, `compatibility`, `metadata`, `allowed-tools` | -When you enable a personal skill for your claude.ai account, for example to use it in [Cowork and cloud sessions](#skills-in-cowork-and-cloud-sessions) and routines, you upload it to claude.ai, so the same rules apply. +When you enable a personal skill for your claude.ai account, for example to use it in [Cowork and cloud sessions](#skills-in-cowork-and-cloud-sessions) and scheduled tasks, you upload it to claude.ai. The same rules apply to that upload. If you include any field the spec doesn't allow, packaging or upload fails with a hard error instead of ignoring the field: @@ -801,7 +801,7 @@ Claude Code also waits for the result, even when the skill doesn't set `backgrou * In non-interactive mode, with the `-p` flag or the Agent SDK * When you set [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/en/env-vars) to `1`, which also turns off all other background task features * When you invoke a forked skill while an earlier invocation of the same skill is still running -* When a [scheduled task](/docs/en/scheduled-tasks) fires with the skill as its prompt +* When a [session-scoped scheduled task](/docs/en/scheduled-tasks) fires with the skill as its prompt When an agent in a [dynamic workflow](/docs/en/workflows) invokes a forked skill, that agent waits for and receives the result, even when the skill doesn't set `background: false`. Before v2.1.295, Claude Code didn't wait in this case, and when the skill ran in the background, its result arrived in your main conversation instead of reaching that agent. diff --git a/content/en/docs/claude-code/slash-commands.md b/content/en/docs/claude-code/slash-commands.md index b20f01dab2..f75eec0070 100644 --- a/content/en/docs/claude-code/slash-commands.md +++ b/content/en/docs/claude-code/slash-commands.md @@ -216,9 +216,9 @@ When two skills share a directory or file name, where each one came from decides Use skills in Cowork and cloud sessions -[Cowork](https://claude.com/product/cowork) sessions and [cloud sessions](/docs/en/cloud-environments#what-carries-over-from-your-setup), including [routines](/docs/en/routines), don't read `~/.claude/skills/` on your machine. Both interactive and scheduled Cowork sessions load the skills enabled for your claude.ai account, synced at session start; manage them from **Customize** in the Desktop app sidebar or from the skills settings on claude.ai. Cloud sessions additionally load project skills committed to the cloned repository's `.claude/skills/`. +[Cowork](https://claude.com/product/cowork) sessions and [cloud sessions](/docs/en/cloud-environments#what-carries-over-from-your-setup), including [cloud scheduled tasks](/docs/en/routines), don't read `~/.claude/skills/` on your machine. Both interactive and scheduled Cowork sessions load the skills enabled for your claude.ai account, synced at session start. Manage them from **Customize** in the Desktop app sidebar or from the skills settings on claude.ai. Cloud sessions additionally load project skills committed to the cloned repository's `.claude/skills/`. -If a skill exists only in `~/.claude/skills/` on your machine, Claude Code reports that the skill was not found when a [routine](/docs/en/routines) invokes it, because each routine run starts as a fresh cloud session. To make a personal skill available in these sessions: +If a skill exists only in `~/.claude/skills/` on your machine, Claude Code reports that the skill was not found when a [cloud scheduled task](/docs/en/routines) invokes it. This happens because each run starts as a fresh cloud session. To make a personal skill available in these sessions: * For Cowork and cloud sessions, enable the skill for your claude.ai account. [Some sessions in a self-hosted environment](/docs/en/self-hosted-environments-configuration#how-each-session’s-config-is-assembled) don't load your account's skills. * For cloud sessions, you can instead commit the skill to the repository's `.claude/skills/`. Plugins declared in the repository's `.claude/settings.json` and plugins enabled only in your user settings [don't load in cloud sessions](/docs/en/cloud-environments#what-carries-over-from-your-setup). @@ -403,7 +403,7 @@ Boolean fields accept `yes`, `no`, `on`, `off`, `1`, and `0` in any letter case, | `when_to_use` | No | Additional context for when Claude should invoke the skill, such as trigger phrases or example requests. Appended to `description` in the skill listing and counts toward the 1,536-character cap. | | `argument-hint` | No | Hint shown during autocomplete to indicate expected arguments. Example: `[issue-number]` or `[filename] [format]`. | | `arguments` | No | Named positional arguments for [`$name` substitution](#available-string-substitutions) in the skill content. Accepts a space-separated string or a YAML list. Names map to argument positions in order. | -| `disable-model-invocation` | No | Set to `true` to prevent Claude from automatically loading this skill. Use for workflows you want to trigger manually with `/name`. Also prevents the skill from being [preloaded into subagents](/docs/en/sub-agents#preload-skills-into-subagents) and from running when a [scheduled task](/docs/en/scheduled-tasks) fires with the skill as its prompt. Default: `false`. | +| `disable-model-invocation` | No | Set to `true` to prevent Claude from automatically loading this skill. Use for workflows you want to trigger manually with `/name`. Also prevents the skill from being [preloaded into subagents](/docs/en/sub-agents#preload-skills-into-subagents) and from running when a [session-scoped scheduled task](/docs/en/scheduled-tasks) fires with the skill as its prompt. Default: `false`. | | `user-invocable` | No | Set to `false` when only Claude should invoke the skill: Claude Code hides it from the `/` menu and doesn't run it when you type `/name`. Use for background knowledge users shouldn't invoke directly. Default: `true`. | | `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`](/docs/en/tools-reference#endconversation-tool-behavior) while any other tool remains. | @@ -428,7 +428,7 @@ Claude Code accepts every field in the table above. Outside Claude Code, you can | Claude Code skills at [any level](#where-skills-live), including [plugin](/docs/en/plugins/overview) skills | Every field in the table above | | claude.ai skill uploads, the Skills API, and packaging with `package_skill.py` from [anthropics/skills](https://github.com/anthropics/skills) | `name`, `description`, `license`, `compatibility`, `metadata`, `allowed-tools` | -When you enable a personal skill for your claude.ai account, for example to use it in [Cowork and cloud sessions](#skills-in-cowork-and-cloud-sessions) and routines, you upload it to claude.ai, so the same rules apply. +When you enable a personal skill for your claude.ai account, for example to use it in [Cowork and cloud sessions](#skills-in-cowork-and-cloud-sessions) and scheduled tasks, you upload it to claude.ai. The same rules apply to that upload. If you include any field the spec doesn't allow, packaging or upload fails with a hard error instead of ignoring the field: @@ -801,7 +801,7 @@ Claude Code also waits for the result, even when the skill doesn't set `backgrou * In non-interactive mode, with the `-p` flag or the Agent SDK * When you set [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/en/env-vars) to `1`, which also turns off all other background task features * When you invoke a forked skill while an earlier invocation of the same skill is still running -* When a [scheduled task](/docs/en/scheduled-tasks) fires with the skill as its prompt +* When a [session-scoped scheduled task](/docs/en/scheduled-tasks) fires with the skill as its prompt When an agent in a [dynamic workflow](/docs/en/workflows) invokes a forked skill, that agent waits for and receives the result, even when the skill doesn't set `background: false`. Before v2.1.295, Claude Code didn't wait in this case, and when the skill ran in the background, its result arrived in your main conversation instead of reaching that agent. diff --git a/content/en/docs/claude-code/sub-agents.md b/content/en/docs/claude-code/sub-agents.md index 73d9b78035..b451b4b0ce 100644 --- a/content/en/docs/claude-code/sub-agents.md +++ b/content/en/docs/claude-code/sub-agents.md @@ -602,7 +602,7 @@ The main conversation's permission mode decides whether Claude Code uses the val | `default` | Manual mode: prompts for permission | | `acceptEdits` | Auto-accept file edits and common filesystem commands for paths in the working directory or `additionalDirectories` | | `auto` | [Auto mode](/docs/en/permission-modes#eliminate-prompts-with-auto-mode): a background classifier reviews commands and protected-directory writes | -| `dontAsk` | Auto-deny permission prompts. Explicitly allowed tools still work; `AskUserQuestion`, MCP tools marked [`requiresUserInteraction`](/docs/en/mcp#require-approval-for-a-specific-tool), [reads from network paths](/docs/en/permissions#network-paths), and connector tools [your organization set to `ask`](/docs/en/mcp#organization-controls-on-connector-tools) in sessions where that setting reaches Claude Code are denied even if you've allowed them | +| `dontAsk` | Auto-denies calls that would prompt, though a [mod](/docs/en/plugins/mods/overview) you installed can still approve [some of those calls](/docs/en/permissions#precedence-among-rules-hooks-and-mods). Explicitly allowed tools still work. `AskUserQuestion`, MCP tools marked [`requiresUserInteraction`](/docs/en/mcp#require-approval-for-a-specific-tool), [reads from network paths](/docs/en/permissions#network-paths), and connector tools [your organization set to `ask`](/docs/en/mcp#organization-controls-on-connector-tools) in sessions where that setting reaches Claude Code are denied even if you've allowed them | | `bypassPermissions` | [Skip permission prompts](/docs/en/permission-modes#skip-all-checks-with-bypasspermissions-mode). A subagent runs in this mode only when the main conversation does | | `plan` | Plan mode (read-only exploration) | @@ -1185,7 +1185,7 @@ The `preTokens` value shows how many tokens were used before compaction occurred ##### Set the auto-compact window for one subagent -To make one subagent compact earlier than it otherwise would, set `autoCompactWindow` in its [frontmatter](#supported-frontmatter-fields) to a token count from `100000` to `1000000`. If you set [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/en/env-vars#variables) to a positive integer, the subagent uses that variable's window instead and the field has no effect. Requires Claude Code v2.1.296 or later. +To make one subagent compact earlier than it otherwise would, set `autoCompactWindow` in its [frontmatter](#supported-frontmatter-fields) to a token count from `100000` to `1000000`. If you set [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/en/env-vars#variables), the subagent uses that variable's window instead and the field has no effect, unless Claude Code [ignores the variable's value](/docs/en/model-config#claude_code_auto_compact_window-values). Requires Claude Code v2.1.296 or later. This frontmatter sets `autoCompactWindow` to 200,000 tokens for a subagent that reads long log files: diff --git a/content/en/docs/claude-code/tools-reference.md b/content/en/docs/claude-code/tools-reference.md index 703a2cd0a2..b1ab730d5d 100644 --- a/content/en/docs/claude-code/tools-reference.md +++ b/content/en/docs/claude-code/tools-reference.md @@ -22,9 +22,9 @@ To add custom tools, connect an [MCP server](/docs/en/mcp). To extend Claude wit | `Artifact` | Publishes an HTML or Markdown file as an [artifact](/docs/en/artifacts): a private, interactive page on claude.ai. You can share it with a public link, or inside your organization on Team and Enterprise plans, where public sharing requires an Owner to [enable it](/docs/en/artifacts#control-public-sharing). Requires a Pro, Max, Team, or Enterprise plan and `/login` authentication; see [Availability](/docs/en/artifacts#availability) | Yes | | `AskUserQuestion` | Asks multiple-choice questions to gather requirements or clarify ambiguity. Questions stay open until you answer them by default. See [AskUserQuestion tool behavior](#askuserquestion-tool-behavior) | No | | `Bash` | Executes shell commands in your environment. See [Bash tool behavior](#bash-tool-behavior) | Yes | -| `CronCreate` | Schedules a recurring or one-shot prompt within the current session. Tasks are session-scoped and restored on `--resume` or `--continue` if unexpired. See [scheduled tasks](/docs/en/scheduled-tasks) | No | -| `CronDelete` | Cancels a scheduled task by ID | No | -| `CronList` | Lists all scheduled tasks in the session | No | +| `CronCreate` | Schedules a recurring or one-shot prompt within the current session. Tasks are session-scoped and restored on `--resume` or `--continue` if unexpired. See [session-scoped scheduled tasks](/docs/en/scheduled-tasks) | No | +| `CronDelete` | Cancels a session-scoped scheduled task by ID | No | +| `CronList` | Lists all session-scoped scheduled tasks | No | | `Edit` | Makes targeted edits to specific files. See [Edit tool behavior](#edit-tool-behavior) | Yes | | `EndConversation` | Ends the session, in rare cases of sustained abusive input or when you ask Claude to demonstrate the tool. See [EndConversation tool behavior](#endconversation-tool-behavior) | No | | `EnterPlanMode` | Switches to plan mode to design an approach before coding | No | @@ -39,10 +39,10 @@ To add custom tools, connect an [MCP server](/docs/en/mcp). To extend Claude wit | `Monitor` | Runs a command in the background and feeds each output line back to Claude, so it can react to log entries, file changes, or polled status mid-conversation. Can also open a WebSocket and treat each incoming message as an event. See [Monitor tool](#monitor-tool) | Yes | | `NotebookEdit` | Modifies Jupyter notebook cells. See [NotebookEdit tool behavior](#notebookedit-tool-behavior) | Yes | | `PowerShell` | Executes PowerShell commands natively. See [PowerShell tool](#powershell-tool) for availability | Yes | -| `PushNotification` | Sends a desktop notification, and a phone push when [Remote Control](/docs/en/remote-control) is connected, so a long-running task or [scheduled task](/docs/en/scheduled-tasks) can reach you when you step away. Push delivery runs through Anthropic-hosted infrastructure, which is not accessible from Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, or Microsoft Foundry | No | +| `PushNotification` | Sends a desktop notification, and a phone push when [Remote Control](/docs/en/remote-control) is connected, so a long-running task or [session-scoped scheduled task](/docs/en/scheduled-tasks) can reach you when you step away. Push delivery runs through Anthropic-hosted infrastructure, which is not accessible from Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, or Microsoft Foundry | No | | `Read` | Reads the contents of files. See [Read tool behavior](#read-tool-behavior) | No | | `ReadMcpResourceTool` | Reads a specific MCP resource by URI | No | -| `RemoteTrigger` | Creates, updates, runs, and lists [Routines](/docs/en/routines) on claude.ai. Backs the `/schedule` command. The [`RemoteTrigger` input reference](/docs/en/agent-sdk/typescript#remotetrigger) documents every action and the organization policies that remove the tool. Routines live on claude.ai and require a Pro, Max, Team, or Enterprise plan, so this tool is not accessible from Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, or Microsoft Foundry | No | +| `RemoteTrigger` | Creates, updates, runs, and lists [cloud scheduled tasks](/docs/en/routines), formerly routines, on claude.ai. Backs the `/schedule` command. The [`RemoteTrigger` input reference](/docs/en/agent-sdk/typescript#remotetrigger) documents every action and the organization policies that remove the tool. Cloud scheduled tasks live on claude.ai and require a Pro, Max, Team, or Enterprise plan. This tool is therefore not accessible from Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, or Microsoft Foundry | No | | `ReportFindings` | Reports code-review findings as a structured list, with a file, summary, and failure scenario per finding, so Claude Code can render them instead of printing them as text. Claude calls it when active code-review instructions tell it to. A finding can also carry an optional `category` slug, such as `correctness` or `test-coverage`, shown next to the file location in the rendered list | No | | `ScheduleWakeup` | Reschedules the next iteration of a [self-paced `/loop`](/docs/en/scheduled-tasks#let-claude-choose-the-interval). Claude calls this at the end of each iteration to pick when the next one runs, between one minute and one hour out; you don't call it directly. To end the loop instead, Claude calls it with `stop: true`, which cancels the pending wakeup. The pending wakeup appears in `session_crons` in [Stop hook input](/docs/en/hooks#stop-input) | No | | `SendFeedback` | Drafts a feedback report about Claude Code, covering a product problem or Claude's own behavior in the session, and queues it on your machine for you to review. Claude Code sends nothing until you choose to send the draft. See [SendFeedback tool behavior](#sendfeedback-tool-behavior). Requires Claude Code v2.1.238 or later | No | diff --git a/content/en/docs/claude-code/vs-code.md b/content/en/docs/claude-code/vs-code.md index 7e48ee0818..2d81fa66de 100644 --- a/content/en/docs/claude-code/vs-code.md +++ b/content/en/docs/claude-code/vs-code.md @@ -501,7 +501,7 @@ For more about the plugin system, see [Plugins](/docs/en/plugins/overview) and [ ### Plugins that draw in the panel -A plugin that contains a [mod](/docs/en/plugins/mods/overview) can draw in the chat panel. Drawing requires extension version 2.1.299 or later and a session that [fetches feature flags](/docs/en/env-vars#features-that-need-feature-flag-fetching). From such a plugin you can see: +A plugin that contains a [mod](/docs/en/plugins/mods/overview) can draw in the chat panel. Drawing requires extension version 2.1.299 or later. A session that [doesn't fetch feature flags](/docs/en/env-vars#features-that-need-feature-flag-fetching), such as one on Amazon Bedrock, needs 2.1.304 or later. From such a plugin you can see: * A pane beside the conversation or above the prompt box * A toast or a status line above the prompt box diff --git a/content/en/docs/claude-code/web-quickstart.md b/content/en/docs/claude-code/web-quickstart.md index 9a714e4d7f..71af37fba8 100644 --- a/content/en/docs/claude-code/web-quickstart.md +++ b/content/en/docs/claude-code/web-quickstart.md @@ -276,6 +276,6 @@ Now that you can submit and review tasks, these pages cover what comes next: sta * [Use Claude Code in the cloud](/docs/en/claude-code-on-the-web): the full reference, including teleporting sessions to your terminal, session sharing, and auto-fixing pull requests * [Configure cloud environments](/docs/en/cloud-environments): network access levels, environment variables, and setup scripts for cloud sessions -* [Routines](/docs/en/routines): automate work on a schedule, via API call, or in response to GitHub events +* [Cloud scheduled tasks](/docs/en/routines): automate work on a schedule, via API call, or in response to GitHub events * [CLAUDE.md](/docs/en/memory): give Claude persistent instructions and context that load at the start of every session * Install the Claude mobile app for [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) or [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) to monitor sessions from your phone. From the Claude Code CLI, `/mobile` shows a QR code for [claude.ai/mobile](https://claude.ai/mobile) that opens the right app store for your phone. diff --git a/content/en/docs/claude-code/web-scheduled-tasks.md b/content/en/docs/claude-code/web-scheduled-tasks.md index c21c304b58..1211c7068a 100644 --- a/content/en/docs/claude-code/web-scheduled-tasks.md +++ b/content/en/docs/claude-code/web-scheduled-tasks.md @@ -2,93 +2,87 @@ > Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt > Use this file to discover all available pages before exploring further. -# Automate work with routines +# Automate work with scheduled tasks -> Put Claude Code on autopilot. Define routines that run on a schedule, trigger on API calls, or react to GitHub events from cloud infrastructure. +> Put Claude Code on autopilot. Create scheduled tasks, formerly routines, that run in the cloud on a schedule, on API calls, or on GitHub events. - Routines are in research preview. Behavior, limits, and the API surface may change. + Scheduled tasks are in research preview. Behavior, limits, and the API surface may change. -A routine is a saved Claude Code configuration: a prompt, one or more repositories, and a set of [connectors](/docs/en/mcp), packaged once and run automatically. Routines execute on Anthropic-managed cloud infrastructure, or on your organization's [self-hosted environment](/docs/en/self-hosted-environments) when routed there, so they keep working when your laptop is closed. +A cloud scheduled task, formerly a routine, is a saved Claude Code configuration: a prompt, one or more repositories, and a set of [connectors](/docs/en/mcp), packaged once and run automatically. Scheduled tasks execute on Anthropic-managed cloud infrastructure, or on your organization's [self-hosted environment](/docs/en/self-hosted-environments) when routed there, so they keep working when your laptop is closed. -Each routine can have one or more triggers attached to it: +Each scheduled task can have one or more triggers attached to it: -* **Scheduled**: run on a recurring cadence like hourly, nightly, or weekly, or once at a specific future time -* **API**: trigger on demand by sending an HTTP POST to a per-routine endpoint with a bearer token +* **Schedule**: run on a recurring cadence like hourly, nightly, or weekly, or once at a specific future time +* **API**: trigger on demand by sending an HTTP POST to the task's own endpoint with a bearer token * **GitHub**: run automatically in response to repository events such as pull requests or releases -A single routine can combine triggers. For example, a PR review routine can run nightly, trigger from a deploy script, and also react to every new PR. +A single scheduled task can combine triggers. For example, a PR review task can run nightly, trigger from a deploy script, and also react to every new PR. -Routines are available on Pro, Max, Team, and Enterprise plans. Create and manage them at [claude.ai/code/routines](https://claude.ai/code/routines), or from the CLI with `/schedule`. +A scheduled task doesn't need a schedule: -Team and Enterprise Owners can disable routines for all members with the Routines toggle at [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code). When disabled, existing routines stop running and members cannot create new ones. +* A task with only an API trigger runs when you call its endpoint. +* A task with only a GitHub trigger runs when a matching repository event occurs. -This page covers creating a routine, configuring each trigger type, managing runs, and how usage limits apply. +Scheduled tasks are available on Pro, Max, Team, and Enterprise plans. Create and manage them at [claude.ai/code/routines](https://claude.ai/code/routines), or from the CLI with `/schedule`. The earlier name, routines, [still appears](#where-the-name-routines-still-appears) in the web address, the CLI, and the API. -## Example use cases - -Each example pairs a trigger type with the kind of work routines are suited to: unattended, repeatable, and tied to a clear outcome. + + Two other features schedule work on your machine instead of in the cloud: [Desktop scheduled tasks](/docs/en/desktop-scheduled-tasks) and [`/loop`](/docs/en/scheduled-tasks). To choose among all three, see [Compare scheduling options](/docs/en/scheduled-tasks#compare-scheduling-options). + -**Backlog maintenance.** A schedule trigger runs every weeknight against your issue tracker via a connector. The routine reads issues opened since the last run, applies labels, assigns owners based on the area of code referenced, and posts a summary to Slack so the team starts the day with a groomed queue. +Team and Enterprise Owners can turn off scheduled tasks for all members with the **Scheduled tasks (Was Routines)** toggle at [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities). When the toggle is off, existing scheduled tasks stop running and members can't create new ones. -**Alert triage.** Your monitoring tool calls the routine's API endpoint when an error threshold is crossed, passing the alert body as `text`. The routine's prompt tells Claude to investigate the alert in the fire payload, so it pulls the stack trace, correlates it with recent commits in the repository, and opens a draft pull request with a proposed fix and a link back to the alert. On-call reviews the PR instead of starting from a blank terminal. +## Example use cases -**Bespoke code review.** A GitHub trigger runs on `pull_request.opened`. The routine applies your team's own review checklist, leaves inline comments for security, performance, and style issues, and adds a summary comment so human reviewers can focus on design instead of mechanical checks. +Each example pairs a trigger type with the kind of work scheduled tasks are suited to: unattended, repeatable, and tied to a clear outcome. -**Deploy verification.** Your CD pipeline calls the routine's API endpoint after each production deploy. The routine runs smoke checks against the new build, scans error logs for regressions, and posts a go or no-go to the release channel before the deploy window closes. +* **Backlog maintenance**: a schedule trigger runs every weeknight in your repository, with your issue tracker added as a connector. The scheduled task reads issues opened since the last run, applies labels, and assigns owners based on the area of code referenced. It then posts a summary to Slack so the team starts the day with a groomed queue. +* **Alert triage**: your monitoring tool calls the scheduled task's API endpoint when an error threshold is crossed, passing the alert body as `text`. The task's prompt tells Claude to investigate the alert in the fire payload, so it pulls the stack trace and correlates it with recent commits in the repository. It then opens a draft pull request with a proposed fix and a link back to the alert. On-call reviews the PR instead of starting from a blank terminal. +* **Bespoke code review**: a GitHub trigger runs on `pull_request.opened`. The scheduled task applies your team's own review checklist and leaves inline comments for security, performance, and style issues. It also adds a summary comment so human reviewers can focus on design instead of mechanical checks. +* **Deploy verification**: your CD pipeline calls the scheduled task's API endpoint after each production deploy. The task runs smoke checks against the new build, scans error logs for regressions, and posts a go or no-go to the release channel before the deploy window closes. +* **Docs drift**: a schedule trigger runs weekly. The scheduled task scans merged PRs since the last run, flags documentation that references changed APIs, and opens update PRs against the docs repository for an editor to review. +* **Library port**: a GitHub trigger runs on `pull_request.closed` filtered to merged PRs in one SDK repository. The scheduled task ports the change to a parallel SDK in another language and opens a matching PR, keeping the two libraries in step without a human re-implementing each change. -**Docs drift.** A schedule trigger runs weekly. The routine scans merged PRs since the last run, flags documentation that references changed APIs, and opens update PRs against the docs repository for an editor to review. + -**Library port.** A GitHub trigger runs on `pull_request.closed` filtered to merged PRs in one SDK repository. The routine ports the change to a parallel SDK in another language and opens a matching PR, keeping the two libraries in step without a human re-implementing each change. +## Create a scheduled task -## Create a routine +Create a scheduled task from the web at [claude.ai/code/routines](https://claude.ai/code/routines), from the Desktop app, or from the CLI. All three surfaces write to the same cloud account, so a scheduled task you create in one shows up in the others immediately. In the Desktop app's **Code** tab, click **Scheduled** in the sidebar or in the sidebar's **More** menu, then **New task**, and continue with [Create from the web](#create-from-the-web). -Create a routine from the web at [claude.ai/code/routines](https://claude.ai/code/routines), from the Desktop app, or from the CLI. All three surfaces write to the same cloud account, so a routine you create in one shows up in the others immediately. In the Desktop app's **Code** tab, click **Routines** in the sidebar or in the sidebar's **More** menu, then **New routine**, and choose **Cloud**; choosing **Local** instead creates a [Desktop scheduled task](/docs/en/desktop-scheduled-tasks), which runs on your machine rather than in the cloud. +Scheduled tasks run autonomously as full Claude Code cloud sessions. You don't choose a permission mode. The session runs shell commands, uses [skills](/docs/en/skills) committed to the cloned repository, and calls any connectors you include, all without stopping for approval apart from some [artifact actions](#when-a-run-publishes-an-artifact-without-asking). -The creation form sets up the routine's prompt, repositories, environment, connectors, and triggers. +What a scheduled task can reach is determined by: -Routines run autonomously as full Claude Code cloud sessions: there is no permission-mode picker, and the session runs shell commands, uses [skills](/docs/en/skills) committed to the cloned repository, and calls any connectors you include, all without stopping for approval apart from some [artifact actions](#when-a-run-publishes-an-artifact-without-asking). +* The repositories you select +* The [environment's](/docs/en/cloud-environments) network access and variables +* The connectors you include -What a routine can reach is determined by the repositories you select, the [environment's](/docs/en/cloud-environments) network access and variables, and the connectors you include. Scope each of those to what the routine actually needs. +Scope each of those to what the task needs. -Routines belong to your individual claude.ai account. They are not shared with teammates, and their runs count against your account's [usage and limits](#usage-and-limits). Anything a routine does through your connected GitHub identity or connectors appears as you: commits and pull requests carry your GitHub user, and Slack messages, Linear tickets, or other connector actions use your linked accounts for those services. +Scheduled tasks belong to your individual claude.ai account. They are not shared with teammates, and their runs count against your account's [usage and limits](#usage-and-limits). Anything a scheduled task does through your connected GitHub identity or connectors appears as you. Commits and pull requests carry your GitHub user, and Slack messages, Linear tickets, or other connector actions use your linked accounts for those services. ### Create from the web - - Visit [claude.ai/code/routines](https://claude.ai/code/routines) and click **New routine**. - + + Go to [claude.ai/code/routines](https://claude.ai/code/routines) and click **New task**. If a menu opens first, select **Set up manually**. The **New scheduled task** dialog opens. The menu's other option, **Create with Claude**, lets you describe the task in a chat and have Claude create it instead. - - Give the routine a descriptive name and write the prompt Claude runs each time. The prompt is the most important part: the routine runs autonomously, so the prompt must be self-contained and explicit about what to do and what success looks like. - - When a trigger fires, the session receives the routine's saved prompt as its assigned task and carries it out, rather than treating it as untrusted content that arrived mid-conversation. The trigger attests only that the prompt was stored ahead of time by an authorized session on your account, so the fired prompt is not live user input and can't act as approval or consent for actions during the run. Content the session fetches during the run keeps its normal handling. Before v2.1.213, the session received the same prompt framed as an untrusted background notification and could refuse to act on it. - - The prompt input includes a model selector. Claude uses the selected model on every run. - - - - Add one or more GitHub repositories for Claude to work in. Each repository is cloned at the start of a run. Claude creates `claude/`-prefixed branches for its changes. + If **Repositories** and **Environment** are already showing when the dialog opens, see [how that dialog differs](#dialog-with-repositories-and-environment-in-the-main-view). Otherwise, this dialog also creates scheduled tasks for claude.ai chat. To make yours what the dialog calls a Claude Code task, select a repository or add a GitHub event or API trigger in the steps that follow. That kind of task runs Claude Code in a cloud session. - - Pick a [cloud environment](/docs/en/cloud-environments) for the routine. Environments control what the cloud session has access to: - - * **Network access**: set the level of internet access available during each run - * **Environment variables**: provide values Claude can use during each run. They're [visible to anyone who uses the environment](/docs/en/cloud-environments#what-carries-over-from-your-setup), so in an Anthropic-hosted environment, store keys for the APIs Claude calls during a run as [network secrets](/docs/en/cloud-environments#add-network-secrets) instead. That section also lists the requests that never get a secret - * **Setup script**: install dependencies and tools the routine needs. The result is [cached](/docs/en/cloud-environments#environment-caching), so the script doesn't re-run on every session + + Give the scheduled task a descriptive name and write the prompt Claude runs each time. The prompt is the most important part: the task runs autonomously, so the prompt must be self-contained and explicit about what to do and what success looks like. Select a model in the prompt input's model selector. Claude uses it on every run. - A **Default** environment is provided with **Trusted** network access, which allows only the [default allowlist](/docs/en/cloud-environments#default-allowed-domains) of package registries, cloud provider APIs, container registries, and common development domains through the session's network. Connectors you add to the routine reach their services through Anthropic's servers, so they don't need allowlist changes. If your routine needs to reach your own services directly, or a domain outside that list, edit the environment's [network access](/docs/en/cloud-environments#network-access) before running. To use a separate environment, [create one](/docs/en/cloud-environments#configure-your-environment) first. + When a trigger fires, the session receives the saved prompt as its assignment and carries it out, rather than treating it as untrusted content that arrived mid-conversation. The trigger attests only that the prompt was stored ahead of time by an authorized session on your account. The fired prompt is therefore not live user input and can't act as approval or consent for actions during the run. Content the session fetches during the run keeps its normal handling. - Under **Select a trigger**, choose how the routine starts. You can pick one trigger type or combine several. + In the **Trigger** row, choose how the task starts. To combine several triggers, click **+** at the end of the row. - Pick a preset frequency for a recurring run, or schedule a single one-off run at a specific timestamp. See [Add a schedule trigger](#add-a-schedule-trigger) for timezone handling, late starts, custom cron intervals, and one-off runs. + Pick a preset frequency for a recurring run. See [Add a schedule trigger](#add-a-schedule-trigger) for timezone handling, late starts, custom cron intervals, and one-off runs. @@ -96,47 +90,82 @@ Routines belong to your individual claude.ai account. They are not shared with t - Select **API** here, then save the routine. The URL and token are generated after the routine is saved, since they depend on the routine ID. See [Add an API trigger](#add-an-api-trigger) to copy the URL and generate a token. + Select **API** here. When you click **Create**, the **API token** dialog shows the token once, so copy it before you close the dialog. See [Add an API trigger](#add-an-api-trigger) to copy the URL or generate a new token. + + Expand **Advanced settings**. Under **Repository** on the **General** tab, select one or more GitHub repositories for Claude to work in. + + Each repository is cloned at the start of a run. Claude creates `claude/`-prefixed branches for its changes. + + + + After you select a repository, **Cloud environment** appears below it. Pick a [cloud environment](/docs/en/cloud-environments) for the task. Environments control what the cloud session has access to: + + * **Network access**: set the level of internet access available during each run + * **Environment variables**: provide values Claude can use during each run. They're [visible to anyone who uses the environment](/docs/en/cloud-environments#what-carries-over-from-your-setup), so in an Anthropic-hosted environment, store keys for the APIs Claude calls during a run as [network secrets](/docs/en/cloud-environments#add-network-secrets) instead. That section also lists the requests that never get a secret + * **Setup script**: install dependencies and tools the task needs. The result is [cached](/docs/en/cloud-environments#environment-caching), so the script doesn't re-run on every session + + A **Default** environment is provided with **Trusted** network access, which allows only the [default allowlist](/docs/en/cloud-environments#default-allowed-domains) of package registries, cloud provider APIs, container registries, and common development domains through the session's network. Connectors you add to the task reach their services through Anthropic's servers, so they don't need allowlist changes. + + If your task needs to reach your own services directly, or a domain outside that list, edit the environment's [network access](/docs/en/cloud-environments#network-access) before running. To use a separate environment, [create one](/docs/en/cloud-environments#configure-your-environment) first. + + - Under **Connectors** at the bottom of the form, all of your connected [MCP connectors](/docs/en/mcp) are included by default. Remove any the routine doesn't need: Claude can use every tool from an included connector, including writes, without asking for permission during a run. + Switch to the **Connectors** tab of **Advanced settings**. All of your connected [MCP connectors](/docs/en/mcp) are included by default. Remove any the task doesn't need: Claude can use every tool from an included connector, including writes, without asking for permission during a run. - - Click **Create**. The routine appears in the list and runs the next time one of its triggers matches. To start a run immediately, click **Run now** on the routine's detail page. + + Click **Create**. The dialog closes and the new task's detail page opens. The task runs the next time one of its triggers matches. To start a run immediately, click **Run now** on the detail page. Each run creates a new session alongside your other sessions, where you can see what Claude did, review changes, and create a pull request. +#### Dialog with Repositories and Environment in the main view + +Follow the [steps to create from the web](#create-from-the-web), and fill in each field in the dialog's main view rather than under **Advanced settings**. This dialog creates only Claude Code tasks. + +Select the repository before you add a GitHub event trigger, because that trigger is unavailable until a repository is selected. + ### Create from the CLI -Run `/schedule` in any session to create a scheduled routine conversationally. You can also pass a description directly, for a recurring routine like `/schedule daily PR review at 9am` or a one-off like `/schedule clean up feature flag in one week`. Claude walks through the same information the web form collects, then saves the routine to your account. The command is also available under the alias `/routines`. +Run `/schedule` in any session to create a scheduled task conversationally. You can also pass a description directly, for a recurring task like `/schedule daily PR review at 9am` or a one-off like `/schedule clean up feature flag in one week`. Claude walks through the same information the web dialog collects, then saves the task to your account. The command is also available under the alias `/routines`. -A successful start looks like a conversation: Claude asks follow-up questions about the schedule, repositories, and prompt before saving. If Claude instead replies that you need to authenticate or that it can't connect to your remote claude.ai account, no routine was created; see [Troubleshooting](#troubleshooting). +A successful start looks like a conversation: Claude asks follow-up questions about the schedule, repositories, and prompt before saving. If Claude instead replies that you need to authenticate or that it can't connect to your remote claude.ai account, no scheduled task was created; see [Troubleshooting](#troubleshooting). -`/schedule` in the CLI creates scheduled routines. To add an API trigger, edit the routine on the web at [claude.ai/code/routines](https://claude.ai/code/routines). You can add a [GitHub trigger](#add-a-github-trigger) from the web or from the CLI. The CLI path requires Claude Code v2.1.225 or later. +A task you create with `/schedule` has a schedule trigger. You can also add the other trigger types: -A routine with no schedule trigger, such as one started only by API calls or GitHub events, has no next run time, and the CLI shows none when Claude saves or updates it. Before v2.1.211, the CLI reported a next run time in the year 1 for these routines. +* **API trigger**: edit the task on the web at [claude.ai/code/routines](https://claude.ai/code/routines) +* **[GitHub trigger](#add-a-github-trigger)**: edit the task on the web, or ask Claude in the CLI. Adding one from the CLI requires Claude Code v2.1.225 or later + +A scheduled task with no schedule trigger, such as one started only by API calls or GitHub events, has no next run time. The CLI shows none when Claude saves or updates it. Before v2.1.211, the CLI reported a next run time in the year 1 for these tasks. ## Configure triggers -A routine starts when one of its triggers matches. You can attach any combination of schedule, API, and GitHub triggers to the same routine, and add or remove them at any time from the **Select a trigger** section of the routine's edit form. +A scheduled task starts when one of its triggers matches. Add or remove a task's triggers at any time in the **Trigger** row of the task's [edit dialog](#edit-and-control-scheduled-tasks). -### Add a schedule trigger +When a task has two or more triggers, each one has a trash icon in that dialog. To remove a schedule or GitHub event trigger, click its trash icon, then **Save changes**. To remove an API trigger, [delete its token](#add-an-api-trigger) instead. -A schedule trigger runs the routine on a recurring cadence, or once at a specific future time. Pick a preset frequency in the **Select a trigger** section: hourly, daily, weekdays, or weekly. Times are entered in your local zone and converted automatically, so the routine runs at that wall-clock time regardless of where the cloud infrastructure is located. +### Add a schedule trigger -If you schedule a run exactly on the hour, such as 9:00, it can start several minutes late. To start close to the scheduled time, pick a few minutes past the hour, for example 9:07. +A schedule trigger runs the task on a recurring cadence, or once at a specific future time. In the task's creation or edit dialog on the web, pick a preset frequency such as hourly, daily, or weekly: -For a custom interval such as every two hours or the first of each month, pick the closest preset in the form, then run `/schedule update` in the CLI to set a specific cron expression. The minimum interval is one hour; expressions that run more frequently are rejected. +* **Time zone**: times are entered in your local zone and converted automatically, so the task runs at that wall-clock time regardless of where the cloud infrastructure is located. +* **Runs on the hour**: if you schedule a run exactly on the hour, such as 9:00, it can start several minutes late. To start close to the scheduled time, pick a few minutes past the hour, for example 9:07. +* **Custom intervals**: for a custom interval such as every two hours, pick the closest preset in the dialog, then run `/schedule update` in the CLI to set a specific cron expression. The minimum interval is one hour; expressions that run more frequently are rejected. #### Schedule a one-off run -A one-off schedule fires the routine a single time at a specific timestamp. Use it to remind yourself later in the week, to open a cleanup PR after a rollout finishes, or to start a follow-up task after an upstream change ships. After the routine fires, it auto-disables and the web UI marks it as **Ran**. To run it again, edit the routine and set a new one-off time. +A one-off schedule runs the task a single time at a specific timestamp. For example, use it to: + +* Remind yourself later in the week +* Open a cleanup PR after a rollout finishes +* Start follow-up work after an upstream change ships + +After the task runs, it turns itself off and the web UI marks it as **Completed**. To run it again, open the task's edit dialog on the web, which offers **One-time** for a one-off task, and set a new time. Create a one-off run from the CLI by describing the time in natural language. Claude resolves the phrase against the current time and confirms the absolute timestamp before saving. @@ -154,42 +183,46 @@ One-off runs count against the same hourly limit as other scheduled runs. See [U ### Add an API trigger -An API trigger gives a routine a dedicated HTTP endpoint. POSTing to the endpoint with the routine's bearer token starts a new session and returns a session URL. Use this to wire Claude Code into alerting systems, deploy pipelines, internal tools, or anywhere you can make an authenticated HTTP request. +An API trigger gives a scheduled task a dedicated HTTP endpoint. POSTing to the endpoint with the task's bearer token starts a new session and returns a session URL. Use this to wire Claude Code into alerting systems, deploy pipelines, internal tools, or anywhere you can make an authenticated HTTP request. -API triggers are added to an existing routine from the web. The CLI can't currently create, regenerate, or delete tokens. +Add an API trigger on the web, either while you [create the task](#create-from-the-web) or later with the steps below. You can't add an API trigger or manage its token from the CLI. - - Go to [claude.ai/code/routines](https://claude.ai/code/routines), click the routine you want to trigger via API, then open the menu next to the routine's name and select **Edit**. + + Go to [claude.ai/code/routines](https://claude.ai/code/routines), click the scheduled task you want to trigger via API, then open the menu next to its name and select **Edit**. The **Edit scheduled task** dialog opens. - Scroll to the **Select a trigger** section below the **Instructions** box, click **Add another trigger**, and choose **API**. + In the **Trigger** row, click **+** and select **API** from the menu that opens. A panel with the **Fire URL** and **Token** for this task appears. - The modal shows the URL for this routine along with a sample curl command. Copy the URL, then click **Generate token** and copy the token immediately. The token is shown once and cannot be retrieved later, so store it somewhere secure such as your alerting tool's secret store. + Copy the **Fire URL**. Click **Generate token**, then copy the token from the **Token generated** dialog immediately. The token is shown once and can't be retrieved later, so store it somewhere secure such as your alerting tool's secret store. + + The API trigger takes effect as soon as you generate the token. You don't need to click **Save changes**, so close the dialog when you're done. - Send the token in the `Authorization: Bearer` header when you POST to the URL. The [Trigger a routine](#trigger-a-routine) section below shows a complete example. + Send the token in the `Authorization: Bearer` header when you POST to the URL. [Trigger a scheduled task](#trigger-a-scheduled-task) shows a complete example. -Each routine has its own token, scoped to triggering that routine only. To turn off API access or rotate the token, return to the same modal: +Each scheduled task has its own token, scoped to triggering that task only. To turn off API access or rotate the token, [open the task's **Edit scheduled task** dialog](#edit-and-control-scheduled-tasks) again. Both controls are next to the token in the API trigger's panel and take effect immediately: -* **Turn off API access**: click **Delete token**, the trash icon next to **Regenerate** -* **Rotate the token**: click **Regenerate** +* **Turn off API access**: click **Delete token**, the trash icon next to **Regenerate**. This removes the API trigger +* **Rotate the token**: click **Regenerate**. The previous token stops working, and the **Token generated** dialog shows the new one once -#### Trigger a routine + -Send a POST request to the `/fire` endpoint with the bearer token in the `Authorization` header. The request body accepts an optional `text` field for run-specific context such as an alert body or a failing log, passed to the routine alongside its saved prompt. The value is freeform text and is not parsed: if you send JSON or another structured payload, the routine receives it as a literal string. +#### Trigger a scheduled task + +Send a POST request to the `/fire` endpoint with the bearer token in the `Authorization` header. The request body accepts an optional `text` field for run-specific context such as an alert body or a failing log, passed to the task alongside its saved prompt. The value is freeform text and is not parsed: if you send JSON or another structured payload, the task receives it as a literal string. The `text` value doesn't reach the routine as a bare message. It arrives wrapped in a `` block that labels it as untrusted data and tells Claude not to follow instructions inside it unless the routine's own prompt says to. The same wrapping applies to text supplied with **Run now** in the web UI. This means a routine's saved prompt must opt in to acting on fire text: write the prompt to reference the payload explicitly, for example "Investigate the alert described in the routine-fire-payload block", or the routine treats the text as inert context. Anyone holding the bearer token can send `text`, so the wrapper makes fire text from a leaked token arrive labeled as untrusted data rather than as direct instructions to your routine. -The example below triggers a routine from a shell. The routine ID and token shown are placeholders: replace them with the URL and token you copied when [adding the API trigger](#add-an-api-trigger), or the request fails with a `401` authentication error: +The example below triggers a scheduled task from a shell. The task ID and token shown are placeholders: replace them with the URL and token you copied when [adding the API trigger](#add-an-api-trigger), or the request fails with a `401` authentication error: ```bash theme={null} curl -X POST https://api.anthropic.com/v1/claude_code/routines/trig_01ABCDEFGHJKLMNOPQRSTUVW/fire \ @@ -218,7 +251,7 @@ Open the session URL in a browser to watch the run in real time, review changes, #### API reference -For the full API reference, including all error responses, validation rules, and field limits, see [Trigger a routine via API](https://platform.claude.com/docs/en/api/claude-code/routines-fire) in the Claude Platform documentation. +For the full API reference, including all error responses, validation rules, and field limits, see [Trigger a routine through the API](https://platform.claude.com/docs/en/api/claude-code/routines-fire) in the Claude Platform documentation. The `/fire` endpoint is available to claude.ai users only and is not part of the Claude Platform API surface. @@ -227,21 +260,21 @@ The `/fire` endpoint is available to claude.ai users only and is not part of the A GitHub trigger starts a new session automatically when a matching event occurs on a connected repository. Claude Code doesn't reuse sessions across events, so two PR updates produce two independent sessions. - GitHub webhook events are subject to per-routine and per-account hourly caps. Events beyond the limit are dropped until the window resets. + GitHub webhook events are subject to per-task and per-account hourly caps. Events beyond the limit are dropped until the window resets. The Claude GitHub App must be installed on the repository you want to subscribe to, whichever surface you configure the trigger from. * Configure GitHub triggers from the web UI, which prompts you to install the app when it's missing. Follow the steps below to configure one on the web. -* From the CLI, install the app from the [GitHub App page](https://github.com/apps/claude) first, then ask Claude to attach a GitHub trigger to an existing routine, for example `/schedule add a GitHub trigger to my nightly review for pull requests opened in acme/webapp`. The CLI path requires Claude Code v2.1.225 or later. When Claude adds the trigger, it replies with a link to the routine the trigger fires. +* From the CLI, install the app from the [GitHub App page](https://github.com/apps/claude) first, then ask Claude to attach a GitHub trigger to an existing scheduled task, for example `/schedule add a GitHub trigger to my nightly review for pull requests opened in acme/webapp`. The CLI path requires Claude Code v2.1.225 or later. When Claude adds the trigger, it replies with a link to the task the trigger fires. - - Go to [claude.ai/code/routines](https://claude.ai/code/routines), click the routine, then open the menu next to the routine's name and select **Edit**. + + Go to [claude.ai/code/routines](https://claude.ai/code/routines), click the scheduled task, then open the menu next to its name and select **Edit**. The **Edit scheduled task** dialog opens. - Scroll to the **Select a trigger** section, click **Add another trigger**, and choose **GitHub event**. + In the **Trigger** row, click **+** and select **GitHub event** from the menu that opens. Running `/web-setup` in the CLI grants repository access for cloning, but it does not install the Claude GitHub App and does not enable webhook delivery. @@ -249,7 +282,7 @@ The Claude GitHub App must be installed on the repository you want to subscribe - Select the repository, choose an event from the [supported events](#supported-events) list, and optionally add filters. Save the trigger. + Change the repository if needed, choose an event from the [supported events](#supported-events) list, and optionally add filters. Then click **Save changes** at the bottom of the dialog to apply the trigger. @@ -264,7 +297,7 @@ GitHub triggers can subscribe to either of the following event categories. Withi #### Filter pull requests -Use filters to narrow which pull requests start a new session. All filter conditions must match for the routine to trigger. The available filter fields are: +Use filters to narrow which pull requests start a new session. All filter conditions must match for the scheduled task to trigger. The available filter fields are: | Filter | Matches | | :- | :- | @@ -284,59 +317,72 @@ The `matches regex` operator tests the entire field value, not a substring withi A few example filter combinations: * **Auth module review**: base branch `main`, head branch contains `auth-provider`. Sends any PR that touches authentication to a focused reviewer. -* **Ready-for-review only**: is draft is `false`. Skips drafts so the routine only runs when the PR is ready for review. -* **Label-gated backport**: labels include `needs-backport`. Triggers a port-to-another-branch routine only when a maintainer tags the PR. +* **Ready-for-review only**: is draft is `false`. Skips drafts so the task only runs when the PR is ready for review. +* **Label-gated backport**: labels include `needs-backport`. Triggers a port-to-another-branch task only when a maintainer tags the PR. + + -## Manage routines +## Manage scheduled tasks -Click a routine in the list to open its detail page. The detail page shows the routine's repositories, connectors, prompt, schedule, API tokens, GitHub triggers, and a list of past runs. +Click a scheduled task in the list to open its detail page. The detail page shows the task's repositories, connectors, prompt, schedule, API tokens, GitHub triggers, and a list of past runs. ### View and interact with runs Click any run to open it as a full session. From there you can see what Claude did, review changes, create a pull request, or continue the conversation. Each run session works like any other session: use the dropdown menu next to the session title to rename, archive, or delete it. - A green status in the run list means the session started and exited without an infrastructure error. It does not mean the task in your prompt succeeded. Open the run to read the transcript and confirm what Claude actually did. Blocked network requests, missing connector tools, and task-level failures all surface there rather than in the status indicator. + A green status in the run list means the session started and exited without an infrastructure error. It does not mean the work your prompt describes succeeded. Open the run to read the transcript and confirm what Claude actually did. Blocked network requests, missing connector tools, and failures in the work itself all surface there rather than in the status indicator. -### Edit and control routines + + +### Edit and control scheduled tasks -From the routine detail page you can: +From the detail page you can: -* Click **Run now** to start a run immediately without waiting for the next scheduled time. You can optionally supply run-specific text, which reaches the routine the same way as the API trigger's `text` field. -* Use the on/off switch at the top of the page to pause or resume the schedule. Paused routines keep their configuration but don't run until you re-enable them. -* Open the menu next to the routine's name and select **Edit** to change the name, prompt, repositories, environment, connectors, or any of the routine's triggers. The **Select a trigger** section is where you add or remove schedules, API tokens, and GitHub event triggers. -* Open the same menu and select **Delete** to delete the routine. +* Click **Run now** to start a run immediately without waiting for the next scheduled time. +* Use the on/off switch at the top of the page to pause or resume the schedule. Paused tasks keep their configuration but don't run until you turn them back on. +* Open the menu next to the task's name and select **Edit** to change the name, prompt, repositories, environment, connectors, or any of the task's triggers. The **Edit scheduled task** dialog opens with the same layout as the [creation dialog](#create-from-the-web). To add a trigger, click **+** in the **Trigger** row. Click **Save changes** to apply your edits. API token actions take effect immediately, without **Save changes**. +* Open the same menu and select **Delete** to delete the task. -### Manage routines from the CLI + -The CLI supports managing existing routines. Run `/schedule list` to see all routines, `/schedule update` to change one, or `/schedule run` to trigger it immediately. +### Manage scheduled tasks from the CLI -You can also ask about a routine's run history, for example `/schedule why did my nightly review do nothing this morning?`. Claude lists the routine's recent runs with their status and a link to [open each run on the web](#view-and-interact-with-runs), and reads a run's log to explain what happened, including tool errors, permission denials, and the final result. Requires Claude Code v2.1.227 or later. +Run `/schedule list` to see your scheduled tasks, `/schedule update` to change one, or `/schedule run` to start one immediately. + +You can also ask about a scheduled task's run history, for example `/schedule why did my nightly review do nothing this morning?`. Claude lists the task's recent runs with their status and a link to [open each run on the web](#view-and-interact-with-runs). It also reads a run's log to explain what happened, including tool errors, permission denials, and the final result. Requires Claude Code v2.1.227 or later. ### Repositories and branch permissions -Routines need GitHub access to clone repositories. When you create a routine from the CLI with `/schedule`, Claude checks whether your account has GitHub access for the repository you ran it from and, if it doesn't, adds a setup note naming how to grant it. See [GitHub authentication options](/docs/en/claude-code-on-the-web#github-authentication-options) for the two ways to grant access. On Team and Enterprise plans, an [Owner](/docs/en/server-managed-settings#access-control) of your Claude organization has to turn on each method before you can use it; see [Connect GitHub](/docs/en/web-quickstart#connect-github). +Scheduled tasks need GitHub access to clone repositories. When you create a scheduled task from the CLI with `/schedule`, Claude checks whether your account has GitHub access for the repository you ran it from. If it doesn't, Claude adds a setup note naming how to grant it. -If your GitHub connection is missing or expired when a run is due, the routine skips runs until you reconnect, for up to 72 hours. Reconnect GitHub within that window and the routine resumes on its own. After 72 hours without a connection, the routine turns off, and you turn it back on after reconnecting GitHub. + + See [GitHub authentication options](/docs/en/claude-code-on-the-web#github-authentication-options) for the two ways to grant access. On Team and Enterprise plans, an [Owner](/docs/en/server-managed-settings#access-control) of your Claude organization has to turn on each method before you can use it; see [Connect GitHub](/docs/en/web-quickstart#connect-github). + -Each repository you add is cloned on every run. Claude starts from the repository's default branch unless your prompt specifies otherwise. If a [GitHub pull request event](#add-a-github-trigger) triggers the run and the pull request's repository is the first repository in the routine, that repository starts from the pull request's head commit instead. +If your GitHub connection is missing or expired when a run is due, the scheduled task skips runs until you reconnect, for up to 72 hours. Reconnect GitHub within that window and the task resumes on its own. After 72 hours without a connection, the task turns off, and you turn it back on after reconnecting GitHub. + +Each repository you add is cloned on every run. Claude starts from the repository's default branch unless your prompt specifies otherwise. If a [GitHub pull request event](#add-a-github-trigger) triggers the run and the pull request's repository is the task's first repository, that repository starts from the pull request's head commit instead. Claude pushes its work to a branch prefixed with `claude/` unless your prompt directs it to push to another branch. To control which branches a run can push to, use branch protection rules or rulesets on GitHub. For runs on Anthropic-managed infrastructure, and for self-hosted runs that push through [Anthropic's git proxy](/docs/en/self-hosted-environments-deploy#use-the-anthropic-git-proxy), GitHub applies them to the GitHub access you connected, so a rule that access can bypass doesn't block a run's push. A self-hosted run that pushes with the git credentials your deployment provides is checked against those instead. See [Configure git](/docs/en/self-hosted-environments-deploy#configure-git). ### Connectors -Routines can use your connected MCP connectors to read from and write to external services during each run. For example, a routine that triages support requests might read from a Slack channel and create issues in Linear. +Scheduled tasks can use your connected MCP connectors to read from and write to external services during each run. For example, a task that triages support requests might read from a Slack channel and create issues in Linear. + +Connectors are the [claude.ai integrations](/docs/en/mcp#use-mcp-servers-from-claude-ai) on your account. MCP servers you added locally in the CLI with `claude mcp add` are stored on your machine rather than your claude.ai account, so they do not appear in the connectors list. To use one of those servers in a scheduled task: -Connectors are the [claude.ai integrations](/docs/en/mcp#use-mcp-servers-from-claude-ai) on your account. MCP servers you added locally in the CLI with `claude mcp add` are stored on your machine rather than your claude.ai account, so they do not appear in the connectors list. To use one of those servers in a routine, add it as a connector at [claude.ai/customize/connectors](https://claude.ai/customize/connectors). For a routine with one repository, you can instead declare it in a committed [`.mcp.json`](/docs/en/mcp#project-scope) so it is part of the cloned repository. +* **As a connector**: add it as a connector at [claude.ai/customize/connectors](https://claude.ai/customize/connectors) +* **In the repository**: for a scheduled task with one repository, you can instead declare the server in a committed [`.mcp.json`](/docs/en/mcp#project-scope) so it is part of the cloned repository -When you create a routine, all of your currently connected connectors are included by default. Remove any that aren't needed to limit which tools Claude has access to during the run. You can also add connectors directly from the routine form. +When you create a scheduled task, all of your currently connected connectors are included by default. Remove any that aren't needed to limit which tools Claude has access to during the run. You can also add connectors directly from the task's creation or edit dialog. -To manage or add connectors outside of the routine form, visit [claude.ai/customize/connectors](https://claude.ai/customize/connectors) or use `/schedule update` in the CLI. +To manage or add connectors outside of that dialog, visit [claude.ai/customize/connectors](https://claude.ai/customize/connectors) or use `/schedule update` in the CLI. ### When a run publishes an artifact without asking -When a routine's schedule or **Run now** starts a run, Claude can publish a new [artifact](/docs/en/artifacts) without asking. The new artifact is visible only to you until you [share it](/docs/en/artifacts#share-an-artifact). If the publish declares runtime capabilities for the page, such as [connector calls](/docs/en/artifacts#pull-live-data-with-mcp-connectors) or [file downloads](/docs/en/artifacts#offer-a-file-download), Claude asks first. +When a scheduled task's schedule or **Run now** starts a run, Claude can publish a new [artifact](/docs/en/artifacts) without asking. The new artifact is visible only to you until you [share it](/docs/en/artifacts#share-an-artifact). If the publish declares runtime capabilities for the page, such as [connector calls](/docs/en/artifacts#pull-live-data-with-mcp-connectors) or [file downloads](/docs/en/artifacts#offer-a-file-download), Claude asks first. In those runs, Claude republishes an existing artifact without asking only when all of these hold: @@ -350,23 +396,23 @@ In those runs, Claude republishes an existing artifact without asking only when In every other case, including a run that an API or GitHub trigger starts, Claude asks first. -When a routine's job is to keep a page current, give it an artifact you already published. +When a scheduled task's job is to keep a page current, give it an artifact you already published. ### Environments and network access -Each routine uses a [cloud environment](/docs/en/cloud-environments) that controls network access, environment variables, and setup scripts. The routine inherits the environment's network policy on every run. +Each scheduled task uses a [cloud environment](/docs/en/cloud-environments) that controls network access, environment variables, and setup scripts. The task inherits the environment's network policy on every run. -The **Default** environment uses **Trusted** network access, which allows only the [default allowlist](/docs/en/cloud-environments#default-allowed-domains) through the session's network. Requests on that path to hosts outside the allowlist fail with `403` and `x-deny-reason: host_not_allowed`. MCP connector traffic is routed through Anthropic's servers rather than that path, so the connectors you add to the routine work without adding their hosts to **Allowed domains**. Remove any connectors you don't need under [Connectors](#connectors). +The **Default** environment uses **Trusted** network access, which allows only the [default allowlist](/docs/en/cloud-environments#default-allowed-domains) through the session's network. Requests on that path to hosts outside the allowlist fail with `403` and `x-deny-reason: host_not_allowed`. MCP connector traffic is routed through Anthropic's servers rather than that path, so the connectors you add to the task work without adding their hosts to **Allowed domains**. Remove any connectors you don't need under [Connectors](#connectors). To allow additional domains on one of your own environments, follow these steps. An [organization-shared environment](/docs/en/cloud-environments#organization-shared-environments) opens read-only here, so an Owner changes its network access from the **Cloud environments** page in [admin settings](https://claude.ai/admin-settings) instead. - - On the routine's detail page, open the menu next to the routine's name and select **Edit**. + + Go to [claude.ai/code/routines](https://claude.ai/code/routines), click the scheduled task, then open the menu next to its name and select **Edit**. The **Edit scheduled task** dialog opens. - Below the **Instructions** box, select the cloud icon showing your environment's name, such as **Default**. + Go to **Advanced settings > General > Cloud environment**, expanding **Advanced settings** first if it's collapsed. Click the cloud icon showing your environment's name, such as **Default**. @@ -378,7 +424,7 @@ To allow additional domains on one of your own environments, follow these steps. - Click **Save changes**. The new policy applies from the next run. + Click **Save changes** in the **Edit cloud environment** dialog, then close the **Edit scheduled task** dialog behind it. The new policy applies from the next run. @@ -386,23 +432,32 @@ See [Network access](/docs/en/cloud-environments#network-access) for details on ## Usage and limits -Routines draw down subscription usage the same way interactive sessions do. See your current consumption at [claude.ai/settings/usage](https://claude.ai/settings/usage). +Scheduled tasks draw down subscription usage the same way interactive sessions do. See your current consumption at [claude.ai/settings/usage](https://claude.ai/settings/usage). Separately from subscription usage, each way of starting a run has an hourly limit: | Action | Limit | Counted for | Over the limit | | :- | :- | :- | :- | | Scheduled runs, including one-off runs | 100 per hour | Your account | The run waits until the limit resets | -| **Run now**, API fires, and setting a one-off routine to run again | 30 per hour | Each routine, one count shared by all three | The action fails until the limit resets | -| **Run now** and setting a one-off routine to run again | 100 per hour | Your account | Same | +| **Run now**, API fires, and setting a one-off task to run again | 30 per hour | Each scheduled task, one count shared by all three | The action fails until the limit resets | +| **Run now** and setting a one-off task to run again | 100 per hour | Your account | Same | | API fires | 100 per hour | Your account, counted separately from **Run now** | Same | | GitHub events | See [Add a GitHub trigger](#add-a-github-trigger) | | | None of these hourly limits has overage. -When a routine hits your subscription usage limit, organizations with usage credits turned on can keep running routines on metered overage. Without usage credits, additional runs are rejected until your usage window resets. Turn on usage credits at [claude.ai/settings/usage](https://claude.ai/settings/usage). On Team and Enterprise plans, an admin turns them on for the organization at [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage). +When a scheduled task hits your subscription usage limit, organizations with usage credits turned on can keep running scheduled tasks on metered overage. Without usage credits, additional runs are rejected until your usage window resets. Turn on usage credits at [claude.ai/settings/usage](https://claude.ai/settings/usage). On Team and Enterprise plans, an admin turns them on for the organization at [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage). + +While your subscription is paused, your scheduled tasks are put on hold and don't run. Once your subscription is active again, turn them back on. + +## Where the name routines still appears + +Scheduled tasks were previously called routines, and these places keep the earlier name. Each one refers to the same feature: -While your subscription is paused, your routines are put on hold and don't run. Once your subscription is active again, turn them back on. +* **Web address**: `claude.ai/code/routines` +* **CLI**: the `/routines` alias for `/schedule`, the command's description, and Claude's replies while it sets up a task +* **API**: the `/fire` endpoint path, its beta header, its response `type`, the `` tag, and the [Trigger a routine through the API](https://platform.claude.com/docs/en/api/claude-code/routines-fire) reference page +* **Organization settings**: the **Scheduled tasks (Was Routines)** toggle ## Troubleshooting @@ -416,23 +471,23 @@ The cause is usually one of the following: * You are authenticated with a Console API key, an [Anthropic profile or federation credential](/docs/en/authentication#anthropic-profiles-and-federation-credentials), or a cloud provider such as Amazon Bedrock, Google Cloud's Agent Platform, or Microsoft Foundry. `/schedule` requires a claude.ai subscription login. With a Console API key or a profile, and feature-flag fetching enabled, submitting `/schedule` instead shows `/schedule is available with Claude for Enterprise — ask your admin about migrating from API-key access`. With a cloud-provider login, you still see `Unknown command: /schedule`. If `ANTHROPIC_API_KEY` or `ANTHROPIC_AUTH_TOKEN` is set in your shell, or `apiKeyHelper` is set in `settings.json`, remove it first, since these take precedence over a claude.ai login. A profile or federation credential takes precedence too, so switch that off as well * You are fully signed out, with no API key or other credential. With feature-flag fetching enabled, submitting `/schedule` shows `/schedule requires a claude.ai subscription. Run /login to sign in with your claude.ai account.` Before v2.1.268, a signed-out session showed the same Claude for Enterprise message as a Console API key -* You are inside a cloud session, where submitting `/schedule` answers that the command isn't available in that environment. Manage routines from the [web UI](https://claude.ai/code/routines) instead -* Your organization's policy disables [cloud sessions](/docs/en/claude-code-on-the-web), which routines require. In this case, submitting `/schedule` answers [`Cloud sessions are disabled by your organization's policy`](/docs/en/errors#cloud-sessions-are-disabled-by-your-organizations-policy) instead. Before v2.1.268, it returned `Unknown command: /schedule` -* An Owner [turned off routines](#routines-are-disabled-by-your-organizations-policy) for your Team or Enterprise organization. Before v2.1.227, the command still appeared in this case, and claude.ai rejected the routine when Claude tried to create or run it +* You are inside a cloud session, where submitting `/schedule` answers that the command isn't available in that environment. Manage scheduled tasks from the [web UI](https://claude.ai/code/routines) instead +* Your organization's policy disables [cloud sessions](/docs/en/claude-code-on-the-web), which scheduled tasks require. In this case, submitting `/schedule` answers [`Cloud sessions are disabled by your organization's policy`](/docs/en/errors#cloud-sessions-are-disabled-by-your-organizations-policy) instead. Before v2.1.268, it returned `Unknown command: /schedule` +* An Owner [turned off scheduled tasks](#routines-are-disabled-by-your-organizations-policy) for your Team or Enterprise organization. Before v2.1.227, the command still appeared in this case, and claude.ai rejected the task when Claude tried to create or run it -Unless your organization's policy disables routines or cloud sessions, you can create and manage routines at [claude.ai/code/routines](https://claude.ai/code/routines) regardless of how the CLI is configured. +Unless your organization's policy disables scheduled tasks or cloud sessions, you can create and manage scheduled tasks at [claude.ai/code/routines](https://claude.ai/code/routines) regardless of how the CLI is configured.

"Routines are disabled by your organization's policy"

-An Owner in your Team or Enterprise organization has likely turned off the **Routines** toggle at [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code). On Claude Code v2.1.227 or later, the same toggle also hides `/schedule` in the CLI. This is a server-side organization setting, so it cannot be overridden from your local configuration. Ask an Owner to enable routines for your organization. +An Owner in your Team or Enterprise organization has likely turned off the **Scheduled tasks (Was Routines)** toggle at [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities). On Claude Code v2.1.227 or later, the same toggle also hides `/schedule` in the CLI. This is a server-side organization setting, so it cannot be overridden from your local configuration. Ask an Owner to turn scheduled tasks back on for your organization. ## Related resources * [`/loop` and in-session scheduling](/docs/en/scheduled-tasks): schedule local tasks within an open CLI session * [Desktop scheduled tasks](/docs/en/desktop-scheduled-tasks): local scheduled tasks that run on your machine with access to local files * [Cloud environments](/docs/en/cloud-environments): configure network access, environment variables, and setup scripts for cloud sessions -* [Projects](/docs/en/claude-projects): ongoing work Claude coordinates across parallel cloud sessions; routines created from a project appear on its **Routines** tab +* [Projects](/docs/en/claude-projects): ongoing work Claude coordinates across parallel cloud sessions; scheduled tasks created from a project appear on its **Scheduled tasks** tab * [MCP connectors](/docs/en/mcp): connect external services like Slack, Linear, and Google Drive * [GitHub Actions](/docs/en/github-actions): run Claude in your CI pipeline on repository events diff --git a/content/en/get-api-key.md b/content/en/get-api-key.md index 52c4ac41d1..54e74b0fac 100644 --- a/content/en/get-api-key.md +++ b/content/en/get-api-key.md @@ -42,7 +42,7 @@ Set the key as an environment variable: export ANTHROPIC_API_KEY="sk-ant-api03-..." ``` -The [client SDK](https://platform.claude.com/docs/en/cli-sdks-libraries/overview) reads `ANTHROPIC_API_KEY` automatically. Direct HTTP requests send the key in the `x-api-key` header. If your API key works on multiple workspaces, you must also send the `anthropic-workspace-id` header on each Claude API request, as shown in [Select a workspace](https://platform.claude.com/docs/en/manage-claude/authentication#select-a-workspace). For the Admin API, see [API keys and the Admin API](https://platform.claude.com/docs/en/get-api-key#api-keys-and-the-admin-api). +The [client SDK](https://platform.claude.com/docs/en/cli-sdks-libraries/overview) reads `ANTHROPIC_API_KEY` automatically. Direct HTTP requests send the key as `Authorization: Bearer `. If your API key works on multiple workspaces, you must also send the `anthropic-workspace-id` header on each Claude API request, as shown in [Select a workspace](https://platform.claude.com/docs/en/manage-claude/authentication#select-a-workspace). For the Admin API, see [API keys and the Admin API](https://platform.claude.com/docs/en/get-api-key#api-keys-and-the-admin-api). To make your first request, follow the [Quickstart](https://platform.claude.com/docs/en/get-started), and see [Authentication](https://platform.claude.com/docs/en/manage-claude/authentication) for the full picture, including short-lived credentials with Workload Identity Federation. diff --git a/content/en/home.md b/content/en/home.md index eb9e12d11d..73438c98a2 100644 --- a/content/en/home.md +++ b/content/en/home.md @@ -16,7 +16,7 @@ with Claude" - Get API key + Get API key in Claude Console @@ -251,7 +251,7 @@ with Claude" - Get API key + Get API key in Claude Console @@ -263,7 +263,7 @@ with Claude" - Try the API in playground + Try the API in Console playground @@ -337,7 +337,7 @@ with Claude" - API key management + API keys in Claude Console @@ -357,7 +357,7 @@ with Claude" - Get API key + Get API key in Claude Console @@ -395,7 +395,7 @@ with Claude" - API key management + API keys in Claude Console diff --git a/content/en/manage-claude/claude-code-analytics-api.md b/content/en/manage-claude/claude-code-analytics-api.md index 154a21ff90..57bbf6923a 100644 --- a/content/en/manage-claude/claude-code-analytics-api.md +++ b/content/en/manage-claude/claude-code-analytics-api.md @@ -8,7 +8,7 @@ description: Programmatically access your organization's Claude Code usage analy **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 Claude Code Analytics Admin API provides programmatic access to daily aggregated usage metrics for Claude Code users, enabling organizations to analyze developer productivity and build custom dashboards. This API provides more detail than the basic [Analytics dashboard](https://platform.claude.com/claude-code) without the complexity of the OpenTelemetry integration. +The Claude Code Analytics Admin API provides programmatic access to daily aggregated usage metrics for Claude Code users, enabling organizations to analyze developer productivity and build custom dashboards. This API provides more detail than the basic [Analytics dashboard](https://platform.claude.com/claude-code) in the Claude Console, without the complexity of the OpenTelemetry integration. This API enables you to better monitor, analyze, and optimize your Claude Code adoption: @@ -272,7 +272,7 @@ The Claude Code Analytics API helps you understand and optimize your team's deve * [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) +* [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 * [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) diff --git a/content/en/manage-claude/cmek.md b/content/en/manage-claude/cmek.md index 1e2c04f387..e3ee1c5c25 100644 --- a/content/en/manage-claude/cmek.md +++ b/content/en/manage-claude/cmek.md @@ -83,7 +83,6 @@ Some features are turned off or substantially modified when CMEK is enabled. Thi **Claude Platform** * Playground in the Claude Console is disabled. -* Portions of the Compliance API that return raw content, such as prompts, responses, and files, are disabled. * Structured outputs are not available for Claude Fable or Claude Mythos models in CMEK organizations. * Other beta and research preview features might not be covered by CMEK. diff --git a/content/en/manage-claude/data-residency.md b/content/en/manage-claude/data-residency.md index cc0a7be9bb..f25fd5e18a 100644 --- a/content/en/manage-claude/data-residency.md +++ b/content/en/manage-claude/data-residency.md @@ -87,9 +87,7 @@ The `inference_geo` parameter controls where model inference runs for a specific ] }); - const textBlock = response.content.find( - (block): block is Anthropic.TextBlock => block.type === "text" - ); + const textBlock = response.content.find((block) => block.type === "text"); console.log(textBlock?.text); // Check where inference actually ran console.log(`Inference geo: ${response.usage.inference_geo}`); diff --git a/content/en/manage-claude/opentelemetry/api.md b/content/en/manage-claude/opentelemetry/api.md index a3c4ceb0e7..be5ddea90b 100644 --- a/content/en/manage-claude/opentelemetry/api.md +++ b/content/en/manage-claude/opentelemetry/api.md @@ -221,7 +221,7 @@ A destination receives the spans of the workspaces that it covers. Choose them w * **Selected:** Only the workspaces that you select. * **All except:** Like **All**, but without the workspaces that you select. -For **Selected** or **All except**, select the workspaces in the search box that appears under the options. To change a destination's workspaces later, open its **More actions** menu on the [OpenTelemetry settings page](https://platform.claude.com/settings/telemetry-destinations) while the **Workspace** filter shows **All**. Click **Edit**, then choose another **Workspaces** option or change the workspaces in the search box. +For **Selected** or **All except**, select the workspaces in the search box that appears under the options. To change a destination's workspaces later, open its **More actions** menu on the [OpenTelemetry settings page](https://platform.claude.com/settings/telemetry-destinations) in the Console while the **Workspace** filter shows **All**. Click **Edit**, then choose another **Workspaces** option or change the workspaces in the search box. If you have the developer role in the organization and the Workspace Admin role in a workspace, you can add that workspace to a **Selected** destination or remove it. Set the **Workspace** filter to that workspace, then open the destination's **More actions** menu. On Claude Platform on AWS, the Console has no Workspace Admin role. There, your [IAM policy](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions) determines who can add a workspace to a destination or remove it. @@ -659,7 +659,7 @@ The API disables a destination when: * The endpoint's hostname resolves to an IP address that isn't public. * All deliveries fail for 24 hours. -The API doesn't send spans to a disabled destination. To resume export, fix the cause. Then, with the **Workspace** filter on the [OpenTelemetry settings page](https://platform.claude.com/settings/telemetry-destinations) showing **All**, click **Enable** in the destination's **More actions** menu. Export starts again within about a minute. +The API doesn't send spans to a disabled destination. To resume export, fix the cause. Then, on the [OpenTelemetry settings page](https://platform.claude.com/settings/telemetry-destinations) in the Console, click **Enable** in the destination's **More actions** menu while the **Workspace** filter shows **All**. Export starts again within about a minute. To change a destination, open its **More actions** menu while the **Workspace** filter shows **All**. Then click **Edit**, **Disable**, **Enable**, or **Delete**. If you change the host of the **OTLP endpoint URL**, enter the header values again. If the destination has an **OTLP traces endpoint URL**, give it the same new host, or clear it. diff --git a/content/en/manage-claude/plugins-api.md b/content/en/manage-claude/plugins-api.md index a80741d9a2..177dba4d5a 100644 --- a/content/en/manage-claude/plugins-api.md +++ b/content/en/manage-claude/plugins-api.md @@ -1032,14 +1032,14 @@ Upload individual files into a named marketplace. Attach each file under its pat Besides a `400` for an upload that breaks the [upload requirements](https://platform.claude.com/docs/en/manage-claude/plugins-api#upload-requirements) (`413` for a request body over 200 MB) and the shared responses (a `403` when `marketplace_id` is a member's personal marketplace; see [Error responses](https://platform.claude.com/docs/en/manage-claude/plugins-api#error-responses)), a create can fail with: -| Status | Cause | What to do | -| -------------------------- | -------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| 404 | `marketplace_id` is not a marketplace of your organization. | Take the ID from [List marketplaces](https://platform.claude.com/docs/en/manage-claude/plugins-api#list-marketplaces). | -| 400 | The marketplace is synchronized from Git, or already holds 500 plugins and skills. | Upload to a `manual` marketplace, or change the repository instead. | -| 409 `plugin_name_taken` | The name is taken in that marketplace. | Continue with `details.plugin_id` (upload a version to it), or change the manifest `name`. | -| 409 `skill_name_taken` | The plugin is going into the library marketplace and one of its skills has an organization skill's name. | Rename the skill, or remove the organization skill in claude.ai. | -| 409 (no `error_code`) | Another upload with the same name to the same marketplace is still in progress. | Retry shortly. | -| 503 `registration_pending` | The plugin was created but its registration did not complete. | Do not resend; upload the same files as a version of `details.plugin_id` (see [Retrying uploads](https://platform.claude.com/docs/en/manage-claude/plugins-api#retrying-uploads)). | +| Status | Cause | What to do | +| -------------------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 404 | `marketplace_id` is not a marketplace of your organization. | Take the ID from [List marketplaces](https://platform.claude.com/docs/en/manage-claude/plugins-api#list-marketplaces). | +| 400 | The marketplace is synchronized from Git, or already holds 500 plugins and skills. | Upload to a `manual` marketplace, or change the repository instead. | +| 409 `plugin_name_taken` | The name is taken in that marketplace. | Upload a version to `details.plugin_id` only if it is the plugin you meant to update, because someone else might have made it. Otherwise, upload under another name (change the manifest `name`). | +| 409 `skill_name_taken` | The plugin is going into the library marketplace and one of its skills has an organization skill's name. | Rename the skill, or remove the organization skill in claude.ai. | +| 409 (no `error_code`) | Another upload with the same name to the same marketplace is still in progress. | Retry shortly. | +| 503 `registration_pending` | The plugin was created but its registration did not complete. | Do not resend; upload the same files as a version of `details.plugin_id` (see [Retrying uploads](https://platform.claude.com/docs/en/manage-claude/plugins-api#retrying-uploads)). | ### Get a plugin @@ -3178,14 +3178,14 @@ When one status has several causes that you would handle differently, the error } ``` -| `error_code` | Status | Meaning and what to do | -| ----------------------------------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `plugin_name_taken` | 409 | A plugin with this name already exists in the marketplace. `details.plugin_id` is that plugin. If you are retrying a create whose response you lost, continue with that plugin. When `plugin_id` is absent, the name is held by a standalone skill: upload under another name, or delete the skill in claude.ai. | -| `skill_name_taken` | 409 | The plugin is in the library marketplace and one of its skills has the same name as an organization skill (a skill an administrator uploaded for the whole organization in claude.ai). `details.skill_name` names it. Rename or remove one of them. | -| `registration_pending` | 503 | The files were stored, but the plugin's skills could not yet be made available to members. See [Retrying uploads](https://platform.claude.com/docs/en/manage-claude/plugins-api#retrying-uploads). | -| `scan_pending` | 409 | The version's content scan is still running. Retry once it finishes. | -| `scan_failed` | 400 | The version's content scan failed, errored, or reached no verdict, so it cannot be served. Choose another version. | -| `cmek_key_disabled`, `cmek_key_network_blocked` | 400 | Your organization's customer-managed encryption key is unavailable. See [Customer-managed encryption keys](https://platform.claude.com/docs/en/manage-claude/plugins-api#customer-managed-encryption-keys). | +| `error_code` | Status | Meaning and what to do | +| ----------------------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `plugin_name_taken` | 409 | A plugin with this name already exists in the marketplace. `details.plugin_id` is that plugin, and someone else might have made it. To see who, [get the plugin](https://platform.claude.com/docs/en/manage-claude/plugins-api#get-a-plugin) and read its `created_by`, which is `null` when no creator is recorded. Upload versions to it only if it is the plugin you meant to update. Otherwise, upload under another name. When `plugin_id` is absent, the name is held by a standalone skill: upload under another name, or delete the skill in claude.ai. | +| `skill_name_taken` | 409 | The plugin is in the library marketplace and one of its skills has the same name as an organization skill (a skill an administrator uploaded for the whole organization in claude.ai). `details.skill_name` names it. Rename or remove one of them. | +| `registration_pending` | 503 | The files were stored, but the plugin's skills could not yet be made available to members. See [Retrying uploads](https://platform.claude.com/docs/en/manage-claude/plugins-api#retrying-uploads). | +| `scan_pending` | 409 | The version's content scan is still running. Retry once it finishes. | +| `scan_failed` | 400 | The version's content scan failed, errored, or reached no verdict, so it cannot be served. Choose another version. | +| `cmek_key_disabled`, `cmek_key_network_blocked` | 400 | Your organization's customer-managed encryption key is unavailable. See [Customer-managed encryption keys](https://platform.claude.com/docs/en/manage-claude/plugins-api#customer-managed-encryption-keys). | New codes may be added. Treat a code you do not recognize the way you treat its status. @@ -3198,7 +3198,7 @@ An upload that returns an error stored nothing, with one exception: `503` with ` * On `POST /v1/organizations/plugins`, the plugin *was* created, and the response carries `x-should-retry: false`: do not resend the create (a resend returns `409 plugin_name_taken`); instead upload the same files as a version of `details.plugin_id`. * On `POST /v1/organizations/plugins/{plugin_id}/versions`, the version *was* stored (`details.plugin_version_id`); resend the same request when the response carries `x-should-retry: true`, and do not when it carries `false`. -If a create's response is lost, retry it: the retry returns `409 plugin_name_taken` with the plugin's ID in `details.plugin_id`, and you continue with that plugin. Retrying a version create whose response was lost stores a second, identical version. To avoid that, record the plugin's `latest_version_id` before each upload; if a response is lost, read the plugin and retry only if `latest_version_id` is unchanged. +If a create's response is lost, send the create again. A `409 plugin_name_taken` means either that the first attempt stored the plugin or that the name was already taken. Your lost create made the plugin in `details.plugin_id` only if its `created_by` is an `api_actor` with your key's `api_key_id`. Check that before you upload to it (see `plugin_name_taken` in the preceding table). Retrying a version create whose response was lost stores a second, identical version. To avoid that, record the plugin's `latest_version_id` before each upload; if a response is lost, read the plugin and retry only if `latest_version_id` is unchanged. ## Activity Feed events diff --git a/content/en/managed-agents/agent-setup.md b/content/en/managed-agents/agent-setup.md index 9385373b8a..e4a0908570 100644 --- a/content/en/managed-agents/agent-setup.md +++ b/content/en/managed-agents/agent-setup.md @@ -88,7 +88,7 @@ The examples use curl, the `ant` CLI, or one of the SDKs. If you haven't set one name: "Coding Assistant", model: "claude-opus-5-5", system: "You are a helpful coding agent.", - tools: [{ type: "agent_toolset_20260401" }], + tools: [{ type: "agent_toolset_20260401" }] }); ``` @@ -263,7 +263,7 @@ The following example pins an agent to US inference. The response carries the `i const agent = await client.beta.agents.create({ name: "Geo-pinned assistant", model: { id: "claude-opus-5-5", inference_geo: "us" }, - system: "You are a helpful assistant.", + system: "You are a helpful assistant." }); console.log(`Inference geo: ${agent.model.inference_geo}`); @@ -396,7 +396,7 @@ With the CLI, edit the agent's file and run `ant apply` again; apply supplies `v ```typescript TypeScript const updatedAgent = await client.beta.agents.update(agent.id, { version: agent.version, - system: "You are a helpful coding agent. Always write tests.", + system: "You are a helpful coding agent. Always write tests." }); console.log(`New version: ${updatedAgent.version}`); @@ -488,7 +488,7 @@ The preceding example supplies `version` from the create response, so the update ```typescript TypeScript const unconditionalAgent = await client.beta.agents.update(agent.id, { - description: "Writes and reviews code.", + description: "Writes and reviews code." }); console.log(`New version: ${unconditionalAgent.version}`); @@ -619,7 +619,7 @@ The following update clears the description, deletes the `team` key from `metada const clearedAgent = await client.beta.agents.update(agent.id, { description: null, metadata: { team: null }, - multiagent: { type: "multiagent_20261001", workflows: null }, + multiagent: { type: "multiagent_20261001", workflows: null } }); console.log(`Description: ${clearedAgent.description}`); diff --git a/content/en/managed-agents/define-outcomes.md b/content/en/managed-agents/define-outcomes.md index fec78f5d10..64d6ed80c0 100644 --- a/content/en/managed-agents/define-outcomes.md +++ b/content/en/managed-agents/define-outcomes.md @@ -112,7 +112,7 @@ Pass the rubric as inline text on `user.define_outcome` (see [Create a session w await writeFile("/tmp/rubric.md", RUBRIC); const rubric = await client.files.upload({ - file: await toFile(readFile("/tmp/rubric.md"), "/tmp/rubric.md"), + file: await toFile(readFile("/tmp/rubric.md"), "/tmp/rubric.md") }); console.log(`Uploaded rubric: ${rubric.id}`); ``` @@ -367,7 +367,7 @@ The following examples create a [session](https://platform.claude.com/docs/en/ma const session = await client.beta.sessions.create({ agent: agent.id, environment_id: environment.id, - title: "Financial analysis on Costco", + title: "Financial analysis on Costco" }); // Define the outcome — agent starts working on receipt @@ -378,9 +378,9 @@ The following examples create a [session](https://platform.claude.com/docs/en/ma description: "Build a DCF model for Costco in .xlsx", rubric: { type: "text", content: RUBRIC }, // or: rubric: { type: "file", file_id: rubric.id }, - max_iterations: 5, // optional; default 3, max 20 - }, - ], + max_iterations: 5 // optional; default 3, max 20 + } + ] }); ``` @@ -746,7 +746,7 @@ The agent writes output files to `/mnt/session/outputs/` inside the sandbox. To // scope_id filtering requires the managed-agents beta on the files request const files = await client.beta.files.list({ scope_id: session.id, - betas: ["managed-agents-2026-04-01"], + betas: ["managed-agents-2026-04-01"] }); for (const file of files.data) { console.log(file.id, file.filename); diff --git a/content/en/managed-agents/dreams.md b/content/en/managed-agents/dreams.md index 197c0d1183..8e1b3983c6 100644 --- a/content/en/managed-agents/dreams.md +++ b/content/en/managed-agents/dreams.md @@ -74,10 +74,10 @@ The dream produces another **output memory store**, separate from the input. The let dream = await client.beta.dreams.create({ inputs: [ { type: "memory_store", memory_store_id: storeId }, - { type: "sessions", session_ids: [sessionA, sessionB] }, + { type: "sessions", session_ids: [sessionA, sessionB] } ], model: "claude-opus-5-5", - instructions: "Focus on coding-style preferences; ignore one-off debugging notes.", + instructions: "Focus on coding-style preferences; ignore one-off debugging notes." }); console.log(dream.id); // drm_01... ``` @@ -347,9 +347,7 @@ When `status` (csharp, go: `Status`) reaches `completed`, the `memory_store` ent await client.beta.sessions.create({ agent: agentId, environment_id: environmentId, - resources: [ - { type: "memory_store", memory_store_id: outputStoreId }, - ], + resources: [{ type: "memory_store", memory_store_id: outputStoreId }] }); ``` diff --git a/content/en/managed-agents/environments.md b/content/en/managed-agents/environments.md index fda93946be..d34edb57cd 100644 --- a/content/en/managed-agents/environments.md +++ b/content/en/managed-agents/environments.md @@ -69,8 +69,8 @@ This page covers `type: cloud` environments. To run sandboxes on your own infras name: "python-dev", config: { type: "cloud", - networking: { type: "limited", allow_package_managers: true }, - }, + networking: { type: "limited", allow_package_managers: true } + } }); console.log(`Environment ID: ${environment.id}`); @@ -181,7 +181,7 @@ Pass the environment ID as a string when [creating a session](https://platform.c ```typescript TypeScript const session = await client.beta.sessions.create({ agent: agent.id, - environment_id: environment.id, + environment_id: environment.id }); ``` diff --git a/content/en/managed-agents/event-deltas.md b/content/en/managed-agents/event-deltas.md index 6996491ce0..5ce9fd6b00 100644 --- a/content/en/managed-agents/event-deltas.md +++ b/content/en/managed-agents/event-deltas.md @@ -131,7 +131,9 @@ The following examples opt in to `agent.message` previews and reconcile them wit events=[ { "type": "user.message", - "content": [{"type": "text", "text": "Describe the repo in one sentence."}], + "content": [ + {"type": "text", "text": "Describe the repo in one sentence."} + ], }, ], ) @@ -144,14 +146,18 @@ The following examples opt in to `agent.message` previews and reconcile them wit previews[event.event.id] = snapshot print(f"event_start {event.event.type} {event.event.id}") case "event_delta": - preview = accumulate_managed_agents_event(previews.get(event.event_id), event) + preview = accumulate_managed_agents_event( + previews.get(event.event_id), event + ) if preview is not None: previews[event.event_id] = preview text = "".join(block.text for block in preview.content) print(f"event_delta preview: {text!r}") case "agent.message": # The buffered event is the record: it replaces and closes the preview - preview = accumulate_managed_agents_event(previews.pop(event.id, None), event) + preview = accumulate_managed_agents_event( + previews.pop(event.id, None), event + ) text = "".join(block.text for block in preview.content) print(f"agent.message {event.id} {text!r}") case "span.model_request_end": @@ -171,7 +177,7 @@ The following examples opt in to `agent.message` previews and reconcile them wit // Opt in to agent.message previews for this connection only const stream = await client.beta.sessions.events.stream(session.id, { - event_deltas: ["agent.message"], + event_deltas: ["agent.message"] }); await client.beta.sessions.events.send(session.id, { events: [ @@ -636,7 +642,7 @@ A thread stream's path ends in `/threads/{thread_id}/stream`. `/events/stream` e // session stream. const stream = await client.beta.sessions.threads.events.stream(childThreadId, { session_id: session.id, - event_deltas: ["agent.message"], + event_deltas: ["agent.message"] }); threadDeltas: for await (const event of stream) { diff --git a/content/en/managed-agents/events-and-streaming.md b/content/en/managed-agents/events-and-streaming.md index 052ea9bc3a..3f59335570 100644 --- a/content/en/managed-agents/events-and-streaming.md +++ b/content/en/managed-agents/events-and-streaming.md @@ -566,11 +566,11 @@ Send a `user.message` event to start or continue the agent's work: content: [ { type: "text", - text: "Analyze the performance of the sort function in utils.py", - }, - ], - }, - ], + text: "Analyze the performance of the sort function in utils.py" + } + ] + } + ] }); ``` @@ -742,9 +742,9 @@ The following example answers each call as it arrives: { type: "user.custom_tool_result", custom_tool_use_id: event.id, - content: [{ type: "text", text: result }], - }, - ], + content: [{ type: "text", text: result }] + } + ] }); break; } @@ -977,9 +977,9 @@ The following example approves every pending call: { type: "user.tool_confirmation", tool_use_id: eventId, - result: "allow", - }, - ], + result: "allow" + } + ] }); } } @@ -1190,11 +1190,11 @@ Sessions persist between interactions. To resume a session, send a `user.message content: [ { type: "text", - text: "Now run the tests against the changes you made earlier.", - }, - ], - }, - ], + text: "Now run the tests against the changes you made earlier." + } + ] + } + ] }); ``` @@ -1366,11 +1366,11 @@ Send a `user.interrupt` event to stop the agent mid-execution, then follow up wi content: [ { type: "text", - text: "Instead, focus on fixing the bug in line 42.", - }, - ], - }, - ], + text: "Instead, focus on fixing the bug in line 42." + } + ] + } + ] }); ``` @@ -1589,7 +1589,7 @@ Pass a `types` (curl: `types[]`; cli: `--type`; csharp, go: `Types`) filter to r ```typescript TypeScript const events = await client.beta.sessions.events.list(session.id, { - types: ["agent.tool_use", "agent.tool_result"], + types: ["agent.tool_use", "agent.tool_result"] }); for (const event of events.data) { console.log(`[${event.type}] ${event.processed_at}`); @@ -1717,11 +1717,11 @@ The event's `content` (csharp, go: `Content`) accepts 1–1000 text items. The c content: [ { type: "text", - text: "The user's current timezone is America/New_York.", - }, - ], - }, - ], + text: "The user's current timezone is America/New_York." + } + ] + } + ] }); ``` diff --git a/content/en/managed-agents/files.md b/content/en/managed-agents/files.md index 604d95bb13..96555b6cf2 100644 --- a/content/en/managed-agents/files.md +++ b/content/en/managed-agents/files.md @@ -36,7 +36,7 @@ First, upload a file using the [Files API](https://platform.claude.com/docs/en/b ```typescript TypeScript const file = await client.files.upload({ - file: await toFile(readFile("data.csv"), "data.csv", { type: "text/csv" }), + file: await toFile(readFile("data.csv"), "data.csv", { type: "text/csv" }) }); console.log(`File ID: ${file.id}`); ``` @@ -144,9 +144,9 @@ Mount uploaded files into the sandbox by adding them to the `resources` (csharp, { type: "file", file_id: file.id, - mount_path: "/data.csv", - }, - ], + mount_path: "/data.csv" + } + ] }); ``` @@ -390,7 +390,7 @@ You can add or remove files from a session after creation using the session reso ```typescript TypeScript const resource = await client.beta.sessions.resources.add(session.id, { type: "file", - file_id: file.id, + file_id: file.id }); if (resource.type !== "file") { throw new Error(`Unexpected resource type: ${resource.type}`); @@ -494,7 +494,7 @@ List all resources on a session with `GET /v1/sessions/{session_id}/resources` ( } await client.beta.sessions.resources.delete(resource.id, { - session_id: session.id, + session_id: session.id }); ``` diff --git a/content/en/managed-agents/github.md b/content/en/managed-agents/github.md index e68403edf9..df5ae1ff60 100644 --- a/content/en/managed-agents/github.md +++ b/content/en/managed-agents/github.md @@ -102,16 +102,16 @@ First, create an agent that declares the GitHub MCP server. The agent definition { type: "url", name: "github", - url: "https://api.githubcopilot.com/mcp/", - }, + url: "https://api.githubcopilot.com/mcp/" + } ], tools: [ { type: "agent_toolset_20260401" }, { type: "mcp_toolset", - mcp_server_name: "github", - }, - ], + mcp_server_name: "github" + } + ] }); ``` @@ -299,9 +299,9 @@ Then create a session that mounts the GitHub repository. With a `limited` [envir type: "github_repository", url: "https://github.com/org/repo", mount_path: "/workspace/repo", - authorization_token: "ghp_your_github_token", - }, - ], + authorization_token: "ghp_your_github_token" + } + ] }); ``` @@ -486,14 +486,14 @@ Mount multiple repositories by adding entries to the `resources` (csharp, go: `R type: "github_repository", url: "https://github.com/org/frontend", mount_path: "/workspace/frontend", - authorization_token: "ghp_your_github_token", + authorization_token: "ghp_your_github_token" }, { type: "github_repository", url: "https://github.com/org/backend", mount_path: "/workspace/backend", - authorization_token: "ghp_your_github_token", - }, + authorization_token: "ghp_your_github_token" + } ]; ``` @@ -641,9 +641,7 @@ After a session is created, you can list its repository resources and rotate the ```typescript TypeScript // List resources on the session const listed = await client.beta.sessions.resources.list(session.id); - const repoResource = listed.data.find( - (entry) => entry.type === "github_repository", - ); + const repoResource = listed.data.find((entry) => entry.type === "github_repository"); if (!repoResource) { throw new Error("No GitHub repository resource on the session"); } @@ -653,7 +651,7 @@ After a session is created, you can list its repository resources and rotate the // Rotate the authorization token await client.beta.sessions.resources.update(repoResourceId, { session_id: session.id, - authorization_token: "ghp_your_new_github_token", + authorization_token: "ghp_your_new_github_token" }); ``` @@ -793,11 +791,11 @@ With the GitHub MCP server, the agent can create branches, commit changes, and p content: [ { type: "text", - text: "Fix the type error in src/utils.ts, commit it to a new branch, and push it.", - }, - ], - }, - ], + text: "Fix the type error in src/utils.ts, commit it to a new branch, and push it." + } + ] + } + ] }); ``` diff --git a/content/en/managed-agents/mcp-connector.md b/content/en/managed-agents/mcp-connector.md index 90eddd8aa7..70567a5cd1 100644 --- a/content/en/managed-agents/mcp-connector.md +++ b/content/en/managed-agents/mcp-connector.md @@ -98,13 +98,13 @@ Each declared server also needs a matching `mcp_toolset` entry in the `tools` (c { type: "url", name: "github", - url: "https://api.githubcopilot.com/mcp/", - }, + url: "https://api.githubcopilot.com/mcp/" + } ], tools: [ { type: "agent_toolset_20260401" }, - { type: "mcp_toolset", mcp_server_name: "github" }, - ], + { type: "mcp_toolset", mcp_server_name: "github" } + ] }); ``` @@ -322,7 +322,7 @@ With a `limited` [environment](https://platform.claude.com/docs/en/managed-agent const session = await client.beta.sessions.create({ agent: agent.id, environment_id: environment.id, - vault_ids: [vault.id], + vault_ids: [vault.id] }); ``` diff --git a/content/en/managed-agents/multiagent-orchestration.md b/content/en/managed-agents/multiagent-orchestration.md index ac01e8d977..064e97c0f8 100644 --- a/content/en/managed-agents/multiagent-orchestration.md +++ b/content/en/managed-agents/multiagent-orchestration.md @@ -221,10 +221,10 @@ When [defining your agent](https://platform.claude.com/docs/en/managed-agents/ag type: "enabled", predefined_agents: [ { type: "agent", id: reviewerAgent.id }, - { type: "agent", id: testWriterAgent.id }, - ], - }, - }, + { type: "agent", id: testWriterAgent.id } + ] + } + } }); ``` @@ -395,7 +395,7 @@ Create a session referencing the agent. The agent delegates to the agents you li ```typescript TypeScript const session = await client.beta.sessions.create({ agent: leadAgent.id, - environment_id: environment.id, + environment_id: environment.id }); ``` @@ -556,10 +556,8 @@ Create the researcher, which declares the GitHub MCP server, and the agent that const researchAgent = await client.beta.agents.create({ name: "researcher", model: "claude-haiku-5-5", - mcp_servers: [ - { type: "url", name: "github", url: "https://api.githubcopilot.com/mcp/" }, - ], - tools: [{ type: "mcp_toolset", mcp_server_name: "github" }], + mcp_servers: [{ type: "url", name: "github", url: "https://api.githubcopilot.com/mcp/" }], + tools: [{ type: "mcp_toolset", mcp_server_name: "github" }] }); const leadAgent = await client.beta.agents.create({ @@ -570,9 +568,9 @@ Create the researcher, which declares the GitHub MCP server, and the agent that type: "multiagent_20261001", subagents: { type: "enabled", - predefined_agents: [{ type: "agent", id: researchAgent.id }], - }, - }, + predefined_agents: [{ type: "agent", id: researchAgent.id }] + } + } }); ``` @@ -809,7 +807,7 @@ Then create the session with the vault that holds the GitHub credential: const session = await client.beta.sessions.create({ agent: leadAgent.id, environment_id: environment.id, - vault_ids: [vault.id], + vault_ids: [vault.id] }); console.log(session.id); ``` @@ -946,7 +944,7 @@ Before you change an existing agent's `multiagent.type`, see [how to move an age system: "You review contracts. When you're asked to review more than a few contracts, start a workflow run that reads them in parallel and combines the findings. Review one or two contracts yourself, without a run.", tools: [{ type: "agent_toolset_20260401" }], - multiagent: { type: "multiagent_20261001", workflows: { type: "enabled" } }, + multiagent: { type: "multiagent_20261001", workflows: { type: "enabled" } } }); ``` @@ -1176,8 +1174,8 @@ An enabled `advisor` setting in the agent's `multiagent` (csharp, go: `Multiagen "You implement backend features end to end. Consult the advisor before major backend design decisions.", multiagent: { type: "multiagent_20261001", - advisor: { type: "enabled", model: "claude-opus-5-5" }, - }, + advisor: { type: "enabled", model: "claude-opus-5-5" } + } }); console.log(agent.id); ``` diff --git a/content/en/managed-agents/onboarding.md b/content/en/managed-agents/onboarding.md index d2d5721bd1..c185ecb7c9 100644 --- a/content/en/managed-agents/onboarding.md +++ b/content/en/managed-agents/onboarding.md @@ -14,7 +14,7 @@ featureMetadata: ## How to build an agent -The [visual interface](https://platform.claude.com/workspaces/default/agent-quickstart/) walks you through each field of an agent definition: +The [visual interface](https://platform.claude.com/workspaces/default/agent-quickstart/) in the Claude Console walks you through each field of an agent definition: * **Model and system prompt:** Pick a model and write the system prompt in a full-width editor. * **MCP servers:** Add remote MCP servers by URL and authenticate your agent to take action on your behalf. diff --git a/content/en/managed-agents/overview.md b/content/en/managed-agents/overview.md index ee5936ddce..664f1b8c40 100644 --- a/content/en/managed-agents/overview.md +++ b/content/en/managed-agents/overview.md @@ -102,7 +102,7 @@ See [Tools](https://platform.claude.com/docs/en/managed-agents/tools) for the fu To get started, you need: -1. A [Claude API key](https://platform.claude.com/settings/keys) +1. A [Claude API key](https://platform.claude.com/settings/keys) from the Claude Console 2. The `managed-agents-2026-04-01` beta header on all requests 3. Access to Claude Managed Agents (enabled by default for all API accounts) diff --git a/content/en/managed-agents/quickstart.md b/content/en/managed-agents/quickstart.md index ab67d3f3ab..0539526aea 100644 --- a/content/en/managed-agents/quickstart.md +++ b/content/en/managed-agents/quickstart.md @@ -34,7 +34,7 @@ This guide walks you through creating an agent, setting up an environment, start ## Prerequisites * A [Claude Console account](https://platform.claude.com) -* An [API key](https://platform.claude.com/settings/keys) +* An [API key](https://platform.claude.com/settings/keys) from the Console ## Install the CLI @@ -214,9 +214,7 @@ export ANTHROPIC_API_KEY="your-api-key-here" name: "Coding Assistant", model: "claude-opus-5-5", system: "You are a helpful coding assistant. Write clean, well-documented code.", - tools: [ - { type: "agent_toolset_20260401" }, - ], + tools: [{ type: "agent_toolset_20260401" }] }); console.log(`Agent ID: ${agent.id}, version: ${agent.version}`); @@ -433,8 +431,8 @@ export ANTHROPIC_API_KEY="your-api-key-here" name: "quickstart-env", config: { type: "cloud", - networking: { type: "limited", allow_package_managers: true }, - }, + networking: { type: "limited", allow_package_managers: true } + } }); console.log(`Environment ID: ${environment.id}`); @@ -582,7 +580,7 @@ export ANTHROPIC_API_KEY="your-api-key-here" const session = await client.beta.sessions.create({ agent: agent.id, environment_id: environment.id, - title: "Quickstart session", + title: "Quickstart session" }); console.log(`Session ID: ${session.id}`); @@ -699,11 +697,11 @@ export ANTHROPIC_API_KEY="your-api-key-here" content: [ { type: "text", - text: "Create a Python script that generates the first 20 Fibonacci numbers and saves them to fibonacci.txt", - }, - ], - }, - ], + text: "Create a Python script that generates the first 20 Fibonacci numbers and saves them to fibonacci.txt" + } + ] + } + ] }); // Process streaming events diff --git a/content/en/managed-agents/scheduled-deployments.md b/content/en/managed-agents/scheduled-deployments.md index 215dac83f4..1f28037096 100644 --- a/content/en/managed-agents/scheduled-deployments.md +++ b/content/en/managed-agents/scheduled-deployments.md @@ -103,14 +103,14 @@ When creating a deployment, you pass the [session configurations](https://platfo initial_events: [ { type: "user.message", - content: [{ type: "text", text: "Run the weekly compliance scan." }], - }, + content: [{ type: "text", text: "Run the weekly compliance scan." }] + } ], schedule: { type: "cron", expression: "0 20 * * 5", - timezone: "America/New_York", - }, + timezone: "America/New_York" + } }); ``` @@ -335,8 +335,8 @@ The following example sets a budget on an existing deployment: const updatedDeployment = await client.beta.deployments.update(deployment.id, { budget: { type: "limit", - max_list_cost: { amount: "2000", currency: "USD" }, - }, + max_list_cost: { amount: "2000", currency: "USD" } + } }); console.log(updatedDeployment.budget?.max_list_cost.amount); // 2000 ``` @@ -437,7 +437,7 @@ List all deployment runs for a deployment as follows: ```typescript TypeScript for await (const run of client.beta.deploymentRuns.list({ - deployment_id: deployment.id, + deployment_id: deployment.id })) { console.log(run.created_at, run.session_id ?? run.error?.type); } @@ -528,7 +528,7 @@ You can additionally filter on deployment runs with errors: ```typescript TypeScript for await (const run of client.beta.deploymentRuns.list({ deployment_id: deployment.id, - has_error: true, + has_error: true })) { console.log(run.created_at, run.error?.type, run.error?.message); } diff --git a/content/en/managed-agents/self-hosted-sandboxes-custom-tools.md b/content/en/managed-agents/self-hosted-sandboxes-custom-tools.md index b911171e1e..7f2bbf8a58 100644 --- a/content/en/managed-agents/self-hosted-sandboxes-custom-tools.md +++ b/content/en/managed-agents/self-hosted-sandboxes-custom-tools.md @@ -172,7 +172,6 @@ The environment key authorizes posting custom tool results, so your Claude API k log.Fatalf("worker: %v", err) } } - ``` @@ -223,6 +222,7 @@ The examples connect without authentication. To send credentials, configure the from anthropic import AsyncAnthropic from anthropic.types.beta import BetaManagedAgentsCustomToolParams from mcp import ClientSession, types + # Requires mcp >= 1.24, which renamed streamablehttp_client to streamable_http_client. from mcp.client.streamable_http import streamable_http_client @@ -456,7 +456,6 @@ The examples connect without authentication. To send credentials, configure the } fmt.Println(agent.ID) } - ``` ```java Java @@ -609,6 +608,7 @@ The examples connect without authentication. To send credentials, configure the from anthropic.lib.tools.agent_toolset import beta_agent_toolset_20260401 from anthropic.lib.tools.mcp import async_mcp_tool from mcp import ClientSession + # Requires mcp >= 1.24, which renamed streamablehttp_client to streamable_http_client. from mcp.client.streamable_http import streamable_http_client @@ -623,7 +623,9 @@ The examples connect without authentication. To send credentials, configure the # result instead of a stalled call. async with ( streamable_http_client(MCP_SERVER_URL) as (read, write, _), - ClientSession(read, write, read_timeout_seconds=timedelta(seconds=60)) as mcp_session, + ClientSession( + read, write, read_timeout_seconds=timedelta(seconds=60) + ) as mcp_session, AsyncAnthropic(auth_token=environment_key) as client, ): await mcp_session.initialize() @@ -746,7 +748,6 @@ The examples connect without authentication. To send credentials, configure the log.Fatalf("worker: %v", err) } } - ``` diff --git a/content/en/managed-agents/self-hosted-sandboxes-workers.md b/content/en/managed-agents/self-hosted-sandboxes-workers.md index 9e622966fe..cffc50f33d 100644 --- a/content/en/managed-agents/self-hosted-sandboxes-workers.md +++ b/content/en/managed-agents/self-hosted-sandboxes-workers.md @@ -138,7 +138,6 @@ Start a worker that polls the queue continuously. It authenticates with the [env log.Fatalf("worker: %v", err) } } - ``` @@ -407,7 +406,6 @@ Start a worker that polls the queue continuously. It authenticates with the [env slog.Error("http shutdown", "err", err) } } - ``` @@ -708,7 +706,9 @@ Replace the `ant beta:worker run` entrypoint with an SDK entrypoint when the san async def main() -> None: - async with AsyncAnthropic(auth_token=os.environ["ANTHROPIC_ENVIRONMENT_KEY"]) as client: + async with AsyncAnthropic( + auth_token=os.environ["ANTHROPIC_ENVIRONMENT_KEY"] + ) as client: worker = EnvironmentWorker(client, workdir="/workspace") # With no arguments, handle_item() reads the ANTHROPIC_* variables the spawn # script forwarded, including ANTHROPIC_WORK_SECRET. @@ -780,7 +780,6 @@ Replace the `ant beta:worker run` entrypoint with an SDK entrypoint when the san log.Fatalf("worker: %v", err) } } - ``` diff --git a/content/en/managed-agents/self-hosted-sandboxes.md b/content/en/managed-agents/self-hosted-sandboxes.md index d7d6891c81..f31594eb21 100644 --- a/content/en/managed-agents/self-hosted-sandboxes.md +++ b/content/en/managed-agents/self-hosted-sandboxes.md @@ -144,7 +144,7 @@ This quickstart runs one always-on worker with the `ant` CLI, sends it a session ``` ```php PHP - $client = new \Anthropic\Client(); + $client = new Client(); $environment = $client->beta->environments->create( name: 'self-hosted', diff --git a/content/en/managed-agents/session-threads.md b/content/en/managed-agents/session-threads.md index a48c837415..195d4eca80 100644 --- a/content/en/managed-agents/session-threads.md +++ b/content/en/managed-agents/session-threads.md @@ -135,7 +135,7 @@ Send `user.interrupt` with `session_thread_id` (java: `sessionThreadId`; php: `s ```typescript TypeScript await client.beta.sessions.events.send(session.id, { - events: [{ type: "user.interrupt", session_thread_id: thread.id }], + events: [{ type: "user.interrupt", session_thread_id: thread.id }] }); ``` @@ -221,7 +221,7 @@ Optionally archive a session thread when it has completed its work. Archiving a ```typescript TypeScript const archived = await client.beta.sessions.threads.archive(thread.id, { - session_id: session.id, + session_id: session.id }); console.log(archived.status, archived.archived_at); ``` @@ -300,10 +300,10 @@ Archive only succeeds if the thread is `idle`. A thread parked on `requires_acti ```typescript TypeScript await client.beta.sessions.events.send(session.id, { - events: [{ type: "user.interrupt", session_thread_id: thread.id }], + events: [{ type: "user.interrupt", session_thread_id: thread.id }] }); const archived = await client.beta.sessions.threads.archive(thread.id, { - session_id: session.id, + session_id: session.id }); console.log(archived.status, archived.archived_at); ``` @@ -447,7 +447,7 @@ A thread's stream doesn't replay earlier events. Right after `session.thread_cre ```typescript TypeScript const stream = await client.beta.sessions.threads.events.stream(thread.id, { - session_id: session.id, + session_id: session.id }); loop: for await (const event of stream) { @@ -594,7 +594,7 @@ A thread's stream doesn't replay earlier events. Right after `session.thread_cre ```typescript TypeScript for await (const event of client.beta.sessions.threads.events.list(thread.id, { - session_id: session.id, + session_id: session.id })) { console.log(`[${event.type}] ${event.processed_at}`); } @@ -712,9 +712,9 @@ The following example goes inside the event loop of the [tool confirmation handl { type: "user.tool_confirmation", tool_use_id: eventId, - result: "allow", - }, - ], + result: "allow" + } + ] }); } ``` diff --git a/content/en/managed-agents/skills.md b/content/en/managed-agents/skills.md index 1be6330a6f..e19e056297 100644 --- a/content/en/managed-agents/skills.md +++ b/content/en/managed-agents/skills.md @@ -487,9 +487,9 @@ To load skills from a repository, create a session that mounts it. This is the s type: "github_repository", url: "https://github.com/org/repo", mount_path: "/workspace/repo", - authorization_token: "ghp_your_github_token", - }, - ], + authorization_token: "ghp_your_github_token" + } + ] }); ``` diff --git a/content/en/managed-agents/vaults.md b/content/en/managed-agents/vaults.md index 309788e17a..6b49411e13 100644 --- a/content/en/managed-agents/vaults.md +++ b/content/en/managed-agents/vaults.md @@ -61,7 +61,7 @@ A vault is the collection of `credentials` associated with an end user. Give it ```typescript TypeScript const vault = await client.beta.vaults.create({ display_name: "Alice", - metadata: { external_user_id: "usr_abc123" }, + metadata: { external_user_id: "usr_abc123" } }); console.log(vault.id); // "vlt_01ABC..." ``` @@ -213,7 +213,10 @@ To get the same behavior with a self-hosted sandbox, you can run your own proxy "client_id": "1234567890.0987654321", "scope": "channels:read chat:write", "refresh_token": "xoxe-1-...", - "token_endpoint_auth": {"type": "client_secret_post", "client_secret": "abc123..."}, + "token_endpoint_auth": { + "type": "client_secret_post", + "client_secret": "abc123...", + }, }, }, ) @@ -234,10 +237,10 @@ To get the same behavior with a self-hosted sandbox, you can run your own proxy refresh_token: "xoxe-1-...", token_endpoint_auth: { type: "client_secret_post", - client_secret: "abc123...", - }, - }, - }, + client_secret: "abc123..." + } + } + } }); ``` @@ -416,8 +419,8 @@ To get the same behavior with a self-hosted sandbox, you can run your own proxy auth: { type: "static_bearer", mcp_server_url: "https://mcp.linear.app/mcp", - token: "lin_api_your_linear_key", - }, + token: "lin_api_your_linear_key" + } }); ``` @@ -558,7 +561,9 @@ To get the same behavior with a self-hosted sandbox, you can run your own proxy ) if env_credential.auth.type == "environment_variable": location = env_credential.auth.injection_location - print(f"header: {location.header}, body: {location.body}") # header: True, body: False + print( + f"header: {location.header}, body: {location.body}" + ) # header: True, body: False ``` ```typescript TypeScript @@ -570,10 +575,10 @@ To get the same behavior with a self-hosted sandbox, you can run your own proxy secret_value: "ntn_your-secret-here", networking: { type: "limited", - allowed_hosts: ["api.notion.com"], + allowed_hosts: ["api.notion.com"] }, - injection_location: { header: true }, - }, + injection_location: { header: true } + } }); if (envVarCredential.auth.type === "environment_variable") { console.log(envVarCredential.auth.injection_location); // { header: true, body: false } @@ -775,7 +780,7 @@ Pass `vault_ids` (java: `vaultIds`; php: `vaultIDs`; csharp: `VaultIds`; go: `Va agent: agent.id, environment_id: environment.id, vault_ids: [vault.id], - title: "Alice's Slack digest", + title: "Alice's Slack digest" }); ``` @@ -895,9 +900,9 @@ Secret values, `display_name` (java, php: `displayName`; csharp, go: `DisplayNam access_token: "xoxp-new-...", expires_at: "2099-12-31T23:59:59Z", refresh: { - refresh_token: "xoxe-1-new-...", - }, - }, + refresh_token: "xoxe-1-new-..." + } + } }); ``` @@ -1030,10 +1035,9 @@ The top-level `status` (csharp, go: `Status`) tells you what to do next: ``` ```typescript TypeScript - const validation = await client.beta.vaults.credentials.mcpOAuthValidate( - credential.id, - { vault_id: vault.id }, - ); + const validation = await client.beta.vaults.credentials.mcpOAuthValidate(credential.id, { + vault_id: vault.id + }); console.log(validation.status); // "valid", "invalid", or "unknown" ``` diff --git a/content/en/managed-agents/workflow-runs.md b/content/en/managed-agents/workflow-runs.md index ea3dc14b4e..cde9a56e55 100644 --- a/content/en/managed-agents/workflow-runs.md +++ b/content/en/managed-agents/workflow-runs.md @@ -254,9 +254,14 @@ This sample follows a session from your message to the agent's answer. It opens events: [ { type: "user.message", - content: [{ type: "text", text: "Which contracts in /contracts have a change-of-control clause?" }], - }, - ], + content: [ + { + type: "text", + text: "Which contracts in /contracts have a change-of-control clause?" + } + ] + } + ] }); events: for await (const event of stream) { @@ -290,9 +295,9 @@ This sample follows a session from your message to the agent's answer. It opens { type: "user.custom_tool_result", custom_tool_use_id: event.id, - content: [{ type: "text", text: result }], - }, - ], + content: [{ type: "text", text: result }] + } + ] }); } catch (error) { // The server refuses a result that comes too late, after it @@ -439,7 +444,7 @@ This sample follows a session from your message to the agent's answer. It opens ``` ```go Go - openRuns := map[string]string{} // workflow_run_id -> run name + openRuns := map[string]string{} // workflow_run_id -> run name phaseNames := map[[2]string]string{} // {run ID, phase ID} -> phase name // Open the stream first, then send the user message diff --git a/content/en/models/haiku-5-5/migration-guide.md b/content/en/models/haiku-5-5/migration-guide.md index 01f6055708..678afcc0cd 100644 --- a/content/en/models/haiku-5-5/migration-guide.md +++ b/content/en/models/haiku-5-5/migration-guide.md @@ -38,7 +38,6 @@ Work down the groups and stop after the one that names your current model. If yo 8. If you replay stored conversations through a different account, replay each one through the account that produced it. See [Replay thinking blocks through the account that produced them](https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide#replay-thinking-blocks-through-the-producing-account). 9. If your code changes `system`, `tools`, or earlier `messages` between requests in a conversation and sends thinking blocks back, keep the conversation append-only. See [Keep earlier turns unchanged](https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide#keep-earlier-turns-unchanged). 10. Handle `stop_reason: "refusal"`. Claude Haiku 5.5 runs safety classifiers that can decline a request, and it has no server-side fallback. See [Safeguard refusals](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-haiku-5-5#safeguard-refusals). -11. If you use [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) (`output_config.format` or `strict: true` tools) on Amazon Bedrock, describe the format in the prompt or use a tool without `strict`, and validate the output in your code. Structured outputs aren't available for Claude Haiku 5.5 on Amazon Bedrock. If your organization has a [Priority Tier](https://platform.claude.com/docs/en/api/service-tiers#supported-models) commitment on Claude Haiku 4.5, plan capacity separately: Priority Tier is not supported on Claude Haiku 5.5. @@ -125,7 +124,7 @@ Claude Haiku 4.5 accepts `temperature`, `top_p`, and `top_k`. On Claude Haiku 5. A prefill is a final assistant turn in `messages` that the model continues. Claude Haiku 4.5 accepts one when thinking is off. Claude Haiku 5.5 rejects it with a 400 error, even with thinking turned off. End `messages` with a user turn, and replace each prefill according to what it was for: -* **Output format:** use [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs), or tools with enum fields for classification. On Amazon Bedrock, structured outputs aren't available for Claude Haiku 5.5. There, describe the format in the prompt or use a tool without `strict`, and validate the output in your code. +* **Output format:** use [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs), or tools with enum fields for classification. * **Preambles:** ask in the system prompt for a direct answer. * **Continuations:** move them to the user message, for example "Your previous response was interrupted and ended with `[previous_response]`. Continue from where you left off." * **Context reminders:** put them in the user turn. diff --git a/content/en/models/haiku-5-5/whats-new-haiku-5-5.md b/content/en/models/haiku-5-5/whats-new-haiku-5-5.md index eed81e09cf..39411e2e43 100644 --- a/content/en/models/haiku-5-5/whats-new-haiku-5-5.md +++ b/content/en/models/haiku-5-5/whats-new-haiku-5-5.md @@ -22,7 +22,6 @@ Each row names one change, whether it is new, changed, or breaking, and what you | [Sampling parameters can return an error](https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide#remove-sampling-parameters) | Breaking | Omit `temperature`, `top_p`, and `top_k`. | | [Assistant message prefill returns an error](https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide#replace-assistant-prefill) | Breaking | End `messages` with a user turn. | | [`computer_20250124` returns an error on the Claude API, Google Cloud, and Amazon Bedrock](https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide#computer-use-toolset) | Breaking | Replace it with `computer_toolset_20260801` on the Claude API and Google Cloud, or with `computer_20251124` on Amazon Bedrock. | -| [Structured outputs aren't available on Amazon Bedrock](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Breaking | On Amazon Bedrock, describe the format in the prompt or use a tool without `strict`, and validate the output in your code. | | [Changing earlier turns invalidates thinking blocks](https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide#keep-earlier-turns-unchanged) | Breaking | Keep conversations append-only if you send thinking blocks back. | | [Responses can begin with thinking blocks](https://platform.claude.com/docs/en/models/haiku-5-5/whats-new-haiku-5-5#responses-can-begin-with-thinking-blocks) | Changed | Select content blocks by `type`, not by position. | | [Thinking text is omitted by default](https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide#configure-thinking) | Changed | To receive summarized thinking, set `thinking.display` to `"summarized"`. | diff --git a/content/en/models/opus-5-5/migration-guide.md b/content/en/models/opus-5-5/migration-guide.md index 89455e9c1f..1d94a372d8 100644 --- a/content/en/models/opus-5-5/migration-guide.md +++ b/content/en/models/opus-5-5/migration-guide.md @@ -33,7 +33,7 @@ Whichever model you are coming from, a request to `claude-opus-5-5` must meet th * **Effort:** Control thinking depth with the [effort parameter](https://platform.claude.com/docs/en/build-with-claude/effort), the only request parameter that controls it. All five levels (`low`, `medium`, `high`, `xhigh`, `max`) are supported, and the default is `medium`. See [Recommended effort levels for Claude Opus 5.5](https://platform.claude.com/docs/en/build-with-claude/effort#recommended-effort-levels-for-claude-opus-5-5). * **Tool choice:** Use `tool_choice` `{"type": "auto"}` (the default) or `{"type": "none"}`. Forcing a tool call with `{"type": "any"}` or `{"type": "tool", "name": "..."}` is rejected. See the [before and after for tool choice](https://platform.claude.com/docs/en/models/opus-5-5/migration-guide#forced-tool-use). * **Sampling parameters:** Omit `temperature`, `top_p`, and `top_k`, or leave them at their defaults: any other value is rejected. Use prompting to guide the model's behavior. -* **Prefill:** Don't end `messages` with a prefilled assistant turn: it is rejected. Use [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) or system prompt instructions instead. On Amazon Bedrock, structured outputs aren't available for Claude Opus 5.5, so use system prompt instructions there. +* **Prefill:** Don't end `messages` with a prefilled assistant turn: it is rejected. Use [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) or system prompt instructions instead. * **Computer use:** On the Claude API and Google Cloud, declare computer use as the `computer_toolset_20260801` toolset; the earlier `computer_20251124` tool is rejected there. See the [computer use breaking change](https://platform.claude.com/docs/en/models/opus-5-5/migration-guide#computer-use-toolset). * **Context window:** No context-window beta header is needed. The [1M token context window](https://platform.claude.com/docs/en/build-with-claude/context-windows) is the default, and a header sent for older models has no effect. @@ -103,9 +103,7 @@ The following request satisfies every item in the list: effort is set, and there } }); - const textBlock = response.content.find( - (block): block is Anthropic.TextBlock => block.type === "text" - ); + const textBlock = response.content.find((block) => block.type === "text"); console.log(textBlock?.text); ``` @@ -286,7 +284,7 @@ Work down the groups and stop after the one that names your current model: every * Update the model ID to `claude-opus-5-5`. * Remove `thinking: {"type": "disabled"}` and `thinking: {"type": "enabled", ...}`; choose an effort level instead. * Set `effort` explicitly: the default is `medium`, where Claude Opus 5's is `high`. -* Replace `tool_choice` types `any` and `tool` with `auto` plus strict tool use or structured outputs, or with `auto` alone on Amazon Bedrock. +* Replace `tool_choice` types `any` and `tool` with `auto` plus strict tool use or structured outputs. * If you use computer use on the Claude API or Google Cloud, declare `computer_toolset_20260801` (no beta header) instead of `computer_20251124` and update your agent loop for the toolset. On Amazon Bedrock, keep `computer_20251124`; check the computer use tool's [Compatibility](https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool#compatibility) section for other platforms. * If a router or fallback can move a conversation from Claude Opus 5.5 to another model, expect that model to run without Claude Opus 5.5's thinking blocks (Claude Fable 5.1 and Claude Mythos 5.1 on the Claude API are the exception and keep them). Claude Opus 5.5 itself reads thinking from Claude Opus 5, from earlier Opus, Sonnet, and Haiku models, and, on the Claude API and Google Cloud, from Claude Sonnet 5.5 and Claude Haiku 5.5, but not from Claude Fable or Claude Mythos models. * Read content blocks by `type`, and pass `thinking` blocks back unmodified in tool-use loops. @@ -570,7 +568,7 @@ After: #### Forced tool use is not supported -`tool_choice` types `any` and `tool` return a 400 error (`tool_choice: type "tool" and "any" are not supported for this model.`), including on the token counting endpoint. Use `auto` with [strict tool use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/strict-tool-use) or [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs), and say in the prompt when the tool applies. Strict tool use accepts a subset of JSON Schema, so check each tool's `input_schema` before you add `strict: true`. Every object in the schema must set `additionalProperties: false`; see [JSON Schema limitations](https://platform.claude.com/docs/en/build-with-claude/structured-outputs#json-schema-limitations). On Amazon Bedrock, structured outputs, which include strict tool use, aren't available for Claude Opus 5.5. There, send `auto` without `strict`, say in the prompt when the tool applies, and validate the tool input in your code. See [Forced tool use is not supported](https://platform.claude.com/docs/en/models/opus-5-5/whats-new-opus-5-5#forced-tool-use-is-not-supported). +`tool_choice` types `any` and `tool` return a 400 error (`tool_choice: type "tool" and "any" are not supported for this model.`), including on the token counting endpoint. Use `auto` with [strict tool use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/strict-tool-use) or [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs), and say in the prompt when the tool applies. Strict tool use accepts a subset of JSON Schema, so check each tool's `input_schema` before you add `strict: true`. Every object in the schema must set `additionalProperties: false`; see [JSON Schema limitations](https://platform.claude.com/docs/en/build-with-claude/structured-outputs#json-schema-limitations). See [Forced tool use is not supported](https://platform.claude.com/docs/en/models/opus-5-5/whats-new-opus-5-5#forced-tool-use-is-not-supported). Before. Claude Opus 5 accepts this request, and Claude Opus 5.5 rejects it with a 400 error: @@ -1513,7 +1511,7 @@ This section adds what changed in Claude Opus 4.7, with `claude-opus-4-6` as the Update your `max_tokens` parameters to give additional headroom, including compaction triggers, and re-test any code path that estimates tokens client-side or assumes a fixed token-to-character ratio. Use the [Token counting endpoint](https://platform.claude.com/docs/en/build-with-claude/token-counting) to verify. Prompting interventions, [`task_budget`](https://platform.claude.com/docs/en/build-with-claude/task-budgets), and [`effort`](https://platform.claude.com/docs/en/build-with-claude/effort) can help control costs; these controls may trade off model intelligence. -5. **Prefill removal (already in effect on Claude Opus 4.6):** Prefilling assistant messages returns a 400 error on Claude Opus 4.6 and later Opus models, including Claude Opus 5.5, so this is a change only if you come from Claude Opus 4.5 or earlier. Use [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) or system prompt instructions instead. On Amazon Bedrock, structured outputs aren't available for Claude Opus 5.5, so use system prompt instructions there. +5. **Prefill removal (already in effect on Claude Opus 4.6):** Prefilling assistant messages returns a 400 error on Claude Opus 4.6 and later Opus models, including Claude Opus 5.5, so this is a change only if you come from Claude Opus 4.5 or earlier. Use [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) or system prompt instructions instead. ### Behavior changes diff --git a/content/en/models/overview.md b/content/en/models/overview.md index df52fc2334..fdec53e52f 100644 --- a/content/en/models/overview.md +++ b/content/en/models/overview.md @@ -73,6 +73,8 @@ Each model in the response also has a `line` field, which names the model line i Each model's `capabilities` object includes `thinking.types.disabled`, which reports whether the model accepts `thinking: {type: "disabled"}`, the setting that [turns thinking off](https://platform.claude.com/docs/en/build-with-claude/thinking#turning-thinking-off). `supported` is `false` when the model rejects `"disabled"` with a 400 error, and `true` on a model that doesn't support thinking. Even when `supported` is `true`, the API can still reject a `"disabled"` request for another reason. One such reason is an [effort](https://platform.claude.com/docs/en/build-with-claude/effort) level that the model doesn't allow with thinking off. +Each model's `capabilities` object also includes `thinking.types.between_tools`, which reports whether the model accepts `thinking: {type: "between_tools"}`, the setting that [turns off up-front thinking](https://platform.claude.com/docs/en/build-with-claude/thinking#turning-thinking-off). `supported` is `false` when the model rejects `"between_tools"` with a 400 error. Even when `supported` is `true`, the API can still reject a `"between_tools"` request for another reason, such as an [effort](https://platform.claude.com/docs/en/build-with-claude/effort) level that the model doesn't allow with `"between_tools"`. For Claude Sonnet 5.5, for example, the Models API reports `thinking.types.between_tools.supported` as `true` and `thinking.types.disabled.supported` as `false`. + Each model's `capabilities` object also includes `server_tools`, which reports whether the model accepts the [web search](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool) and [code execution](https://platform.claude.com/docs/en/agents-and-tools/tool-use/code-execution-tool) tools. It doesn't cover other server tools, such as web fetch. `server_tools.web_search.supported` and `server_tools.code_execution.supported` are `true` when the model accepts at least one version of that tool, not necessarily every version. `server_tools.supported` is `true` when the model accepts at least one of the two tools. Even when a tool is supported, your organization's settings can still cause a request that uses it to fail. For example, an administrator can [disable web search](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool#how-to-use-web-search). The top-level `code_execution` capability is a different check. It reports whether code that Claude runs in the code execution tool can call the request's other tools, as in [programmatic tool calling](https://platform.claude.com/docs/en/agents-and-tools/tool-use/programmatic-tool-calling). For Claude Haiku 4.5, for example, the Models API reports `server_tools.code_execution.supported` as `true` and `code_execution.supported` as `false`. diff --git a/content/en/models/sonnet-5-5/migration-guide.md b/content/en/models/sonnet-5-5/migration-guide.md index 25ad230fa4..585f9e87a0 100644 --- a/content/en/models/sonnet-5-5/migration-guide.md +++ b/content/en/models/sonnet-5-5/migration-guide.md @@ -94,9 +94,7 @@ This request works on Claude Sonnet 5.5 as written. It sets an effort level, and }); console.log(`Stop reason: ${response.stop_reason}`); - const textBlock = response.content.find( - (block): block is Anthropic.TextBlock => block.type === "text" - ); + const textBlock = response.content.find((block) => block.type === "text"); console.log(textBlock?.text); ``` @@ -476,7 +474,7 @@ Work down the groups and stop after the one that names your model. On Claude Hai * Change the model ID to `claude-sonnet-5-5`. * [Read content blocks by `type`](https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide#thinking-in-responses), and pass `thinking` blocks back unchanged. * To keep running without up-front thinking, send [the lowest thinking setting](https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide#turn-off-up-front-thinking) at `high` effort or below. -* Replace [forced tool use](https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide#forced-tool-use) with `auto` and strict tools, or with `auto` alone on Amazon Bedrock. +* Replace [forced tool use](https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide#forced-tool-use) with `auto` and strict tools. * Keep conversations [append-only](https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide#thinking-blocks). * On the Claude API and Google Cloud, move computer use to the [toolset](https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide#computer-use-toolset), without the `fine-grained-tool-streaming-2025-05-14` beta header. * Pair the [advisor tool](https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide#advisor-tool) with a supported advisor, and expect encrypted advice. @@ -528,7 +526,7 @@ Every earlier model on this page accepts a `tool_choice` of type `any` or `tool` tool_choice: type "tool" and "any" are not supported for this model. ``` -Send `tool_choice: {"type": "auto"}`, and mark the tool `strict: true` so its input matches the schema. The model can then answer without calling the tool, so say in the prompt when to use it. [Strict tool use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/strict-tool-use) supports a subset of JSON Schema and needs `additionalProperties: false` on every object. See [JSON Schema limitations](https://platform.claude.com/docs/en/build-with-claude/structured-outputs#json-schema-limitations). On Amazon Bedrock, [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs), which include strict tool use, aren't available for Claude Sonnet 5.5. There, send `auto` without `strict`, say in the prompt when to call the tool, and validate the tool input in your code. +Send `tool_choice: {"type": "auto"}`, and mark the tool `strict: true` so its input matches the schema. The model can then answer without calling the tool, so say in the prompt when to use it. [Strict tool use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/strict-tool-use) supports a subset of JSON Schema and needs `additionalProperties: false` on every object. See [JSON Schema limitations](https://platform.claude.com/docs/en/build-with-claude/structured-outputs#json-schema-limitations). Before (Claude Sonnet 5): @@ -1215,7 +1213,7 @@ This model does not support assistant message prefill. The conversation must end Replace each prefill according to what it was for: -* **Output format:** use [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs), or tools with enum fields for classification. On Amazon Bedrock, structured outputs aren't available for Claude Sonnet 5.5. There, describe the format in the prompt or use a tool without `strict`, and validate the output in your code. +* **Output format:** use [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs), or tools with enum fields for classification. * **Preambles:** ask in the system prompt for a direct answer. * **Unwanted refusals:** clear instructions in the user message are usually enough. * **Continuations:** move them to the user message, for example "Your previous response was interrupted and ended with `[previous_response]`. Continue from where you left off." diff --git a/content/en/release-notes/overview.md b/content/en/release-notes/overview.md index 61a4bcff6d..13dd743a3e 100644 --- a/content/en/release-notes/overview.md +++ b/content/en/release-notes/overview.md @@ -14,6 +14,7 @@ The Claude Platform release notes list changes to the Claude API, the client SDK ### October 15, 2026 +* We've added `capabilities.thinking.types.between_tools` to the [Models API](https://platform.claude.com/docs/en/api/models/list). `GET /v1/models` and `GET /v1/models/{model_id}` now report whether each model accepts `thinking: {type: "between_tools"}`, which turns off up-front thinking. See [Using the Models API](https://platform.claude.com/docs/en/models/overview#using-the-models-api). * The [Compliance API](https://platform.claude.com/docs/en/manage-claude/compliance-api) now returns the text each organization member saved as **Instructions for Claude** in claude.ai and as **Global instructions** in Cowork, in beta for Claude Enterprise organizations. Call `GET /v1/compliance/organizations/{org_uuid}/user_preferences` with your existing Compliance Access Key and the `read:compliance_user_data` scope. See [List user preferences](https://platform.claude.com/docs/en/manage-claude/compliance-org-data#list-user-preferences). * [Fast mode](https://platform.claude.com/docs/en/build-with-claude/fast-mode) is out of research preview for Claude Opus 5.5, and you no longer need to request access. Requests to Claude Opus 5.5 no longer require the `fast-mode-2026-02-01` beta header, and requests that still send it keep working. Claude Opus 5.5 now has a default fast mode rate limit in the Start, Build, and Scale usage tiers. Fast mode for Claude Opus 5 and Claude Opus 4.8 remains in research preview. Keep sending the beta header with fast mode requests to those models. * [Fast mode](https://platform.claude.com/docs/en/build-with-claude/fast-mode) for Claude Opus 5.5 is now available on [Claude in Microsoft Foundry](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry) for deployments hosted on Azure. @@ -37,7 +38,7 @@ The Claude Platform release notes list changes to the Claude API, the client SDK * We've lowered the price of prompt cache reads on Claude Sonnet 5.5 from $0.20 USD to $0.10 USD per million tokens: 0.05x the base input price instead of 0.1x. Cache writes and all other prices are unchanged. See [Prompt caching pricing](https://platform.claude.com/docs/en/about-claude/pricing#prompt-caching). * We've launched **Claude Haiku 5.5** (`claude-haiku-5-5`), our most capable model tuned for high-volume and latency-sensitive work. It has a [1M token context window](https://platform.claude.com/docs/en/build-with-claude/context-windows), 128k max output tokens, and [adaptive thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) with the [effort parameter](https://platform.claude.com/docs/en/build-with-claude/effort). It's available on the Claude API, [Claude in 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 on Google Cloud](https://platform.claude.com/docs/en/build-with-claude/claude-on-vertex-ai), and [Claude in Microsoft Foundry](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry). See [What's new in Claude Haiku 5.5](https://platform.claude.com/docs/en/models/haiku-5-5/whats-new-haiku-5-5). -* Code written for Claude Haiku 4.5 can break on Claude Haiku 5.5. Manual extended thinking (`budget_tokens`), the sampling parameters `temperature`, `top_p`, and `top_k`, and assistant message prefill can each return a 400 error. `computer_20250124` also returns a 400 error: use the `computer_toolset_20260801` toolset on the Claude API and Google Cloud, or `computer_20251124` on Amazon Bedrock. A request that sends thinking blocks back after a change to `system`, `tools`, or earlier turns can also return a 400 error. On Amazon Bedrock, structured outputs aren't available for Claude Haiku 5.5. Adaptive thinking is on by default, so a response can begin with `thinking` blocks, and their text is omitted unless you set `thinking.display` to `"summarized"`. The same text also counts as more tokens. See the [migration guide](https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide) for each change. For model-specific prompting patterns, see [Prompting Claude Haiku 5.5](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-haiku-5-5). +* Code written for Claude Haiku 4.5 can break on Claude Haiku 5.5. Manual extended thinking (`budget_tokens`), the sampling parameters `temperature`, `top_p`, and `top_k`, and assistant message prefill can each return a 400 error. `computer_20250124` also returns a 400 error: use the `computer_toolset_20260801` toolset on the Claude API and Google Cloud, or `computer_20251124` on Amazon Bedrock. A request that sends thinking blocks back after a change to `system`, `tools`, or earlier turns can also return a 400 error. Adaptive thinking is on by default, so a response can begin with `thinking` blocks, and their text is omitted unless you set `thinking.display` to `"summarized"`. The same text also counts as more tokens. See the [migration guide](https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide) for each change. For model-specific prompting patterns, see [Prompting Claude Haiku 5.5](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-haiku-5-5). * The Python and TypeScript SDKs now include classes, in beta, for the [browser use tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/browser-use-tool) and the [computer use tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool). You subclass one and write one method per tool against your own browser or desktop automation. The SDK runs the tool loop, the URL and file policies you set for the browser, and your approval callback. See [Browser and computer use with the SDK toolsets](https://platform.claude.com/docs/en/agents-and-tools/tool-use/browser-use-sdk). * Claude Max and Team plans now include monthly API credits. To learn how to claim them, see [API credits for Max and Team plans](https://platform.claude.com/docs/en/about-claude/api-credits-for-subscribers). * In Claude Managed Agents, a cloud environment with `limited` networking now also applies its `allowed_hosts` to the `web_search` and `web_fetch` tools. A `web_fetch` call for a URL on a host that `allowed_hosts` does not match returns a `url_not_allowed` error result to the agent. `web_search` omits results from such hosts. When `allowed_hosts` lists no hosts, neither tool returns a page or a search result. `allow_package_managers` and `allow_mcp_servers` add no hosts for these tools. To let the tools reach a host, add it to `allowed_hosts`, which also opens it to the sandbox. `unrestricted` networking and self-hosted environments do not limit these tools. See [Environment networking](https://platform.claude.com/docs/en/managed-agents/environments#networking). @@ -203,7 +204,7 @@ The Claude Platform release notes list changes to the Claude API, the client SDK ### July 17, 2026 -* The legacy **Workbench** ([platform.claude.com/workbench](https://platform.claude.com/workbench)) in the Claude Console is being sunset with access ending on August 17, 2026. Saved prompts, variables, and evals are not supported in the updated [Workbench](https://platform.claude.com/playground). You can export any data you want to keep from the banner and under your **Organizational Settings**. For more, see [How do I use the Workbench?](https://support.claude.com/en/articles/8606378-how-do-i-use-the-workbench) in the Claude Help Center. +* The legacy **Workbench** ([platform.claude.com/workbench](https://platform.claude.com/workbench)) in the Claude Console is being sunset with access ending on August 17, 2026. Saved prompts, variables, and evals are not supported in the updated [Workbench](https://platform.claude.com/playground) in the Console. You can export any data you want to keep from the banner and under your **Organizational Settings**. For more, see [How do I use the Workbench?](https://support.claude.com/en/articles/8606378-how-do-i-use-the-workbench) in the Claude Help Center. * The experimental prompt tools APIs for generating, improving, and templatizing prompts (`/v1/experimental/generate_prompt`, `/v1/experimental/improve_prompt`, and `/v1/experimental/templatize_prompt`) are being retired along with the Workbench on August 17, 2026. After removal, requests to these endpoints will return an error. ### July 15, 2026 @@ -624,7 +625,7 @@ The Claude Platform release notes list changes to the Claude API, the client SDK ### June 23, 2025 -* Console users with the Developer role can now access the [Cost](https://console.anthropic.com/settings/cost) page. Previously, the Developer role allowed access to the [Usage](https://console.anthropic.com/settings/usage) page, but not the Cost page. +* In the Console, users with the Developer role can now access the [Cost](https://console.anthropic.com/settings/cost) page. Previously, the Developer role allowed access to the [Usage](https://console.anthropic.com/settings/usage) page, but not the Cost page. ### June 11, 2025 @@ -742,7 +743,7 @@ We also released new official SDKs: ### November 20th, 2024 * We've updated our rate limits for the Messages API. We've replaced the tokens per minute rate limit with new input and output tokens per minute rate limits. Read more in [Rate limits](https://platform.claude.com/docs/en/api/rate-limits). -* We've added support for [tool use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) in the [Workbench](https://console.anthropic.com/workbench). +* We've added support for [tool use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) in the Console [Workbench](https://console.anthropic.com/workbench). ### November 13th, 2024 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 6f1a1a75bb..04ab6c2519 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 @@ -38,7 +38,7 @@ To regain access to your account on any device, you'll need to authenticate agai If you used your Claude account to authenticate into Claude Code, you can manage your authorization tokens by navigating to **[Settings > Claude Code](https://claude.ai/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=1792444500&signature=9de0e71b48e79cd3e6b4aab319c8b07a07a435f5b059de6d6280cf2154a8aa58&req=dSYnHst4nohdWvMW1HO4zVuHix750mO%2BAQofdwM8qVcCX%2B0pAfFe2ti%2BhXvc%0AqjbrCsbPiEYlKsc8AiU%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1608263923/b4fa7d6f6f08f2adffb4ea63bc58/image+%287%29.png?expires=1792476000&signature=768b5175daa9886f71cef3549f16b804e3f06fe764e185c5542c082c79b77a92&req=dSYnHst4nohdWvMW1HO4zVuHix750WG7AQofdwM8qVeB%2BHaSywz1l0nxa0Wl%0A4nQh%2FoobrhQpzVVil08%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 97fe6be03c..1ac5e6cdfc 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=1792444500&signature=16427124b652f49c446e155517e1b37a82f60cea08e7d0b8943d1c080a4e2e5e&req=diAiHst3n4dfWvMW1HO4zYGm8yUYFKzJ085gFtEpvcR%2Bfp23coBNTK54c3tS%0AKo46%2Fe93nLI%2F5dIJm9k%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2058292603/75752add0bed6a9f3ab217f01708/CleanShot%2B2026-02-12%2Bat%2B08_55_14-402x.png?expires=1792476000&signature=434a26aaa220fb586be323f05140e440ea64dcbd549d7b327d25c05c52037648&req=diAiHst3n4dfWvMW1HO4zYGm8yUYF67M085gFtEpvcRs545YymRaSvUmz0MQ%0AQePR%2BwpFwGoNEUDGjGE%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 4ff52ad2bc..4db632f959 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=1792444500&signature=8796e02300350f07f988d0274a1f768694db6cb306d99f983a38c476920be1f8&req=dSklF894lIheWvMW1HO4zWn5HjEZZkFuc9cNIYuX0GGYZgSdWbD%2B97aEk59x%0Ax%2FHVEp4Hr%2B4bFENwYQs%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1921669913/7cc7be48cfc7a18f9f469d6cd83c/CleanShot+2026-01-08+at+10_20_43%402x.png?expires=1792476000&signature=1889dce4fad96d32b0f40322fe292eddac8df62fa6f5dded99ba44ca1a3bef89&req=dSklF894lIheWvMW1HO4zWn5HjEZZUNrc9cNIYuX0GHwndJEOeAQER2TmCeZ%0AG8HwsjhK4nWwJvYMueg%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=1792444500&signature=4fad74637c54ba62b49e1aa77e879bf42c0bbd020b707fb86e4a9c33dc780503&req=dSYlEst6noleWfMW1HO4ze44eSVlkBY7guvTv9woD7Y4CMvtd912iiqvU3JA%0AxG286sqivTwjzmNzTVA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1624243810/e6fe1d262597446c7fe21dff9f10/AD_4nXdW-GhByF8uKV7fCq9lTbkVB91FglSL6TSyXAOUk_MLcTV9YsEMBMkm9rgm1oXqv0k3sJh1JhlzZP6tHVkKbDJJ71pDRRtM3aVNG64MDuKDIzgmknh-XDZdNa7biTsTdwGoPr5GRg?expires=1792476000&signature=df44e97ccd0789047f928ebd4a0013dd6b6af26ddec4a99601e4c5a6b07bbfe5&req=dSYlEst6noleWfMW1HO4ze44eSVlkxQ%2BguvTv9woD7a8Sk3aPENg8jct6BBg%0A%2B1Z%2Fl7WOJPJBB7EOch4%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=1792444500&signature=8c62c87c3d30692e7eda27c9e5f4eef41658cdf4ba9467f6c44b26b97eb48a05&req=dSYlEst6nolfUfMW1HO4zdaFnMdwhY20DeZsm0Gz1Hs16OBAnbIg45rgbza7%0AzqgmqKnnM%2BkGMI5rjX4%3D%0A) \ No newline at end of file +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1624243808/b025db8e598f0c88fb16d83d48d5/AD_4nXeUwCKnmFzzrjMHhfr5By4zk5pJlkEn3wbJ8-aNfu13Yl99IjBywpqPx9G07QRzpH1EwRY7uG7Q9m9fib98Gql1cIV7XwUCTzEgBNu79Ey8tCOS5CEVmwveIcEOxJ4fonBhe3g9MA?expires=1792476000&signature=8ce97a6f0e59bcb3683d2dde81751bbb6a3ab1a61bf2060f133076c4fb0f2344&req=dSYlEst6nolfUfMW1HO4zdaFnMdwho%2BxDeZsm0Gz1HvjxGt9fgI7ZvWkPbJP%0AnQ7H3MQGknSvhXF%2FWRU%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 de905326e5..50072bdd9a 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 > Extensions within Claude Desktop and click “Advanced settings” to access the **Extension Developer** section: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1681607607/ba6e379d2769d190f0970a0adaed/AD_4nXd4aZkqjJFpiXMPF28Pih7HmSJ9pPsnoWAfVgiLdFRFiTkO92YtXteIjvDHaPl7T0tjfpRTBOlyrMbQ_aciCNDgfIuEvV3szmKvt72x5O51DMSClXOYWk1JIRIzylwkj3joXqZcLw?expires=1792444500&signature=dda6df62b4bf1c1f3fab62431dcd7f9c3de04c00b10de19eef53b0e00b354c7e&req=dSYvF89%2BmodfXvMW1HO4zWbPxUJ7Mzk3Hn9K2IaIG2I4ecj9GQF5vNDKnvS6%0AwMrd3bXQgmJ8GcSRjgI%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1681607607/ba6e379d2769d190f0970a0adaed/AD_4nXd4aZkqjJFpiXMPF28Pih7HmSJ9pPsnoWAfVgiLdFRFiTkO92YtXteIjvDHaPl7T0tjfpRTBOlyrMbQ_aciCNDgfIuEvV3szmKvt72x5O51DMSClXOYWk1JIRIzylwkj3joXqZcLw?expires=1792476000&signature=99a8f59e133614acb06801422ad7f184c03861716309f036475c38d2d0962492&req=dSYvF89%2BmodfXvMW1HO4zWbPxUJ7MDsyHn9K2IaIG2ID5MmKf9uNNJG0Brfh%0A%2FWdj7eifWyferswKYB8%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 7e1a9712aa..d854d2552d 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=1792444500&signature=371b670c3a3ae24daec3170cbd89560df2819577a205f1b5f9e550ddb5fd4d5d&req=diAjFMp7lYddWfMW1HO4zZyGr8x2v1MVF6uXnTLMvvDBGCQWScp6pPJaxg89%0AQSvi%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2042358620/1bf2311353615c1c494da1312a17/124b93a8-0a9b-4c84-9d1f-ede6ca3498dd?expires=1792476000&signature=9976afd474e283d938883f447bedd929a6d26a53b597fc39378767e0ac7ca96d&req=diAjFMp7lYddWfMW1HO4zZyGr8x2vFEQF6uXnTLMvvCnKeK1MFWQOds5lO%2BY%0ATUqo%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=1792444500&signature=54cdd5db87f296c43925a04b2ec57a9cd4b1aa41731b7da01ef0ac4fba81e59b&req=diAjFMp7n4FZWfMW1HO4zU6VRP%2FOTLhsxNdRzYWrfF7nqxrAruznpAA78UqE%0ABOjbUS4gRKcs8QqVUDI%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2042352060/162f9e61f7fbeb689201dfc1cac1/6a7fafb2-31df-43be-a43f-0059d735e3c4?expires=1792476000&signature=7aea2445a692ff6626086ae3adf835f5e8155c40d8f480cf6e1ab986aedea9d7&req=diAjFMp7n4FZWfMW1HO4zU6VRP%2FOT7ppxNdRzYWrfF5x6kh8RkmC0s5t5%2BK8%0Awzu7QdBpZwq%2FWx0Ii7o%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=1792444500&signature=a23379f3b5e63d6272d6a5727a03e41886e24f8425236002cdcb4bea0c3a000c&req=diAjFMp7lIdWWfMW1HO4zQTUIPZ%2BlNxLD%2FRXAPlQ7LZIib4n8gi9zfUdf2Hb%0AXmAD%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2042359690/68879db64559ecf87991f73ce058/671ff972-9e08-4686-bc04-955dab4b2de3?expires=1792476000&signature=5f407934bff96da6922f73f66ecce914493f21fc6705801674bc20e2aff8cdce&req=diAjFMp7lIdWWfMW1HO4zQTUIPZ%2Bl95OD%2FRXAPlQ7LbFOf%2B%2FvRO9dPevDCnN%0Ady8g%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=1792444500&signature=535574e72320bbf9b82c49918b50ea3672617ca1670b11e4f0a42df67f673a3d&req=diAjFMp7n4FZWvMW1HO4zZ3%2FGWiRZFQPy8OQfYsvK3wsr8ImxT3zIAfNAYG4%0AYdz%2Fnl5mfNv3V1yVRRg%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2042352063/25eca25bcfd573ecab30dd53158c/074454a6-fa5a-4c49-8b19-02d434b4ca50?expires=1792476000&signature=0a12254dc3f2779cf5831bb218872cead7c49c3b061cd67844fc8e2a214a13b9&req=diAjFMp7n4FZWvMW1HO4zZ3%2FGWiRZ1YKy8OQfYsvK3w7j1zAerY58vFYcXOP%0ANDlD4EMPaI7Bu3Fmda4%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 9c0371e38f..d9a269e921 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=1792444500&signature=49ca738a01d38e22cc29b253e5f06e8b6ef4aba0e6da0ddfb10035ab3f783066&req=dSYmF818n4VcWfMW1HO4zTEDa%2Bkan%2FeEEv2ojHLMylZIzD9EVOb2H%2BhUyma7%0AxVzw3%2FXeGTHc8MPVEvk%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1611422430/c8e0875feac1f2c7cb033be74fc9/AD_4nXfLU_bui3EXcCjQ0qm70HD97neqjGayKeDer_t76utlci8gZSUjYRhw6ZSOlDdqSEcwXBzd_shAh7pQEJ-8OoE0O21DM5coOgxmO_WD5hlwiuwtS2iYXcTavhIRyQT5zKFWvfn3NA?expires=1792476000&signature=45dffb1f3f22f1c073ec5ba1efee1532621734eb065bde4615da56b997bc2229&req=dSYmF818n4VcWfMW1HO4zTEDa%2BkanPWBEv2ojHLMylY8fjf%2F62U%2FWZCi%2Fpjt%0AjXqJSR0vmxj%2FlujuHQk%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 e6d45c2f49..85ffa5f3e8 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 @@ -40,7 +40,7 @@ When Claude searches your previous chats, you will see this reflected in your cu Yes, navigate to **[Settings > Memory](https://claude.ai/new#settings/customize-memory)** and switch the toggle next to "Search and reference chats" off: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2533482439/4dee2d7b267f865205feefc8f4f3/cb60c334-d1e2-4828-a01d-dfb36bbaa7eb?expires=1792444500&signature=cf6fee52edc88ea7cd80852d73a6013e97fdbf91607de66225bb7976ffd9ea14&req=diUkFc12n4VcUPMW1HO4zY9IRQhoUdVyYNcz5nFaZkEjM4BqJQXUZ8CRdTYB%0AUcwT0ksWG2cJJUBgFi8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2533482439/4dee2d7b267f865205feefc8f4f3/cb60c334-d1e2-4828-a01d-dfb36bbaa7eb?expires=1792476000&signature=6d849b111b13c3fe8932dedf529f467695afdbbc0b6ed01bb8672af781b87ce3&req=diUkFc12n4VcUPMW1HO4zY9IRQhoUtd3YNcz5nFaZkHiGRJ66qFOxNSTRtN5%0AlDA8aQWGdEsMJqtedjg%3D%0A) ## Can I exclude a specific past chat from searches? @@ -86,7 +86,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 > Memory](https://claude.ai/new#settings/customize-memory)** and turning on **Generate memory from chats**: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2533482441/b5c806a8e3f68bf34c4a70724d38/d30be013-d099-4c93-99d1-23d404792f08?expires=1792444500&signature=f56d33213e1ef78361daec1cfbe3b062835305b0eb8da2575d6012223047319d&req=diUkFc12n4VbWPMW1HO4zRlYr5lp5lQpNshWSMEMw9f%2BFdDPugQf10uxC2CM%0AlZAd61VgMgfBKzQ3k1g%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2533482441/b5c806a8e3f68bf34c4a70724d38/d30be013-d099-4c93-99d1-23d404792f08?expires=1792476000&signature=2020bb556a45ec9861e700c2e6f311d141ffaa4afe1e3ae0975013f9f43595a5&req=diUkFc12n4VbWPMW1HO4zRlYr5lp5VYsNshWSMEMw9drah%2FDkv1eJPy89lDP%0AUSIh4JmZ7tOUY2Uu2MQ%3D%0A) If you want to disable Claude’s memory, click the toggle and you'll see two options: @@ -282,7 +282,7 @@ When Claude searches your previous chats, you will see this reflected in your cu Yes, navigate to **[Settings > Capabilities](https://claude.ai/settings/capabilities)** and find the **Preferences** 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=1792444500&signature=395ce3177ea20db85eab306a2277d5c0a0a1dea798b160898be22fc8cffc582f&req=dScmH859nYlXUPMW1HO4zRzXHl00JzXHJG68qZhl781AZsNe1gylkIEPh6BT%0AZ2AzEU3JzWPpzdEEoo8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719730889/3fafbf5ecaa0ae31d7d84a66229b/c25536c1-7433-4b94-a5e9-cd5acf97a4fd?expires=1792476000&signature=27853abda4e7de1abe71c3f6ec26bffae96560e16c3c5c2672aed9e83af6ef35&req=dScmH859nYlXUPMW1HO4zRzXHl00JDfCJG68qZhl781PXAxoAaLV9g4Ti3C6%0AC8O9sZjbHfFzXKGYczI%3D%0A) ### Can I exclude a specific past chat from searches? @@ -290,7 +290,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=1792444500&signature=8eaf0656e8fd022f2ffb1d0d674df4bc1dc909aa8660741bfb1e57ed6d4c84e5&req=dScmH859nYlWWvMW1HO4za54saFoOIK%2BXDpzhlKsgjPb66jagaA0D2j9eX8O%0ARHwYHHI%2Bjl85WFNpP4k%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719730893/9549b21954e0070ceb6b85231fd5/88e59234-6fc2-4229-84fe-733b33efff26?expires=1792476000&signature=4ff129b860c46454d164258cb44188caea7ef2ad1e8072f2050bfb6a307ab670&req=dScmH859nYlWWvMW1HO4za54saFoO4C7XDpzhlKsgjPHDJqp%2FjmMFgn3XrKx%0Aoc1%2F0cMTGwfauTOnkz0%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. @@ -322,7 +322,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 > Capabilities](https://claude.ai/settings/capabilities)**: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719730892/62f9f2b68d675a8e33393f06024f/89198978-192f-4c52-915d-5294b16f3fe1?expires=1792444500&signature=8fa3354ee722bc6d2b892e19a6c0a91e92bfcce5446250892cf7e7783e130797&req=dScmH859nYlWW%2FMW1HO4zTD5McPic%2BBABq9N9dRTKYePcXuTEr69LUZYODMZ%0AbCUL5d4g0sJ%2BdGfmOm0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719730892/62f9f2b68d675a8e33393f06024f/89198978-192f-4c52-915d-5294b16f3fe1?expires=1792476000&signature=ff52448d5273e43204eef96f629c0406e824564e6e0a0a094e6812d4575f2f50&req=dScmH859nYlWW%2FMW1HO4zTD5McPicOJFBq9N9dRTKYdtjpFwka02p%2FJlWo4i%0AtQCPYmQ0WD8K7RkmDJU%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 8f0885c20f..d5c6706c53 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=1792444500&signature=d40284e8ffd24aea12a2ec6fddbe6c19788ba2987ea41104265ed3615d53bafc&req=dSYkF81%2FnolZWPMW1HO4zf7%2BjUbq7IT3n6MrEicvimD0l10ORkwzzRbTUKGy%0AsOa1IGlpmCBiu8tattg%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1631413861/42c3b13d7fc44a11a88ec2b9cd03/AD_4nXeMx8QXpeZZCkfAnVSwx8KZ9n4Vr2rvPdQddyE6ZNxch__F6ZqFs1G4ZmU52Wvb7gRlwRqquTLdw8IQv-gICDyP-MXqiQK_Oe7gX3SKsCKKt2IEpMx4qDeMeeZufMaJfv16XgOH5g?expires=1792476000&signature=cf1b0592166461fbb929f9bb244fb68a76f43c7144acb24eba7fc320b69b2eac&req=dSYkF81%2FnolZWPMW1HO4zf7%2BjUbq74byn6MrEicvimDnGZYtT7j9GVAzEa5Q%0A0pe2t4S6L11l3e9%2BbQE%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 d093be0804..bc67913bcb 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=1792444500&signature=935548a1f3bac36003413f9d60bbb4d082d79be00989b3b2dfb41e81c19c3617&req=dScnEcp7nIdeXfMW1HO4zQe5G12L3yHxS5x65TIld%2FCMzyzbo8iC3FPzMnLI%0AkyhsZ236FfXf54Bm3Oc%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1707351614/ccb910e4b87b1e96ad9a11bbd835/b57b2130-d8d6-4499-89f6-6c12de236fd4?expires=1792476000&signature=53dffb37b401bc63dce7ba9760dd746002e432cb08193529c2b56f9d347c5455&req=dScnEcp7nIdeXfMW1HO4zQe5G12L3CP0S5x65TIld%2FDE2Z%2B3ecv8AQ38%2Fd7x%0AL3qbUrEcnLyE47mQJwQ%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 0999ecc831..548ad72fea 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=1792444500&signature=36b34266fbc283830a38bb6bf893c3646e9892c536f411c91ebe481681095be5&req=diEjH8p6modfXfMW1HO4zQHwgqPTkiqj6DwhVVpk1mB2HJgplFpgDv3%2BtnCv%0Ak5PPeEJFbSUufIwu5Sw%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149347604/936ac4eb025d3ef1f00c3b8a26b0/image.png?expires=1792476000&signature=de6b0193f872cc6ea48ba779a2d0d06a8f81251c97504160941e1c38b608dc2d&req=diEjH8p6modfXfMW1HO4zQHwgqPTkSim6DwhVVpk1mDE%2F8kvIaIA5aqhhp%2BZ%0ASu8CZ%2BhMotjKbXzhFeU%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=1792444500&signature=5099a408cc306ddb9346ebf1c1528b05d6af38ca6b1734dbaa77c8086e5fc2b4&req=diEjH8p7nIdfWfMW1HO4zYnqMYeQJ3SM0wfO62ivdG%2Fh0ruvAMvbpvqCW3Kl%0A%2F%2FzcmtEbaa9ZGwToK74%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149351600/c5b979c366ac2738f60ea84e85b3/CleanShot+2026-03-10+at+15_37_41%402x.png?expires=1792476000&signature=3e888ea2a32e18761fd0887c2d52253a389fd4053ffc7e1a585e531acf1349ce&req=diEjH8p7nIdfWfMW1HO4zYnqMYeQJHaJ0wfO62ivdG%2FLZt5kJpZPf%2BVKPHoK%0ABPiBVL%2FJP%2Fb8ssUdMVs%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=1792444500&signature=70b3dbe14f3d2daa11ea31754ab5ed3ffc8ec5738145d0d7930bb367b7966c49&req=diEjH8p4n4FaX%2FMW1HO4zRzvvYcPdElDq7nEDCGq9G6qUeGPMfLULtKhvBKP%0AjxogXuat4O0QnMOKFbU%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149362056/44993661ca2db771fe924d0346f6/image.png?expires=1792476000&signature=c8a3ab0e46406c2bf2e5c4ec791713af03c904e59bc40f14ae5173d5f96c1b98&req=diEjH8p4n4FaX%2FMW1HO4zRzvvYcPd0tGq7nEDCGq9G7MHmrZfjdvI2ekoWMS%0AnCBf56mo13du6h15GRE%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=1792444500&signature=9edace214156e21b374dcb14675314c5961054e696b7ae14a929a2235a0d487e&req=diEjH8p5nYlaWvMW1HO4zaPdGAVTUStDe9HwvwG7ubhbag4icqRsthmoD%2FP5%0AAXFaeEgIyAeYEaWhs3Q%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149370853/db66f5cd03683b9cc119d0dcd6b8/image.png?expires=1792476000&signature=5215ca5c1466f12fb1b3c1cafddf81dc1e5ecf3d6dd1e830a8e54dfd0c0489f7&req=diEjH8p5nYlaWvMW1HO4zaPdGAVTUilGe9HwvwG7ubhN8LkkjvbU1DOXtVhD%0ALcmIZ6gVC2Ov7s6k3Ws%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=1792444500&signature=3209776e2e4626e12d64be3400acc75c43787e8d12683a88a26315da34d0c91a&req=diEjH8p5mYFdUfMW1HO4zevsA%2FWON%2B%2BPw6z2wGSwkbvKBbi7nEm0Gfs5yaY8%0AFlvWGS9pPaMiHtbxdGs%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149374028/97813fe3b515c2e839d8d92abd79/image.png?expires=1792476000&signature=f89b41b89bb5972f6ea7a7c5f860dad43ba7faf2c1f3840b107169ad7cb28d7e&req=diEjH8p5mYFdUfMW1HO4zevsA%2FWONO2Kw6z2wGSwkbsrAZM%2FvXXzBofkgJBN%0AIDlt5WzNTR5II9zLu80%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 75c7481c70..47e996cdbb 100644 --- a/content/support/12012173-get-started-with-claude-in-chrome.md +++ b/content/support/12012173-get-started-with-claude-in-chrome.md @@ -38,7 +38,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=1792444500&signature=16271d830e748cce7f0b144fb0d4acc3a1e24dd2fce85c0ef9aeeb07bc7778fd&req=diYnEsB9noleWPMW1HO4zUOPbf7CkuaInt%2F2nPMwUPi5M6v9uwb7MUdULJSe%0AqfVV7L0pndEsS6rxdoU%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2604933811/ae37c41fc808dbdf48d135338334/6cc9ba4b-9d31-43a2-ab80-8048b5f9d791?expires=1792476000&signature=eb24dba869d957fd4bb6bdd93595e719d23c458b84acf5db9850248072ec1c6f&req=diYnEsB9noleWPMW1HO4zUOPbf7CkeSNnt%2F2nPMwUPi8tG4PKgXlYcBpugJb%0AZ7g9GAHBxlgB0vPyQ8U%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 e6a759970e..d2b9d372aa 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=1792530000&signature=bf9128aa1189bcec7b36cf90f268a756d2ce9ce5844c0ea0dc1fd0ad05549d0c&req=dSYuFsp8mIZcXfMW3Hu4gZzas%2FXsuzpRnWrRiVwqPza4prbXNrro3wWAgC3b%0AFw%3D%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1690325734/d47f714680d78408d6022d06b8d1/image.png?expires=1792584000&signature=0c58f2ba6c7378bc80cf3bfb571ae4e62c72227f1b83ca617e9a9862bcebcb33&req=dSYuFsp8mIZcXfMW3Hu4gZzas%2FXsuzpamWrRiVwqPzYrbPmMnqzaiA2vm5PO%0AIw%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=1792530000&signature=e9fdab74cd8d04010d692ed315142b3e5d6c0da7bcc3e2e426ac61635c528b51&req=dSYuFsp8m4FcUPMW3Hu4gbNj%2Bk79Xgjii%2B5vzcg6znVKO%2FIu7vbokj4%2Bd1EU%0Ahw%3D%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1690326039/3a91cdc5fff57d188a18ecc6273f/image.png?expires=1792584000&signature=65ba6d978f51bdbc69cc20d7e8b26d782833cec725a6c2f04721819554923605&req=dSYuFsp8m4FcUPMW3Hu4gbNj%2Bk79Xgjpj%2B5vzcg6znUNAiZvDVFWilEXrHpX%0AEQ%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 7196df8605..fab52c1e17 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=1792444500&signature=b322b3fcce070f97ce0dafa8e438cddb6e9523a69ea1359f7edbee3285f9759c&req=diAiEs55mYFfXPMW1HO4zYFJyg9BCJ3LPQVowIiib2mXAFEIFFbfadRe2TnR%0AorLFGEAKLD26i2tf4FU%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2054774005/25bcfffba6c249cd128d6c3f6d52/CleanShot+2026-02-11+at+16_34_47%402x.png?expires=1792476000&signature=c786d8383e4e7be556123865055d88cfba3c977ae49889198391e0ae6032668d&req=diAiEs55mYFfXPMW1HO4zYFJyg9BC5%2FOPQVowIiib2nn9Cnnmw8dBcJMGAuP%0AToRZmjHBKyTWd%2FitSyQ%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=1792444500&signature=9b8c25609f2624ac17fb430ab13c507e9a7b998ece38d7fcb9d20dfe16dc13e1&req=dScvH8B6mIJZW%2FMW1HO4zXJcB29HkS1OpMW6Iph6YZciKApO9wIHR2Jo%2FH6%2B%0ABBeYSH%2Fxp5%2F%2BiGnRTr0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1789945362/ad72504d5429960f369b8b91b43c/86f06c0e-6eaa-4574-a4cb-2c38b273613a?expires=1792476000&signature=e919aea8a5301e5b4691a311a5b2716e760cb9d81ea9ef9da95295000c9acfa6&req=dScvH8B6mIJZW%2FMW1HO4zXJcB29Hki9LpMW6Iph6YZelshWajU2%2FL1ZQBFUL%0AYTATewgjW4mdCsBkzAg%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=1792444500&signature=e45dd34db81a389e51ad2e5e0597d2f6ce4bc23070c988933dbfdf8f79ad5e3b&req=dScvH8B6mIJZWPMW1HO4zdnseRaW6junqgKIA6CM1to45GHlOzW4Z1BNjmJC%0Aqv5ntMq85AMEB9WPpKY%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1789945361/e3188cb8edb9ca7c303615da6378/f1c99a7d-5956-48d5-9ec7-b7ae6c8c3d28?expires=1792476000&signature=150fb1f36cffc80b14f1203bc75f176945fb06bfedd8317cfe5e185c8eaedf1a&req=dScvH8B6mIJZWPMW1HO4zdnseRaW6TmiqgKIA6CM1tpu5Of9iy5xXUtu5Gpz%0AtYqxpUx5HiSB2WtSais%3D%0A) --- diff --git a/content/support/12260368-use-incognito-chats.md b/content/support/12260368-use-incognito-chats.md index 598d4b70bd..91dd714bb0 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=1792444500&signature=3c6141bca42762a3d43b7dda993521b633ca4e7566925e500f87d2c5165ed6ff&req=dScmH854lYZbXfMW1HO4zeUcugC5auGODCAt3Cx%2FSO1IiCODeIMJVKoR3qJj%0AfMfypKwdjibJoi9W4EU%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719768744/c7a2fa56cf284e48472f3b9c4dbf/030563f8-9f97-4891-a749-9ae95968a063?expires=1792476000&signature=360321d0246aa8f4c73cca487500be5bff2426c28638bb475062b2aa4fb4a6ba&req=dScmH854lYZbXfMW1HO4zeUcugC5aeOLDCAt3Cx%2FSO2ZfAM%2BpGMIvc0SHIdG%0A8tes2ZUJFKmzXwbH1Ak%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 9e8ce33a7b..944e2ed898 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=1792444500&signature=234dad2a5e32f3a00f2ec0818fdf8a8557805f645a66d2338123a6d83feff8ad&req=dSclEcp5nIRXXPMW1HO4zUAXIs4GVqzRFalhp3bugHKogERGbQPStIDiBCm3%0Aa79tkeeoRSETJkj76gY%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1727371585/b18ca03a6357c52d12d10386f28e/dab2dcb2-f670-4173-b77d-38767a34cec1?expires=1792476000&signature=77615df5b63920488fdf5052d3645e0a4b263ba3a41cc982ad7dfa77167811a6&req=dSclEcp5nIRXXPMW1HO4zUAXIs4GVa7UFalhp3bugHL%2FjH7cclrnxTUTDmfx%0AzUJFmH2cWv7cFNA7%2FNQ%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 a5640856c5..be9a70fd6e 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=1792444500&signature=cd13dc7b9e320aaefe22265d93c6729a66d15bdbc1e1977fe16325f0a0f23910&req=dSgnE8F%2FlIZXXPMW1HO4zYj2ABCdofQ9opE7m38YdfeRXbUkRs7eWKUqGPjS%0AN5tSVbkIE38w05%2F%2BHh8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1805819785/5e203c38e6ba3f76bfd1dab0d5ce/fe062e7c-18cb-48cc-a7e2-754ac6e6c4be?expires=1792476000&signature=b8e231cc6c3008469f7fb0baf9f9df923bdd3bfdb39a1a126cd3b1576a5a474c&req=dSgnE8F%2FlIZXXPMW1HO4zYj2ABCdovY4opE7m38YdfdICjeKaWURUV%2FuF29k%0Ah1UP%2B6pePpvsUlL2L0c%3D%0A) --- diff --git a/content/support/12466728-troubleshoot-claude-error-messages.md b/content/support/12466728-troubleshoot-claude-error-messages.md index 3e2fff5bbd..56d6658679 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=1792444500&signature=3de244374ac31f22c813f41bc5ede3918e37dae130441c2a0d3c778920506a38&req=dSciFc53m4NbXvMW1HO4za4BX60n1rbB7y68oYp%2BYg%2BuZ8u4y%2FzHRNzwdt5%2B%0A2VK0ndrNlSFqXboRz%2FY%3D%0A) \ No newline at end of file +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1753796247/e6a8c6ef8653b229c5758e881242/c2fc6fc0-d163-4119-93e0-394104d86bc9?expires=1792476000&signature=725a0f6f540e7eb41c5cbd3831db2307630a42982567c0a82ebc4b98ac835e5e&req=dSciFc53m4NbXvMW1HO4za4BX60n1bTE7y68oYp%2BYg%2Fp2u5lLyE1dEU9CGV5%0Ay9eYmeEeo01PfOVqHEw%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 f60c2b9fc4..6c8a9248e5 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=1792444500&signature=66618e052ab92c8566b676df44d511f8e657b09990191497b3462b49a016ca7b&req=diEnE8p3nINYWvMW1HO4zSOgDiksxuKoH%2BdCnFXB0uj7khgZezMPaobLK67w%0AZ5DQ%0A) + ![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2105391273/8359cbf8be20dce0f1cd3fd40e6f/CleanShot-2B2026-02-25-2Bat-2B15_50_16.png?expires=1792476000&signature=ac4c34fcc18aeb677607732e9f856606f22cabf4a313314a00a707044cb30079&req=diEnE8p3nINYWvMW1HO4zSOgDiksxeCtH%2BdCnFXB0ugfNeKtwudnmqyBprzI%0AvSnU%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 5567f785e8..c3c580c099 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=1792444500&signature=3f1b0424a3e52b36b655070d6a804c2a1ae3e7bca72a53c34240ec330823b2ae&req=dScvF857mIBYW%2FMW1HO4zQ9pXEgO%2B3Te0ugSQm1MFW%2FnoJe6eq%2Bhn4J6ctGt%0ANV1p%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781755172/63c92550571842577ad435860ec5/6f5cc4e1-ff7d-48de-863a-c4e6184d4605?expires=1792476000&signature=cf758ce742d7500e9bea1e9806ae0922a6d08bbc3157576c8ebb0918fe409125&req=dScvF857mIBYW%2FMW1HO4zQ9pXEgO%2BHbb0ugSQm1MFW%2B24Z%2BV%2Fec6F6xlH948%0Ai9ei%0A) 5. Toggle **Allowlist** on: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781755578/a6bafff5f084dc86ae463703fd3d/6cf0ee18-4e71-4129-98e8-cc08174e3c3a?expires=1792444500&signature=cc1263c9e3280160c3235808870044fefa190230cc002e36b25a6fe3a4f73f81&req=dScvF857mIRYUfMW1HO4zaj0BXMvTaMBTAorLxpdoc8QmARh1iFN%2Bh2Tscc%2F%0AuWek%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781755578/a6bafff5f084dc86ae463703fd3d/6cf0ee18-4e71-4129-98e8-cc08174e3c3a?expires=1792476000&signature=e77674b9c04a5bff0e6748b7e0310ad9775ee70d604d603a57ba9db72a8d14d4&req=dScvF857mIRYUfMW1HO4zaj0BXMvTqEETAorLxpdoc8isovPrjTkSlncb%2BOy%0AGZQI%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=1792444500&signature=887da721bd7a70f33d276a617645344ec25012a38ec9f58b4615269d5b954bfe&req=dScvF857m4hZWfMW1HO4zYUJqIGuDjbuCEDZ5AdBjIa6L7xfqYb34tueLjhM%0Aik5gahXWCOyDBWkVxpU%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781756960/ad18af50c83d35f2673656c23e00/a7ee450f-0c7d-42d6-a75f-fb1bc088cb52?expires=1792476000&signature=0b4bfada41789d2cbebcc73da1b938f2a85007e1809e54dbc1d9084f47d89303&req=dScvF857m4hZWfMW1HO4zYUJqIGuDTTrCEDZ5AdBjIYk2%2BQmnSbzuTywtHZL%0AFQKbgowfAIa77kojfWQ%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=1792444500&signature=cb0d5bf97d18de70db16410c91a3b81a32c711727886a2450d55b63f2c7d7208&req=dScvF857nINaWfMW1HO4zTrxBKot%2B1OQqXridZhfx1JFpFoqVw%2FehIw8r22w%0A%2BdlWjzP72ncQUHqo5b4%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781751250/6558c0f59aea7976bd44b0213d76/e750f02b-cd0d-437e-a83f-9ac362cdf456?expires=1792476000&signature=d894ac05a60b975d59432f37bb3c64f4f19d4ceae5891b08a3ed57e20734a5e5&req=dScvF857nINaWfMW1HO4zTrxBKot%2BFGVqXridZhfx1JRPtuvnPeBxgvJk0Xu%0AfLQh0McMa83Y2Pt7DgI%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 f64d97526c..62acbe4fbb 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=1792444500&signature=57d1debf0fef09a63e8ae8178638f358566eeafd64a973529a9cd6fc95a15da8&req=dScvEM16m4BaXvMW1HO4zR8%2BAVGERplz7XrRA1YwWGsV3BCCF4YSea4gSvXv%0AyY3dIs3kKjSn5W%2BArxU%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1786446157/07ec74cd46317f8278083a317841/6448f3ee-c6df-4417-8a13-90d8c2ca3d55?expires=1792476000&signature=f453c2b36d6d19637bdb596300992a57fbca8a0a4fae27531aa797e9b602f676&req=dScvEM16m4BaXvMW1HO4zR8%2BAVGERZt27XrRA1YwWGvwFXp%2BtwYEfBBHWHYZ%0ATfYmX%2Bt4RuNA3HORMCg%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=1792444500&signature=a85dd3e87cb75ca1a3e2363672fe61fbc610dad8fda4884244fb50681ed25e54&req=dScvEM16m4BaUfMW1HO4zcR0rJQwi%2B3F7DtpMiX%2FBYmTg%2FGIWNS%2B0P1LVdPv%0AGmQALgOqG1Jvvga%2BX5I%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1786446158/c092f1383826cb871493f74169d4/97b7cb98-5da2-438e-a920-e170b8b9790e?expires=1792476000&signature=95307a356b6f07daa705cf2e12f4df02962f89b00faa6ca6e04957fb74b3594c&req=dScvEM16m4BaUfMW1HO4zcR0rJQwiO%2FA7DtpMiX%2FBYnpWP1r6huTG%2FfaXlc4%0AEj7%2BqN58lJB1l%2BfP29M%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=1792444500&signature=a67c24db32b130a2c53dbc52892dcab447a50bfdc87815cd505316b6843703ad&req=dScvEM16m4BaX%2FMW1HO4zVbcTWGH58DLUQl3YqgIJdbq0elZTleKA2uAxwLZ%0A3pBy7oc%2BPdCBest194o%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1786446156/83ecf0a5b98eddc9ffc9694c50f7/353589ce-b678-441d-8909-71b45fa2d065?expires=1792476000&signature=68dbe6d2405a99654b9cc2aa73691974e97507e45a3e31125afcb851494c7fef&req=dScvEM16m4BaX%2FMW1HO4zVbcTWGH5MLOUQl3YqgIJdZNT7Uw%2BPaReG6JUDhA%0AJboCDPnNGjezhGWRO7Q%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 8244171020..8152958e3a 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=1792444500&signature=0ce070b9679d587e3b19d248ca36593eec71e7f92953c8aab175802a58e8341b&req=dSguFcl2lYJZXPMW1HO4zWggDtxVopifRC8c%2FcM5c2LBvluvF5BHOogae9v%2B%0AiqmgIe6mh2O2vW5FXAI%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1893088365/2ca4b782dda90abea1fe5f4150af/CleanShot+2025-12-18+at+13_14_30%402x.png?expires=1792476000&signature=be0bcfc69c500555080f15dde40f440fb9709cab65bf700e4c092b60f5b5ff27&req=dSguFcl2lYJZXPMW1HO4zWggDtxVoZqaRC8c%2FcM5c2I2dilQ8Ak2W%2BOv9h3J%0AZPqRnhao68VYnxo4RJY%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 de906a683d..5fe5425aca 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=1792444500&signature=1d2a10887b1106b25ca8a5d5f471ebeab6c27f6ab8da45690b7d049dfdfc5e20&req=diUmE8F3mIhZX%2FMW1HO4zZL6wKR2n4F0ExEG4dCAGDaLdaxK2%2B%2FzdXuuAiWG%0AaQHlCv2Na%2BY4TcLRMlA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515895966/9f231a620f47d49e0ee648152189/848c1787-4eaa-4809-8fd2-1dbe2722560f?expires=1792476000&signature=4d2fd1c79c3b8035b3a5ab7518d4b41b2c04d0e582f9958e83e0052e3832ccc3&req=diUmE8F3mIhZX%2FMW1HO4zZL6wKR2nINxExEG4dCAGDaVqFxs3P4qEzI9NZQp%0AUs4qwTIGFO3g%2BqIgnYc%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=1792444500&signature=7e4fdebd816576015170bd3266973ca50fa3cc0fc8fd4ceb677e02c4612bbbbe&req=diUmE8F3m4JaWPMW1HO4zYEqezWtRpSqYqPRsgaNdTy07iG2jKMMulSKnLq1%0AInAaCJi64PSXtshHD8w%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515896351/4d955858e6662c37489cc1470871/457cf159-8c2a-4403-ba22-cb92cb47e459?expires=1792476000&signature=d335027347a678d63ea5e48a035fd5eadbf47cd3f3dff69a1c40bdf2d58be181&req=diUmE8F3m4JaWPMW1HO4zYEqezWtRZavYqPRsgaNdTzBCNKea9Im61borTMf%0AWq9hnVEGef4tSgTNAHs%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=1792444500&signature=714c976edef1393b5ab9498ede1aea81c95e7a2b0637534813aee500f10b94ad&req=diUvFcF5mIZeWvMW1HO4zciS3KrtnrpuDFD6TO7tG4gIY5JLJPJN0bgGQ8Ku%0ANIyynXN0zQByE%2FG0OPE%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2583875713/e3cb3c329f3b643cb9a3809876b3/image.png?expires=1792476000&signature=88e321fc7430703517c4e94b1d8bf439c14be214edcfacb31ae9c75099551902&req=diUvFcF5mIZeWvMW1HO4zciS3KrtnbhrDFD6TO7tG4gyhVHI67IZvY2%2BVbzF%0AJ91s56LzCV4c1IPae2Y%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515896563/abf008596ce5501297a609696362/fce5423c-4769-4b73-9a0a-c50f6407ebea?expires=1792444500&signature=d2145e33e7265a9ee12029660bb7044e0235a58278f2c4bae182f8008482e017&req=diUmE8F3m4RZWvMW1HO4zR%2BID4VqufPyLS3kobW3ZgT9aY0C5h%2FgN1KUGe7x%0AvpnQ8glthMGD69OuIIM%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515896563/abf008596ce5501297a609696362/fce5423c-4769-4b73-9a0a-c50f6407ebea?expires=1792476000&signature=a5c49780c05788c404dd6ac9e1f3c40fc06ac491c151aa6923324df12812b5f1&req=diUmE8F3m4RZWvMW1HO4zR%2BID4VquvH3LS3kobW3ZgQixejy3q4Lw2cAYAGY%0AEPCO2U3Szj6RaKlcAYc%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=1792444500&signature=2917990910285882ea6ebdd29fdd923c9e47501a65ee3c32ab46f4c954c735cf&req=diUmE8F3m4hbWvMW1HO4zfJThSY7rdhDiovaLYNN7Rngx4dclnx4bYF1f%2BPN%0ApZs2yVdH9lQkNMUGJR0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515896943/dd415f03afe56ca38308ef987f86/189e8ebc-5594-4f4b-bd84-e3c11c824d5b?expires=1792476000&signature=e54fd7f6932b71d82bbabfe950387ff53bbb1c094eb522e0d90c83472fa2e8f7&req=diUmE8F3m4hbWvMW1HO4zfJThSY7rtpGiovaLYNN7Rm90F3Dp%2B98o85m29g8%0AfpOc2IXqW7jxrzXmOXo%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=1792444500&signature=d20c517f091a92fca0086bba5ac97e6676e780af5e583f9c0b61eb72a83d2802&req=diUmE8F3m4hbW%2FMW1HO4zYE%2BQtwG6DXYWbBLGZ4vBJXA%2FA6vLg2o1F22a0Z3%0AqhdMYGwS9rRBEEj9aa0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515896942/b403f2d216fc40b5195911020b8e/446b99f1-3187-4b79-b2be-9f17b1632ff8?expires=1792476000&signature=0b2b6c7665dfd4c3dc1d2391093dc8ad0ad19040a2a009b634694abbcfd685a5&req=diUmE8F3m4hbW%2FMW1HO4zYE%2BQtwG6zfdWbBLGZ4vBJWgp%2FXxpIb9L1FuAgrT%0AbOaZ%2B12nXymdPi%2FCiQg%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515896941/2239ce38639df339b24d5af1cb50/f829bc2a-ee52-4135-9b13-09ef1b7d66d6?expires=1792444500&signature=bfbfb536d49c3c8b06668cd8bad263faec2cdc3bef2b429fcd370f0b0b879e9b&req=diUmE8F3m4hbWPMW1HO4zTz0N%2BgGI81VC%2BtvTPa1I7HJ4lDoyW8uRcIX3ssl%0A9SSsJDXZtRnV1EbM9i0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515896941/2239ce38639df339b24d5af1cb50/f829bc2a-ee52-4135-9b13-09ef1b7d66d6?expires=1792476000&signature=32d0d31abcdeaf6ea6434be0d33ab764164937f9b3ae806d13194c57115c2362&req=diUmE8F3m4hbWPMW1HO4zTz0N%2BgGIM9QC%2BtvTPa1I7FNgthrn1avxZfoDqgE%0AaV0q8UX6tocETFAgTkM%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=1792444500&signature=9f941cc9e294284070010d72cc294296ef435ca67a4f93adaef9db302026ff87&req=diUmE8F3lYZWWvMW1HO4zbhc8P%2BYZeAkTcfMEUwBBiUIv8TXSvXrB9IJZjJ%2F%0A%2BkBVggiZkwJ947IYV74%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515898793/405db0c492da11886c28a2b82731/71a55afc-1cef-4c50-b7e1-86775cb9a168?expires=1792476000&signature=c8259026da6667edf4cbccd301a047f1ca180a21cb8d1d87fcf426a545acbebb&req=diUmE8F3lYZWWvMW1HO4zbhc8P%2BYZuIhTcfMEUwBBiUD5h71TM2KCkFMVQo5%0AvPuxhoJue0i%2FqSMYPQg%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=1792444500&signature=bebae6a78d77f21eff3958c03653a2da7f454f58f9e39d22504b3bcb6bce725a&req=diUmE8F3lIdeWfMW1HO4zWhGoD6dnyenExu5cYiHHN%2BCajBHRXdXrFR56iqE%0AzLGGgvszTPl9mNZK1e4%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515899610/91d93108f0767e795fb9e488e882/71607d6d-dff1-4a13-a445-aa1d79850eed?expires=1792476000&signature=4bddfb175f1c60420ce5194bd9bb02c80f546508a30f30f84317efa2d2ff7dfe&req=diUmE8F3lIdeWfMW1HO4zWhGoD6dnCWiExu5cYiHHN9DzN5fJVuzCuZvjCmi%0Ai%2B3VXKkPP1magj%2BilRU%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=1792444500&signature=ba1f86c6b955a3053ea6ee39259e14c42f59cdde602947d32cbc94575f71b0b8&req=diUmE8F3lIlcUfMW1HO4zcSk47jWeurFjHDogqK0V%2BzjHVSWBfcB7e%2BHmRvT%0AQJz%2FBi3qz0%2F3VOjZ1jw%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515899838/33d737f2357d6e485704669962ae/43faadc3-47da-4a93-bbb7-47a7983e7441?expires=1792476000&signature=9be585fd86ecb561cdb95d7e411ced86dabfbb3f9dbac2977012bf67f04a7fc1&req=diUmE8F3lIlcUfMW1HO4zcSk47jWeejAjHDogqK0V%2ByWUzJMy2qaJq472GlM%0ANQ8yYXAo8gX1pfCUNuE%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=1792444500&signature=5463dfe1521fa61a2a604bd606ce0ad7d0f378062fc0e3c8f52082aaa6c77ce5&req=diUmE8B%2BnIVXUPMW1HO4zX7WE4q1WUWtFSi1Z3SzLLvdL%2FmmR87iIa4CESu%2B%0AGwWf8BLRaQpXKTmEipA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2515901489/8005693d55b7fefbfe9233258d39/106c22a0-3f47-47a6-abbd-4788dd70f218?expires=1792476000&signature=ab2c384b4e87297555a3a02d85a892d2d957f415d2eee51aa165e34893542172&req=diUmE8B%2BnIVXUPMW1HO4zX7WE4q1WkeoFSi1Z3SzLLuKYoQv83DQGhJ%2Bvo0X%0A7Hm6UlmKo1qmrg0S7Qo%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=1792444500&signature=86a50b13de0b3cf6b98926133862651c3883fdfff60767d9947aa3915bb74dbb&req=diUkFcB%2Bm4JdUfMW1HO4zfveBq3BeO%2FfWGUKUw6QS4%2B4q12Ag3y8lRqKBGdc%0A%2BaCE0OSmcgsp6R%2BFTlA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2533906328/1f5cd0a57def40676410f8f379b4/member-usage-30d-model.png?expires=1792476000&signature=8cc0bfa3d1fd740915f33e52a8c6842342eac0b1aa28f898223b34329ac2db6f&req=diUkFcB%2Bm4JdUfMW1HO4zfveBq3Be%2B3aWGUKUw6QS49COdS7rVvhSXLi1NX%2F%0ACOXyJcoWBQJ9Xmo4t%2BQ%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 09361e79d4..b4679a2308 100644 --- a/content/support/12902446-claude-in-chrome-permissions-guide.md +++ b/content/support/12902446-claude-in-chrome-permissions-guide.md @@ -28,7 +28,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=1792444500&signature=8660607e74fd0818407f91af22a90d049aa58dcfd686550a64cbb66b980e8514&req=dSgjFcp8nYZdXvMW1HO4zYqyZMBJ%2BIaygN0ADj5oqFBK9xxu4NbcZnsg9WE3%0AExMRMFuwEtcsi5JHW%2Fk%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1843320727/8d1c859ae9b8e0cdb536d024bf40/9bc3d239-8eb6-4bae-a032-a236f88ee606?expires=1792476000&signature=092ec70b08971713278faecf54b250a4cddebaab1051ac7097fbd8119ec91abf&req=dSgjFcp8nYZdXvMW1HO4zYqyZMBJ%2B4S3gN0ADj5oqFC8WUkdBUfUVAs%2BMpds%0ATe6ONvhrUvCCfQC5pZA%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. @@ -62,7 +62,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=1792444500&signature=017b9f3abebb15a3b79c536f02e2e43202ec6e310f34773b11ea221c5b32da51&req=diYnEsB5nYldXPMW1HO4zZ3Nq2R0jCjp7A4lHPBihAUA2HQnYNnkWf7S88XC%0AtgU2MIikHeIvPLE6V%2BU%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2604970825/d7b961271be69e7541b406df1efd/d845324e-6b4a-4f54-83b9-0bea86ec09c6?expires=1792476000&signature=8f0d9770dd799420ed3ab4f351ed23e2bd4c38d0f18d8a6fe468ace44c80a9ed&req=diYnEsB5nYldXPMW1HO4zZ3Nq2R0jyrs7A4lHPBihAVVlYNlf9e1GIw1CYZW%0A5uD6c6f5Z4AlyZjX74M%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 72ecb19691..6f2ebb7025 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=1792444500&signature=d29bbb49a59f3b59f82652e303b23a36233b38313317d3ae8fe905a08a60be4d&req=dSklFMh6mINaWvMW1HO4zRZTxVjFv8%2FWKAqLF4ERnlVnxhoxMtHY%2F%2FxMYopU%0A0wwIQe2o5Ew60nQOyKA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1922145253/f2e3d4e0fe43a2ea07e89244764c/image.png?expires=1792476000&signature=8d19afda77a9ab3cd3c5bec455ad25a26c52f7669a384b049bfd237f13550d7a&req=dSklFMh6mINaWvMW1HO4zRZTxVjFvM3TKAqLF4ERnlWJXEgdiiUjXtXxCvZh%0AEQutrpQGKdUn0NqdvDE%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 cad2d3427a..1b78a16f46 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=1792444500&signature=32f94d6cf69d89a7c378bd982d46601caad0e0256c98b3e6a494688936240391&req=diQuHsF6noNXW%2FMW1HO4zSdmH349%2FsCJe3H0OpmIzWGUifRgsa%2FCB%2FSPilj8%0ARyYH%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2498843282/561d5ceb1c3a5df75bdfee8bfc3f/d2491145-362d-490b-bdcf-66a0a7656ddc?expires=1792476000&signature=e26426bde50bcef3c9fa5e85c4b2dde612599aa38381b3487abba03d2e639ad7&req=diQuHsF6noNXW%2FMW1HO4zSdmH349%2FcKMe3H0OpmIzWGrth7prlYkUE9YUiQ2%0AeWlG%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=1792444500&signature=c1eec52fe234dd4fad6882c7394692b3291de3898f0358cb18f66415368586bb&req=diAjEcl6n4dcWfMW1HO4zWHctB%2BTk9WvyoyXAW0OlXp03bi%2FXJOrmDCgH%2BLP%0A%2Fdwe%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2047042630/0617a562cd28a7ff0e607d66a30b/6bd08e1d-2b65-40ab-bc79-a257153854c1?expires=1792476000&signature=fc83b8c47a3deaa7698b23d1c8ca66351f15d4532f21401a9ba6052dbee86106&req=diAjEcl6n4dcWfMW1HO4zWHctB%2BTkNeqyoyXAW0OlXr4j8MmT%2BP4lBqZ5M9B%0AtpSI%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=1792444500&signature=d5058cbf50e277cd3b669f374511d75b787259d865bd624480b279a6a31b7551&req=diAjEcl6mYVWX%2FMW1HO4zVjmWCsEa3C8PM2D8Zcdgrgo1WLIRjhEeQV%2Fwog2%0Av69R1E0NrErZc9Cs030%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2047044496/b8df54a0331784cc9ae8f00112aa/bf9609c1-dc93-4665-a066-4cae2fe4b002?expires=1792476000&signature=cb4e1e20afdc9ddeaa742fe86c8b111eecaf9335c7ed19594df47991dc8aa9d4&req=diAjEcl6mYVWX%2FMW1HO4zVjmWCsEaHK5PM2D8ZcdgrjYk0DRrQTPLm9Dxy%2Fl%0A1rlKJchh55bHplktTKY%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=1792444500&signature=8fd92657079e51d5a3efb6b45a8bb37b9c823f1911555101ffca2ebed8770d29&req=diMmFM93nYNfWfMW1HO4zdAICg2lBngPItXtKivx6ZFkvPe9sQ8CjoLx2WjW%0ABEnduzG9J4zBct3OfeM%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312690200/bd2403586d4f6651ccd79e2a45af/b9f8d7ce-0def-49d9-bfb2-3a14352d7214?expires=1792476000&signature=107f87852767bb7bb526dcb53ce459cc6160b488425494cd7b9fbebc9285e46f&req=diMmFM93nYNfWfMW1HO4zdAICg2lBXoKItXtKivx6ZEeupm9FkXHLgZPIuAv%0AOWbn9rcBm300thESQi4%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 b1a95465f3..ef5087ea4e 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=1792444500&signature=4455759ab2d0457d7351bc35c19a6b6131b843cdb7628e14210485459c1975d4&req=diMmFM5%2Bm4FWUPMW1HO4zXBDQqlQCV5zxFMG%2BIEvQSfg2m4NXtyhG4JPiYXD%0AvcAvnwpm0LbYSNnGT80%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312706099/35d5d3ec149880a96bb7acec59f6/a4cfce55-86bf-40b0-b455-c8f412d48e9e?expires=1792476000&signature=0bade2586072a13ea8ed490ff73fb8fdb0711d86dc9608de5802cdd5ea3d0b94&req=diMmFM5%2Bm4FWUPMW1HO4zXBDQqlQClx2xFMG%2BIEvQSet2UmHYT9ZDQUf5FON%0ANy61nq1tvWhyIeoCKwQ%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=1792444500&signature=69f13c49fdab1523e9923bd50fbd5d63d09454679c218cb5ae5f32e88d1a15cf&req=diMmFM5%2FmYdcXPMW1HO4zeBEb8fck%2F5Nyb72rapuHpPdPYVYL6f6%2Bpof2Ev8%0AoSuU%0A) + ![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312714635/b57870b51e6511c8293637bceee2/da1ceabc-b6bc-451b-9cda-24ff6aa90d02?expires=1792476000&signature=483bb63422c372817bd803b83f46f762de8387287e98338ee6e6ba3b7d9db40a&req=diMmFM5%2FmYdcXPMW1HO4zeBEb8fckPxIyb72rapuHpOXyFJzF17xy4Pj76nq%0A2gw0%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=1792444500&signature=5617c95e9a6488a297ba056377b4e7834ab8163614fabbe65eb57ffdcbaddcbf&req=diMmFM5%2FmoVdWPMW1HO4zZ9Lal%2BpHc7H5hujYvMis4dncqMtnn42gNLiWiqB%0AHmiT%0A) + ![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312717421/c97fce49ad17d4660880a05fbaaf/59fbfa2a-1072-4662-8ca5-102970d5a795?expires=1792476000&signature=e753fbf981cce581cb52f82a60168d5ecd4999f0d2cd46bdead9835f7ff0f9a9&req=diMmFM5%2FmoVdWPMW1HO4zZ9Lal%2BpHszC5hujYvMis4fg9yDFP8yI6BnTAW%2Bt%0ABC2l%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 7cec293334..d14916be51 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=1792444500&signature=5ea1636fad4b7227407073df25eb3780f959d11c5274a36761a6136f798a7b9e&req=dSgvHs14lIVcX%2FMW1HO4zQNx6uAjR15Vg%2F6XaftFnjw5PPBAu%2BvU2hDDDjBV%0ApvF564PeDBiVbh7xZXE%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1888469436/1725e63ea1a2615948faecf4ec73/9bd276a1-7329-414d-87a1-d04dac93fff7?expires=1792476000&signature=7d0acd1553b552d25c1e9a1264fa85aeae7afbae5a600ab0fa0e4fadc7da1bb5&req=dSgvHs14lIVcX%2FMW1HO4zQNx6uAjRFxQg%2F6XaftFnjx2Rk0lUed6XrgPJGrW%0AgQl1xwuGtcC24e7kphU%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=1792444500&signature=c86a2e1ce78e05082c17eef3bf510e59602c5c2c9e2362d2e273f4df807815db&req=dSgvHs14lIVcXPMW1HO4zWzx2bsyI3skXZ5D7eVpMteuruJNOjR4eHvlT3Ag%0AFG58bmxOuTgkCvvUiHw%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1888469435/7a766bbe02e61c7d8f05deb5b8f0/b0bda400-47c6-43dd-9907-131ebe180b36?expires=1792476000&signature=2ed9a871d8632ed3be20077188e0985f5f91289118d3714e17f7199c669b05ed&req=dSgvHs14lIVcXPMW1HO4zWzx2bsyIHkhXZ5D7eVpMtfMtQ1uv%2Bui5sUjYPNn%0ACpX0HtZrJJ8rWzePHGQ%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=1792444500&signature=5cb66e4abd6cf0e879610d262f85037597b5cb3157627f1a7156e0d321696cdc&req=dSgvHs14lIVcXvMW1HO4zZ7mW8qf4z2mA00cbyPOLDUer%2FZAKjFwGsnmMhs1%0AF9PrKNlQBJn6rKmtyc4%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1888469437/46ac5bc55484ca01556d87a5ade7/b01a7651-ad65-4b32-93ff-16dbc9ca97c0?expires=1792476000&signature=fb522ee14c40e48047bd1b97c4108356c1ca63086626d22b4aa11eff7e4da928&req=dSgvHs14lIVcXvMW1HO4zZ7mW8qf4D%2BjA00cbyPOLDWcXNGQNE5onb6YJ%2Fym%0AsW0UDYB%2Buy%2BHeGODhCM%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 d4d9c8e76e..6b80f4b35f 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=1792444500&signature=276a430544c89b56fa2a157e71246382755429a921d4b77a06f9177e5d01ac4b&req=dSguFct%2Fm4lfXfMW1HO4zXg5B4CI5xaxzWhrqpWiTMlq9qR8RvSiD9E9Jx9v%0AC0RY6lsDVM1poth3sGw%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1893216804/f2209c3ec6cf4fc2e803d13bbc9d/40520c9e-ff82-4a7c-adca-5a064fe18d8c?expires=1792476000&signature=3868438bc66b9de076a6be079c89d90a61794700da0395130121a7816688be2b&req=dSguFct%2Fm4lfXfMW1HO4zXg5B4CI5BS0zWhrqpWiTMlgjjfNjQY8XjW3YYzr%0ArY0dzp5%2F%2FT9ddBh2iyg%3D%0A) ## Continue with Google diff --git a/content/support/13325567-account-management-faqs.md b/content/support/13325567-account-management-faqs.md index 5ef4f8ed40..7f75ee5c87 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=1792444500&signature=78a99c0c8ca889b5fcfa7f03a80bd47eab9f43c60121c733770803805a6763c7&req=diAiFcF5nolaW%2FMW1HO4zUrhF%2BmcbQwfkeFUnrkrQZgss%2BrYOtrdWalnGb87%0AhVYz4UaKx6doyFIf6%2BQ%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2053873852/1cbccea3b7067e03205f2ff8546b/CleanShot+2026-02-11+at+11_16_07%402x.png?expires=1792476000&signature=68f46781478093476d81ad3b1ecbdaf80c2a348bc3f559683707e8365b717428&req=diAiFcF5nolaW%2FMW1HO4zUrhF%2Bmcbg4akeFUnrkrQZjK05IIabOniWP46oBO%0AnokzFB8VSCrIMqSMSqw%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 ec13bc05a2..38e8e7685c 100644 --- a/content/support/13345190-get-started-with-claude-cowork.md +++ b/content/support/13345190-get-started-with-claude-cowork.md @@ -182,7 +182,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=1792444500&signature=10d70d439cb086d32eac96efc03e48374bb1d6926d53e009e478c69763d5d51d&req=diUlE8B8m4lYXfMW1HO4zcDl69roMlW18iWjaktE941BwEYSUquRwixBuDhb%0AgcWpDAI9pnbT5ofMbiE%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2525926874/15324ac4155d7802272e8bdef04b/ec66cd09-a4db-4f1d-8f30-226c9d126333?expires=1792476000&signature=70b23732699ea8a488d84bee1e6b22adf41b6186f1a412ee426bd88b75dbc23a&req=diUlE8B8m4lYXfMW1HO4zcDl69roMVew8iWjaktE941dk4odTElSHCofCQZ1%0AR14ReslfDpYfZJPTDI8%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 77193b8e29..90c4271978 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=1792444500&signature=aacffc4bda771b921daf082464d07de13860462569f53866c1a75f62767bde94&req=dSkkE8l8m4dbX%2FMW1HO4zcrI5ovopIQI8vUNcPt4%2B701h%2Bew8wtfqRGFFEoe%0AkYcLdjEL8sGRvM4ae9s%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1935026646/d90d1613a3dbe763fef5abb96e3c/image.png?expires=1792476000&signature=e6c3677a524e4b1cc2bf595717d0c965018a81bb5f7fd4920977c88e0364cd80&req=dSkkE8l8m4dbX%2FMW1HO4zcrI5ovop4YN8vUNcPt4%2B73234DVhp6Oqmy7UST8%0ADWFdibAJDbXLvqOBEI8%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 e8a94a0f6f..f53ad3760a 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=1792444500&signature=c4a19454d628ba2972382b79c3b169868418c7adea2a80f4fc9c25ea87620b70&req=diAjFsx6mYhdXvMW1HO4zXlB7Dy%2B0RyNdgndksVD5R2WMlPJan8F%2BqvhdHo2%0A01HkLpp3WGoy7HWM05Y%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2040544927/3a9c695b24df387ecdd766ad308c/8be9f393-dcb0-4ff8-89e8-5fa47bedaa38?expires=1792476000&signature=c92d82e7d70c494b024c465db0fb698bd539ff6d5ce65aed72490e66feed9394&req=diAjFsx6mYhdXvMW1HO4zXlB7Dy%2B0h6IdgndksVD5R0C0LwG8b9rItmYSBWt%0Aj1srJSkRQyC%2Bb035eK8%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=1792444500&signature=d0746ff1750e663ae33cc8bbd91df3a2a353f951da0431eac4288f64f127f138&req=diAjFsx6mYhdUPMW1HO4zUQperIR1lCSrIPm%2FImZVg3BuiMlVi6xmuj%2Bbxp%2B%0AMP9%2F2TNMLGxbwGO2Rcs%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2040544929/12f4c51eda7779d65d3ea2c7ab16/d0f4a314-cff8-421a-b401-10c2bf50374e?expires=1792476000&signature=c01482233b0b09ec766e6999742cd8caad7afa0f80b8c4e9b689676d2a4326ac&req=diAjFsx6mYhdUPMW1HO4zUQperIR1VKXrIPm%2FImZVg1hqZGJB%2B50GAv5RB8Y%0AoBOQfTmoETbgAI9XHbs%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=1792444500&signature=01bdc64ec56a4978b7e2dd29dd50b4422e58c959dfdfb3e64962f36c3c554fd4&req=diAjFsx6mYhcWfMW1HO4zWmF5ve6bRqnx4wz0C7CTAJBNxnlkBv4nWfK1SVU%0AJSfHe1B3LYaJc6npk0w%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2040544930/9ad066e137d11e4b559b0217e12d/9bf30d2d-1715-42b3-9da5-2a9298f41f08?expires=1792476000&signature=27101a05f9b3f4ccb088d383048b5a80eddd3f0faa9998d68d211282d5637e20&req=diAjFsx6mYhcWfMW1HO4zWmF5ve6bhiix4wz0C7CTAL5uDD6MGsq9h6JRs%2Fm%0AkQZ0uJeyQ7UvK6jo8OA%3D%0A) --- diff --git a/content/support/13837440-use-plugins-in-claude.md b/content/support/13837440-use-plugins-in-claude.md index 1eb2b3dd04..d07df3c682 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=1792444500&signature=088913cfc4606ce5e0aa4c6c53d6ae84593638e99fa89540434f649f5c1bbbec&req=diEnFs1%2BlINeWPMW1HO4zZF3IxfZN%2FFQxakFVfq5WwzmKK%2F3F4iChQz%2BKbe1%0Ay14yUCGaFwGPOK3kHSQ%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2100409211/fc01614dde1a616fa31ffaa9cb04/47bacf5b-a810-45b5-a468-9769f1a58ef8?expires=1792476000&signature=58948ad964137f6b91001420dc918e334fda3cf87fa1e440d143c67a664ed3c0&req=diEnFs1%2BlINeWPMW1HO4zZF3IxfZNPNVxakFVfq5WwwtyANWNKo1oCNcjA9Y%0A1eFW%2F977XEtmTn%2FNW7s%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=1792444500&signature=ec34744b0902796fdcf76bbc6e41a14fbf20a771d0d66b50d6c3fd205e35a606&req=diEiEcp3m4lbXfMW1HO4zf4NBfT4h0SRmKUxugP2BQvezlCrf4%2FqFJw%2FsPNf%0AK3uIUdIs%2BS3%2FVzU2aY0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2157396844/4a790e10f5b88df770783df1d7e9/image.png?expires=1792476000&signature=2e73b08cc717e8e8f578331db9bffa163488d333d2472640880094d01a397293&req=diEiEcp3m4lbXfMW1HO4zf4NBfT4hEaUmKUxugP2BQsK5h9V9nR5hKbu24V2%0AYkAWG7M1twhWd3pmMyU%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 f6bb8ca6f3..0888aa3356 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=1792444500&signature=0916cffd0f7d303db3faa6bbd9290989e91eea5ad626bcfef4cc1aa39e89775f&req=diEhH8B7mYFXX%2FMW1HO4zSZP05CPEQr6B32drIe5EDkfbS9k99XxJpQqzAKA%0AZLE5%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2169954086/419674f781edb2977b93cce062b4/93b1893c-d79a-4eb6-b2f1-2fe3e043bd90?expires=1792476000&signature=46bb7d0fe1c4953fdf1e79178c643a3ee93393e8629d60d991e6455c7d089194&req=diEhH8B7mYFXX%2FMW1HO4zSZP05CPEgj%2FB32drIe5EDlWv8wOmK2%2F7O%2BmWICl%0A%2FMEH%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=1792444500&signature=594a83c7462de6ef5726253a98ba6e9ae1375e1b1a99ba5232a2b666616f7858&req=diEhH8B7mIFXW%2FMW1HO4zaZWsticWQUbepuGRb1rD3IakgwCeFNmzS%2BXCnSn%0AtZQr%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2169955082/de4053ee0eab8fcb9263584bb171/d39b77da-1a69-4682-9fdb-7ed488f236b0?expires=1792476000&signature=be0b30ca80e14e1312cf76e1b24cb9dfd92d12d8ef671013d5f608c22a47561a&req=diEhH8B7mIFXW%2FMW1HO4zaZWsticWgceepuGRb1rD3K5flGEIqHcqsjfGUuA%0A%2BKLE%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 ee81cf2b03..6a443c73b0 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 @@ -24,23 +24,23 @@ Cowork is available for paid plans (Pro, Max, Team, Enterprise) on: 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=1792444500&signature=a23fe75713591a97a26394decb3ee01d4176f8035e3b3683fedcc2959bb9b9d2&req=diEvFc58nYNbWfMW1HO4zcOgige%2B1SxwZwSvwegvtgxqjPxLOBrTk3nn%2FD8d%0AsZ%2BsAUfTcM4Ub838k1s%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2183720240/6f6ef438913391703598d86d606c/CleanShot+2026-03-20+at+09_11_43.png?expires=1792476000&signature=478ae7f9fc441cdd4f9d32616dd5e034405c8ce19c49c9d4c81c60f1efe1627f&req=diEvFc58nYNbWfMW1HO4zcOgige%2B1i51ZwSvwegvtgwOCoXyutqb3IV%2FBoi%2B%0AGeWL%2B2oUXw%2Fo5PqjeKY%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=1792444500&signature=eabae1f533c61da71aa79032c08e459c32ec7498d55c0833a0eeafa0b964e9ce&req=diEgEcl3nYFeXfMW1HO4zZCoQo9BSnGTvb0suCMAnj3atljAY%2Buz1EWmsovX%0ALuNFZjPxujJfU1usY88%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2177090014/07832b50003cf7fd3b4e9c7c448b/3385d9b8-c3e7-42b9-ae3f-4d213baa53a7?expires=1792476000&signature=ed3b7f1d06cbb8c26defe4ea69c9202899f9ab81b747cabb7271c9cdb6a5efbd&req=diEgEcl3nYFeXfMW1HO4zZCoQo9BSXOWvb0suCMAnj2iCIB71QRWN0s0yr1q%0ABT0Bq0NpYezVyd2Zu88%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=1792444500&signature=e42e8a878fd9edcd987a6119dccd6ada2531643b192993779d7e6ba5ab434495&req=diEvFc5%2FmohZW%2FMW1HO4zQQ7UWFZzpwajggUT7FIJz%2FKYIOEb%2BXhMVxWNgSU%0AEv32%2BBDDaENPNc7FsoE%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2183717962/acdc11bcc825ae76a13f508365bc/CleanShot+2026-03-20+at+09_12_08.png?expires=1792476000&signature=c3c18c8036aa09e910de8e49e0613a4ec47622121890d39264c2d44e94c1a0f4&req=diEvFc5%2FmohZW%2FMW1HO4zQQ7UWFZzZ4fjggUT7FIJz%2Fu%2B7NLTXXgmHQbIMZq%0ALJx8LevxizbLMQMrzLM%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=1792444500&signature=23812e432e7042a434b669e26df8c0fb0d9c8696a08ecca745a4df41ae1f8883&req=diEvFc58mohYWvMW1HO4zU%2FKAyFC%2BCfJI7f%2FdY0VL6hcSvm0DIAxIjwjShB5%0AXWte3%2FRvjA7RIlfZYZw%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2183727973/7a25430123d9e13e7c3cdd411f70/CleanShot+2026-03-20+at+09_13_41.png?expires=1792476000&signature=35776799480daa88c479999dc0bb436f45d306129d094eace9f7afb17c87f074&req=diEvFc58mohYWvMW1HO4zU%2FKAyFC%2ByXMI7f%2FdY0VL6ikS6wwIlP7emdr2Mr7%0AH05itj1444I3RMIVF3Q%3D%0A) Clicking “Create” will transfer the files and instructions from your existing Claude project and create a new Cowork project. @@ -48,11 +48,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=1792444500&signature=dce41afb7f836cab7019931c1070bc0bf38ca7229d9245756ab1241f3a71d98e&req=diEgEcl2mohcXPMW1HO4zejrnjTSESdauv8e2Xj2xOV2EGEge%2Fj6KwcieJZ0%0AHI%2Fd1tv4ItevWFeMGSM%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2177087935/2f0052dae601d0b7fecdc029e1c3/2e3ca9e7-23b1-436e-bbdb-edcd31c41f15?expires=1792476000&signature=d06ea4e353bd39424e96cd6b762875f176822dca7740e5ce7f87fba6a741426d&req=diEgEcl2mohcXPMW1HO4zejrnjTSEiVfuv8e2Xj2xOXhmcHgDxHN56N3vkCR%0A1kgHtSlv2%2F9rn0KUnyk%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=1792444500&signature=2e166c0f8e5e86e8fbcec9b38919c805ce921b903f9c28a172dc9480c403c25e&req=diEgEcl2mohcXvMW1HO4zUq4VuGwh6Y%2FMfnqHouW6MKsDgXComcPjaUMmYT6%0AKhCALqKEhAPb1KCx4hw%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2177087937/f59dbe3fc28448a9597ea097cb4d/96a59acb-4054-4b4b-a208-751f9711f535?expires=1792476000&signature=e84688b0b2f4f4007e4cbf1ddf5043bf2508d02d2f951556b6229ba71f95bfe5&req=diEgEcl2mohcXvMW1HO4zUq4VuGwhKQ6MfnqHouW6MKHHNjZdpjqmiZ9aLH8%0Aoif33UuYEkL1x2tahAY%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 e1575cd0e9..b940924200 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=1792444500&signature=06d55042403738b8b339ebdbeb2a87436758e0fc07cc5c679ef0af1fbb966d10&req=diMmFM9%2FnoRbUfMW1HO4zW4gbTepMcmxrgfl7PnOiumZC2oGxfQuBkJyavYu%0AlD0E%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312613548/44cd5970ee3c3b2c7f8dcd592d71/image+%2824%29.png?expires=1792476000&signature=f83874fde3c36bf924f96986c3a26cb8c30b61edf238c3d559080adeb1890cfc&req=diMmFM9%2FnoRbUfMW1HO4zW4gbTepMsu0rgfl7PnOiukUlANpGDJ6gnm5Wf7l%0AiVnE%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=1792444500&signature=06eb4f83d2cea4aac28c1319f5ae9232ceeb9528be4b932cf78de4b3a9dadc32&req=diMmFM9%2BlYBeUPMW1HO4zX%2F4f7j0zz8a43OpyTHzM9QRhAXIOf8yYxUbxhFr%0AfENz%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312608119/e4b0ef4f309f3c4eac8311a6ef47/image.png?expires=1792476000&signature=8baf094e84a1341be91a5c953e2a069606b14693c9911eff753b2ed7b4eb44a0&req=diMmFM9%2BlYBeUPMW1HO4zX%2F4f7j0zD0f43OpyTHzM9RcvlM1fL2t%2FYaL1IZQ%0A2v0n%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 d8556f99a1..8a3c733fd0 100644 --- a/content/support/14604842-cyber-verification-program.md +++ b/content/support/14604842-cyber-verification-program.md @@ -12,7 +12,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=1792444500&signature=25c927a8babba789f1b0ec017e9211b7652db94361bda030a2c225974a0d629a&req=dicmEM17moJWW%2FMW1HO4zVYZ0Nq6asBCy1US26KtMzLjHuT8pt4anN0QcvYL%0AMP1T2nEI0x51c5KofzQ%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2716457392/33c90f9ccfbd33fee02840fd2efa/267bc7d1-baeb-4302-a1d9-4491b4110775?expires=1792476000&signature=39be5200e6087456672cd6c563796f1a1778cdcc9848a77b920a265813ee4286&req=dicmEM17moJWW%2FMW1HO4zVYZ0Nq6acJHy1US26KtMzLh2uyAC4Jh%2Bzel80kW%0AXmp7lwAZdoSkuBT1lW8%3D%0A) ## How to apply diff --git a/content/support/14793921-find-and-join-a-console-organization.md b/content/support/14793921-find-and-join-a-console-organization.md index 70407b62bc..c14ec8d645 100644 --- a/content/support/14793921-find-and-join-a-console-organization.md +++ b/content/support/14793921-find-and-join-a-console-organization.md @@ -14,7 +14,7 @@ Admins can manage organization discovery from identity and access settings. 1. Log in as an Admin. -2. Navigate to **[Organization settings > Identity and access](https://platform.claude.com/settings/identity)**. +2. Go to the **Identity and access** page (platform.claude.com/settings/identity). 3. Your organization’s domains are listed at the top of the page. @@ -54,7 +54,7 @@ In addition to organization discovery, there are a few other ways to join a Cons - **Email invitation:** An Admin or existing member of the organization may send you an email invitation to join. -- **Admin invitation:** An Admin can add you directly from **[Organization settings > Members](https://platform.claude.com/settings/members)**. +- **Admin invitation:** An Admin can add you directly from the **Members** page (platform.claude.com/settings/members). --- 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 0b166fe6f9..225863f852 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=1792444500&signature=1eb327ac648b34ccf6b464b5b991df6e102aad1cf26f398c4058487aa95d33c6&req=diUmEs58n4BcUPMW1HO4zelOdjBEKUxCfdGVZ664dGHbq6JHOAV9pcgzAjVa%0AinTkP9B5A6vYwCTa1Ho%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514722139/d05c94072a41ea9090ecf386c53e/c32ee31d-954a-4551-a2da-91677fbd0b6f?expires=1792476000&signature=4e41d5400530210cc30049633af9cc3747fe31e31cc262a1652649911bbf287d&req=diUmEs58n4BcUPMW1HO4zelOdjBEKk5HfdGVZ664dGE0y60VBbdKnBFkgpr8%0A8u5p9Y15CsjIQ%2Bd%2FMTg%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 b2efdf8b5e..ea97bdbd48 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=1792444500&signature=edc89b4bb0850f4a619acb76fc239a34cd93e34891169755108e2c03eefbb4fe&req=diUmEs93nohdWPMW1HO4zXlxE%2BW9U9VSQf5Pb7M2Q0sZeL6QJDx4EVYq1RDS%0A2ouGF9eVi%2FYHEv61Hxk%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693921/02ea72756f5163f14e5d158516dc/69102088-cd86-498e-97aa-c8a6e0004419?expires=1792476000&signature=6d46054c6fb298fce08599174833ae496d65e58c4adae37c233a35906f7781d5&req=diUmEs93nohdWPMW1HO4zXlxE%2BW9UNdXQf5Pb7M2Q0uMr6bdIZIGaSAA5Gkl%0A1w4oMx1suFzv%2FQigY1M%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693922/bfc5de6626eb19dca1d7caf818ca/c3cd8bb6-f86c-4d01-92da-6ae4ca966662?expires=1792444500&signature=77c9998c65032111d22e384e60235a7e09cc716ce173cb7cb1b3ec147c7cbfab&req=diUmEs93nohdW%2FMW1HO4zTqNsIvBQlxSAod9uc510lxrblgdewp%2BQRA2lyuN%0AHD%2BTI9bRYDQOj9cvWTQ%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693922/bfc5de6626eb19dca1d7caf818ca/c3cd8bb6-f86c-4d01-92da-6ae4ca966662?expires=1792476000&signature=c47687c0c0720b7d239bdc7cf498ca0b512fc5ff21ed7c552b377eff5b95285a&req=diUmEs93nohdW%2FMW1HO4zTqNsIvBQV5XAod9uc510lytXu5N72d5%2FsfP8%2B7c%0AzNWwDRXiXZIzkqm8QLY%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=1792444500&signature=e939268e0bcfb912dd7a433924e40f9c1e61db2020d6f1b52b9fe753a415865c&req=diUmEs93nohdWvMW1HO4zYj9SPcH6YW4XsqpNqvyFRLcvDCUIaoIA4B54GlY%0ANI1KaDL1EiX2JqHE2Os%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693923/880665a87dbd4776cf19d6063a37/29d30c6d-f9fc-408c-8c72-4320c6d88d14?expires=1792476000&signature=9fa165b8c41d0401f443bbeaf265b06348132626ffb3d440f403f8b516a344c6&req=diUmEs93nohdWvMW1HO4zYj9SPcH6oe9XsqpNqvyFRKpAih868Nj06y%2FHwR7%0AAt7FR%2BJnRqkmBcJGyrM%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=1792444500&signature=70b826538b73dc9cc1f68303b35136989e4196cefcadc9931558201f254268d7&req=diUmEs93nohdXvMW1HO4ze1xBzG4d70cDeA1RkowXUFY3wjCHUGNiPurgCR3%0Af%2Bjlc8Y3tsznbTNpcho%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693927/7a25673b3b075d72adb3cdc371e3/d2d7cd8d-a713-4e91-a706-f589ac46a9fe?expires=1792476000&signature=f7e15953f30958fe750e17e03f9300a734abd16fff50ef4cce5306a0abc1f037&req=diUmEs93nohdXvMW1HO4ze1xBzG4dL8ZDeA1RkowXUFfMcqSHMGGOX7L3zwg%0ACzIUwBslpbEPVVswUdM%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 75accbac98..6a94f1aa15 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=1792444500&signature=57394fe983cf5abc13836c780e5bd20762d1929a5b359fada832800eb9f97f7e&req=diUjEMh8m4RWX%2FMW1HO4zU5ln2lqqcFmGkiu4hEpcPWVBxUbgyvkvrL5oDZ4%0AUv6zkWAPLWLzn48Fc2Q%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2546126596/ba71ca47e2df21cec62c243831f8/5b1c67e1-607d-4c73-8f61-d1ceb081082a?expires=1792476000&signature=e2d91ffc1888886d679eebaa5fb99a2d435c92eac60e43a946124b7c53b45f04&req=diUjEMh8m4RWX%2FMW1HO4zU5ln2lqqsNjGkiu4hEpcPVlmRxEx3wvHcCNTGaL%0AZplmmvNdszac%2FbiQY%2BM%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 bb32300760..59cdc242cd 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=1792444500&signature=c2337e14bddd5750e68360dd3a7aa3be59553279bff60e107ce6446458e59756&req=diYlH8l5n4hYWfMW1HO4zdWraRM76lAbPZYKVlMiWEXlc5yUDqlQd2ZD9jLr%0AvoXZofcR0QEtecjNV2M%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2629072970/c514f489b65072ccad08e803864f/e8c7a7de-905f-4a40-815f-c9c66edcdbf6?expires=1792476000&signature=890070d6b52527d596c9fa6480c341c360f77f6da69a54c39ba9d43cb124495b&req=diYlH8l5n4hYWfMW1HO4zdWraRM76VIePZYKVlMiWEW%2FRPEnIN%2Fb5Vy%2Bpjn8%0AkGRjz5a9Bu%2BgaVRdl%2Bc%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 434afdf0df..2720907a4f 100644 --- a/content/support/16893491-get-started-with-smart-reports.md +++ b/content/support/16893491-get-started-with-smart-reports.md @@ -24,13 +24,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=1792444500&signature=9e170942283f33c2e2f819d2006f040bfe6ddef4d255427a57db21dfb7f4cfc1&req=diYgF8l9nYhfXvMW1HO4zZse%2BmCYTwwJVa%2FWhnGS4Gn5HVu%2Bm%2FsB21oDj%2BFB%0AlH9d4KWWuSv7N%2F6b%2F6M%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671030907/7b62b605189fe8e9474a20c1eaf2/image.png?expires=1792476000&signature=4f0f3bac556c2fed7459f489ac6c0e3d0cfa7e7b2c6edf8f60cb98d1d154cbe8&req=diYgF8l9nYhfXvMW1HO4zZse%2BmCYTA4MVa%2FWhnGS4GkS75tzgJGEdCUETjlO%0A64ryfBZvA%2FZPo4uZG9U%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=1792444500&signature=e7e239d9440743801928a849d24625ea59a804a41ad46eb7cdd787a86b22ee3d&req=diYgF8l9mINdWfMW1HO4zelj06Vfl9n3YDEFlKbF9Y8u0MIJUV%2FdWf2iPu%2BO%0AyHit5q5mnr8LWZZwaNw%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671035220/2a582bc047a6ba46e7dbd6f05d9f/e17881ac-874c-4747-94ca-8679e0301455?expires=1792476000&signature=ad738e9c355c532d5069b5834e3a8f73adefce78748c69d2c60248a00ba69c7e&req=diYgF8l9mINdWfMW1HO4zelj06VflNvyYDEFlKbF9Y%2BXGaY%2FrKPiTUrsCSXk%0AL255ztZeLnOyxI3tadI%3D%0A) ### Cost per session by type of output @@ -44,17 +44,17 @@ Task outcomes shows what each session produced. Most common frictions 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=1792444500&signature=f38bf69186632a9e4403bd1d05b3d1e1bf6d24681eac51e035f2009f27e4a6a4&req=diYgF8l7n4JZXPMW1HO4zdDitrgxUNlUjFK5P3Uf7RibdWkP7Qp8uNAZ1nrb%0ATSYZRzXl7rZIRDB6mtM%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671052365/b69f22b75729e5587563e7ab6830/b1647659-a7ea-403b-89fc-0b150ee97675?expires=1792476000&signature=8fe062abe9d13e6c515aa7d3f4a59eb176e5d8cb022d1ba464f2c5110ad5c828&req=diYgF8l7n4JZXPMW1HO4zdDitrgxU9tRjFK5P3Uf7RgBJ0YwgXw9AmFyqqK7%0Axvgy%2Bnan5FMJfbYX3Nc%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=1792444500&signature=c61429c90773207a8e302b137dffb40afa48a7d1239e17bda9787e5afe6f3371&req=diYgF8l7noBWUPMW1HO4zbuGO4ksIr0ZodOVMLl17PU6JdZAWVrjkYFi61us%0AsnDHz%2FaArbfkaaI%2FXss%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671053199/b68936dd5d590c5fbcbbc092b332/5ec247b2-cd67-4f3f-97b5-23479b87a5c6?expires=1792476000&signature=5397f12d4248abf13778e7c3b2f9c232a9851f0c6628c6315e393ea452bef62e&req=diYgF8l7noBWUPMW1HO4zbuGO4ksIb8codOVMLl17PXQd1OZS9fbtX6VatlF%0AKIYxnuvDo2y%2BN8IUm1E%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=1792444500&signature=1220719dd8596de90cbfe12ec958dd13ed9361624f251c1ff9eb247a3ad6c38f&req=diYgF8l9m4BdW%2FMW1HO4zcYfhg2SCfAfBas8rgXn%2Fb2tcRm7BhhipXvCHHCO%0AoUuSLbdWIV9CbJr6m%2Fw%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671036122/90dc848a7adf371a872bd89a2f5e/de86945b-ccfe-4e0f-892d-abacc475c5c4?expires=1792476000&signature=5ec3ea628a19f6987abfbac9d07eb912729177a0f8f184532ce61544b458a26c&req=diYgF8l9m4BdW%2FMW1HO4zcYfhg2SCvIaBas8rgXn%2Fb2eNb%2Bayn6b1Bs10Mc1%0AxybqnQeyULC2q4RtWGs%3D%0A) ### Reusable skills and workflows to build @@ -64,13 +64,13 @@ Reusable skills and workflows to build identifies repeated patterns that could b Most expensive sessions lists where spend concentrates. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671032083/2b075387a4a3473f884a8ba26436/image.png?expires=1792444500&signature=f98bea3d52c2c1c082f2a71d54d4a6d44691407fde25d070a20c2a60c7597bd3&req=diYgF8l9n4FXWvMW1HO4zdLkIm2h7kIsnUoxuhUXEhhbtG%2FAv5oI%2BBiu%2BWIC%0AcTx81nMjdCrQSCtOJbY%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671032083/2b075387a4a3473f884a8ba26436/image.png?expires=1792476000&signature=b3c3a1cd53212093216f91171782de5caab44234f52173b6b585f95ee5b2ee96&req=diYgF8l9n4FXWvMW1HO4zdLkIm2h7UApnUoxuhUXEhhs4G613YlwhT%2FocH3q%0A%2Fc7qypGVIm%2FAxfvagZI%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/2671031695/3781b98c5cb9cdc069439aa3d9ab/image.png?expires=1792444500&signature=180a5ea05f6bcfc2eab3c5a347d315c3212927241c1e1092c852507b7e918157&req=diYgF8l9nIdWXPMW1HO4zcPtgjD1D9vBtjDEKfEvx0Pd9TYQmbQz3ayWvxqP%0AyrPj6jGcqP9ys4oYc2g%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2671031695/3781b98c5cb9cdc069439aa3d9ab/image.png?expires=1792476000&signature=8236712e0e7c3e2c51f132512950840051fee818743be14f62574b40dc48adf8&req=diYgF8l9nIdWXPMW1HO4zcPtgjD1DNnEtjDEKfEvx0O4E9rLS7Bsz1WXiPfi%0AKBzUwUvQ%2FRH%2BUImkc1c%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 3f4f90a135..a552943a94 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=1792444500&signature=627f0a7339695cf34668f15fb22ca57b5983adf41e333dc4c9d2d97b7d7daac3&req=dicnEct2nIVZUfMW1HO4zRwmJT5oUOBKaAKM49NdBLM97GfNT%2BFSV51X5Vc7%0AusIC%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2707281468/abc0497defca04936c9a4b97d147/8b17d05f-3fb1-4e49-8d1f-65364ac3f496?expires=1792476000&signature=71872abf0684fab8e6ff0a872ad41b64d95dd2f7d3489e99e6cb52d35ad8de29&req=dicnEct2nIVZUfMW1HO4zRwmJT5oU%2BJPaAKM49NdBLN4we1fEBfLKmgF2zJC%0Axw%2F4%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=1792444500&signature=0ffe23b9e64a0c302e228355f3cf5bc050c032e613c47feea4d4b11594e31921&req=dicnEct2n4JbW%2FMW1HO4zeKY3p4ChAr1eBfHlrCfDWe5bemC4STiHNSQmF%2Fn%0ASaMm%0A) + ![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2707282342/f583a396098ff16e3cbd156d4a2a/112c6459-79c6-4fbb-9bc0-748fda6f592f?expires=1792476000&signature=7cd745a302d7fc83e8978d1663bbd9fa63a2adbdda0366143a10ace0bb2b0641&req=dicnEct2n4JbW%2FMW1HO4zeKY3p4ChwjweBfHlrCfDWd8TgAR3z04F7h1bIOr%0AElxh%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 b8b91bc579..b0b359b1f1 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 @@ -76,7 +76,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=1792444500&signature=43948bdffcd3164c41c819b8f83c9e8f0d2f935613f8072f458a6a1988509867&req=dicmH859m4ZcX%2FMW1HO4zU9wBwYcVYw2TLR6JppsyjTbeQIwQQUd0aAdZUwj%0AZlEDcKHW597iVxYDW3k%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719736736/a4ec8e92af4975a87891357e5dbd/6f58b496-432d-4069-ba18-72a6390ab2ea?expires=1792476000&signature=b4b79bf573287bbb9c6c17ec6e824fdd12b86526b5c415a4306c798c6479a841&req=dicmH859m4ZcX%2FMW1HO4zU9wBwYcVo4zTLR6JppsyjRCm8olzmt2fBs6tQ24%0AaIq2h5XUaCdQQMm6LSA%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 d34670f65f..4387296dca 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=1792444500&signature=219fb3e4a97d7517c1fe68f64adac5023e02d298633c25f86567e63a46a5074f&req=dicnFsh3n4NZUPMW1HO4ze7khjPV5m9lAMLV2Uu0R4VoZGBOe%2FwdvzCYy%2FK6%0At1ZQ%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700192269/ce2bf95a18aba11042da50f4c1ad/dda0f9a2-d585-4b09-ae4f-a1ff70b1e010?expires=1792476000&signature=8129b18fd914ee161d1a76f9548f177991da0589b4b1bdcce513bc4972b227f0&req=dicnFsh3n4NZUPMW1HO4ze7khjPV5W1gAMLV2Uu0R4Uzn90PXPzOJOjPnY%2Bg%0Au8jo%0A) 2. Under Platforms, select "iOS/iPadOS": -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700195036/b70c6c0bdeff5f2b72568ef4943b/67cc834c-5e91-42da-9d3b-1f32c8dd8c05?expires=1792444500&signature=68a23769a5f196b52dabc4dbd70a276f4a1533e06e55a43d0957f7685c4452fc&req=dicnFsh3mIFcX%2FMW1HO4zeH1oU%2FjtXeRQ7hR7Wh%2Bi72iTsIdHP98fAPrYJW1%0A8VmT%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700195036/b70c6c0bdeff5f2b72568ef4943b/67cc834c-5e91-42da-9d3b-1f32c8dd8c05?expires=1792476000&signature=edbda59d909ebb5ee3e2b60644f6fabfa4b127669cf3dd97badaf1340037d3c2&req=dicnFsh3mIFcX%2FMW1HO4zeH1oU%2FjtnWUQ7hR7Wh%2Bi725HFAv81f5gytejjrt%0AD29j%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=1792444500&signature=f8e802fe5472717d77c2d88590d6663f7e34807a14088c14ba74b34b6b653348&req=dicnFsh3mIZWWPMW1HO4zTni3cQtZpop2SRx6amjj9GcKvCyrOCPQvFUzCeL%0ATUcu%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700195791/9a01290b4189e6a39c473af0a448/cfed06da-f35a-4b22-b687-286ea48864c1?expires=1792476000&signature=2127cb0a29f78a72602e7d83d0525c02a9417da238a7021e76a4c3361c7eed9b&req=dicnFsh3mIZWWPMW1HO4zTni3cQtZZgs2SRx6amjj9GOJtwwWOb3f1gbixBD%0AxP3X%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=1792444500&signature=62edd28ea984bd9e7689c942a0c1a71745752fda67c2e931383c7c4b67fd6d2c&req=dicnFsh3m4VaUfMW1HO4zbxl5YpTczYrDNNSLAHCCFrXIW%2Ft8Y0Arg5E0HEO%0AdLD9%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700196458/588327ab209e9524c45111a244a1/258697c2-2f82-471b-9104-2bccb1b01614?expires=1792476000&signature=43def00f865847755d04d3c23d5e214334437ae46080df9c859cc8fe763edab2&req=dicnFsh3m4VaUfMW1HO4zbxl5YpTcDQuDNNSLAHCCFp%2FpzE%2Bxpx5lC0wP7UW%0AppAF%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=1792444500&signature=26157c9e366af7965a4161345753fae1ac27c6744bb936253fc172f188401fc7&req=dicjF8h%2BmoBeXfMW1HO4zYaZMeq4ffebmN%2B6UXepdg9zqrURNQzuz9n14mpv%0APteK%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2741107114/8f15b0d179a54c2ca4effaad8577/55bed25a-4b20-47b0-9e89-7f8adc86c04f?expires=1792476000&signature=0ba72c475cd763c4717e0a4290b193f8d4b3d180c3394a784056d4d43a6d042b&req=dicjF8h%2BmoBeXfMW1HO4zYaZMeq4fvWemN%2B6UXepdg%2FFpBqt431G%2BWEDPZE7%0Anwl6%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=1792444500&signature=6a36766bba7940ef2640cfebd92ec67c401554a5393aa2e534c3ee0b12c4405f&req=dicnFsh3nYZZWfMW1HO4zQwrZIgGV9Y5LtTCoSp4D6rUTFzOlTkm7HUVrjEq%0AjdpH%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700190760/9f6412fe68632cffee29826f7d30/42fdeb30-64af-4089-a976-5094bb6b8292?expires=1792476000&signature=43f19191c04a4042e42bafb64108204bdf166cb21490d063f536081d93b8491e&req=dicnFsh3nYZZWfMW1HO4zQwrZIgGVNQ8LtTCoSp4D6qh%2BAtYfuvoe6YCLbez%0AW8kW%0A) 2. Under **Manage apps**, select "Protection": -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700200858/a7ddd4265aeb6d61a7a096297cd5/fc9a1fe2-3d0e-4038-9b2c-f96bd19e4020?expires=1792444500&signature=9589d7b1f571142e025b0ab665e6218ea65ba9a5b9ca395677fed7bb6a71da13&req=dicnFst%2BnYlaUfMW1HO4zeBHXB058fnonJWY0xu8hzK4d3dFeOByvqpIT1A1%0AAKsC%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700200858/a7ddd4265aeb6d61a7a096297cd5/fc9a1fe2-3d0e-4038-9b2c-f96bd19e4020?expires=1792476000&signature=dd2c6ae50600ddd0dc8b364fe744e6a67b18777a657b173e580f3981e05444d7&req=dicnFst%2BnYlaUfMW1HO4zeBHXB058vvtnJWY0xu8hzKq6o2DSBd1wE%2Fd2WFT%0A0JUy%0A) 3. Click "+ Create" and then select "iOS/iPadOS": -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700201382/6240e257b2b498b5fa5ac1111561/11ef4f59-aba1-4d2b-ac58-9aec1dd60a4d?expires=1792444500&signature=7481f30b816fa6bc0fc1c953d7fdac588a3929e81c17701068d572cf34edbf46&req=dicnFst%2BnIJXW%2FMW1HO4zc89y0lSBn5LV2VWh%2B9zzErzJKOTXUnGXwdgwWjM%0ALC2D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700201382/6240e257b2b498b5fa5ac1111561/11ef4f59-aba1-4d2b-ac58-9aec1dd60a4d?expires=1792476000&signature=0faa9af133c9d7e98e1f12f2f8c7ce344f9d51aed3f9682e18fb118d71c18304&req=dicnFst%2BnIJXW%2FMW1HO4zc89y0lSBXxOV2VWh%2B9zzEqkys04hSuGBet5vehD%0Az1GH%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=1792444500&signature=12e2dd4a397ddbd694fffe725a4c40b2019227db37c217b7df7cdfa48b9834f8&req=dicnFst%2BnIhdUPMW1HO4zVmMRJMQVzkNKETwku7gMsu2Ln8focBnnIP43IRZ%0AEzYX%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700201929/2edf45cedc0bc03204f86d01a49e/4d96c12d-962b-43f6-8b3f-668e3247d4c1?expires=1792476000&signature=24b7c6e757b44b9bb33678303bc3dbc0471c72ae8b0a0ab243652c4f33e138d8&req=dicnFst%2BnIhdUPMW1HO4zVmMRJMQVDsIKETwku7gMsu2eS4P5JFax5wvXXwP%0Aq6d9%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=1792444500&signature=b725961d7a3848a09a7092af39cc48cc5b83f19777577b72213abfbd5d3dc6d9&req=dicnFst%2Bn4leX%2FMW1HO4zf6tYiEszK5y12LT9vQL0W6ljf0e4%2BCiMcmLK6PO%0A7QJa%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700202816/3565aea2d1b9c22a5f8d105825c5/3de6d241-6259-463e-a503-a6ca9f2095e0?expires=1792476000&signature=88b7ebf8d36bcf298c7869ce8f29712c062b7d678937a2e2c23e271e8f6bf50e&req=dicnFst%2Bn4leX%2FMW1HO4zf6tYiEsz6x312LT9vQL0W53XDOhstLUBieg8c0L%0ATtLn%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=1792444500&signature=fe4f462d74c0b7f194f4d88ba78de9d8b87d4a9653eea591a4f60ca938691390&req=dicnFst%2BnoZXWfMW1HO4zQd95NeO38za8F6Cfy2R7u9cNJF1WJzPXBl%2Fkey7%0AhOGp%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2700203780/24ed354ef0de87bf0a0c1bc129a1/46eed662-f488-48ee-a4d1-8a9a76079884?expires=1792476000&signature=6e52342838df091af6998c31c554dd710fd70cd08ed68fe6f639d92330e977ac&req=dicnFst%2BnoZXWfMW1HO4zQd95NeO3M7f8F6Cfy2R7u%2FX%2Ftm9bJxihBlsnEOY%0A0VVZ%0A) 7. Configure the Data protection, Access requirements, and Conditional launch settings as needed. diff --git a/content/support/17440474-migrate-from-standalone-claude-design-to-claude.md b/content/support/17440474-migrate-from-standalone-claude-design-to-claude.md index b45084e190..e50f90568d 100644 --- a/content/support/17440474-migrate-from-standalone-claude-design-to-claude.md +++ b/content/support/17440474-migrate-from-standalone-claude-design-to-claude.md @@ -46,27 +46,27 @@ When you migrate a design system, the original stays in the standalone version, 2. Click "Migrate team design systems" in the "Claude Design lives here now" banner. If you've closed the banner, choose it from the **Claude Design** menu at the top right. -![The Artifacts page in Claude. A banner titled](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719865919/1000dcfcc75db94639d4650c820e/04b7b96c-8907-4801-b9a8-2e3315a02098?expires=1792444500&signature=20693ba5023f7cb70fe8a056e527b923de152e7897572aeaf170febba17dc276&req=dicmH8F4mIheUPMW1HO4zbwekeN4jqGHV9k56sT%2FLCv2rLwWrP9oTgLUYfLU%0AekAC%0A) +![The Artifacts page in Claude. A banner titled](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719865919/1000dcfcc75db94639d4650c820e/04b7b96c-8907-4801-b9a8-2e3315a02098?expires=1792476000&signature=af0e2f1ad6ef9d99fc422e99dff5f0589cacffd665735c982506bc61e69f70f4&req=dicmH8F4mIheUPMW1HO4zbwekeN4jaOCV9k56sT%2FLCtfauuvrlzFQ1CRkPy6%0Ag1cX%0A) 3. Click "Migrate" to confirm. On individual plans, there's no confirmation step, and the migration starts right away. -![A dialog titled](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719866455/8f4c4298cd41912e86c0216ffbd2/117ddc52-188f-46b3-813e-38ad816b58ae?expires=1792444500&signature=be32163b065f180f9a687df0cc2e7c399d078b298b71ef380c8d44243b6fe6d3&req=dicmH8F4m4VaXPMW1HO4zcOBwGF%2FcWgiYAKZtkOJqEMc%2BrLf7vcoqV9SxDKE%0AfXY%2F%0A) +![A dialog titled](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719866455/8f4c4298cd41912e86c0216ffbd2/117ddc52-188f-46b3-813e-38ad816b58ae?expires=1792476000&signature=70653c391383e2b6a9c3e6df2a2c035b4924e05f5a9f3cd8b0e1cf2b9d0b92b1&req=dicmH8F4m4VaXPMW1HO4zcOBwGF%2FcmonYAKZtkOJqEPngAR%2BeFCQubj7Ig2U%0AJgk8%0A) 4. Wait for the migration to finish. If you close the window, it keeps running. 5. Check the results. Under **Migrated**, the window lists each design system with its owner's name and an "Open" link. You'll see only the design systems you have access to, unless you're an owner of your organization. -![The finished window. It says](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719867084/917977d41436e4fabdbbf92953a1/f31e264b-d0b4-46f9-bf3b-4fef8a317512?expires=1792444500&signature=075b966f160ae745116a391a93161ea6a3bf087b86fb67f647464f46c8e78b14&req=dicmH8F4moFXXfMW1HO4zSv7JHte1E7lk1OqHSr8yEdQ8Ehe5B%2F55l3wOQTf%0A4OM3%0A) +![The finished window. It says](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719867084/917977d41436e4fabdbbf92953a1/f31e264b-d0b4-46f9-bf3b-4fef8a317512?expires=1792476000&signature=471edaa656aa6a888966dd27bc4f0e3e8fae98b914dcabf43f132d7aa4cb2251&req=dicmH8F4moFXXfMW1HO4zSv7JHte10zgk1OqHSr8yEdogzN%2FfeYdzK7WXJuP%0AWI5I%0A) ### After you migrate Your migrated design systems appear in the design system menu when you make designs and slide decks in Claude. To see them all, choose "View design systems" from the **Claude Design** menu on the **Artifacts** page. The list opens in **Settings**. -![The Design systems page in Settings. It lists four design systems, with who can use each one and when it was published. The first has a](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719869354/bcbf99c8812d288b961cc4b05be0/58745925-e29d-4efa-b7d5-ec0b97fdedf9?expires=1792444500&signature=8bc856b9bf4f2342340ac6920f38bfb271b52ab8a7ccef1dbd5877f1143e8cbc&req=dicmH8F4lIJaXfMW1HO4zXgMWVFPu4Px4YYJPXU59Qctfufi2icYEyyS2cfj%0AW1sXoR8OO6r%2BFEKRrPY%3D%0A) +![The Design systems page in Settings. It lists four design systems, with who can use each one and when it was published. The first has a](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719869354/bcbf99c8812d288b961cc4b05be0/58745925-e29d-4efa-b7d5-ec0b97fdedf9?expires=1792476000&signature=91f2200304b1dc2edc0e24d37b9e6a0ebc8f8fb589a20afb9d037cf797d14583&req=dicmH8F4lIJaXfMW1HO4zXgMWVFPuIH04YYJPXU59QfzXZE0eqYTyiedh5Of%0Ato%2BL17aHZQjD7Zq0QkU%3D%0A) Owners can set your organization's default design system here. Open a design system's menu and choose "Set as default." Click a design system's name to open it. -![A migrated design system open in Claude as an artifact. A note at the top says](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719869983/f674728f8f9614b16502d0e7de66/bb4e7f2a-641c-439d-9ace-7546fe5d57b4?expires=1792444500&signature=fd29dad98db3739590af0a0459f89ac461aa74ce1b2040b6fc3ccbd5ccbe0449&req=dicmH8F4lIhXWvMW1HO4zSpxDRC2GoOrOMHH8PlIn11mWjbXMnin1a5qV7Ik%0AZjeryHtd96p8ihqVDf4%3D%0A) +![A migrated design system open in Claude as an artifact. A note at the top says](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719869983/f674728f8f9614b16502d0e7de66/bb4e7f2a-641c-439d-9ace-7546fe5d57b4?expires=1792476000&signature=ff5a4d0b30b1fffc53d2c3360a999154d610d4d3f09fe3e0aff9d3601eaf47ce&req=dicmH8F4lIhXWvMW1HO4zSpxDRC2GYGuOMHH8PlIn13IAm8Nt9XUjLyrq5ms%0Ayd9zGisnf3dFcJQwlK8%3D%0A) A migrated design system keeps its files as they were, and you can't edit it yourself on its page yet. Its editors see a note at the top: "Migrated from the standalone version. Ask Claude to make changes." @@ -76,7 +76,7 @@ Learn more about **[getting started with Claude Design](https://support.claude.c The window lists it under **Couldn't be migrated**, with its name, owner, and a short reason, such as "it's too large." -![The finished window. It says](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719871890/dda0fc8ec2a80b3552b6550746bd/b4644cc0-d990-4c69-a0c0-baeb0f683625?expires=1792444500&signature=5a6d6499bd3a47e5c376fd323da9daaba9b6175affdd856a45b8659a114a992e&req=dicmH8F5nIlWWfMW1HO4zaTzC30R6BMYftPbD3wWlhvJFp4n4%2BHzyV1LbEJo%0Aw%2BgDIu7SRIsV7jRMDbU%3D%0A) +![The finished window. It says](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719871890/dda0fc8ec2a80b3552b6550746bd/b4644cc0-d990-4c69-a0c0-baeb0f683625?expires=1792476000&signature=b310c710ec676fd21ffdb8f5fca08268839321cbbe79352beb1ba44beb347156&req=dicmH8F5nIlWWfMW1HO4zaTzC30R6xEdftPbD3wWlhvZzBaiRTsel5FoHQ3v%0A4wdO2V31%2BDhcayQ8f6I%3D%0A) To reopen the results later, click the count in the banner on the **Artifacts** page, such as "6 of your 11 design systems couldn't be migrated." @@ -88,11 +88,11 @@ Anyone who can edit the design system can fix problems with its own files or siz 2. Click "Check" on the "Check whether this design system can migrate to claude.ai" card. - ![A card in the standalone version that says](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719873400/3d92cdfd945fd79fb27084d39a22/f7748b4a-0227-4f40-9291-22bed9a1fbbc?expires=1792444500&signature=4c756006bb520902d77974ba1df66c04133471b8c6bf370450c7f8c1a8d74fcc&req=dicmH8F5noVfWfMW1HO4zd1pibijYJr36fFmI7TN6dZW%2FA2v8QtiE4aKlBnD%0Atbw3%0A) + ![A card in the standalone version that says](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719873400/3d92cdfd945fd79fb27084d39a22/f7748b4a-0227-4f40-9291-22bed9a1fbbc?expires=1792476000&signature=5ab5a2c59d7f73467e9ffb8668594800ea2493ca09e955925db566d4691a529f&req=dicmH8F5noVfWfMW1HO4zd1pibijY5jy6fFmI7TN6da5RVDJ8z8TwpSWNxW7%0A41Tc%0A) 3. Fix the files the check lists, using the table below. - ![The card after a check. It says](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719873835/ea65e9a7b17ff1a6572138efbdf4/d63a5223-f80f-4bca-b487-0c0583487404?expires=1792444500&signature=d2635e2ccb3d0d4d516cba37f507ca67f974a269e62780b77a39a13582dfb182&req=dicmH8F5nolcXPMW1HO4zXfm4KzA5KTYa1x%2B95JDfxEVn7xM8qmYnpx%2F53kZ%0AJejl%0A) + ![The card after a check. It says](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719873835/ea65e9a7b17ff1a6572138efbdf4/d63a5223-f80f-4bca-b487-0c0583487404?expires=1792476000&signature=3962b8bf60049b98469e02da885125e9aa1d39304764335296981d3c27a5c7ab&req=dicmH8F5nolcXPMW1HO4zXfm4KzA56bda1x%2B95JDfxESVO52AP3mMFbZBMaI%0Aq4LP%0A) 4. Click "Check again" until it says "Nothing found in the way." @@ -120,7 +120,7 @@ Sometimes the check says "The problem is in the migration, not your files. There To migrate new, changed, or fixed design systems, choose "Migrate again" from the **Claude Design** menu on the **Artifacts** page. To reopen your last results, choose "View details," just below it. -![The Claude Design menu open on the Artifacts page. Under](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719876014/7313d3bd31db84db44312be66d15/ca108a7c-7143-4041-a6f8-70487dbf1c45?expires=1792444500&signature=e0baaf3063c54b8748fec9683e223b6d00667810116576152323509dc6291da6&req=dicmH8F5m4FeXfMW1HO4zY8hP2yEuhO6mIfwq%2Bzc2Q%2BLWwWbfE0eYwyoJzrX%0AB8BZmVScwFQDJPmMkac%3D%0A) +![The Claude Design menu open on the Artifacts page. Under](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719876014/7313d3bd31db84db44312be66d15/ca108a7c-7143-4041-a6f8-70487dbf1c45?expires=1792476000&signature=c450e6fb3183fbed7677c730d9e1b7797f6685d1ab7a4eb040203803a4ed7500&req=dicmH8F5m4FeXfMW1HO4zY8hP2yEuRG%2FmIfwq%2Bzc2Q%2FzlqmhI%2FmGk6xkR1Ck%0AShairJV6ZFekws968%2FI%3D%0A) **When you migrate again:** @@ -130,7 +130,7 @@ To migrate new, changed, or fixed design systems, choose "Migrate again" from th | Unchanged in both places | It's left alone and marked "already up to date" | | Changed in Claude since it was migrated | It's listed under **Skipped** as "changed on claude.ai, left as they are," so your edits in Claude aren't overwritten | -![The results of a second migration. Three design systems are marked](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719876766/45afd15b42b5160fa441f419a850/7c97998b-5da1-4804-b590-04d2c95d4d98?expires=1792444500&signature=f68d80449e739fe0ce979376d0cac0e27aa6d2811496802ff7cf1ce635533965&req=dicmH8F5m4ZZX%2FMW1HO4zTpBL%2B1e2l9hspOwJUpK3x3fEShbNaaNSF9Q2iLA%0AFjdnRN%2BpnFNE1iYmnjo%3D%0A) +![The results of a second migration. Three design systems are marked](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719876766/45afd15b42b5160fa441f419a850/7c97998b-5da1-4804-b590-04d2c95d4d98?expires=1792476000&signature=883ce94ab91ee0c87b426220d97a9c2040deb7ea21a490cfb47aeeedb7505d4d&req=dicmH8F5m4ZZX%2FMW1HO4zTpBL%2B1e2V1kspOwJUpK3x1AV34c5pFy0vJ2PjJi%0ANPtKSwHLNOyZsc7x7f4%3D%0A) To replace a migrated design system with a fresh copy, delete it in Claude, then migrate again. To keep any changes you've made to it, duplicate it first. Once nothing is left to migrate, the banner says "All of your design systems have migrated." @@ -194,7 +194,7 @@ Not all at once. You can download them one at a time: 3. Keep "Project archive" selected and click "Export." -![The](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719861358/b912b7e22b90376c8d9808f5f878/e12e91ec-7ced-4b05-bc31-c4e3fd88741b?expires=1792444500&signature=9d0b89f0b0eb91dcf91258fc66e3d284559a4ad942b89ffe6f32ae0baa06d9fb&req=dicmH8F4nIJaUfMW1HO4zViE97JBo%2BoVGbLnQ1YWi09sJ4n1%2Bv4ihv8vLDIz%0ApxIY%0A) +![The](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719861358/b912b7e22b90376c8d9808f5f878/e12e91ec-7ced-4b05-bc31-c4e3fd88741b?expires=1792476000&signature=5f0202e0cdcecfbc9f43fd0fbc34914ab408dbca75038360ca3bff1e0fef6d3b&req=dicmH8F4nIJaUfMW1HO4zViE97JBoOgQGbLnQ1YWi09h%2BswXzHCJWyymT5fH%0Aved4%0A) You get a `.zip` file with every file in the project. It's free and doesn't count toward your usage limits. 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 a7f6fe95b6..f9f73d79fe 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 @@ -160,11 +160,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, marked Beta. It shows daily active users. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719814921/59cd7abb6c99192d741223dd2016/f2fadd45-8cb0-49db-a9a2-c8f367f29c91?expires=1792444500&signature=2f6b41f96295b99a8391be8e64ed4228fa59430373429123ce00b46bb784af42&req=dicmH8F%2FmYhdWPMW1HO4zdLa5Q1sZKqFf83E9koMvr9o10FqZufPFAhDQOqQ%0AR0ET%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719814921/59cd7abb6c99192d741223dd2016/f2fadd45-8cb0-49db-a9a2-c8f367f29c91?expires=1792476000&signature=5af2e4e7292b0444fdd7afe0843095dd6e774fd5e2e92956a94dfd6e2b542558&req=dicmH8F%2FmYhdWPMW1HO4zdLa5Q1sZ6iAf83E9koMvr%2F%2FleEPS6j8gBs4auZP%0ANWCB%0A) - **Across the dashboard.** You can pick "Chat and Cowork unified (beta)" 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 (beta)" 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=1792444500&signature=829e5e2488fc782708ba2bb76829ac5737af447918bcc4f8d1513672d60495cd&req=dicmH8F%2Fm4NXUPMW1HO4zRXO8A0VRIG8JG9o%2B2MbcGpnRRzMuaGi2rSynYoH%0AEym1%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2719816289/17e3ba22d470c32e8df9b3c20251/385c6be9-7019-451d-85f8-025a6e12a34c?expires=1792476000&signature=4f75ae46192fc03520500754db2ff08ed32410ad666137b697a25631b2843ac1&req=dicmH8F%2Fm4NXUPMW1HO4zRXO8A0VR4O5JG9o%2B2MbcGp8zpVuSPJPU%2F0Ijvx2%0AvyqJ%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 c4348ad532..389171c8e7 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=1792444500&signature=8a32b1ece4f648693981c20f0179458ddaa985fc13ba29e27e3b1a8d70ebb6ae&req=dSkmEMt%2BlYRYUfMW1HO4zV2J7C3OsIOE9crMELaMZPzH27B7VJkRl%2BAfIHKE%0AXFUJXg4ucPvYVEspDRI%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1916208578/2cf2ea52f1f884084b57983a8805/image.png?expires=1792476000&signature=b4cefd39a6b5c5c198a5f18cd6a5330d71e7de973e335014ab65f4f822397fda&req=dSkmEMt%2BlYRYUfMW1HO4zV2J7C3Os4GB9crMELaMZPyvnvXtNzQOToCXxief%0AP%2Fxc1TcXXtaGy%2BHiwKQ%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 fe55889299..18672b3393 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=1792444500&signature=3701f78868dfc9a422c7a3f1af5babc29e9d43e7d202c1157161ccfad584325f&req=diUuH8x%2BnIJeUfMW1HO4zSc12KxejGSu1DBI29QsIlEv8eGbCmOxvNTCBsEG%0AwmtJc5abZykcSI%2BJGAc%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599501318/75c28edc693efbe8befd21e4da64/d18a921a-df4b-4788-833c-12c966a32527?expires=1792476000&signature=eae2b65fb59e810bc2b78b7fadbe8da7db8307ca7b86acbc0b1461d60678e4f7&req=diUuH8x%2BnIJeUfMW1HO4zSc12Kxej2ar1DBI29QsIlFkFkQOahSbMOYLTjq6%0ApEuogbcqo86O2dQeaUo%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493852/2e58b92d18f307bb79ae30650f26/1bbe52f3-202b-4d5d-9f9a-eeda4d6952c3?expires=1792444500&signature=75a994a9cad02d5968f90d031c57569e5f05a7ee59eb32612a30dfdf779bf99b&req=diUuH813nolaW%2FMW1HO4zTjXM%2BWIKsTgj7blKEDtUI2neMAsJPTt2ES0%2BCBH%0AUUjyboPbE8lX5jN3OTE%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493852/2e58b92d18f307bb79ae30650f26/1bbe52f3-202b-4d5d-9f9a-eeda4d6952c3?expires=1792476000&signature=2b1c10d2cc8f9f0a80f93937960482304fb1d495473c7a9b4dfd3fcce6fff170&req=diUuH813nolaW%2FMW1HO4zTjXM%2BWIKcblj7blKEDtUI2JpJvszDeCjx3vUgGG%0AsW3Z5sGvTp5T811G60c%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=1792444500&signature=6ea5fbbc7e8aa1123559e027939d8ddc7105e67502262b775324d0024443bce1&req=diUuH813nolbUfMW1HO4zVCIq5jLz9hDzQl%2BKgU984ztLUwrjc4uKcXdpwwe%0AYlGAp8ZEq48GywdgIvw%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493848/997184c386d0e6fb0bd2d7c1f2b6/5d2bc394-25fc-4814-8c2a-2f54d004f83f?expires=1792476000&signature=94dbd37eef04ff4216385d1faa64de545431aa6d7af61a2f08c50c92ec87a042&req=diUuH813nolbUfMW1HO4zVCIq5jLzNpGzQl%2BKgU984w9cKml2Px1QSWAnvaW%0AjGYNLWb%2F9TWotn5ifJU%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493856/799041da9fa918e90068c5ebf5bd/2e8d5cee-c45a-41d7-a14b-486e50a37f88?expires=1792444500&signature=825340e153264332c5752289ab1cbc9b42680fc4d62939ddbc5349f771086dcb&req=diUuH813nolaX%2FMW1HO4zVCl4Qr21WFIEDIU8RT6jk1zHQLYNNDxDiBs3Djt%0AZBFQckzbfisanV4p5Xw%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493856/799041da9fa918e90068c5ebf5bd/2e8d5cee-c45a-41d7-a14b-486e50a37f88?expires=1792476000&signature=8b071fc023028c09f3516bd7e84c784c5f06f64492ddfb1b33b98944a8c8e002&req=diUuH813nolaX%2FMW1HO4zVCl4Qr21mNNEDIU8RT6jk3FZq1kvBXO4nAUccxl%0AefEh8jSBus4iRaB8SmA%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=1792444500&signature=fde3b72af8c289438f5d246d9d946d2a38cd8d999abffbccadf6cda742d0e823&req=diUuH813nolaWfMW1HO4zVTddtAoxlRwrqtc0YNNUtIHeSnqZ31aB9RuS9Bx%0A%2BOf3jGSaSbaCZDxDDSk%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493850/a64e6561222d535f2f5bd03e71f0/5de429c2-d8ed-4e8a-89e8-a13ccaa49767?expires=1792476000&signature=9599d8ff03833366b921f4215715b00f1918278cf129ce0bb1de8945202b3e6e&req=diUuH813nolaWfMW1HO4zVTddtAoxVZ1rqtc0YNNUtIEsSx2LAC0Dmdmoxp2%0Abzoq1qk4X2QcejVg9uI%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493851/f21b39c60e88050d4b0745325f0d/0a8c0d08-dc53-4ef1-8d9f-2b995242c1f9?expires=1792444500&signature=2cef19e9981d2df1c7889c842a85e4973f0c37076539a3a0a38ec0e5cbab98e8&req=diUuH813nolaWPMW1HO4zUYvwlcPpjpZ%2FjekULCQNzV2b2JXu%2FrGN4abTTOy%0AlrF8LXWcsfQOy01urBI%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493851/f21b39c60e88050d4b0745325f0d/0a8c0d08-dc53-4ef1-8d9f-2b995242c1f9?expires=1792476000&signature=bd82f904019f332e3fd313b27066d0094ade6d4831d6bf3b2511ed57dafaa357&req=diUuH813nolaWPMW1HO4zUYvwlcPpThc%2FjekULCQNzUh8cy9uV2gmSJ%2ByzhK%0AiEfZShJGxRKIs96STgY%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=1792444500&signature=2e8232e3e45d95a4bfba81506e784b4c863d234939044693ff06380f348a0d93&req=diUuH813nolbUPMW1HO4zWGamcVwfona4AqhTnZa84UquebUk4YiMQ%2BVUkMb%0APnaXhWBvftZ3X%2FT%2BV7M%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493849/3013a0ab921337b4544f7ffeffa6/e828ec14-fb52-4205-a840-707b6f2a848d?expires=1792476000&signature=2244972b259b9148036a4c9f5bc22bcf46d62614799e8a3a549883dab03da350&req=diUuH813nolbUPMW1HO4zWGamcVwfYvf4AqhTnZa84Xscv4ms3ALfaxETkEa%0APkpu4gfjtulkyij8z3Y%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493853/e2507f53cce8a26776a22a457b1a/bd79bb8a-b078-420f-a4e1-75590367aa80?expires=1792444500&signature=0355551d8b6b2c3bb89bfada131066e12c77af4d4d7889f9029b2349018a9deb&req=diUuH813nolaWvMW1HO4zQTtEhf1wEQ9SBGfF3I2bRh7BWvvzAvLmvtuGf1Y%0A7SugQCpUVPKHCMb5e0M%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2599493853/e2507f53cce8a26776a22a457b1a/bd79bb8a-b078-420f-a4e1-75590367aa80?expires=1792476000&signature=82afacfac56a69905a582353ead84bdd01b9d7b2e74e3791acdb5da3d63f6032&req=diUuH813nolaWvMW1HO4zQTtEhf1w0Y4SBGfF3I2bRjri9gBLw2D9o7mGczE%0A58muaSSsFCXKDIWpW8s%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 9e0e9e626e..1e1e08b537 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=1792444500&signature=e1639ef45e68f35db98eff1f69f37e7f20d28304604fead5fc8b199a454f1f54&req=dSklFMh6nIZXXPMW1HO4zVXW8W%2BvbzfJQoNvNFTb5cfjrllJlApR%2FWyhojae%0A4xZEE1PaY5Uj5ocQdVM%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1922141785/666191101c11030b05f03a668a74/image.png?expires=1792476000&signature=eea0bc7ebe31595cdc87b1d4384a7c8280d91f97e8d3f387a8094babb8f1f381&req=dSklFMh6nIZXXPMW1HO4zVXW8W%2BvbDXMQoNvNFTb5cf8Elu9ubnFPjfA3OLw%0AJFM3vgVJR4DvBTqRpuk%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 b2c89ac416..f530bb0669 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=1792444500&signature=31f4faff1d29f8c043c8785f76f0fe4828be987bf50043122ff8d2188f97e36e&req=dSYjHst4nYVeXvMW1HO4zc2jJqA5hI%2FhSBkgeTglJrqyGOXsI1f5HZJDpTMu%0A2%2FowepfuMrzNv3jm0rA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1648260417/d478c757c7115ad58a12026d4caf/AD_4nXc__Qop4X9hknWGfGj_y_DCpLutLruhxIclJIfir0ilsgNMg7X8ksIVnqk1Oce5FKlGIOYu9CKbVsu8DqD7iIY2aC0ZfXMyFTeAdNq-Cao2mXcj_WUpNF0kM2HoYR_dEx6N_cuJow?expires=1792476000&signature=8e032d2596023dd45ab9af966e8fd9651dba8f4b1d9e162ce5810a471d6d0ced&req=dSYjHst4nYVeXvMW1HO4zc2jJqA5h43kSBkgeTglJro%2BfPOYfJTqx08xGif%2F%0Ah5SiqhCfuPXxOe7xAp0%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=1792444500&signature=6875f53419b2babeee374ca50be62c0f65b06bacdcce06c37e8acf6b7a1e9a34&req=dSYjHst4nYVeX%2FMW1HO4zc896mLhWXU5QtNFlF5%2FHEc%2B%2F4G2CwuzL7AxLKpl%0AG%2Bs6SYA%2FS%2FjBZZZiW3Y%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1648260416/7fc0803d44d8de40f8e6636b2eb6/AD_4nXf0UEDa1i2QmqlQtoB5BgpQ-FfZVzss_7wMVQdvkmEDSfoTxixnG0GSxC6qrOs21HdkXH-I2Yn_GHDAf8yjd6FJtoh9FadALozvIErFp9r8LychDGLPb7OpN1CN4PRcgVAYNCre?expires=1792476000&signature=58540cd9f40f1d6e3cb0541ec6927ac96fba644fadcd7a7c133c6a94e8aabcc7&req=dSYjHst4nYVeX%2FMW1HO4zc896mLhWnc8QtNFlF5%2FHEcC8hZ5fxk5MpNw3NDm%0AeUu96iFV0DymtzEpcR8%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=1792444500&signature=7d29fd6a400243b6e9e3154652a4bd5dd5efa957a943e50a4bcde238c040f4ce&req=dSkjF8h%2BlYFfXfMW1HO4zUS%2BBl3yXX%2FqylfYa7uDb9k6KxDvv16VL3X6aJgh%0A8OINnIY5meDkyVtiXrs%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=1792476000&signature=184c829798ff3d8348ebee7b24f9e55eb455b7716874e107b9d7774c71d52f03&req=dSkjF8h%2BlYFfXfMW1HO4zUS%2BBl3yXn3vylfYa7uDb9mw5DB8lyIaQdFea6UJ%0AIubhQYigW8Qx4WWAhsM%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 8bb2590d16..926aaf4360 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=1792444500&signature=6a3b05c818cb9a293a25b79d1963082c975b7ab19742c07da7531ec923b51549&req=diMmFMh3noJbXvMW1HO4zXhPnNIyzBtkufhmlOXMdYbJSIx5Uf8vB64XcNb7%0AuNRs36MMY%2BkDtGQDqH8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312193347/712f763fc290b2488c103849f20c/0c135a6f-3442-4ee1-9ab7-98673f03ef6e?expires=1792476000&signature=6ad1bd1e90c80efd847fd6f19de3c3c402f79ddd871ca72f5322d94e3b7ead80&req=diMmFMh3noJbXvMW1HO4zXhPnNIyzxlhufhmlOXMdYbhjwe1RZhpbklOw5vr%0ARA5VKY4onIkbkXKN05s%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 f47c5e6db9..edf4a9a6c5 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=1792444500&signature=b04695b6c965bd2168871b588bb46be5af1fcb6a183728582a430b29cd305a96&req=dScvEsh3nYNbUfMW1HO4zQABaGNoTqQQBSXNVFXQ%2FVEp2%2FjyVZ%2BXaMdZI20P%0AvmDKmmZ0GtojWMKQU2w%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1784190248/0f19c8de18b494a27be252fdfaff/d4e7a5c5-25f5-4623-862b-c593d2dc0b39?expires=1792476000&signature=0e705a4ee5f0539903b4486a232e09a9a6e86e3781c6b9cffc5feae3b129c943&req=dScvEsh3nYNbUfMW1HO4zQABaGNoTaYVBSXNVFXQ%2FVHVER15G0DWd6a3fISG%0ALQNCSifq5b%2BmxBXeEt8%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=1792444500&signature=78d9a7f93a32952bb2718d8e4b571ccd1b2dcfcd0729775cd8fef723b3793668&req=dScvEsh3nYhaWPMW1HO4zSMECyK0zw0EgYbpTjViBxA2ZbNxRwObXDWnuEtd%0AtT06a43XFz5AH0OAj5g%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1784190951/34dc256ccd4c0cf74976f31062e6/55365cf2-059d-41b2-ac95-4b00c4389a76?expires=1792476000&signature=5b2a32c57b4aa09c00c3e185233485ad99e234ca82f9538043f9622dc816d6e4&req=dScvEsh3nYhaWPMW1HO4zSMECyK0zA8BgYbpTjViBxAzn%2FVWpZsdwoyFRer9%0Aeg8aldb%2Bf%2FT6diZipXs%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=1792444500&signature=c69bed8899cc5a51e6a8cc81f63c07fa14912177125c9a730d87f162d2b3be57&req=dScvEsh2mIdXW%2FMW1HO4zb6DufUoCkEPS2r1%2FGRlqOQxJKzzROZRn%2FXYegZ4%0AWKipsJHjq0zch0Nmz74%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1784185682/8625eac15b9fa452f148a6c47250/c53a1bc4-a991-4684-a789-5447ed789d35?expires=1792476000&signature=c8c0bed4d6b9e449e3036e78c9f05f1d6ec48464a5ee163a15f70efb8095d251&req=dScvEsh2mIdXW%2FMW1HO4zb6DufUoCUMKS2r1%2FGRlqOS9zCf1fyKTjz5NDKc0%0AIy3nxuhbZUsvbtMYiNs%3D%0A) --- diff --git a/discovery.json b/discovery.json index 30a2097a0b..7261b7604a 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-19", + "updated": "2026-10-20", "domains": { "anthropic.com": { "status": "frozen", diff --git a/tombstones.json b/tombstones.json index 2c9fa2c5ed..6ce6dc4a73 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-19", + "updated": "2026-10-20", "urls": { "https://claude.com/docs/claude-science/annotations": { "since": "2026-09-01",