Claude Platform Docs

Valider l'archive d'une marketplace de plugins

$ ant beta:organization:plugin-marketplaces validate-archive
POST/v1/organizations/plugin_marketplaces/validate_archive

Vérifiez si une marketplace de plugins, téléversée sous forme de fichier .zip du répertoire de la marketplace, se synchroniserait dans claude.ai, sans la connecter ni la stocker.

Pour vérifier plutôt un dépôt GitHub public, utilisez Valider le dépôt d'une marketplace de plugins.

Le rapport indique si marketplace.json est bien formé, quels plugins une synchronisation ignorerait et pourquoi, et quels plugins ne se synchroniseraient que partiellement, certains fichiers étant omis. Une archive qui ne peut pas être lue comme une marketplace est signalée, et non refusée : la réponse est un rapport avec valid: false. Les sources de plugins situées en dehors de la marketplace sont récupérées anonymement depuis GitHub ; une source privée est donc signalée comme introuvable. Une source hébergée sur un autre hôte n'est pas récupérée ici, et le rapport indique qu'elle sera vérifiée lors de la synchronisation effective de la marketplace.

Rien n'est enregistré dans le flux d'activité de l'API Compliance.

Pour un exemple détaillé, consultez Valider le contenu d'une marketplace dans le guide de l'API Plugins.

Identifiants acceptés : une clé API Admin avec la portée read:plugins ou write:plugins ; read:org_audit et read:compliance_org_data n'y donnent pas accès.

Chaque requête doit inclure l'en-tête bêta anthropic-beta: ce-plugins-2026-09-01. Une requête sans cet en-tête renvoie 404, exactement comme si le point de terminaison n'existait pas. L'API Plugins est en bêta et n'est disponible que pour les organisations Claude Enterprise. Elle n'est pas disponible pour les organisations Claude Platform (Claude Console), ni pour les organisations pour lesquelles la conformité HIPAA est activée.

Parameters
--archive: string

A .zip of the marketplace directory (its contents at the root, or wrapped in one folder as a Git host's download produces), sent as a file part with a filename; DEFLATE- or STORE-compressed, at most 32 MB. A part sent without a filename, a second archive part, or any other form field is a 400; a larger archive is a 413.

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

Valider l'archive d'une marketplace de plugins
ant beta:organization:plugin-marketplaces validate-archive \
  --api-key my-anthropic-api-key \
  --archive 'Example data'
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
}