Créer un plugin
Crée un plugin appartenant à l'organisation ainsi que sa première version en téléversant les fichiers de la version.
Le téléversement est au format multipart/form-data : les fichiers de la version (files, chaque partie étant envoyée
sous la forme files[]), avec un marketplace_id et des release_notes facultatifs. Le name du manifeste devient le
name du plugin, et display_name, description et manifest_version proviennent
également du manifeste.
name peut contenir des lettres minuscules (de n'importe quel alphabet), des chiffres et des traits d'union, jusqu'à
64 caractères. Les lettres majuscules, les espaces, les traits de soulignement et les autres signes de ponctuation sont
rejetés.
Le name doit être unique au sein de la marketplace : un nom déjà pris
renvoie une erreur 409 avec l'error_code plugin_name_taken et, lorsqu'un plugin le détient,
l'ID de ce plugin dans details.plugin_id. Un plugin destiné à la marketplace de la bibliothèque
de l'organisation est également refusé avec une erreur 409 lorsque l'une de ses compétences porte le nom
d'une compétence d'organisation (une compétence qu'un administrateur a téléversée pour toute l'organisation
dans claude.ai) : error_code skill_name_taken, avec ce nom dans
details.skill_name ; renommez la compétence, ou supprimez la compétence d'organisation dans
claude.ai. Une erreur 503 avec l'error_code
registration_pending signifie que le plugin et sa version ont été stockés (leurs ID figurent
dans details) mais ne sont pas encore utilisables dans claude.ai : ne relancez pas la création (la
nouvelle tentative renverrait plugin_name_taken) ; créez plutôt une version sur le plugin stocké,
ce qui le finalise.
Pour un exemple détaillé, consultez Créer un plugin dans le guide de l'API Plugins.
Identifiants acceptés : une clé Admin API avec la portée write:plugins.
Chaque requête doit inclure l'en-tête bêta anthropic-beta: ce-plugins-2026-09-01. Une requête sans cet en-tête renvoie 404, exactement comme si le point de terminaison n'existait pas. L'API Plugins est en bêta et est disponible uniquement pour les organisations Claude Enterprise. Elle n'est pas disponible pour les organisations Claude Platform (Claude Console), ni pour les organisations pour lesquelles la conformité HIPAA est activée.
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"
}