Создание плагина
Создаёт плагин, принадлежащий организации, и его первую версию путём загрузки файлов версии.
Загрузка выполняется в формате multipart/form-data: файлы версии (files, каждая часть отправляется
как files[]) с необязательными marketplace_id и release_notes. Поле name манифеста становится
полем name плагина, а display_name, description и manifest_version также берутся
из манифеста.
name может содержать строчные буквы (любого алфавита), цифры и дефисы, не более
64 символов. Прописные буквы, пробелы, подчёркивания и другие знаки препинания
отклоняются.
name должно быть уникальным в пределах маркетплейса: уже занятое имя
возвращает ошибку 409 с error_code plugin_name_taken и, если его занимает плагин,
ID этого плагина в details.plugin_id. Плагин, добавляемый в маркетплейс библиотеки
организации, также отклоняется с ошибкой 409, если один из его навыков имеет имя
навыка организации (навыка, загруженного администратором для всей организации
в claude.ai): error_code skill_name_taken, с этим именем в
details.skill_name; переименуйте навык или удалите навык организации в
claude.ai. Ошибка 503 с error_code
registration_pending означает, что плагин и его версия сохранены (их ID находятся
в details), но ещё не доступны для использования в claude.ai: не повторяйте создание (повторный
запрос вернёт plugin_name_taken); вместо этого создайте версию для сохранённого плагина,
что завершит его создание.
Пример см. в разделе Создание плагина руководства по Plugins API.
Допустимые учётные данные: ключ Admin API с областью write:plugins.
Каждый запрос должен содержать бета-заголовок anthropic-beta: ce-plugins-2026-09-01. Запрос без него возвращает 404, точно так же, как если бы конечной точки не существовало. Plugins API находится в бета-версии и доступен только организациям Claude Enterprise. Он недоступен организациям Claude Platform (Claude Console), а также организациям с включённой готовностью к HIPAA.
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"
}