Claude Platform Docs

创建插件

$client->beta->organization->plugins->create(list<FileParam | string> files, ?string marketplaceID, ?string releaseNotes, ?list<AnthropicBeta> betas): Plugin
POST/v1/organizations/plugins
Requires anthropic-beta: ce-plugins-2026-09-01. How to send beta headers

通过上传版本文件,创建组织拥有的插件及其第一个版本。

上传采用 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,并且当该名称由某个插件持有时,会在 details.plugin_id 中返回该插件的 ID。如果要进入组织库市场的插件中有某个技能与组织技能(管理员在 claude.ai 中为整个组织上传的技能)同名,也会被拒绝并返回 409:error_code 为 skill_name_taken,该名称位于 details.skill_name 中;请重命名该技能,或在 claude.ai 中移除该组织技能。返回 503 且 error_code 为 registration_pending 表示插件及其版本已存储(其 ID 位于 details 中),但尚无法在 claude.ai 中使用:请勿重试创建操作(重试会返回 plugin_name_taken);而应在已存储的插件上创建一个版本,这样即可完成该插件。

有关完整示例,请参阅插件 API 指南中的创建插件。

接受的凭据:具有 write:plugins 范围的 Admin API 密钥。

每个请求都必须包含 beta 标头 anthropic-beta: ce-plugins-2026-09-01。不带该标头的请求会返回 404,就像该端点不存在一样。插件 API 处于 beta 阶段,仅适用于 Claude Enterprise 组织。它不适用于 Claude Platform(Claude Console)组织,也不适用于启用了 HIPAA 就绪的组织。

Parameters
files: list<FileParam | string>

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.

marketplaceID?: optional string

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.

releaseNotes?: optional string

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

betas?: optional list<AnthropicBeta>⁠Header parameter

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

Returns
class Plugin { $type = 'plugin'; $id; $components; /* 16 more */ }
创建插件
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Anthropic\Client;
use Anthropic\Beta\AnthropicBeta;
use Anthropic\Core\FileParam;

$client = new Client(apiKey: 'my-anthropic-api-key');

$betaPlugin = $client->beta->organization->plugins->create(
  files: [
    FileParam::fromString('Example data', filename: uniqid('file-upload-', true)),
  ],
  marketplaceID: 'marketplace_id',
  releaseNotes: 'release_notes',
  betas: [AnthropicBeta::MESSAGE_BATCHES_2024_09_24],
);

var_dump($betaPlugin);
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_01WxYzAbCdEfGhJkMnPqRsTu"
  },
  "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"
}