Crea un plugin propiedad de la organización y su primera versión cargando los archivos de la versión.
La carga es multipart/form-data: los archivos de la versión (files, cada parte enviada
como files[]), con marketplace_id y release_notes opcionales. El name del manifiesto se convierte en el
name del plugin, y display_name, description y manifest_version también provienen
del manifiesto.
name puede contener letras minúsculas (de cualquier alfabeto), dígitos y guiones, hasta
64 caracteres. Se rechazan las letras mayúsculas, los espacios, los guiones bajos y otros signos de
puntuación.
El name debe ser único dentro del marketplace: un nombre ya ocupado
devuelve un 409 con error_code plugin_name_taken y, cuando un plugin lo tiene,
el ID de ese plugin en details.plugin_id. Un plugin que se agrega al marketplace de la biblioteca
de la organización también se rechaza con un 409 cuando una de sus habilidades tiene el nombre de
una habilidad de la organización (una habilidad que un administrador cargó para toda la organización
en claude.ai): error_code skill_name_taken, con ese nombre en
details.skill_name; cambia el nombre de la habilidad o elimina la habilidad de la organización en
claude.ai. Un 503 con error_code
registration_pending significa que el plugin y su versión se almacenaron (sus IDs están
en details) pero aún no se pueden usar en claude.ai: no reintentes la creación (el
reintento devolvería plugin_name_taken); en su lugar, crea una versión en el plugin almacenado,
lo que lo completa.
Para ver un ejemplo práctico, consulta Crear un plugin en la guía de la API de Plugins.
Credenciales aceptadas: una clave de Admin API con el alcance write:plugins.
Cada solicitud debe incluir el encabezado beta anthropic-beta: ce-plugins-2026-09-01. Una solicitud sin él devuelve 404, exactamente como si el endpoint no existiera. La API de Plugins está en beta y solo está disponible para organizaciones de Claude Enterprise. No está disponible para organizaciones de Claude Platform (Claude Console) ni para organizaciones con la preparación para HIPAA habilitada.
Parameters
Returns
import os
from anthropic import Anthropic
client = Anthropic(
api_key=os.environ.get(
"ANTHROPIC_API_KEY"
), # This is the default and can be omitted
)
beta_plugin = client.beta.organization.plugins.create(
files=[b"Example data"],
)
print(beta_plugin.id){
"id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne",
"components": [
{
"description": "description",
"name": "review-pr",
"type": "skill"
}
],
"content_scan": {
"assessment": "warn",
"reason": "credential-exposure",
"status": "completed"
},
"created_at": "2026-03-14T09:26:53.589793Z",
"created_by": {
"email_address": "user@example.com",
"type": "user_actor",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"description": "Reviews pull requests against your team's conventions.",
"display_name": "Code Review Helper",
"latest_version_id": "pluginver_01KaZmQpRsTuVwXyZ2b4c6d8",
"manifest_version": "1.2.0",
"marketplace_id": "marketplace_01HxQ3v9KpZ2mTn8RwLc4Ys7",
"name": "code-review-helper",
"organization_installation_preference": "available",
"organization_installation_preference_inherited": true,
"owner": {
"type": "organization"
},
"reach": "contained",
"served_version_id": "pluginver_01K9wPcHd4Rm2Tx8Vq6Ln3Sb",
"served_version_pinned": true,
"type": "plugin",
"updated_at": "2026-03-14T09:26:53.589793Z"
}Returns Examples
{
"id": "plugin_01JyHfbRkZvD1gW7oTqXc3Ne",
"components": [
{
"description": "description",
"name": "review-pr",
"type": "skill"
}
],
"content_scan": {
"assessment": "warn",
"reason": "credential-exposure",
"status": "completed"
},
"created_at": "2026-03-14T09:26:53.589793Z",
"created_by": {
"email_address": "user@example.com",
"type": "user_actor",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"description": "Reviews pull requests against your team's conventions.",
"display_name": "Code Review Helper",
"latest_version_id": "pluginver_01KaZmQpRsTuVwXyZ2b4c6d8",
"manifest_version": "1.2.0",
"marketplace_id": "marketplace_01HxQ3v9KpZ2mTn8RwLc4Ys7",
"name": "code-review-helper",
"organization_installation_preference": "available",
"organization_installation_preference_inherited": true,
"owner": {
"type": "organization"
},
"reach": "contained",
"served_version_id": "pluginver_01K9wPcHd4Rm2Tx8Vq6Ln3Sb",
"served_version_pinned": true,
"type": "plugin",
"updated_at": "2026-03-14T09:26:53.589793Z"
}