Validate Plugin Marketplace Archive
Check whether a plugin marketplace, uploaded as a .zip of the marketplace
directory, would synchronize into claude.ai, without connecting or storing it.
To check a public GitHub repository instead, use Validate Plugin Marketplace Repository.
The report says whether marketplace.json is well-formed, which plugins a
synchronization would skip and why, and which plugins would synchronize only in
part, with some files left out. An archive that cannot be read as a marketplace is reported, not refused: the response is a report with valid: false. Plugin sources outside the marketplace
are fetched anonymously from GitHub, so a private one is reported as not found; a
source on any other host is not fetched here, and the report notes that it will be
checked when the marketplace actually synchronizes.
Nothing is recorded on the Compliance API activity feed.
For a worked example, see Validate marketplace content in the Plugins API guide.
Accepted credentials: an Admin API key with the read:plugins or write:plugins scope; read:org_audit and read:compliance_org_data do not grant it.
Every request must include the beta header anthropic-beta: ce-plugins-2026-09-01. A request without it returns 404, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled.
Headers
Body (form-data)
Returns
curl https://api.anthropic.com/v1/organizations/plugin_marketplaces/validate_archive \
-H 'Content-Type: multipart/form-data' \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: ce-plugins-2026-09-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-F 'archive=@/path/to/archive'{
"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
}Returns Examples
{
"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
}