Claude Platform Docs

プラグインマーケットプレイスリポジトリの検証

$ ant beta:organization:plugin-marketplaces validate-repository
POST/v1/organizations/plugin_marketplaces/validate_repository

公開GitHubリポジトリにあるプラグインマーケットプレイスがclaude.aiに同期されるかどうかを、接続や保存を行わずに確認します。

代わりにマーケットプレイスディレクトリの .zip を確認するには、プラグインマーケットプレイスアーカイブの検証を使用してください。

レポートには、marketplace.json が正しい形式かどうか、同期時にどのプラグインがスキップされるかとその理由、どのプラグインが一部のファイルを除いて部分的にのみ同期されるかが示されます。存在しない、非公開である、または該当するブランチやコミットがないリポジトリは、拒否されるのではなくレポートされます。レスポンスは valid: false のレポートになります。マーケットプレイス外のプラグインソースはGitHubから匿名で取得されるため、非公開のものは見つからないとレポートされます。その他のホスト上のソースはここでは取得されず、マーケットプレイスが実際に同期されるときに確認される旨がレポートに記載されます。

Compliance APIのアクティビティフィードには何も記録されません。

具体例については、Plugins APIガイドのマーケットプレイスコンテンツの検証を参照してください。

受け入れられる認証情報: read:plugins または write:plugins スコープを持つAdmin APIキー。read:org_audit と read:compliance_org_data ではアクセスできません。

すべてのリクエストにベータヘッダー anthropic-beta: ce-plugins-2026-09-01 を含める必要があります。含まれていないリクエストは、エンドポイントが存在しない場合とまったく同じく 404 を返します。Plugins APIはベータ版であり、Claude Enterprise組織のみが利用できます。Claude Platform(Claude Console)組織、またはHIPAA対応が有効になっている組織では利用できません。

Parameters
--repository-url: string

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.

minLength1
--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, 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.

minLength1
--beta: optional array of AnthropicBeta⁠Header parameter

This endpoint is in beta: requests must send ce-plugins-2026-09-01 in this header.

Returns
beta_plugin_marketplace_validation_report: object{ type: "plugin_marketplace_validation_report", commit_sha, manifest_error, 6 more }

The outcome of validating plugin marketplace content: a report, not a stored object, so nothing in it can be retrieved afterwards.

type: "plugin_marketplace_validation_report"

Always plugin_marketplace_validation_report.

commit_sha: string

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.

manifest_error: string

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.

manifest_error_code: string

A stable identifier for manifest_error; null when that is.

plugin_errors: array of BetaPluginMarketplaceValidationPluginError { error, error_code, name }

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

error: string

Why the plugin would be skipped by a synchronization.

error_code: string

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

name: string

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

plugin_warnings: array of BetaPluginMarketplaceValidationPluginWarnings { name, warnings }

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

name: string

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

warnings: array of BetaPluginMarketplaceValidationPluginWarning { error_code, message }

The parts of the plugin a synchronization would leave out.

error_code: string

A stable identifier for the kind of warning.

message: string

What would be left out, and why.

ref: string

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.

total_plugin_count: number

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

valid: boolean

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

プラグインマーケットプレイスリポジトリの検証
ant beta:organization:plugin-marketplaces validate-repository \
  --api-key my-anthropic-api-key \
  --repository-url https://github.com/example-org/example-marketplace
Returns Examples
Response 200
{
  "commit_sha": "9fceb02d0ae598e95dc970b74767f19372d61af8",
  "manifest_error": "manifest_error",
  "manifest_error_code": "marketplace_sync_manifest_not_found",
  "plugin_errors": [
    {
      "error": "error",
      "error_code": "marketplace_sync_plugin_missing_manifest",
      "name": "name"
    }
  ],
  "plugin_warnings": [
    {
      "name": "name",
      "warnings": [
        {
          "error_code": "marketplace_sync_zipball_symlink_dangling",
          "message": "message"
        }
      ]
    }
  ],
  "ref": "main",
  "total_plugin_count": 0,
  "type": "plugin_marketplace_validation_report",
  "valid": false
}