Claude Platform Docs

플러그인 마켓플레이스 아카이브 검증

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

마켓플레이스 디렉터리의 .zip으로 업로드된 플러그인 마켓플레이스가 claude.ai로 동기화될 수 있는지 연결하거나 저장하지 않고 확인합니다.

대신 공개 GitHub 리포지토리를 확인하려면 플러그인 마켓플레이스 리포지토리 검증을 사용하세요.

보고서는 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
--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.

플러그인 마켓플레이스 아카이브 검증
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
}