Claude Platform Docs

更新插件

$client->beta->organization->plugins->update(string pluginID, string servedVersionID, ?list<AnthropicBeta> betas): Plugin
POST/v1/organizations/plugins/{plugin_id}
Requires anthropic-beta: ce-plugins-2026-09-01. How to send beta headers

更改向成员提供的组织所有插件的已存储版本,例如回滚到较早的版本。此操作会固定所提供的版本:之后上传的版本仍会被存储,但不再改变所提供的内容,并且固定目前无法撤销,无论是在此处还是在 claude.ai 中。

将版本作为 served_version_id 传入:传入较早的版本以回滚;传入较晚的版本以开始提供一个已存储但尚未提供的版本;或传入当前已提供的版本,以在不改变所提供内容的情况下将其固定。此操作不会创建新版本。

当组织启用了内容扫描时,content_scan.status 为 processing 的版本会被拒绝并返回 409(error_code 为 scan_pending;请在扫描完成后重试)。content_scan.status 为 errored,或 content_scan.assessment 为 fail 或 unknown 的版本会被拒绝并返回 400(error_code 为 scan_failed);warn 结果可被接受。如果当时无法读取扫描结果,请求将改为失败并返回可重试的 503。当插件位于组织的库市场中时,如果某个非当前提供版本中的某个技能名称此后已被组织技能(管理员在 claude.ai 中为整个组织上传的技能)占用,该版本也会被拒绝并返回 409:error_code 为 skill_name_taken,该名称位于 details.skill_name 中。成员所有的插件无法在此处更新(403)。

此端点不写入安装设置;安装设置通过 /v1/organizations/plugins/{plugin_id}/installation_settings/{target} 写入。

接受的凭据:具有 write:plugins 作用域的 Admin API 密钥。

每个请求都必须包含 beta 标头 anthropic-beta: ce-plugins-2026-09-01。缺少该标头的请求将返回 404,与端点不存在时完全相同。插件 API 目前处于 beta 阶段,仅适用于 Claude Enterprise 组织。Claude Platform(Claude Console)组织以及启用了 HIPAA 就绪功能的组织无法使用。

Parameters
pluginID: string⁠Path parameter

ID of the Plugin (prefixed plugin_).

servedVersionID: string

Serve this version of the Plugin (prefixed pluginver_) and pin the served version to it; latest is not accepted.

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;

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

$betaPlugin = $client->beta->organization->plugins->update(
  'plugin_id',
  servedVersionID: 'pluginver_01KaZmQpRsTuVwXyZ2b4c6d8',
  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"
}