Claude Platform Docs

Crear plugin

beta.organization.plugins.create(**kwargs) -> BetaPlugin
POST/v1/organizations/plugins

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
files: Sequence[FileTypes]

The version's files: one part per file, the part's filename being the file's path within the Plugin (for example skills/review-pr/SKILL.md), or a single .zip or .plugin archive holding them all. On the wire each part is named files[], and a part named plain files is not read; with cURL, -F 'files[]=@SKILL.md;filename=skills/review-pr/SKILL.md'. The files must include the manifest, .claude-plugin/plugin.json.

marketplace_id: Optional[str]

ID of the organization-owned plugin marketplace to create the Plugin in (prefixed marketplace_). It must be a manual marketplace, one whose Plugins are uploaded rather than synchronized from a repository. When omitted, the Plugin is created in the organization's library marketplace, an organization-owned manual marketplace created on first use.

release_notes: Optional[str]

Release notes stored with the version and shown in its version history in claude.ai; up to 5,000 characters.

maxLength5000
betas: Optional[List[AnthropicBetaParam]]⁠Header parameter

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

One of the following:
str
"message-batches-2024-09-24"
"prompt-caching-2024-07-31"
"computer-use-2024-10-22"
"computer-use-2025-01-24"
"pdfs-2024-09-25"
"token-counting-2024-11-01"
"token-efficient-tools-2025-02-19"
"output-128k-2025-02-19"
"files-api-2025-04-14"
"mcp-client-2025-04-04"
"mcp-client-2025-11-20"
"dev-full-thinking-2025-05-14"
"interleaved-thinking-2025-05-14"
"code-execution-2025-05-22"
"extended-cache-ttl-2025-04-11"
"context-1m-2025-08-07"
"context-management-2025-06-27"
"model-context-window-exceeded-2025-08-26"
"skills-2025-10-02"
"fast-mode-2026-02-01"
"output-300k-2026-03-24"
"user-profiles-2026-03-24"
"user-profiles-2026-08-18"
"user-profiles-2026-09-04"
"advisor-tool-2026-03-01"
"managed-agents-2026-04-01"
"cache-diagnosis-2026-04-07"
"dreaming-2026-04-21"
"thinking-token-count-2026-05-13"
"server-side-fallback-2026-06-01"
"server-side-fallback-2026-07-01"
"fallback-credit-2026-06-01"
"fallback-credit-2026-07-01"
"agent-memory-2026-07-22"
"mid-conversation-tool-changes-2026-07-01"
"compact-2026-01-12"
"computer-use-2025-11-24"
"mcp-tunnels-2026-06-22"
"structured-outputs-2025-11-13"
"task-budgets-2026-03-13"
"thinking-display-updates-2026-08-18"
"ce-user-management-2026-07-13"
"mid-conversation-output-config-2026-07-01"
"thinking-binding-controls-2026-08-01"
"mid-conversation-system-clear-at-2026-08-21"
"compact-2026-09-04"
"inline-tools-2026-09-15"
"mcp-client-2026-09-15"
"ce-plugins-2026-09-01"
"spend-limit-reads-2026-09-26"
Returns
class BetaPlugin: type: "plugin"; id; components; ... # 16 more
Crear plugin
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)
Returns Examples
Response 200
{
  "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"
}