Claude Platform Docs

Validar arquivo do marketplace de plugins

$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

Verifique se um marketplace de plugins, enviado como um .zip do diretório do marketplace, seria sincronizado no claude.ai, sem conectá-lo nem armazená-lo.

Para verificar um repositório público do GitHub, use Validar repositório do marketplace de plugins.

O relatório informa se o marketplace.json está bem formado, quais plugins uma sincronização ignoraria e por quê, e quais plugins seriam sincronizados apenas em parte, com alguns arquivos deixados de fora. Um arquivo que não pode ser lido como marketplace é relatado, não recusado: a resposta é um relatório com valid: false. As fontes de plugins fora do marketplace são buscadas anonimamente no GitHub, então uma fonte privada é relatada como não encontrada ou como exigindo login no GitHub; uma fonte em qualquer outro host não é buscada aqui, e o relatório indica que ela será verificada quando o marketplace for efetivamente sincronizado.

Nada é registrado no feed de atividades da Compliance API.

Para um exemplo prático, consulte Validar o conteúdo do marketplace no guia da API de Plugins.

Credenciais aceitas: uma chave de API de Admin com o escopo read:plugins ou write:plugins; read:org_audit e read:compliance_org_data não concedem acesso.

Toda solicitação deve incluir o cabeçalho beta anthropic-beta: ce-plugins-2026-09-01. Uma solicitação sem ele retorna 404, exatamente como se o endpoint não existisse. A API de Plugins está em beta e está disponível apenas para organizações Claude Enterprise. Ela não está disponível para organizações da Claude Platform (Claude Console) nem para organizações com prontidão para HIPAA habilitada.

Parameters
archive: FileParam | 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.

betas?: optional list<AnthropicBeta>⁠Header parameter

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

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

Validar arquivo do marketplace de plugins
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Anthropic\Client;
use Anthropic\Beta\AnthropicBeta;
use Anthropic\Core\FileParam;

$client = new Client(apiKey: 'my-anthropic-api-key');

$betaPluginMarketplaceValidationReport = $client
  ->beta
  ->organization
  ->pluginMarketplaces
  ->validateArchive(
  archive: FileParam::fromString('Example data', filename: uniqid('file-upload-', true)),
  betas: [AnthropicBeta::MESSAGE_BATCHES_2024_09_24],
);

var_dump($betaPluginMarketplaceValidationReport);
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
}