Organization
Get Current Organization
$client->beta->organization->retrieve(): BetaOrganizationRetrieve information about the organization associated with the authenticated API key.
Models
OrganizationAPI Keys
List API Keys
$client->beta->organization->apiKeys->list(?string afterID, ?string beforeID, ?string createdByUserID, ?int limit, ?Status status, ?string workspaceID): Page<APIKey>Retrieve API Key (Admin API)
$client->beta->organization->apiKeys->retrieve(string apiKeyID): APIKeyRetrieve information about a single API key in your organization, looked up by its ID. This Admin API endpoint requires an Admin API key, is intended for programmatic key management, and never returns the key's secret value. To view or create your own API keys, go to API keys in the Claude Console.
Update API Key
$client->beta->organization->apiKeys->update(string apiKeyID, ?string name, ?Status status): APIKeyOrganizationExternal Keys
Create External Key
$client->beta->organization->externalKeys->create(ProviderConfig providerConfig, ?string displayName, ?Geo geo, ?string userProfileID): ExternalKeyCreate an external key config owned by the caller's organization.
List External Keys
$client->beta->organization->externalKeys->list(?int limit, ?string page): PageCursor<ExternalKey>List external key configs in the caller's organization.
Get External Key
$client->beta->organization->externalKeys->retrieve(string externalKeyID): ExternalKeyRetrieve a single external key config in the caller's organization by ID.
Update External Key
$client->beta->organization->externalKeys->update(string externalKeyID, ?string displayName, ?Geo geo, ?ProviderConfig providerConfig): ExternalKeyPartially update an external key config. Omitted fields are left unchanged.
Delete External Key
$client->beta->organization->externalKeys->delete(string externalKeyID): ExternalKeyDeleteResponseDelete an external key config.
Validate External Key
$client->beta->organization->externalKeys->validate(string externalKeyID): ExternalKeyValidateResponseValidate an external key config against the customer's KMS.
OrganizationFederationIssuers
Create Federation Issuer
$client->beta->organization->federation->issuers->create(string issuerURL, string name, ?bool checkJTI, ?JWKS jwks, ?int maxJWTLifetimeSeconds, ?list<AnthropicBeta> betas): BetaFederationIssuerRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
List Federation Issuers
$client->beta->organization->federation->issuers->list(?bool includeArchived, ?int limit, ?string page, ?list<AnthropicBeta> betas): PageCursor<BetaFederationIssuer>Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
Get Federation Issuer
$client->beta->organization->federation->issuers->retrieve(string federationIssuerID, ?list<AnthropicBeta> betas): BetaFederationIssuerRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
Update Federation Issuer
$client->beta->organization->federation->issuers->update(string federationIssuerID, ?bool checkJTI, ?string issuerURL, ?JWKS jwks, ?bool jwksPollingDisabled, ?int maxJWTLifetimeSeconds, ?string name, ?list<AnthropicBeta> betas): BetaFederationIssuerRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
Archive Federation Issuer
$client->beta->organization->federation->issuers->archive(string federationIssuerID, ?list<AnthropicBeta> betas): BetaFederationIssuerRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
OrganizationFederationRules
Create Federation Rule
$client->beta->organization->federation->rules->create(string issuerID, BetaFederationRuleMatch match, string name, string oauthScope, BetaServiceAccountTarget target, ?bool appliesToAllWorkspaces, ?array<string,string> attributes, ?string description, ?int tokenLifetimeSeconds, ?string workspaceID, ?list<AnthropicBeta> betas): BetaFederationRuleRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
List Federation Rules
$client->beta->organization->federation->rules->list(?bool includeArchived, ?string issuerID, ?int limit, ?string page, ?list<AnthropicBeta> betas): PageCursor<BetaFederationRule>Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
Get Federation Rule
$client->beta->organization->federation->rules->retrieve(string federationRuleID, ?list<AnthropicBeta> betas): BetaFederationRuleRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
Update Federation Rule
$client->beta->organization->federation->rules->update(string federationRuleID, ?bool appliesToAllWorkspaces, ?array<string,string> attributes, ?string description, ?BetaFederationRuleMatch match, ?string name, ?string oauthScope, ?BetaServiceAccountTarget target, ?int tokenLifetimeSeconds, ?string workspaceID, ?list<AnthropicBeta> betas): BetaFederationRuleRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
Archive Federation Rule
$client->beta->organization->federation->rules->archive(string federationRuleID, ?list<AnthropicBeta> betas): BetaFederationRuleRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
OrganizationFederationRulesWorkspaces
Add Federation Rule Workspace
$client->beta->organization->federation->rules->workspaces->add(string federationRuleID, string workspaceID, ?list<AnthropicBeta> betas): BetaFederationRuleWorkspaceRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
List Federation Rule Workspaces
$client->beta->organization->federation->rules->workspaces->list(string federationRuleID, ?int limit, ?string page, ?list<AnthropicBeta> betas): PageCursor<BetaFederationRuleWorkspace>Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
Remove Federation Rule Workspace
$client->beta->organization->federation->rules->workspaces->remove(string workspaceID, string federationRuleID, ?list<AnthropicBeta> betas): WorkspaceRemoveResponseRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
OrganizationInvites
Create Invite
$client->beta->organization->invites->create(string email, Role role, ?list<string> rbacGroupIDs): OrganizationInviteInvite a user to join the organization by email.
List Invites
$client->beta->organization->invites->list(?string afterID, ?string beforeID, ?string email, ?int limit, ?list<string> roles, ?list<Status> statuses): Page<OrganizationInvite>List the organization's invites.
Get Invite
$client->beta->organization->invites->retrieve(string inviteID): OrganizationInviteRetrieve an invite by ID.
Delete Invite
$client->beta->organization->invites->delete(string inviteID): InviteDeleteResponseDelete a pending invite.
OrganizationService Accounts
Create Service Account
$client->beta->organization->serviceAccounts->create(string name, ?string description, ?OrganizationRole organizationRole, ?list<AnthropicBeta> betas): ServiceAccountRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
List Service Accounts
$client->beta->organization->serviceAccounts->list(?bool includeArchived, ?int limit, ?string page, ?list<AnthropicBeta> betas): PageCursor<ServiceAccount>Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
Get Service Account
$client->beta->organization->serviceAccounts->retrieve(string serviceAccountID, ?list<AnthropicBeta> betas): ServiceAccountRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
Update Service Account
$client->beta->organization->serviceAccounts->update(string serviceAccountID, ?string description, ?OrganizationRole organizationRole, ?list<AnthropicBeta> betas): ServiceAccountRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
Archive Service Account
$client->beta->organization->serviceAccounts->archive(string serviceAccountID, ?list<AnthropicBeta> betas): ServiceAccountRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
OrganizationService AccountsWorkspaces
Add Workspace To Service Account
$client->beta->organization->serviceAccounts->workspaces->add(string serviceAccountID, string workspaceID, NoBillingWorkspaceRole workspaceRole, ?list<AnthropicBeta> betas): ServiceAccountWorkspaceMemberRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
List Workspaces For Service Account
$client->beta->organization->serviceAccounts->workspaces->list(string serviceAccountID, ?int limit, ?string page, ?list<AnthropicBeta> betas): PageCursor<ServiceAccountWorkspaceMember>Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
Remove Workspace From Service Account
$client->beta->organization->serviceAccounts->workspaces->remove(string workspaceID, string serviceAccountID, ?list<AnthropicBeta> betas): WorkspaceRemoveResponseRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
OrganizationUsers
List Users
$client->beta->organization->users->list(?string afterID, ?string beforeID, ?string email, ?int limit, ?list<string> roles): Page<OrganizationUser>List the organization's members.
Get User
$client->beta->organization->users->retrieve(string userID): OrganizationUserRetrieve a member of the organization by user ID.
Update User
$client->beta->organization->users->update(string userID, Role role): OrganizationUserUpdate a member's organization role.
Remove User
$client->beta->organization->users->remove(string userID): UserRemoveResponseRemove a member from the organization.
OrganizationWorkspaces
List Workspaces
$client->beta->organization->workspaces->list(?string afterID, ?string beforeID, ?bool includeArchived, ?bool includeDefault, ?int limit): Page<Workspace>Create Workspace
$client->beta->organization->workspaces->create(string name, ?DataResidencyCreateConfig dataResidency, ?string displayColor, ?string externalKeyID, ?array<string,string> tags, ?string userProfileID, ?list<AnthropicBeta> betas): WorkspaceGet Workspace
$client->beta->organization->workspaces->retrieve(string workspaceID): WorkspaceUpdate Workspace
$client->beta->organization->workspaces->update(string workspaceID, ?DataResidencyUpdateConfig dataResidency, ?string displayColor, ?string externalKeyID, ?string name, ?array<string,string> tags, ?string userProfileID): WorkspaceArchive Workspace
$client->beta->organization->workspaces->archive(string workspaceID): WorkspaceOrganizationWorkspacesRate Limits
List Workspace Rate Limits
$client->beta->organization->workspaces->rateLimits->list(string workspaceID, ?GroupType groupType, ?bool includeInherited, ?int limit, ?string page): PageCursor<BetaWorkspaceRateLimit>List a workspace's rate limits.
Set Workspace Rate Limits
$client->beta->organization->workspaces->rateLimits->update(string rateLimitID, string workspaceID, list<BetaWorkspaceRateLimitUpdateValue> limits): BetaWorkspaceRateLimitSet or clear rate-limit overrides for one rate-limit group in a workspace.
OrganizationWorkspacesMembers
List Workspace Members
$client->beta->organization->workspaces->members->list(string workspaceID, ?string afterID, ?string beforeID, ?int limit): Page<WorkspaceMember>Create Workspace Member
$client->beta->organization->workspaces->members->add(string workspaceID, string userID, NoBillingWorkspaceRole workspaceRole): WorkspaceMemberGet Workspace Member
$client->beta->organization->workspaces->members->retrieve(string userID, string workspaceID): WorkspaceMemberUpdate Workspace Member
$client->beta->organization->workspaces->members->update(string userID, string workspaceID, WorkspaceRole workspaceRole): WorkspaceMemberDelete Workspace Member
$client->beta->organization->workspaces->members->remove(string userID, string workspaceID): MemberRemoveResponseOrganizationWorkspacesService Accounts
List Service Account Workspace Members
$client->beta->organization->workspaces->serviceAccounts->list(string workspaceID, ?int limit, ?string page, ?list<AnthropicBeta> betas): PageCursor<ServiceAccountWorkspaceMember>Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
Create Service Account Workspace Member
$client->beta->organization->workspaces->serviceAccounts->add(string workspaceID, string serviceAccountID, NoBillingWorkspaceRole workspaceRole, ?list<AnthropicBeta> betas): ServiceAccountWorkspaceMemberRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
Get Service Account Workspace Member
$client->beta->organization->workspaces->serviceAccounts->retrieve(string serviceAccountID, string workspaceID, ?list<AnthropicBeta> betas): ServiceAccountWorkspaceMemberRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
Update Service Account Workspace Member
$client->beta->organization->workspaces->serviceAccounts->update(string serviceAccountID, string workspaceID, NoBillingWorkspaceRole workspaceRole, ?list<AnthropicBeta> betas): ServiceAccountWorkspaceMemberRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
Delete Service Account Workspace Member
$client->beta->organization->workspaces->serviceAccounts->remove(string serviceAccountID, string workspaceID, ?list<AnthropicBeta> betas): ServiceAccountRemoveResponseRequires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.
OrganizationRate Limits
List Organization Rate Limits
$client->beta->organization->rateLimits->list(?GroupType groupType, ?int limit, ?string model, ?string page): PageCursor<OrganizationRateLimit>List Messages API rate limits for your organization.
OrganizationCompliance Settings
Get Compliance Settings
$client->beta->organization->complianceSettings->retrieve(): ComplianceSettingsRetrieve your organization's Compliance Settings.
Update Compliance Settings
$client->beta->organization->complianceSettings->update(ComplianceSettingsStateParam state): ComplianceSettingsUpdate your organization's Compliance Settings.
OrganizationAnalyticsSummaries
Get Activity Summaries
$client->beta->organization->analytics->summaries->list(\Datetime startingDate, ?\Datetime endingDate, ?list<string> filter, ?int limit, ?string page): PageCursor<AnalyticsSingleDayActivitySummary>Get organization-wide activity summaries for a date range.
OrganizationAnalyticsUsers
List User Activity
$client->beta->organization->analytics->users->list(?\Datetime date, ?\Datetime endingDate, ?list<string> filter, ?list<AnalyticsUserGroupBy> groupBy, ?int limit, ?AnalyticsOrder order, ?string orderBy, ?string page, ?\Datetime startingDate): PageCursor<AnalyticsUserActivity>Get per-user activity for a given day, with cursor-based pagination.
OrganizationAnalyticsAppsChatProjects
Get Chat Project Usage
$client->beta->organization->analytics->apps->chat->projects->list(?\Datetime date, ?\Datetime endingDate, ?list<string> filter, ?list<AnalyticsProjectGroupBy> groupBy, ?int limit, ?AnalyticsOrder order, ?string orderBy, ?string page, ?\Datetime startingDate): PageCursor<AnalyticsProjectActivity>Get per-project activity for a given day, with cursor-based pagination.
OrganizationAnalyticsConnectors
Get Connector Usage
$client->beta->organization->analytics->connectors->list(?\Datetime date, ?\Datetime endingDate, ?list<string> filter, ?list<AnalyticsConnectorGroupBy> groupBy, ?int limit, ?AnalyticsOrder order, ?string orderBy, ?string page, ?\Datetime startingDate): PageCursor<AnalyticsConnectorActivity>Get per-connector usage for a given day, with cursor-based pagination.
OrganizationAnalyticsPlugins
Get Plugin Usage
$client->beta->organization->analytics->plugins->list(?\Datetime date, ?\Datetime endingDate, ?list<string> filter, ?list<AnalyticsPluginGroupBy> groupBy, ?int limit, ?AnalyticsOrder order, ?string orderBy, ?string page, ?\Datetime startingDate): PageCursor<AnalyticsPluginActivity>Get per-plugin install + invocation usage for a given day, with pagination.
OrganizationAnalyticsSkills
Get Skill Usage
$client->beta->organization->analytics->skills->list(?\Datetime date, ?\Datetime endingDate, ?list<string> filter, ?list<AnalyticsSkillGroupBy> groupBy, ?int limit, ?AnalyticsOrder order, ?string orderBy, ?string page, ?\Datetime startingDate): PageCursor<AnalyticsSkillActivity>Get per-skill usage for a given day, with cursor-based pagination.
OrganizationAnalyticsArtifacts
Get Artifact Activity
$client->beta->organization->analytics->artifacts->list(\Datetime date, ?list<string> filter, ?list<AnalyticsArtifactGroupBy> groupBy, ?int limit, ?string page): PageCursor<AnalyticsArtifactActivity>Get artifact-creation activity for a given day, broken out by MIME type.
OrganizationAnalyticsUsage
Get Token Usage By Dimension
$client->beta->organization->analytics->usage->list(\Datetime startingAt, ?list<string> actorIDs, ?list<AnalyticsActorType> actorTypes, ?list<string> agentIDs, ?list<string> apiKeyIDs, ?list<AnalyticsClaudeTagCategory> claudeTagCategories, ?list<string> claudeTagUserIDs, ?list<AnalyticsContextWindow> contextWindows, ?list<string> deploymentIDs, ?\Datetime endingAt, ?list<string> environmentIDs, ?bool excludeDeletedUsers, ?list<BetaAnalyticsUsageGroupBy> groupBy, ?list<AnalyticsInferenceGeoFilter> inferenceGeos, ?int limit, ?list<string> models, ?AnalyticsUsageCostSortOrder order, ?BetaAnalyticsUsageOrderBy orderBy, ?string page, ?list<AnalyticsUsageCostProductFilter> products, ?list<string> rbacGroupIDs, ?list<AnalyticsServiceTier> serviceTiers, ?list<string> sessionIDs, ?list<string> slackChannelIDs, ?list<AnalyticsSpeed> speeds, ?AnalyticsTimeBucketWidth timeBucketWidth, ?list<string> userProfileIDs, ?list<string> workspaceIDs, ?list<AnthropicBeta> betas): ReportPageCursor<BetaAnalyticsUsageItem>anthropic-beta: analytics-usage-cost-2026-08-24. How to send beta headersGet token usage across a date range, broken out by dimension.
OrganizationAnalyticsCost
Get Cost By Dimension
$client->beta->organization->analytics->cost->list(\Datetime startingAt, ?list<string> actorIDs, ?list<AnalyticsActorType> actorTypes, ?list<string> agentIDs, ?list<string> apiKeyIDs, ?list<AnalyticsClaudeTagCategory> claudeTagCategories, ?list<string> claudeTagUserIDs, ?list<AnalyticsContextWindow> contextWindows, ?list<string> deploymentIDs, ?\Datetime endingAt, ?list<string> environmentIDs, ?bool excludeDeletedUsers, ?list<BetaAnalyticsCostGroupBy> groupBy, ?list<AnalyticsInferenceGeoFilter> inferenceGeos, ?int limit, ?list<string> models, ?AnalyticsUsageCostSortOrder order, ?BetaAnalyticsCostOrderBy orderBy, ?string page, ?list<AnalyticsUsageCostProductFilter> products, ?list<string> rbacGroupIDs, ?list<AnalyticsServiceTier> serviceTiers, ?list<string> sessionIDs, ?list<string> slackChannelIDs, ?list<AnalyticsSpeed> speeds, ?AnalyticsTimeBucketWidth timeBucketWidth, ?list<string> userProfileIDs, ?list<string> workspaceIDs, ?list<AnthropicBeta> betas): ReportPageCursor<BetaAnalyticsCostItem>anthropic-beta: analytics-usage-cost-2026-08-24. How to send beta headersGet cost in USD across a date range, broken out by dimension.
OrganizationAnalyticsUsage Report
Get Token Usage Over Time
$client->beta->organization->analytics->usageReport->list(\Datetime startingAt, ?BucketWidth bucketWidth, ?list<AnalyticsClaudeTagCategory> claudeTagCategories, ?list<string> claudeTagUserIDs, ?list<AnalyticsContextWindow> contextWindows, ?\Datetime endingAt, ?list<GroupBy> groupBy, ?list<AnalyticsInferenceGeoFilter> inferenceGeos, ?int limit, ?list<string> models, ?string page, ?list<AnalyticsProductFilter> products, ?list<string> rbacGroupIDs, ?list<string> slackChannelIDs, ?list<Speed> speeds, ?list<string> userIDs): ReportPageCursor<AnalyticsUsageReportTimeBucket>[Legacy] Get token usage over time across a date range.
OrganizationAnalyticsUser Usage Report
Get Per-User Token Usage
$client->beta->organization->analytics->userUsageReport->list(\Datetime startingAt, ?BucketWidth bucketWidth, ?list<AnalyticsClaudeTagCategory> claudeTagCategories, ?list<string> claudeTagUserIDs, ?list<AnalyticsContextWindow> contextWindows, ?\Datetime endingAt, ?bool excludeDeletedUsers, ?list<GroupBy> groupBy, ?list<AnalyticsInferenceGeoFilter> inferenceGeos, ?int limit, ?list<string> models, ?Order order, ?OrderBy orderBy, ?string page, ?list<AnalyticsProductFilter> products, ?list<string> rbacGroupIDs, ?list<string> slackChannelIDs, ?list<Speed> speeds, ?list<string> userIDs): ReportPageCursor<AnalyticsUsageUsersItem>[Legacy] Get per-user token usage across a date range.
OrganizationAnalyticsCost Report
Get Cost Over Time
$client->beta->organization->analytics->costReport->list(\Datetime startingAt, ?BucketWidth bucketWidth, ?list<AnalyticsClaudeTagCategory> claudeTagCategories, ?list<string> claudeTagUserIDs, ?list<AnalyticsContextWindow> contextWindows, ?\Datetime endingAt, ?list<GroupBy> groupBy, ?list<AnalyticsInferenceGeoFilter> inferenceGeos, ?int limit, ?list<string> models, ?string page, ?list<AnalyticsProductFilter> products, ?list<string> rbacGroupIDs, ?list<string> slackChannelIDs, ?list<Speed> speeds, ?list<string> userIDs): ReportPageCursor<AnalyticsCostReportTimeBucket>[Legacy] Get cost in USD over time across a date range.
OrganizationAnalyticsUser Cost Report
Get Per-User Cost
$client->beta->organization->analytics->userCostReport->list(\Datetime startingAt, ?BucketWidth bucketWidth, ?list<AnalyticsClaudeTagCategory> claudeTagCategories, ?list<string> claudeTagUserIDs, ?list<AnalyticsContextWindow> contextWindows, ?\Datetime endingAt, ?bool excludeDeletedUsers, ?list<GroupBy> groupBy, ?list<AnalyticsInferenceGeoFilter> inferenceGeos, ?int limit, ?list<string> models, ?Order order, ?OrderBy orderBy, ?string page, ?list<AnalyticsProductFilter> products, ?list<string> rbacGroupIDs, ?list<string> slackChannelIDs, ?list<Speed> speeds, ?list<string> userIDs): ReportPageCursor<AnalyticsCostUsersItem>[Legacy] Get per-user cost in USD across a date range.
OrganizationSpend Limits
Set Spend Limit
$client->beta->organization->spendLimits->set(?string amount, Scope scope, ?SpendLimitPeriod period, ?list<AnthropicBeta> betas): SpendLimitSet a spend limit.
Get Spend Limit
$client->beta->organization->spendLimits->retrieve(string spendLimitID): SpendLimitRetrieve a spend limit by ID.
Delete Spend Limit
$client->beta->organization->spendLimits->delete(string spendLimitID): SpendLimitDeleteResponseDelete a spend limit.
List Spend Limits
$client->beta->organization->spendLimits->list(?int limit, ?string page, ?list<ScopeType> scopeType, ?string workspaceID, ?list<AnthropicBeta> betas): PageCursor<SpendLimit>anthropic-beta: spend-limit-reads-2026-09-26. How to send beta headersList the organization's spend limits.
OrganizationSpend LimitsEffective
List Effective Spend Limits
$client->beta->organization->spendLimits->effective->list(?int limit, ?string page, ?list<SpendLimitPeriod> period, ?list<string> userIDs): PageCursor<SpendSummary>List each member's effective spend limit and period-to-date spend.
OrganizationSpend LimitsIncrease Requests
List Spend Limit Increase Requests
$client->beta->organization->spendLimits->increaseRequests->list(?list<string> actorIDs, ?int limit, ?string page, ?list<BetaSpendLimitIncreaseRequestStatus> status): PageCursor<BetaSpendLimitIncreaseRequest>List spend limit increase requests, most recent first.
Get Spend Limit Increase Request
$client->beta->organization->spendLimits->increaseRequests->retrieve(string spendLimitIncreaseRequestID): BetaSpendLimitIncreaseRequestRetrieve a spend limit increase request.
Approve Spend Limit Increase Request
$client->beta->organization->spendLimits->increaseRequests->approve(string spendLimitIncreaseRequestID, string amount, ?SpendLimitPeriod period, ?bool suppressNotification): IncreaseRequestApproveResponseApprove a pending spend limit increase request.
Deny Spend Limit Increase Request
$client->beta->organization->spendLimits->increaseRequests->deny(string spendLimitIncreaseRequestID, ?bool suppressNotification): BetaSpendLimitIncreaseRequestDeny a pending spend limit increase request.
OrganizationRBAC Groups
Create RBAC Group
$client->beta->organization->rbacGroups->create(string name): RBACGroupCreate an RBAC Group in the Claude Enterprise tenant. Groups created via the API have source type "direct".
List RBAC Groups
$client->beta->organization->rbacGroups->list(?int limit, ?string page): PageCursor<RBACGroup>List RBAC Groups in the Claude Enterprise tenant.
Get RBAC Group
$client->beta->organization->rbacGroups->retrieve(string rbacGroupID): RBACGroupRetrieve an RBAC Group by ID.
Update RBAC Group
$client->beta->organization->rbacGroups->update(string rbacGroupID, ?string name): RBACGroupUpdate an RBAC Group's name. Groups provisioned by an identity provider (source type "scim") cannot be modified via the API while an organization in the tenant uses SCIM provisioning.
Delete RBAC Group
$client->beta->organization->rbacGroups->delete(string rbacGroupID): DeletedRBACGroupDelete an RBAC Group. Groups provisioned by an identity provider (source type "scim") cannot be deleted via the API while an organization in the tenant uses SCIM provisioning.
OrganizationRBAC GroupsMembers
List RBAC Group Members
$client->beta->organization->rbacGroups->members->list(string rbacGroupID, ?int limit, ?string page): PageCursor<BetaRBACGroupMember>List members of an RBAC Group.
Add RBAC Group Member
$client->beta->organization->rbacGroups->members->add(string rbacGroupID, string userID): BetaRBACGroupMemberAdd a User to an RBAC Group. Membership of groups provisioned by an identity provider (source type "scim") cannot be modified via the API while an organization in the tenant uses SCIM provisioning.
Remove RBAC Group Member
$client->beta->organization->rbacGroups->members->remove(string userID, string rbacGroupID): BetaDeletedRBACGroupMemberRemove a User from an RBAC Group. Membership of groups provisioned by an identity provider (source type "scim") cannot be modified via the API while an organization in the tenant uses SCIM provisioning.
OrganizationRBAC Roles
List RBAC Roles
$client->beta->organization->rbacRoles->list(?int limit, ?string page): PageCursor<RBACRole>List RBAC Roles in the organization.
Get RBAC Role
$client->beta->organization->rbacRoles->retrieve(string rbacRoleID): RBACRoleRetrieve an RBAC Role by ID.
OrganizationRBAC RolesPermissions
List RBAC Role Permissions
$client->beta->organization->rbacRoles->permissions->list(string rbacRoleID, ?int limit, ?string page): PageCursor<BetaRBACRolePermission>List the permissions an RBAC Role grants.
OrganizationPlugins
Create Plugin
$client->beta->organization->plugins->create(list<FileParam | string> files, ?string marketplaceID, ?string releaseNotes, ?list<AnthropicBeta> betas): Pluginanthropic-beta: ce-plugins-2026-09-01. How to send beta headersCreate an organization-owned Plugin and its first version by uploading the version's files.
Get Plugin
$client->beta->organization->plugins->retrieve(string pluginID, ?string organizationID, ?list<AnthropicBeta> betas): Pluginanthropic-beta: ce-plugins-2026-09-01. How to send beta headersRetrieve a Plugin by ID.
Update Plugin
$client->beta->organization->plugins->update(string pluginID, string servedVersionID, ?list<AnthropicBeta> betas): Pluginanthropic-beta: ce-plugins-2026-09-01. How to send beta headersChange which stored version of an organization-owned Plugin is served to members, for example to roll back to an earlier one. This pins the served version: later uploads are stored but no longer change what is served, and pinning cannot currently be undone, here or in claude.ai.
List Plugins
$client->beta->organization->plugins->list(?\Datetime createdAtGt, ?\Datetime createdAtGte, ?\Datetime createdAtLt, ?\Datetime createdAtLte, ?int limit, ?string marketplaceID, ?string organizationID, ?OwnerType ownerType, ?string ownerUserID, ?string page, ?list<AnthropicBeta> betas): PageCursor<Plugin>anthropic-beta: ce-plugins-2026-09-01. How to send beta headersList the Plugins created under the organization, newest first: those in the organization's own plugin marketplaces and those in members' personal plugin marketplaces.
Delete Plugin
$client->beta->organization->plugins->delete(string pluginID, ?list<AnthropicBeta> betas): DeletedPluginanthropic-beta: ce-plugins-2026-09-01. How to send beta headersPermanently delete a Plugin and every version it holds, exactly as when an administrator deletes it in claude.ai. The Plugin may belong to the organization or to a member, including a member who has since left the organization.
OrganizationPluginsVersions
Create Plugin Version
$client->beta->organization->plugins->versions->create(string pluginID, list<FileParam | string> files, ?string releaseNotes, ?list<AnthropicBeta> betas): BetaPluginVersionanthropic-beta: ce-plugins-2026-09-01. How to send beta headersAdd a version to an organization-owned Plugin by uploading the new version's files; it becomes the version served to members unless the Plugin's served version has been pinned.
List Plugin Versions
$client->beta->organization->plugins->versions->list(string pluginID, ?int limit, ?string organizationID, ?string page, ?list<AnthropicBeta> betas): PageCursor<BetaPluginVersion>anthropic-beta: ce-plugins-2026-09-01. How to send beta headersList a Plugin's versions, newest first.
Get Plugin Version
$client->beta->organization->plugins->versions->retrieve(string version, string pluginID, ?string organizationID, ?list<AnthropicBeta> betas): BetaPluginVersionanthropic-beta: ce-plugins-2026-09-01. How to send beta headersRetrieve one version of a Plugin by its ID, or the Plugin's newest version.
Download Plugin Version Archive
$client->beta->organization->plugins->versions->download(string version, string pluginID, ?string organizationID, ?list<AnthropicBeta> betas): downloadanthropic-beta: ce-plugins-2026-09-01. How to send beta headersDownload one version's .zip archive, exactly as stored. Each download of a
Plugin from a member's personal plugin marketplace is recorded on the Compliance API
activity feed.
OrganizationPluginsInstallation Settings
List Plugin Installation Settings
$client->beta->organization->plugins->installationSettings->list(string pluginID, ?int limit, ?string organizationID, ?string page, ?TargetType targetType, ?list<AnthropicBeta> betas): PageCursor<BetaPluginInstallationSetting>anthropic-beta: ce-plugins-2026-09-01. How to send beta headersList an organization-owned Plugin's installation settings, which say which members it is for, most recently created first.
Set Plugin Installation Setting
$client->beta->organization->plugins->installationSettings->set(string target, string pluginID, InstallationPreference installationPreference, ?list<AnthropicBeta> betas): BetaPluginInstallationSettinganthropic-beta: ce-plugins-2026-09-01. How to send beta headersSet or change an organization-owned Plugin's installation setting for the whole organization or for one RBAC Group.
Remove Plugin Installation Setting
$client->beta->organization->plugins->installationSettings->remove(string target, string pluginID, ?list<AnthropicBeta> betas): BetaDeletedPluginInstallationSettinganthropic-beta: ce-plugins-2026-09-01. How to send beta headersRemove an organization-owned Plugin's own installation setting for the whole organization or for one RBAC Group.
OrganizationPlugin Marketplaces
List Plugin Marketplaces
$client->beta->organization->pluginMarketplaces->list(?int limit, ?string organizationID, ?OwnerType ownerType, ?string page, ?Source source, ?list<AnthropicBeta> betas): PageCursor<PluginMarketplace>anthropic-beta: ce-plugins-2026-09-01. How to send beta headersList the plugin marketplaces Plugins live in, newest first: the organization's own and its members' personal ones.
Get Plugin Marketplace
$client->beta->organization->pluginMarketplaces->retrieve(string marketplaceID, ?string organizationID, ?list<AnthropicBeta> betas): PluginMarketplaceanthropic-beta: ce-plugins-2026-09-01. How to send beta headersRetrieve a plugin marketplace by ID.
Update Plugin Marketplace
$client->beta->organization->pluginMarketplaces->update(string marketplaceID, DefaultInstallationPreference defaultInstallationPreference, ?list<AnthropicBeta> betas): PluginMarketplaceanthropic-beta: ce-plugins-2026-09-01. How to send beta headersSet the default installation setting of one of the organization's own plugin marketplaces. Every Plugin in it without a setting of its own gets this default as its organization-wide setting, including Plugins added later.
Validate Plugin Marketplace Repository
$client->beta->organization->pluginMarketplaces->validateRepository(string repositoryURL, ?string ref, ?list<AnthropicBeta> betas): PluginMarketplaceValidationReportanthropic-beta: ce-plugins-2026-09-01. How to send beta headersCheck whether a plugin marketplace held in a public GitHub repository would synchronize into claude.ai, without connecting or storing it.
Validate Plugin Marketplace Archive
$client->beta->organization->pluginMarketplaces->validateArchive(FileParam | string archive, ?list<AnthropicBeta> betas): PluginMarketplaceValidationReportanthropic-beta: ce-plugins-2026-09-01. How to send beta headersCheck whether a plugin marketplace, uploaded as a .zip of the marketplace
directory, would synchronize into claude.ai, without connecting or storing it.
OrganizationTelemetry Destinations
Create a Telemetry Destination
$client->beta->organization->telemetryDestinations->create(string endpointURL, TelemetryDestinationWorkspacesParams workspaces, ?string displayName, ?array<string,string> headers, ?TelemetryDestinationTracesParams traces, ?list<AnthropicBeta> betas): TelemetryDestinationanthropic-beta: telemetry-destinations-2026-08-11. How to send beta headersRegister an OpenTelemetry destination for the organization.
List Telemetry Destinations
$client->beta->organization->telemetryDestinations->list(?int limit, ?string page, ?list<string> workspaceIDs, ?list<AnthropicBeta> betas): PageCursor<TelemetryDestination>anthropic-beta: telemetry-destinations-2026-08-11. How to send beta headersList the organization's destinations, newest first, optionally only those that cover given workspaces.
Retrieve a Telemetry Destination
$client->beta->organization->telemetryDestinations->retrieve(string destinationID, ?list<AnthropicBeta> betas): TelemetryDestinationanthropic-beta: telemetry-destinations-2026-08-11. How to send beta headersRead a destination's configuration, state, and most recent delivery results.
Update a Telemetry Destination
$client->beta->organization->telemetryDestinations->update(string destinationID, ?string displayName, ?string endpointURL, ?array<string,string> headers, ?TelemetryDestinationStateParams state, ?TelemetryDestinationTracesParams traces, ?TelemetryDestinationWorkspacesParams workspaces, ?list<AnthropicBeta> betas): TelemetryDestinationanthropic-beta: telemetry-destinations-2026-08-11. How to send beta headersChange a telemetry destination's settings, its state, or which workspaces it covers.
Delete a Telemetry Destination
$client->beta->organization->telemetryDestinations->delete(string destinationID, ?list<AnthropicBeta> betas): DeletedTelemetryDestinationanthropic-beta: telemetry-destinations-2026-08-11. How to send beta headersDelete a destination and its workspace list.
Test a Telemetry Destination
$client->beta->organization->telemetryDestinations->test(string destinationID, ?list<AnthropicBeta> betas): TelemetryDestinationTestResponseanthropic-beta: telemetry-destinations-2026-08-11. How to send beta headersSend one test span, named anthropic.test, to the destination with its registered headers, once and without retries, and report the destination's answer. The response is 200 whether or not the destination answered with a 2xx status: its result has the type success, or the type failure and the reason in error. The destination's configuration, state and delivery_health do not change. A disabled destination can be tested too. Wait 10 seconds between tests of one destination; a request that comes sooner may be answered with status 429.
OrganizationTelemetry DestinationsWorkspaces
List Telemetry Destination Workspaces
$client->beta->organization->telemetryDestinations->workspaces->list(string destinationID, ?int limit, ?string page, ?list<AnthropicBeta> betas): PageCursor<BetaTelemetryDestinationWorkspace>anthropic-beta: telemetry-destinations-2026-08-11. How to send beta headersList the workspaces on a destination's workspace list, newest entry first.
Add a Telemetry Destination Workspace
$client->beta->organization->telemetryDestinations->workspaces->add(string workspaceID, string destinationID, ?list<AnthropicBeta> betas): BetaTelemetryDestinationWorkspaceanthropic-beta: telemetry-destinations-2026-08-11. How to send beta headersAdd one workspace to a destination's workspace list.
Remove a Telemetry Destination Workspace
$client->beta->organization->telemetryDestinations->workspaces->remove(string workspaceID, string destinationID, ?list<AnthropicBeta> betas): BetaDeletedTelemetryDestinationWorkspaceanthropic-beta: telemetry-destinations-2026-08-11. How to send beta headersRemove one workspace from a destination's workspace list.
OrganizationWebhooks
Create Organization Webhook Endpoint
$client->beta->organization->webhooks->create(list<EnabledEvent> enabledEvents, string url, ?string description, ?string name, ?list<AnthropicBeta> betas): NewOrganizationWebhookEndpointanthropic-beta: webhooks-2026-10-07. How to send beta headersCreate an organization webhook endpoint.
List Organization Webhook Endpoints
$client->beta->organization->webhooks->list(?string afterID, ?string beforeID, ?int limit, ?Order order, ?list<AnthropicBeta> betas): Page<OrganizationWebhookEndpoint>anthropic-beta: webhooks-2026-10-07. How to send beta headersList the organization's webhook endpoints.
Get Organization Webhook Endpoint
$client->beta->organization->webhooks->retrieve(string webhookEndpointID, ?list<AnthropicBeta> betas): OrganizationWebhookEndpointanthropic-beta: webhooks-2026-10-07. How to send beta headersRetrieve an organization webhook endpoint by ID.
Update Organization Webhook Endpoint
$client->beta->organization->webhooks->update(string webhookEndpointID, ?string description, ?list<EnabledEvent> enabledEvents, ?string name, ?State state, ?string url, ?list<AnthropicBeta> betas): OrganizationWebhookEndpointanthropic-beta: webhooks-2026-10-07. How to send beta headersUpdate an organization webhook endpoint. Only the fields you send are changed.
Delete Organization Webhook Endpoint
$client->beta->organization->webhooks->delete(string webhookEndpointID, ?list<AnthropicBeta> betas): DeletedOrganizationWebhookEndpointanthropic-beta: webhooks-2026-10-07. How to send beta headersDelete an organization webhook endpoint.
Regenerate Organization Webhook Endpoint Signing Secret
$client->beta->organization->webhooks->regenerateSigningSecret(string webhookEndpointID, ?list<AnthropicBeta> betas): OrganizationWebhookEndpointSigningSecretanthropic-beta: webhooks-2026-10-07. How to send beta headersReplace an organization webhook endpoint's signing secret. The old secret stops working immediately. The new secret is returned only in this response.
OrganizationClaude TagSlack Channels
Set Up Slack Channel
$client->beta->organization->claudeTag->slackChannels->create(ClaudeTagSlackChannelIdentifiers slack, ?ClaudeTagSettingsCreate settings, ?list<AnthropicBeta> betas): BetaClaudeTagSlackChannelanthropic-beta: experimental-claude-tag-2026-10-21. How to send beta headersSet a Slack channel up for Claude Tag and return it with its identifier. If the channel is already set up, whether in claude.ai, by Claude's first use in it or by an earlier request, the existing channel is returned, so the request can be repeated. settings, when sent, is applied as an update applies it. Before a channel is set up, Claude's Slack app confirms with Slack that the channel is in the workspace, is not archived and is visible to the app; a channel that fails the confirmation returns 404. Setting the channel up and applying settings are two steps: when the second is refused, the response is the refusal, the channel stays set up with every setting unset, and the error's details.slack_channel_id holds the channel's identifier.
List Slack Channels
$client->beta->organization->claudeTag->slackChannels->list(string slackWorkspaceID, ?bool includeInherited, ?int limit, ?string page, ?string slackChannelID, ?list<AnthropicBeta> betas): PageCursor<BetaClaudeTagSlackChannel>anthropic-beta: experimental-claude-tag-2026-10-21. How to send beta headersList the set-up Slack channels of one Slack workspace, newest first by created_at. A channel that is not set up is not listed: Slack holds the full list of a workspace's channels. Pass slack_channel_id as well to look one channel up by its Slack identifiers: data then holds that channel, or is empty when it is not set up, and limit and page are ignored. A workspace that the organization owns only through a Slack Enterprise Grid returns 404 until it is set up. With include_inherited=true each channel's settings holds what applies in it, and the request fails with 503 rather than resolve against a settings level that could not be read. A page cursor resumes only a request with the same include_inherited.
Get Slack Channel
$client->beta->organization->claudeTag->slackChannels->retrieve(string id, ?bool includeInherited, ?list<AnthropicBeta> betas): BetaClaudeTagSlackChannelanthropic-beta: experimental-claude-tag-2026-10-21. How to send beta headersGet one Slack channel and its settings. By default settings holds what the channel itself stores: a setting that is null there is not set on the channel and is inherited. With include_inherited=true, settings holds what applies in the channel once the settings levels above it are taken into account, and the request fails with 503 rather than resolve against a settings level that could not be read. Either way sources names the settings level each value comes from, so a caller tells the channel's own value from an inherited one by its source, not by whether it is null.
Update Slack Channel
$client->beta->organization->claudeTag->slackChannels->update(string id, ClaudeTagSettingsUpdate settings, ?list<AnthropicBeta> betas): BetaClaudeTagSlackChannelanthropic-beta: experimental-claude-tag-2026-10-21. How to send beta headersChange the settings a Slack channel stores. The update is partial: a setting left out is unchanged, and a setting sent as null is cleared, so the channel inherits it. If any value is refused, no setting in the request is stored. A group direct message takes no settings and returns 400.
Remove Slack Channel
$client->beta->organization->claudeTag->slackChannels->delete(string id, ?list<AnthropicBeta> betas): BetaClaudeTagDeletedSlackChannelanthropic-beta: experimental-claude-tag-2026-10-21. How to send beta headersRemove a Slack channel from Claude Tag. This deletes the channel's stored settings and its Bundle Targets at once, and then, in the background, the channel's sessions and their transcripts, its memory, its routines and the artifacts published from it. None of it can be restored. The channel in Slack and its messages are unchanged. The request is refused with 400 and error.details.error_code slack_channel_enabled while enabled resolves to true for the channel, as a read with include_inherited=true returns it: set enabled to false on the channel first. This guards against removing a channel in use by mistake; it is not a way to keep Claude out, because the removal deletes the channel's own enabled: false with its other settings, after which the channel inherits again and Claude's next use of it can set it up anew with a new identifier. The identifier returns 404 as soon as the request returns, so a repeated removal returns 404. A group direct message returns 400, and so does a channel that holds configuration this API does not manage.
OrganizationClaude TagSlack Workspaces
List Slack Workspaces
$client->beta->organization->claudeTag->slackWorkspaces->list(?bool includeInherited, ?int limit, ?string page, ?string slackWorkspaceID, ?list<AnthropicBeta> betas): PageCursor<BetaClaudeTagSlackWorkspace>anthropic-beta: experimental-claude-tag-2026-10-21. How to send beta headersList the set-up Slack workspaces the organization owns, newest first by created_at. Pass slack_workspace_id to look one workspace up by its Slack identifier: data then holds that workspace, or is empty when it is not set up. A workspace of a Slack Enterprise Grid the organization has connected returns 404 until it is set up. With include_inherited=true each workspace's settings holds what applies in it, and the request fails with 503 rather than resolve against a settings level that could not be read. A page cursor resumes only a request with the same include_inherited.
Get Slack Workspace
$client->beta->organization->claudeTag->slackWorkspaces->retrieve(string id, ?bool includeInherited, ?list<AnthropicBeta> betas): BetaClaudeTagSlackWorkspaceanthropic-beta: experimental-claude-tag-2026-10-21. How to send beta headersGet one Slack workspace and its settings. By default settings holds what the workspace itself stores: a setting that is null there is not set on the workspace and is inherited. With include_inherited=true, settings holds what applies in the workspace once the organization's Slack defaults are taken into account, and the request fails with 503 rather than resolve against a settings level that could not be read. Either way sources names the settings level each value comes from.
Update Slack Workspace
$client->beta->organization->claudeTag->slackWorkspaces->update(string id, ClaudeTagSettingsUpdate settings, ?list<AnthropicBeta> betas): BetaClaudeTagSlackWorkspaceanthropic-beta: experimental-claude-tag-2026-10-21. How to send beta headersChange the settings a Slack workspace stores. The update is partial: a setting left out is unchanged, and a setting sent as null is cleared, so the workspace inherits it. If any value is refused, no setting in the request is stored.
OrganizationClaude TagBundles
List Bundles
$client->beta->organization->claudeTag->bundles->list(?int limit, ?string page, ?list<AnthropicBeta> betas): PageCursor<BetaClaudeTagBundle>anthropic-beta: experimental-claude-tag-2026-10-21. How to send beta headersList the organization's Bundles, newest first by created_at. A Bundle that Claude Tag manages for itself is not listed.
Get Bundle
$client->beta->organization->claudeTag->bundles->retrieve(string bundleID, ?list<AnthropicBeta> betas): BetaClaudeTagBundleanthropic-beta: experimental-claude-tag-2026-10-21. How to send beta headersGet one Bundle. What the Bundle grants (connectors, repositories and credentials) is never returned.
OrganizationClaude TagBundlesTargets
List Bundle Targets
$client->beta->organization->claudeTag->bundles->targets->list(string bundleID, ?int limit, ?string page, ?list<AnthropicBeta> betas): PageCursor<BetaClaudeTagBundleTarget>anthropic-beta: experimental-claude-tag-2026-10-21. How to send beta headersList the Slack channels and Slack workspaces a Bundle is attached to, newest first by created_at. Only channels and workspaces the organization owns are listed; a Bundle that is attached to anything else has no Bundle Target for it.
Attach Bundle
$client->beta->organization->claudeTag->bundles->targets->create(string bundleID, BetaClaudeTagBundleTargetCreate target, ?list<AnthropicBeta> betas): BetaClaudeTagBundleTargetanthropic-beta: experimental-claude-tag-2026-10-21. How to send beta headersAttach a Bundle to a Slack channel or a Slack workspace. A Bundle attached to a workspace can be used in the workspace and in every channel in it. Attaching a Bundle to a channel or workspace it is already attached to returns the existing Bundle Target. The channel or workspace must be set up: attaching never sets a channel up. A group direct message takes no Bundle and returns 400.
Get Bundle Target
$client->beta->organization->claudeTag->bundles->targets->retrieve(string targetID, string bundleID, ?list<AnthropicBeta> betas): BetaClaudeTagBundleTargetanthropic-beta: experimental-claude-tag-2026-10-21. How to send beta headersGet one Bundle Target. Returns 404 when target_id is the identifier of another Bundle's Bundle Target, or the Bundle Target was detached.
Detach Bundle
$client->beta->organization->claudeTag->bundles->targets->delete(string targetID, string bundleID, ?list<AnthropicBeta> betas): BetaClaudeTagDeletedBundleTargetanthropic-beta: experimental-claude-tag-2026-10-21. How to send beta headersDetach a Bundle from a Slack channel or a Slack workspace. A repeated detach returns 404.