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.