Skip to main content
POST
Update a plugin

Authorizations

Authorization
string
header
required

An API key minted in Command Center (Settings -> API Keys), sent as Authorization: Bearer 2501_ak_.... A Command Center session cookie is also accepted.

Path Parameters

id
string
required

Body

application/json
name
string

No control characters such as a line break. Unique, ignoring case, within the plugin's organization and against tenant-wide plugins; a tenant-wide plugin's name is unique across the tenant (409, details.reason plugin_name_conflict).

Required string length: 1 - 255
description
string

What the plugin is for; the agent reads it to decide when to use the plugin. Required for an HTTP API, up to 1,800 characters.

Maximum string length: 2000
connection

Replaces the whole connection; it cannot be removed. A plugin without a connection can take one, and an MCP endpoint and a hosted MCP server can swap, only in an update that leaves the plugin disabled. An HTTP API never becomes an MCP server, or the reverse (400): create a new plugin. Switching to a hosted MCP server takes a tenant-level administrator (403).

enabled
boolean

Turns the plugin on or off for every agent that holds it, from their next turn; off keeps the assignments.

org_id
string | null

Moves the plugin to that organization. Returns 409 (details.reason plugin_move_blocked) while agents outside it still hold it; details.agent_ids lists them.

trusted_issuer
string<uri>

OAuth only: the authorization server the MCP server names, trusted from this save on. Ignored when the plugin already trusts one.

Maximum string length: 2048

Response

The updated plugin

description
string
required

What the plugin is for; the agent reads it to decide when to use the plugin.

connection
required

Null for a legacy plugin without an endpoint, or a stored connection that cannot be read, which cannot be enabled until its connection is saved again.

hosted_server
boolean
required

Whether the plugin runs a hosted MCP server, also when its stored connection is unreadable and sent as null.

id
string
required
name
string
required
enabled
boolean
required

Off stops every agent from using the plugin and keeps the assignments.

tenant_id
string
required
org_id
string | null
required

Null for a tenant-wide plugin.

created_at
string<date-time>
required
updated_at
string<date-time>
required
document_count
integer

An HTTP API's API documents. Only the plugin list carries it.