Claude Platform Docs

外掛程式

建立外掛程式
POST/v1/organizations/plugins
Requires anthropic-beta: ce-plugins-2026-09-01. Learn how to send beta headers.

Create an organization-owned Plugin and its first version by uploading the version's files.

取得外掛程式
GET/v1/organizations/plugins/{plugin_id}
Requires anthropic-beta: ce-plugins-2026-09-01. Learn how to send beta headers.

依 ID 擷取外掛程式。

更新外掛程式
POST/v1/organizations/plugins/{plugin_id}
Requires anthropic-beta: ce-plugins-2026-09-01. Learn how to send beta headers.

Change which stored version of an organization-owned Plugin is served to members, for example to roll back to an earlier one. This pins the served version: later uploads are stored but no longer change what is served, and pinning cannot currently be undone, here or in claude.ai.

列出外掛程式
GET/v1/organizations/plugins
Requires anthropic-beta: ce-plugins-2026-09-01. Learn how to send beta headers.

列出在組織下建立的外掛程式,依最新優先排序:包括組織自有外掛程式市集中的外掛程式,以及成員個人外掛程式市集中的外掛程式。

刪除外掛程式
DELETE/v1/organizations/plugins/{plugin_id}
Requires anthropic-beta: ce-plugins-2026-09-01. Learn how to send beta headers.

Permanently 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. Do not delete a Plugin only because your pipeline did not create it: a member or an administrator might have added it in claude.ai.

Models
BetaDeletedPlugin object{ type: "plugin_deleted", id }
type: "plugin_deleted"

Always plugin_deleted.

defaultplugin_deleted
id: string

The deleted Plugin's ID.

BetaPlugin object{ type: "plugin", id, components, 16 more }
BetaPluginAPIActor object{ type: "api_actor", api_key_id }
type: "api_actor"

An Admin API key, in the same form the Compliance API activity feed uses for it.

defaultapi_actor
api_key_id: string

The key's ID.

BetaPluginComponent object{ type, description, name }
type: "agent" or "cli" or "command" or 3 more

The kind of component.

One of the following:
"agent"
"cli"
"command"
"hook"
"mcp_server"
"skill"
description: string or null

What the component declares about itself; always null for MCP servers, hooks, and CLIs.

name: string

The component's name: a skill's, command's or agent's name, an MCP server's key in the manifest, the event a hook runs on, or a CLI's executable.

BetaPluginContentScan object{ assessment, reason, status }
assessment: "fail" or "pass" or "unknown" or "warn" or null

The scan's verdict; set only when status is completed. A warn can mean a fail that was allowed in claude.ai.

One of the following:
"fail"
"pass"
"unknown"
"warn"
reason: string or null

The primary mechanism behind a warn or fail, such as credential-exposure or guardrail-tampering; a mechanism this API does not yet name reads as other. Null on a pass, whenever assessment is null, and when no mechanism is reported for the verdict.

status: "completed" or "errored" or "processing"

processing while a scan runs, completed when it ran to completion, errored when it could not run. Once a scan of the version has completed, content_scan describes the newest completed scan, even while a later scan runs. While the scan outcome cannot be read, status is errored instead.

One of the following:
"completed"
"errored"
"processing"
BetaPluginNameTakenErrorDetails object{ error_code, plugin_id }

The marketplace already holds this name. plugin_id is the Plugin that holds it, and can be absent.

error_code: "plugin_name_taken"
plugin_id: optional string or null
BetaPluginOwnerOrganization object{ type: "organization" }
type: "organization"

The Plugin lives in a plugin marketplace the organization owns.

defaultorganization
BetaPluginOwnerUser object{ type: "user", user_id }
type: "user"

The Plugin lives in one member's personal plugin marketplace.

defaultuser
user_id: string

The member's User ID.

BetaPluginTargetOrganization object{ type: "organization" }
type: "organization"

Every member of the organization.

defaultorganization
BetaPluginTargetOrganizationMember object{ type: "organization_member", user_id }
type: "organization_member"

One member of the organization.

defaultorganization_member
user_id: string

The member's User ID.

BetaPluginTargetRBACGroup object{ type: "rbac_group", rbac_group_id }
type: "rbac_group"

An RBAC Group.

defaultrbac_group
rbac_group_id: string

The RBAC Group's ID.

BetaPluginUserActor object{ type: "user_actor", email_address, user_id }
type: "user_actor"

A member of the organization.

defaultuser_actor
email_address: string or null

The member's email address; may be null, for example when they are no longer a member of the organization.

user_id: string

The member's User ID.

BetaRegistrationPendingErrorDetails object{ error_code, plugin_id, plugin_version_id }

The Plugin version was stored but is not yet usable in claude.ai. plugin_id and plugin_version_id identify what was stored.

error_code: "registration_pending"
plugin_id: string
plugin_version_id: string
BetaScanFailedErrorDetails object{ error_code, plugin_version_id }

The version in plugin_version_id did not pass its content scan, so it cannot be served.

error_code: "scan_failed"
plugin_version_id: string
BetaScanPendingErrorDetails object{ error_code, plugin_version_id }

The content scan of the version in plugin_version_id is still running. Retry once the scan finishes.

error_code: "scan_pending"
plugin_version_id: string
BetaSkillNameTakenErrorDetails object{ error_code, skill_name }

One of the Plugin's skills has the name of an organization skill. skill_name is that name.

error_code: "skill_name_taken"
skill_name: string

外掛程式版本

建立外掛程式版本
POST/v1/organizations/plugins/{plugin_id}/versions
Requires anthropic-beta: ce-plugins-2026-09-01. Learn how to send beta headers.

Add 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.

列出外掛程式版本
GET/v1/organizations/plugins/{plugin_id}/versions
Requires anthropic-beta: ce-plugins-2026-09-01. Learn how to send beta headers.

列出外掛程式的版本,依最新優先排序。

取得外掛程式版本
GET/v1/organizations/plugins/{plugin_id}/versions/{version}
Requires anthropic-beta: ce-plugins-2026-09-01. Learn how to send beta headers.

依 ID 擷取外掛程式的某個版本,或擷取外掛程式的最新版本。

下載外掛程式版本封存檔
GET/v1/organizations/plugins/{plugin_id}/versions/{version}/content
Requires anthropic-beta: ce-plugins-2026-09-01. Learn how to send beta headers.

下載某個版本的 .zip 封存檔,內容與儲存時完全相同。每次從成員個人外掛程式市集下載外掛程式,都會記錄在 Compliance API 活動摘要中。

外掛程式安裝設定

列出外掛程式安裝設定
GET/v1/organizations/plugins/{plugin_id}/installation_settings
Requires anthropic-beta: ce-plugins-2026-09-01. Learn how to send beta headers.

列出組織擁有的外掛程式的安裝設定(用於指定該外掛程式適用於哪些成員),依建立時間由新到舊排序。

設定外掛程式安裝設定
POST/v1/organizations/plugins/{plugin_id}/installation_settings/{target}
Requires anthropic-beta: ce-plugins-2026-09-01. Learn how to send beta headers.

為整個組織或單一 RBAC 群組設定或變更組織擁有的外掛程式的安裝設定。

移除外掛程式安裝設定
DELETE/v1/organizations/plugins/{plugin_id}/installation_settings/{target}
Requires anthropic-beta: ce-plugins-2026-09-01. Learn how to send beta headers.

移除組織擁有的外掛程式針對整個組織或單一 RBAC 群組本身的安裝設定。

外掛程式分享

列出外掛程式分享
GET/v1/organizations/plugins/{plugin_id}/shares
Requires anthropic-beta: ce-plugins-2026-09-01. Learn how to send beta headers.

列出成員擁有的外掛程式的擁有者所提供的分享(分享給組織的所有成員、某個 RBAC 群組或單一成員),依授予時間由新到舊排序。