Claude Platform Docs

Crea plugin

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

Crea un plugin di proprietà dell'organizzazione e la sua prima versione caricando i file della versione.

Il caricamento è multipart/form-data: i file della versione (files, ciascuna parte inviata come files[]), con marketplace_id e release_notes facoltativi. Il name del manifest diventa il name del plugin, e anche display_name, description e manifest_version provengono dal manifest.

name può contenere lettere minuscole (di qualsiasi alfabeto), cifre e trattini, fino a 64 caratteri. Lettere maiuscole, spazi, underscore e altri segni di punteggiatura vengono rifiutati.

Il name deve essere univoco all'interno del marketplace: un nome già in uso restituisce un 409 con error_code plugin_name_taken e, quando è usato da un plugin, l'ID di quel plugin in details.plugin_id. Un plugin destinato al marketplace della libreria dell'organizzazione viene rifiutato con un 409 anche quando una delle sue skill ha il nome di una skill dell'organizzazione (una skill caricata da un amministratore per l'intera organizzazione in claude.ai): error_code skill_name_taken, con quel nome in details.skill_name; rinomina la skill oppure rimuovi la skill dell'organizzazione in claude.ai. Un 503 con error_code registration_pending significa che il plugin e la sua versione sono stati memorizzati (i loro ID sono in details) ma non sono ancora utilizzabili in claude.ai: non ritentare la creazione (il nuovo tentativo restituirebbe plugin_name_taken); crea invece una versione sul plugin memorizzato, che ne completa la registrazione.

Per un esempio pratico, consulta Creare un plugin nella guida alla Plugins API.

Credenziali accettate: una chiave dell'Admin API con lo scope write:plugins.

Ogni richiesta deve includere l'header beta anthropic-beta: ce-plugins-2026-09-01. Una richiesta senza di esso restituisce 404, esattamente come se l'endpoint non esistesse. La Plugins API è in beta ed è disponibile solo per le organizzazioni Claude Enterprise. Non è disponibile per le organizzazioni Claude Platform (Claude Console) né per le organizzazioni con la conformità HIPAA abilitata.

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
Crea 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"
}