Validate Plugin Marketplace Repository
Check whether a plugin marketplace held in a public GitHub repository would synchronize into claude.ai, without connecting or storing it.
To check a .zip of the marketplace directory instead, use Validate Plugin Marketplace Archive.
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. A repository that is missing, private, or has no such branch or commit 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
Returns
curl https://api.anthropic.com/v1/organizations/plugin_marketplaces/validate_repository \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: ce-plugins-2026-09-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-d '{
"repository_url": "https://github.com/example-org/example-marketplace",
"ref": "main"
}'{
"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
}