MCP Connections
Discover, authorize, grant, and revoke provider or remote MCP Connections.
This reference is generated from Crewhelm’s authenticated MCP catalog and progressive operation schemas. Tool availability does not grant authority; every call is subject to the authenticated owner, approved OAuth scopes, and current control-plane policy.
Read tools
Section titled “Read tools”Inspect state and obtain exact references without changing it.
crewhelm_inspect_connections
Section titled “crewhelm_inspect_connections”Inspect Crewhelm connections
Discover integration providers, provider actions, authentication configurations, and exact parameter schemas.
Attributes: read-only, non-destructive, idempotent, open-world.
How to use this tool:
- Send
{"request":"operations"}to list its subtools. - Send
{"request":"schema","name":"…"}for one subtool’s exact inputs. - Send
{"request":"execute","name":"…","input":{…}}to run it.
| Subtool | Purpose |
|---|---|
search_providers |
Search the complete integration provider catalog. |
search_actions |
Search provider actions, optionally within one known integration. |
inspect_action |
Inspect the exact parameter schema for one provider action version. |
inspect_provider_auth |
Inspect whether one provider is ready, requires an auth-config choice, or needs owner setup without reserving an effect. |
list_auth_configs |
List bounded owner-held auth-config references; inspect provider auth for current activity. |
list_connections |
List compact provider and remote MCP Connection metadata. |
search_providers
Section titled “search_providers”Search the complete integration provider catalog.
| Input | Required | Type | Details |
|---|---|---|---|
cursor |
No | string | minimum length: 1; maximum length: 2048 |
limit |
No | integer | minimum: 1; maximum: 50; default: 20 |
query |
No | string | minimum length: 3; maximum length: 160 |
View exact JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "cursor": { "type": "string", "minLength": 1, "maxLength": 2048 }, "limit": { "default": 20, "type": "integer", "minimum": 1, "maximum": 50 }, "query": { "type": "string", "minLength": 3, "maxLength": 160 } }, "additionalProperties": false}search_actions
Section titled “search_actions”Search provider actions, optionally within one known integration.
| Input | Required | Type | Details |
|---|---|---|---|
cursor |
No | string | minimum length: 1; maximum length: 2048 |
integrationSlug |
No | string | Limit action discovery to an already selected or connected integration. pattern: ^[a-z0-9][a-z0-9_-]{0,127}$ |
limit |
No | integer | minimum: 1; maximum: 20; default: 10 |
query |
No | string | minimum length: 3; maximum length: 160 |
View exact JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "cursor": { "type": "string", "minLength": 1, "maxLength": 2048 }, "integrationSlug": { "description": "Limit action discovery to an already selected or connected integration.", "type": "string", "pattern": "^[a-z0-9][a-z0-9_-]{0,127}$" }, "limit": { "default": 10, "type": "integer", "minimum": 1, "maximum": 20 }, "query": { "type": "string", "minLength": 3, "maxLength": 160 } }, "additionalProperties": false}inspect_action
Section titled “inspect_action”Inspect the exact parameter schema for one provider action version.
| Input | Required | Type | Details |
|---|---|---|---|
slug |
Yes | string | pattern: ^[A-Z0-9][A-Z0-9_]{0,255}$ |
version |
Yes | string | pattern: ^[0-9]{8}_[0-9]{2}$ |
View exact JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "slug": { "type": "string", "pattern": "^[A-Z0-9][A-Z0-9_]{0,255}$" }, "version": { "type": "string", "pattern": "^[0-9]{8}_[0-9]{2}$" } }, "required": [ "slug", "version" ], "additionalProperties": false}inspect_provider_auth
Section titled “inspect_provider_auth”Inspect whether one provider is ready, requires an auth-config choice, or needs owner setup without reserving an effect.
| Input | Required | Type | Details |
|---|---|---|---|
integrationSlug |
Yes | string | pattern: ^[a-z0-9][a-z0-9_-]{0,127}$ |
View exact JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "integrationSlug": { "type": "string", "pattern": "^[a-z0-9][a-z0-9_-]{0,127}$" } }, "required": [ "integrationSlug" ], "additionalProperties": false}list_auth_configs
Section titled “list_auth_configs”List bounded owner-held auth-config references; inspect provider auth for current activity.
| Input | Required | Type | Details |
|---|---|---|---|
cursor |
No | string | minimum length: 1; maximum length: 2048 |
integrationSlug |
Yes | string | pattern: ^[a-z0-9][a-z0-9_-]{0,127}$ |
limit |
No | integer | minimum: 1; maximum: 50; default: 20 |
View exact JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "cursor": { "type": "string", "minLength": 1, "maxLength": 2048 }, "integrationSlug": { "type": "string", "pattern": "^[a-z0-9][a-z0-9_-]{0,127}$" }, "limit": { "default": 20, "type": "integer", "minimum": 1, "maximum": 50 } }, "required": [ "integrationSlug" ], "additionalProperties": false}list_connections
Section titled “list_connections”List compact provider and remote MCP Connection metadata.
| Input | Required | Type | Details |
|---|---|---|---|
authorizationOutcome |
No | “pending” | “returned” | “failed” | “expired” | “untracked” | Return connections with this latest owner-local authorization outcome. |
cursor |
No | string | pattern: ^connection_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ |
integration |
No | string | Return connections created for this enabled integration. pattern: ^[a-z0-9][a-z0-9_-]{0,127}$ |
limit |
No | integer | minimum: 1; maximum: 20; default: 20 |
status |
No | “initiated” | “active” | “revoked” | “unavailable” | Return connections in this lifecycle state. |
View exact JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "authorizationOutcome": { "description": "Return connections with this latest owner-local authorization outcome.", "type": "string", "enum": [ "pending", "returned", "failed", "expired", "untracked" ] }, "cursor": { "type": "string", "pattern": "^connection_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" }, "integration": { "description": "Return connections created for this enabled integration.", "type": "string", "pattern": "^[a-z0-9][a-z0-9_-]{0,127}$" }, "limit": { "default": 20, "type": "integer", "minimum": 1, "maximum": 20 }, "status": { "description": "Return connections in this lifecycle state.", "type": "string", "enum": [ "initiated", "active", "revoked", "unavailable" ] } }, "additionalProperties": false}Write tools
Section titled “Write tools”Preview or perform bounded changes under the required owner authority.
crewhelm_change_connections
Section titled “crewhelm_change_connections”Change Crewhelm connections
Connect providers or remote MCP servers and grant reviewed operations.
Attributes: write, destructive, idempotent, open-world.
How to use this tool:
- Send
{"request":"operations"}to list its subtools. - Send
{"request":"schema","name":"…"}for one subtool’s exact inputs. - Send
{"request":"execute","name":"…","input":{…}}to run it.
| Subtool | Purpose |
|---|---|
enable_provider |
Resolve auth readiness, reuse an owner-held config, create credential-free or managed auth, or return a Crewhelm setup link for reusable app credentials. |
authorize_provider |
Create an authorization link for one enabled provider integration. |
connect_provider |
Resolve provider auth and return a Composio authorization link or, when required, a Crewhelm setup link for reusable app credentials. |
inspect_provider_connection |
Inspect one exact provider Connection. |
grant_provider_actions |
Replace the selected actions for one provider Connection and return the new Agent revision. |
connect_remote_mcp |
Create a public, API-key, bearer, or OAuth remote MCP Connection. |
inspect_remote_mcp |
Inspect one exact remote MCP Connection and tool snapshot. |
reauthenticate_remote_mcp |
Create a new authentication setup for one exact remote MCP Connection snapshot. |
delete_remote_mcp |
Delete one exact remote MCP Connection. |
grant_remote_mcp |
Replace the frozen tools for one remote MCP Connection and return the new Agent revision. |
enable_provider
Section titled “enable_provider”Resolve auth readiness, reuse an owner-held config, create credential-free or managed auth, or return a Crewhelm setup link for reusable app credentials.
| Input | Required | Type | Details |
|---|---|---|---|
authConfigId |
No | string | pattern: ^ac_[A-Za-z0-9_-]{1,124}$ |
integrationSlug |
Yes | string | pattern: ^[a-z0-9][a-z0-9_-]{0,127}$ |
requestKey |
No | string | Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$ |
View exact JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "authConfigId": { "type": "string", "pattern": "^ac_[A-Za-z0-9_-]{1,124}$" }, "integrationSlug": { "type": "string", "pattern": "^[a-z0-9][a-z0-9_-]{0,127}$" }, "requestKey": { "description": "Optional retry identity. Omit it on the ordinary happy path.", "type": "string", "minLength": 1, "maxLength": 128, "pattern": "^[A-Za-z0-9._~-]+$" } }, "required": [ "integrationSlug" ], "additionalProperties": false}authorize_provider
Section titled “authorize_provider”Create an authorization link for one enabled provider integration.
| Input | Required | Type | Details |
|---|---|---|---|
authConfigId |
Yes | string | pattern: ^ac_[A-Za-z0-9_-]{1,124}$ |
requestKey |
No | string | Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$ |
View exact JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "authConfigId": { "type": "string", "pattern": "^ac_[A-Za-z0-9_-]{1,124}$" }, "requestKey": { "description": "Optional retry identity. Omit it on the ordinary happy path.", "type": "string", "minLength": 1, "maxLength": 128, "pattern": "^[A-Za-z0-9._~-]+$" } }, "required": [ "authConfigId" ], "additionalProperties": false}connect_provider
Section titled “connect_provider”Resolve provider auth and return a Composio authorization link or, when required, a Crewhelm setup link for reusable app credentials.
| Input | Required | Type | Details |
|---|---|---|---|
authConfigId |
No | string | pattern: ^ac_[A-Za-z0-9_-]{1,124}$ |
integrationSlug |
Yes | string | pattern: ^[a-z0-9][a-z0-9_-]{0,127}$ |
requestKey |
No | string | Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$ |
View exact JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "authConfigId": { "type": "string", "pattern": "^ac_[A-Za-z0-9_-]{1,124}$" }, "integrationSlug": { "type": "string", "pattern": "^[a-z0-9][a-z0-9_-]{0,127}$" }, "requestKey": { "description": "Optional retry identity. Omit it on the ordinary happy path.", "type": "string", "minLength": 1, "maxLength": 128, "pattern": "^[A-Za-z0-9._~-]+$" } }, "required": [ "integrationSlug" ], "additionalProperties": false}inspect_provider_connection
Section titled “inspect_provider_connection”Inspect one exact provider Connection.
| Input | Required | Type | Details |
|---|---|---|---|
connection |
Yes | object | object | — |
View exact JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "connection": { "anyOf": [ { "type": "object", "properties": { "connectionId": { "type": "string", "pattern": "^connection_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" } }, "required": [ "connectionId" ], "additionalProperties": {} }, { "type": "object", "properties": { "connectionLink": { "type": "object", "properties": { "connectionId": { "type": "string", "pattern": "^connection_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" } }, "required": [ "connectionId" ], "additionalProperties": {} } }, "required": [ "connectionLink" ], "additionalProperties": {} } ] } }, "required": [ "connection" ], "additionalProperties": false}grant_provider_actions
Section titled “grant_provider_actions”Replace the selected actions for one provider Connection and return the new Agent revision.
| Input | Required | Type | Details |
|---|---|---|---|
expiresAt |
Yes | string | null | — |
limits |
Yes | object | — |
tools |
Yes | array of object | Selected integration-search results with owner-chosen authorization, sorted by slug:version. maximum items: 20 |
agent |
Yes | object | Copy-ready Agent identity and immutable revision returned by Crewhelm. |
connection |
Yes | object | object | — |
requestKey |
No | string | Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$ |
View exact JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expiresAt": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ] }, "limits": { "type": "object", "properties": { "maxCallsPerRun": { "type": "integer", "minimum": 1, "maximum": 100, "description": "Owner-selected per-run call ceiling; choose the smallest useful value." }, "maxConcurrency": { "type": "integer", "minimum": 1, "maximum": 16, "description": "Owner-selected concurrent-call ceiling for this granted tool. The fleet ceiling still applies." }, "maxCostMicrousdPerCall": { "type": "integer", "minimum": 0, "maximum": 1000000000000, "description": "Owner-selected per-call cost ceiling in millionths of one US dollar." }, "maxDurationMs": { "type": "integer", "minimum": 1, "maximum": 300000, "description": "Owner-selected per-call wall-clock ceiling in milliseconds." }, "maxOutputBytes": { "type": "integer", "minimum": 1, "maximum": 10485760, "description": "Owner-selected per-call output ceiling in bytes." } }, "required": [ "maxCallsPerRun", "maxConcurrency", "maxCostMicrousdPerCall", "maxDurationMs", "maxOutputBytes" ], "additionalProperties": false }, "tools": { "maxItems": 20, "type": "array", "items": { "type": "object", "properties": { "authorization": { "type": "string", "enum": [ "approval_required", "standing" ], "description": "Use approval_required unless the owner explicitly grants standing authority." }, "slug": { "type": "string", "pattern": "^[A-Z0-9][A-Z0-9_]{0,255}$", "description": "Exact slug returned by integration tool search." }, "version": { "type": "string", "pattern": "^[0-9]{8}_[0-9]{2}$", "description": "Exact immutable version returned by integration tool search." } }, "required": [ "authorization", "slug", "version" ], "additionalProperties": false }, "description": "Selected integration-search results with owner-chosen authorization, sorted by slug:version." }, "agent": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^agent_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": [ "id", "revision" ], "additionalProperties": {}, "description": "Copy-ready Agent identity and immutable revision returned by Crewhelm." }, "connection": { "anyOf": [ { "type": "object", "properties": { "connectionId": { "type": "string", "pattern": "^connection_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" } }, "required": [ "connectionId" ], "additionalProperties": {} }, { "type": "object", "properties": { "connectionLink": { "type": "object", "properties": { "connectionId": { "type": "string", "pattern": "^connection_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" } }, "required": [ "connectionId" ], "additionalProperties": {} } }, "required": [ "connectionLink" ], "additionalProperties": {} } ] }, "requestKey": { "description": "Optional retry identity. Omit it on the ordinary happy path.", "type": "string", "minLength": 1, "maxLength": 128, "pattern": "^[A-Za-z0-9._~-]+$" } }, "required": [ "expiresAt", "limits", "tools", "agent", "connection" ], "additionalProperties": false}connect_remote_mcp
Section titled “connect_remote_mcp”Create a public, API-key, bearer, or OAuth remote MCP Connection.
| Input | Required | Type | Details |
|---|---|---|---|
apiKeyHeaderName |
No | string | Exact HTTP header name for API-key authentication. Enter the credential only in the returned browser setup. minimum length: 1; maximum length: 64; pattern: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+$ |
authKind |
Yes | “public” | “api_key” | “bearer” | “oauth” | — |
endpoint |
Yes | string | maximum length: 2048; format: uri |
name |
Yes | string | minimum length: 1; maximum length: 80; pattern: ^[ -~]+$ |
oauthScopes |
No | array of string | maximum items: 32 |
requestKey |
No | string | Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$ |
View exact JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "apiKeyHeaderName": { "description": "Exact HTTP header name for API-key authentication. Enter the credential only in the returned browser setup.", "type": "string", "minLength": 1, "maxLength": 64, "pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$" }, "authKind": { "type": "string", "enum": [ "public", "api_key", "bearer", "oauth" ] }, "endpoint": { "type": "string", "maxLength": 2048, "format": "uri" }, "name": { "type": "string", "minLength": 1, "maxLength": 80, "pattern": "^[ -~]+$" }, "oauthScopes": { "maxItems": 32, "type": "array", "items": { "type": "string", "minLength": 1, "maxLength": 128, "pattern": "^[\\x21\\x23-\\x5b\\x5d-\\x7e]+$" } }, "requestKey": { "description": "Optional retry identity. Omit it on the ordinary happy path.", "type": "string", "minLength": 1, "maxLength": 128, "pattern": "^[A-Za-z0-9._~-]+$" } }, "required": [ "authKind", "endpoint", "name" ], "additionalProperties": false}inspect_remote_mcp
Section titled “inspect_remote_mcp”Inspect one exact remote MCP Connection and tool snapshot.
| Input | Required | Type | Details |
|---|---|---|---|
connection |
Yes | object | — |
View exact JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "connection": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^connection_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" } }, "required": [ "id" ], "additionalProperties": {} } }, "required": [ "connection" ], "additionalProperties": false}reauthenticate_remote_mcp
Section titled “reauthenticate_remote_mcp”Create a new authentication setup for one exact remote MCP Connection snapshot.
| Input | Required | Type | Details |
|---|---|---|---|
connection |
Yes | object | — |
requestKey |
No | string | Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$ |
View exact JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "connection": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^connection_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" }, "snapshotDigest": { "type": "string", "pattern": "^[0-9a-f]{64}$" } }, "required": [ "id", "snapshotDigest" ], "additionalProperties": {} }, "requestKey": { "description": "Optional retry identity. Omit it on the ordinary happy path.", "type": "string", "minLength": 1, "maxLength": 128, "pattern": "^[A-Za-z0-9._~-]+$" } }, "required": [ "connection" ], "additionalProperties": false}delete_remote_mcp
Section titled “delete_remote_mcp”Delete one exact remote MCP Connection.
| Input | Required | Type | Details |
|---|---|---|---|
connection |
Yes | object | — |
requestKey |
No | string | Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$ |
View exact JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "connection": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^connection_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" }, "snapshotDigest": { "type": "string", "pattern": "^[0-9a-f]{64}$" } }, "required": [ "id", "snapshotDigest" ], "additionalProperties": {} }, "requestKey": { "description": "Optional retry identity. Omit it on the ordinary happy path.", "type": "string", "minLength": 1, "maxLength": 128, "pattern": "^[A-Za-z0-9._~-]+$" } }, "required": [ "connection" ], "additionalProperties": false}grant_remote_mcp
Section titled “grant_remote_mcp”Replace the frozen tools for one remote MCP Connection and return the new Agent revision.
| Input | Required | Type | Details |
|---|---|---|---|
authorization |
Yes | “approval_required” | “standing” | One authorization mode applied to every tool in this frozen remote MCP catalog. |
expiresAt |
Yes | string | null | — |
limits |
Yes | object | — |
agent |
Yes | object | Copy-ready Agent identity and immutable revision returned by Crewhelm. |
connection |
Yes | object | — |
requestKey |
No | string | Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$ |
View exact JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "authorization": { "type": "string", "enum": [ "approval_required", "standing" ], "description": "One authorization mode applied to every tool in this frozen remote MCP catalog." }, "expiresAt": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ] }, "limits": { "type": "object", "properties": { "maxCallsPerRun": { "type": "integer", "minimum": 1, "maximum": 100, "description": "Owner-selected per-run call ceiling; choose the smallest useful value." }, "maxConcurrency": { "type": "integer", "minimum": 1, "maximum": 16, "description": "Owner-selected concurrent-call ceiling for this granted tool. The fleet ceiling still applies." }, "maxCostMicrousdPerCall": { "type": "integer", "minimum": 0, "maximum": 1000000000000, "description": "Owner-selected per-call cost ceiling in millionths of one US dollar." }, "maxDurationMs": { "type": "integer", "minimum": 1, "maximum": 300000, "description": "Owner-selected per-call wall-clock ceiling in milliseconds." }, "maxOutputBytes": { "type": "integer", "minimum": 1, "maximum": 10485760, "description": "Owner-selected per-call output ceiling in bytes." } }, "required": [ "maxCallsPerRun", "maxConcurrency", "maxCostMicrousdPerCall", "maxDurationMs", "maxOutputBytes" ], "additionalProperties": false }, "agent": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^agent_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": [ "id", "revision" ], "additionalProperties": {}, "description": "Copy-ready Agent identity and immutable revision returned by Crewhelm." }, "connection": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^connection_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" }, "snapshotDigest": { "type": "string", "pattern": "^[0-9a-f]{64}$" } }, "required": [ "id", "snapshotDigest" ], "additionalProperties": {} }, "requestKey": { "description": "Optional retry identity. Omit it on the ordinary happy path.", "type": "string", "minLength": 1, "maxLength": 128, "pattern": "^[A-Za-z0-9._~-]+$" } }, "required": [ "authorization", "expiresAt", "limits", "agent", "connection" ], "additionalProperties": false}