Claude Platform Docs

插件市场

列出插件市场
$client->beta->organization->pluginMarketplaces->list(?int limit, ?string organizationID, ?OwnerType ownerType, ?string page, ?Source source, ?list<AnthropicBeta> betas): PageCursor<PluginMarketplace>
GET/v1/organizations/plugin_marketplaces
Requires anthropic-beta: ce-plugins-2026-09-01. How to send beta headers

列出插件所在的插件市场,按从新到旧排序:包括组织自有的市场及其成员的个人市场。

获取插件市场
$client->beta->organization->pluginMarketplaces->retrieve(string marketplaceID, ?string organizationID, ?list<AnthropicBeta> betas): PluginMarketplace
GET/v1/organizations/plugin_marketplaces/{marketplace_id}
Requires anthropic-beta: ce-plugins-2026-09-01. How to send beta headers

按 ID 检索插件市场。

更新插件市场
$client->beta->organization->pluginMarketplaces->update(string marketplaceID, DefaultInstallationPreference defaultInstallationPreference, ?list<AnthropicBeta> betas): PluginMarketplace
POST/v1/organizations/plugin_marketplaces/{marketplace_id}
Requires anthropic-beta: ce-plugins-2026-09-01. How to send beta headers

设置组织自有插件市场之一的默认安装设置。该市场中所有没有自身设置的插件(包括之后添加的插件)都会将此默认值作为其组织范围设置。

验证插件市场代码仓库
$client->beta->organization->pluginMarketplaces->validateRepository(string repositoryURL, ?string ref, ?list<AnthropicBeta> betas): PluginMarketplaceValidationReport
POST/v1/organizations/plugin_marketplaces/validate_repository
Requires anthropic-beta: ce-plugins-2026-09-01. How to send beta headers

检查存放在公共 GitHub 代码仓库中的插件市场能否同步到 claude.ai,而不会连接或存储该市场。

验证插件市场归档
$client->beta->organization->pluginMarketplaces->validateArchive(FileParam | string archive, ?list<AnthropicBeta> betas): PluginMarketplaceValidationReport
POST/v1/organizations/plugin_marketplaces/validate_archive
Requires anthropic-beta: ce-plugins-2026-09-01. How to send beta headers

检查以市场目录 .zip 文件形式上传的插件市场能否同步到 claude.ai,而不会连接或存储该市场。

Models
class PluginMarketplace { $type = 'plugin_marketplace'; $id; $createdAt; /* 7 more */ }
"plugin_marketplace" type

Always plugin_marketplace.

string id

The plugin marketplace's ID, prefixed marketplace_.

\Datetime createdAt

RFC 3339.

?DefaultInstallationPreference defaultInstallationPreference

Organization plugin marketplace: the organization-wide setting every Plugin in it with no setting of its own gets. Null for a member's personal plugin marketplace. One of required, auto_install, available, not_available; a value this API does not yet name is returned as stored.

?\Datetime lastSyncEndedAt

RFC 3339. When the most recent synchronization attempt to finish did so, whatever its outcome; for a repository plugin marketplace no synchronization has run on yet, when it was created. Null for a plugin marketplace that is not synchronized from a repository.

?string lastSyncReadSha

The commit the last synchronization attempt that reached the repository read, whether or not its content was then accepted (see sync_status); an attempt that ends failed_auth or failed_transient leaves it unchanged. Null until an attempt has first read the repository, and for a plugin marketplace that is not synchronized from a repository.

string name

Fixed for the plugin marketplace's lifetime.

Owner owner

The organization, or the member whose personal plugin marketplace it is.

Source source

Where the plugin marketplace's Plugins come from: manual when they are uploaded; github, gitlab or public_git when they are synchronized from the Git repository the owner connected, into which nothing can be uploaded; directory is Anthropic's own catalog, which this API does not list. A value this API does not yet name is returned as stored.

?SyncStatus syncStatus

Outcome of the plugin marketplace's most recent synchronization: one of success, in_progress, failed_content, failed_transient, failed_auth, failed_limits; a value this API does not yet name is returned as stored. Null until a synchronization is first attempted — so always for a manual plugin marketplace.

class PluginMarketplaceValidationPluginError { $error; $errorCode; $name; }
string error

Why the plugin would be skipped by a synchronization.

string errorCode

A stable identifier for the reason — the value to branch on.

string name

The plugin's name, as its entry in marketplace.json declares it.

class PluginMarketplaceValidationPluginWarning { $errorCode; $message; }
string errorCode

A stable identifier for the kind of warning.

string message

What would be left out, and why.

class PluginMarketplaceValidationPluginWarnings { $name; $warnings; }
string name

The plugin's name, as its entry in marketplace.json declares it.

The parts of the plugin a synchronization would leave out.

class PluginMarketplaceValidationReport { $type = 'plugin_marketplace_validation_report'; $commitSha; $manifestError; /* 6 more */ }
"plugin_marketplace_validation_report" type

Always plugin_marketplace_validation_report.

?string commitSha

The full SHA of the commit that was validated: for a repository, the commit that was read; for an uploaded archive, the commit recorded in the archive's comment (as a Git host's download writes it; not verified), else null.

?string manifestError

Set when nothing could be validated: the repository or archive could not be read, or marketplace.json is missing, malformed or over a limit. Null otherwise.

?string manifestErrorCode

A stable identifier for manifest_error; null when that is.

One entry per plugin a synchronization would skip entirely, keyed by the plugin's name in marketplace.json.

One entry per plugin that would synchronize with some of its contents left out, keyed by the plugin's name in marketplace.json.

?string ref

For a repository, the branch that was read by name: the one requested, or else the branch a synchronization of this repository is set to read. Null when no branch is named or set and the repository's default branch was read, for a request by commit SHA, and for an uploaded archive.

int totalPluginCount

How many plugins marketplace.json declares; 0 when it could not be read.

bool valid

True when marketplace.json is well-formed and no plugin would be skipped; warnings never make it false.