Describe an action
Returns everything needed to call one action: input and output JSON Schemas, effect class, MCP annotations and tool definition, and the connections it needs. A reference with `@<major>` resolves to the newest matching release; the response shows the exact version.
GET
/v1/actions/describe
Returns everything needed to call one action: input and output JSON Schemas, effect class, MCP annotations
and tool definition, and the connections it needs. A reference with `@<major>` resolves to the newest
matching release; the response shows the exact version.
Authentication
Bearer Token (b3os_sk_ API key or b3os_pat_ token) API Key (cookie: __Host-b3os_session)
Query Parameters
ref
string
required
query
`<namespace>/<name>/<action>@<version>`; the version may be exact (`1.2.0`) or a major (`1`).
Example:
"io.b3os/github/create-issue@1"Responses
200
The action.
application/jsonobject
string
REQUIRED
Enum:
actionref
string
REQUIRED
pack
string
REQUIRED
version
string
REQUIRED
key
string
REQUIRED
title
string
REQUIRED
description
string
REQUIRED
input_schema
object | boolean
REQUIRED
A JSON Schema (draft 2020-12) document, such as a routine's `inputs` or an action's `inputSchema`. B3OS checks
it against the meta-schema when it is published. References to the meta-schema in `schemas/*.json` resolve
here.
Any of:
Option 1object
Option 2boolean
output_schema
object | boolean
REQUIRED
A JSON Schema (draft 2020-12) document, such as a routine's `inputs` or an action's `inputSchema`. B3OS checks
it against the meta-schema when it is published. References to the meta-schema in `schemas/*.json` resolve
here.
Any of:
Option 1object
Option 2boolean
effects
string
REQUIRED
`pure` computes from input only; `read` reads from the world; `write` changes it; `irreversible` changes it
and cannot be undone (never retried automatically). Drives MCP annotations and retries.
Enum:
pure, read, write, irreversibleannotations
object
REQUIRED
MCP tool annotations derived from the effect class.
readOnlyHint
boolean
destructiveHint
boolean
idempotentHint
boolean
openWorldHint
boolean
connections
object[]
REQUIRED
Array of:
key
string
REQUIRED
The connection key in the pack.
type
string
REQUIRED
Enum:
api_key, basic, bearer, oauth2, nonelabel
string
REQUIRED
required
boolean
Whether this action needs it.
mcp
object
REQUIRED
The action as an MCP tool definition.
name
string
REQUIRED
title
string
description
string
REQUIRED
inputSchema
object | boolean
REQUIRED
A JSON Schema (draft 2020-12) document, such as a routine's `inputs` or an action's `inputSchema`. B3OS checks
it against the meta-schema when it is published. References to the meta-schema in `schemas/*.json` resolve
here.
Any of:
Option 1object
Option 2boolean
outputSchema
object | boolean
A JSON Schema (draft 2020-12) document, such as a routine's `inputs` or an action's `inputSchema`. B3OS checks
it against the meta-schema when it is published. References to the meta-schema in `schemas/*.json` resolve
here.
Any of:
Option 1object
Option 2boolean
400
The reference is malformed (`action_ref_invalid`).
401
Missing, malformed, expired or revoked credentials (`unauthorized`).
403
Authenticated but not allowed (`forbidden`, `egress_denied`).
404
The pack, version or action does not exist (`pack_not_found`, `pack_version_not_found`, `action_not_found`).
429
A rate, concurrency or quota limit applies (`rate_limited`, `concurrency_limited`, `quota_exceeded`).
500
Something failed inside B3OS (`internal`). Retry with backoff.
503
The node or the product is not available right now (`node_unavailable`, `product_unavailable`, `capacity_unavailable`).
curl -X GET 'https://beta-api.b3os.org/v1/actions/describe?ref=io.b3os%2Fgithub%2Fcreate-issue%401' \ -H 'Authorization: Bearer YOUR_API_TOKEN'
const response = await fetch('https://beta-api.b3os.org/v1/actions/describe?ref=io.b3os%2Fgithub%2Fcreate-issue%401', { method: 'GET', headers: { "Authorization": "Bearer YOUR_API_TOKEN" }});const data = await response.json();console.log(data);
import requestsheaders = { 'Authorization': 'Bearer YOUR_API_TOKEN'}response = requests.get('https://beta-api.b3os.org/v1/actions/describe?ref=io.b3os%2Fgithub%2Fcreate-issue%401', headers=headers)print(response.json())
200
Response
{ "object": "action", "ref": "io.b3os/github/create-issue@1.2.0", "pack": "io.b3os/github", "version": "1.2.0", "key": "create-issue", "title": "Create an issue", "description": "Open an issue in a repository. Returns the issue number and URL.", "input_schema": { "type": "object", "required": [ "owner", "repo", "title" ], "properties": { "owner": { "type": "string" }, "repo": { "type": "string" }, "title": { "type": "string" }, "body": { "type": "string" } }, "additionalProperties": false }, "output_schema": { "type": "object", "required": [ "number", "url" ], "properties": { "number": { "type": "integer" }, "url": { "type": "string" } } }, "effects": "write", "annotations": { "readOnlyHint": false, "destructiveHint": false, "idempotentHint": false, "openWorldHint": true }, "connections": [ { "key": "api", "type": "bearer", "label": "GitHub token", "required": true } ], "mcp": { "name": "github__create-issue", "title": "Create an issue", "description": "Open an issue in a repository. Returns the issue number and URL.", "inputSchema": { "type": "object", "required": [ "owner", "repo", "title" ], "properties": { "owner": { "type": "string" }, "repo": { "type": "string" }, "title": { "type": "string" }, "body": { "type": "string" } } } }}
API Playground
Try this endpoint
GET
/v1/actions/describe