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