Claude Platform Docs

Plugin-Marketplace-Repository validieren

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

Prüft, ob ein Plugin-Marketplace in einem öffentlichen GitHub-Repository in claude.ai synchronisiert werden würde, ohne ihn zu verbinden oder zu speichern.

Um stattdessen eine .zip-Datei des Marketplace-Verzeichnisses zu prüfen, verwende Validate Plugin Marketplace Archive.

Der Bericht gibt an, ob marketplace.json wohlgeformt ist, welche Plugins eine Synchronisierung überspringen würde und warum, und welche Plugins nur teilweise synchronisiert würden, wobei einige Dateien ausgelassen werden. Ein Repository, das fehlt, privat ist oder keinen solchen Branch oder Commit hat, wird gemeldet, nicht abgelehnt: Die Antwort ist ein Bericht mit valid: false. Plugin-Quellen außerhalb des Marketplaces werden anonym von GitHub abgerufen, daher wird eine private als nicht gefunden gemeldet; eine Quelle auf einem anderen Host wird hier nicht abgerufen, und der Bericht vermerkt, dass sie geprüft wird, wenn der Marketplace tatsächlich synchronisiert wird.

Im Aktivitäts-Feed der Compliance API wird nichts protokolliert.

Ein ausgearbeitetes Beispiel findest du unter Marketplace-Inhalte validieren im Leitfaden zur Plugins API.

Akzeptierte Anmeldedaten: ein Admin-API-Key mit dem Scope read:plugins oder write:plugins; read:org_audit und read:compliance_org_data gewähren keinen Zugriff.

Jede Anfrage muss den Beta-Header anthropic-beta: ce-plugins-2026-09-01 enthalten. Eine Anfrage ohne ihn gibt 404 zurück, genau so, als ob der Endpunkt nicht existieren würde. Die Plugins API befindet sich in der Beta und ist nur für Claude Enterprise-Organisationen verfügbar. Sie ist nicht für Claude Platform (Claude Console)-Organisationen oder für Organisationen mit aktivierter HIPAA-Readiness verfügbar.

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.

Plugin-Marketplace-Repository validieren
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
}