Skip to main content
POST
Create an agent plugin

Authorizations

Authorization
string
header
required

Bearer JWT token or API Key (sk-*).

Body

application/json
id
string
required

Stable plugin id used by the agent runtime.

Minimum string length: 1
name
string
required

Operator-facing plugin name.

Minimum string length: 1
kind
enum<string>
default:tools

Plugin execution provider kind.

Available options:
tools,
mcp_server,
skill,
package
description
string

Optional plugin description.

routing
object

Canonical English capability metadata used for tool selection. Operator-facing content may remain localized.

category
string

Optional plugin category used for search, grouping, and operator organization.

metadata
object | null

Optional resource metadata. Values may use any JSON type. Maximum 16 KiB and 64 top-level keys. Top-level keys starting with "__" are reserved for backend use.

Example:
remoteId
string

Optional upstream identifier used to track the source plugin when this registry entry is a tenant-local clone.

executionMode
enum<string>

Execution mode expected for the plugin provider.

Available options:
sync,
background
componentId
string

Component id executed when this tool plugin runs. Required for tools plugins and forbidden for MCP server plugins.

Minimum string length: 1
componentDigest
string

Portable SHA-256 digest of the component revision to execute. Omit to follow latest. Forbidden for non-tools plugins.

componentVersion
number

Legacy local revision number. New cross-instance pins should use componentDigest.

Required range: x >= 0
componentToolset
object

Multiple governed tool contracts backed by the same component. Every componentToolset.tools key expands into a separately discoverable executable action; its alias is the exact local tool name when provided. Forbidden for MCP server, skill, and package plugins.

mcpServer
object

Remote MCP server configuration. Required for MCP server plugins and forbidden for tools plugins.

mcpToolset
object

Default and per-remote-tool MCP governance/loading configuration. mcpToolset.configs keys are remote manifest tool names, while alias controls the local exposed name. Forbidden for tools, skill, and package plugins.

skill
object

Markdown instructions plus lazy dependency plugin UUIDs. Required for skill plugins; the content guides the model but does not execute dependencies or prove their results. Forbidden for tools, MCP, and package plugins.

package
object

Product-level Markdown routing plus direct lazy dependency plugin UUIDs. Required for package plugins; packages are not executable and cannot depend on packages. Forbidden for tools, MCP, and skill plugins.

providerSource
enum<string>

Provider source recorded for discovery, auditability, and telemetry.

Available options:
tenant_plugin,
community_plugin
inputSchema
object

Strict structured input schema exposed to discovery and runtime validation for tools plugins. Forbidden for MCP server plugins. Must be an object schema with additionalProperties=false and descriptions on every declared property.

outputSchema
object

Structured output schema expected from the provider for tools plugins. Forbidden for MCP server plugins.

approvalPolicy
object

Approval contract enforced before execution.

mutationIntent
enum<string>

Declared mutation intent used for governance and approval safety.

Available options:
read,
write,
destructive,
external
reversibility
enum<string>

Declared reversibility of the plugin side effects.

Available options:
reversible,
operator_reversible,
irreversible,
unknown
targetScope
enum<string>

Primary runtime scope impacted when the plugin executes.

Available options:
assistant_thread,
agent,
tenant,
external
sideEffectSummary
string

Concise side-effect declaration recorded in approval, evidence, and audit surfaces.

sideEffectCategories
string[]

Normalized side-effect categories used for governance and operator review.

timeoutMs
number

Maximum runtime in milliseconds.

Required range: x >= 1000
Example:

30000

resultMaxBytes
number

Maximum serialized result size in bytes.

Required range: x >= 512
autoDiscovery
boolean

Whether compact routing metadata should appear in available_plugins before explicit attachment. This does not eagerly load skill content, component tool schemas, MCP manifests, or execute the provider.

active
boolean

Whether the plugin may be attached and used by agents or assistants at runtime.

Response

201