GET /v1/actions/search
Full-text search over action titles, descriptions and pack names, ranked for agents. Returns references you can pass to describe and call. The same results back the `actions_search` MCP tool.

Authentication

Bearer Token (b3os_sk_ API key or b3os_pat_ token) API Key (cookie: __Host-b3os_session)

Query Parameters

q string required query
What the action should do, in words.
Example: "create a github issue"
pack string optional query
Only actions of this pack (`io.b3os/github`).
effects string optional query
Only actions with this effect class.
limit integer optional query
Results to return, from 1 to 50.

Responses

200 Matching actions, best first.
application/json
object string REQUIRED
Enum: list
data object[] REQUIRED
Array of:
ref string REQUIRED
Exact reference with the resolved version.
pack string REQUIRED
key string REQUIRED
title string REQUIRED
description string REQUIRED
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, irreversible
connections string[] REQUIRED
Connection keys the action needs.
Array of: string
mcp_name string REQUIRED
The action's MCP tool name.
score number
Search relevance from 0 to 1 (search results only).
next_cursor string | null REQUIRED
400 The request failed validation (`invalid_request`, `invalid_url`).
401 Missing, malformed, expired or revoked credentials (`unauthorized`).
403 Authenticated but not allowed (`forbidden`, `egress_denied`).
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/search?q=create%20a%20github%20issue' \  -H 'Authorization: Bearer YOUR_API_TOKEN'
const response = await fetch('https://beta-api.b3os.org/v1/actions/search?q=create%20a%20github%20issue', {  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/search?q=create%20a%20github%20issue', headers=headers)print(response.json())
200 Response
{  "object": "list",  "data": [    {      "ref": "io.b3os/github/create-issue@1.2.0",      "pack": "io.b3os/github",      "key": "create-issue",      "title": "Create an issue",      "description": "Open an issue in a repository. Returns the issue number and URL.",      "effects": "write",      "connections": [        "api"      ],      "mcp_name": "github__create-issue",      "score": 0.92    }  ],  "next_cursor": null}
Ask a question... ⌘I