> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trycontinuum.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Account, brand, and jobs

> MCP tools for choosing a brand, connecting platforms, reading the brand book, asking the agents, and following jobs: inputs, examples, and errors.

Generated from the server's own tool registry, as released on 2026-11-05. Every section lists what the tool needs, whether it waits for a yes, how it completes, each action's inputs, valid example calls, and the errors it can return. Before you call a tool, fetch its live schema with `help_describe`; if the server and this page disagree, the server wins.

| Tool | What it does | Changes things |
| - | - | - |
| [`brands_list`](#brands_list) | Lists the brands you can access. | No |
| [`brands_select`](#brands_select) | Sets the brand the conversation works on, tries to save it as your default for future sessions, and lists its published pipelines. Pass `null` to clear this session only. | Yes |
| [`brands_create`](#brands_create) | Starts a new brand. You finish setting it up in the Continuum app. | Yes |
| [`account_map`](#account_map) | Shows connected platforms and accounts, ad accounts, and your role. | No |
| [`accounts_list`](#accounts_list) | Lists the accounts assigned to the brand. | No |
| [`integrations_list`](#integrations_list) | Lists the brand's connections. | No |
| [`integrations_connect`](#integrations_connect) | Returns a one-time link to connect a platform. Links work for 10 minutes. | No |
| [`integration_health_check`](#integration_health_check) | Checks whether a connection is healthy, expired, or disconnected. | No |
| [`brand_knowledge`](#brand_knowledge) | Reads and searches your brand book and knowledge base, checks copy against your voice, and adds, updates, or archives source material. | Yes |
| [`agent_ask`](#agent_ask) | Asks [Jaina](https://docs.trycontinuum.ai/performance/jaina.md) or the [Organic agent](https://docs.trycontinuum.ai/organic/agent.md) a question. Runs as a job. | Yes |
| [`jobs_status`](#jobs_status) | Checks on a long-running job. | No |
| [`help_describe`](#help_describe) | Describes any registered tool and its actions: the full input schema, examples, and common errors. | No |

### `brands_list`

Lists the brands you can access.

| Contract | Behavior |
| - | - |
| Changes things | No |
| Listed in your assistant | Always. |
| Role | Anyone signed in |
| Needs | No brand. |
| Confirmation | None. The call runs when made. |
| Completion | Returns the result in the same call. |
| Retry | Safe to retry: it only reads. |

**Inputs:** none.

**Examples** (IDs are illustrative; use the ones earlier calls return):

* List brands: `{"name":"brands_list","arguments":{}}`

**Errors and statuses:**

| Code | When |
| - | - |
| `INTERNAL` | Something went wrong on our side. Retry once, then contact support. |
| `VALIDATION_ERROR` | An input is missing or wrong, or it changed since the preview. `details` names the field. |

**Related:** `brands_select`, `brands_create`.

Full schema: `help_describe {"tool":"brands_list"}`. As JSON: [`/mcp/schemas/brands_list.json`](https://docs.trycontinuum.ai/mcp/schemas/brands_list.json).

### `brands_select`

Sets the brand the conversation works on, tries to save it as your default for future sessions, and lists its published pipelines. Pass `null` to clear this session only.

| Contract | Behavior |
| - | - |
| Changes things | Yes |
| Listed in your assistant | Always. |
| Role | Anyone signed in |
| Needs | No brand. |
| Confirmation | None. The call runs when made. |
| Completion | Returns the result in the same call. |
| Retry | Safe to retry: repeating the call gives the same result. |

**Inputs:**

| Input | Type | Required | About |
| - | - | - | - |
| `brand_id` | string\|null | Yes | ID of an accessible brand from `brands_list`, or null to clear only the current session selection. |

**Examples** (IDs are illustrative; use the ones earlier calls return):

* Select brand: `{"name":"brands_select","arguments":{"brand_id":"00000000-0000-0000-0000-000000000000"}}`

**Errors and statuses:**

| Code | When |
| - | - |
| `BRAND_FORBIDDEN` | User lacks access to the selected brand. |
| `SESSION_NOT_INITIALIZED` | MCP session not yet established. |
| `VALIDATION_ERROR` | An input is missing or wrong, or it changed since the preview. `details` names the field. |

**Related:** `brands_list`, `integrations_list`.

Full schema: `help_describe {"tool":"brands_select"}`. As JSON: [`/mcp/schemas/brands_select.json`](https://docs.trycontinuum.ai/mcp/schemas/brands_select.json).

### `brands_create`

Starts a new brand. You finish setting it up in the Continuum app.

| Contract | Behavior |
| - | - |
| Changes things | Yes |
| Listed in your assistant | Always. |
| Role | Anyone signed in |
| Needs | No brand. |
| Confirmation | None. The call runs when made. |
| Completion | Returns the result in the same call. |
| Retry | Not idempotent. Check the current state before retrying. |

**Inputs:**

| Input | Type | Required | About |
| - | - | - | - |
| `brand_name` | string | Yes | The new brand's name. |
| `website_url` | string | No | The brand's website, which Continuum analyzes to build the brand book. |

**Examples** (IDs are illustrative; use the ones earlier calls return):

* Start a brand from its website: `{"name":"brands_create","arguments":{"brand_name":"Acme Coffee","website_url":"https://acmecoffee.example"}}`

**Errors and statuses:**

| Code | When |
| - | - |
| `INTERNAL` | Something went wrong on our side. Retry once, then contact support. |
| `VALIDATION_ERROR` | An input is missing or wrong, or it changed since the preview. `details` names the field. |

**Related:** `brands_select`, `brands_list`.

Full schema: `help_describe {"tool":"brands_create"}`. As JSON: [`/mcp/schemas/brands_create.json`](https://docs.trycontinuum.ai/mcp/schemas/brands_create.json).

### `account_map`

Shows connected platforms and accounts, ad accounts, and your role.

| Contract | Behavior |
| - | - |
| Changes things | No |
| Listed in your assistant | Always. |
| Role | Any brand member |
| Needs | An active brand. |
| Confirmation | None. The call runs when made. |
| Completion | Returns the result in the same call. |
| Retry | Safe to retry: it only reads. |

**Inputs:**

| Input | Type | Required | About |
| - | - | - | - |
| `depth` | string | No | How much detail to return. See the allowed values. One of `platforms`, `accounts`. |

**Examples** (IDs are illustrative; use the ones earlier calls return):

* Platforms and accounts for the active brand: `{"name":"account_map","arguments":{"depth":"accounts"}}`

**Errors and statuses:**

| Code | When |
| - | - |
| `needs_brand` | No brand is active. Call `brands_select`. |
| `VALIDATION_ERROR` | An input is missing or wrong, or it changed since the preview. `details` names the field. |

**Related:** `accounts_list`, `integrations_list`, `analytics_query`.

Full schema: `help_describe {"tool":"account_map"}`. As JSON: [`/mcp/schemas/account_map.json`](https://docs.trycontinuum.ai/mcp/schemas/account_map.json).

### `accounts_list`

Lists the accounts assigned to the brand.

| Contract | Behavior |
| - | - |
| Changes things | No |
| Listed in your assistant | Always. |
| Role | Any brand member |
| Needs | An active brand. |
| Confirmation | None. The call runs when made. |
| Completion | Returns the result in the same call. |
| Retry | Safe to retry: it only reads. |

**Inputs:**

| Input | Type | Required | About |
| - | - | - | - |
| `platform` | string | No | The network to act on. See the allowed values. One of `instagram`, `facebook`, `tiktok`, `google`, `linkedin`, `youtube`, `x`, `threads`. |
| `search` | string | No | Filter by name. |
| `limit` | integer | No | The most items to return. |
| `cursor` | string | No | The pagination cursor from the previous result; omit it for the first page. |

**Examples** (IDs are illustrative; use the ones earlier calls return):

* First page: `{"name":"accounts_list","arguments":{"limit":25}}`
* Filter by platform: `{"name":"accounts_list","arguments":{"platform":"instagram"}}`

**Errors and statuses:**

| Code | When |
| - | - |
| `INTERNAL` | Something went wrong on our side. Retry once, then contact support. |
| `needs_brand` | No brand is active. Call `brands_select`. |
| `VALIDATION_ERROR` | An input is missing or wrong, or it changed since the preview. `details` names the field. |

**Related:** `insights_get`.

Full schema: `help_describe {"tool":"accounts_list"}`. As JSON: [`/mcp/schemas/accounts_list.json`](https://docs.trycontinuum.ai/mcp/schemas/accounts_list.json).

### `integrations_list`

Lists the brand's connections.

| Contract | Behavior |
| - | - |
| Changes things | No |
| Listed in your assistant | Always. |
| Role | Any brand member |
| Needs | An active brand. |
| Confirmation | None. The call runs when made. |
| Completion | Returns the result in the same call. |
| Retry | Safe to retry: it only reads. |

**Inputs:** none.

**Examples** (IDs are illustrative; use the ones earlier calls return):

* List linked integrations: `{"name":"integrations_list","arguments":{}}`

**Errors and statuses:**

| Code | When |
| - | - |
| `INTERNAL` | Something went wrong on our side. Retry once, then contact support. |
| `needs_brand` | No brand is active. Call `brands_select`. |
| `VALIDATION_ERROR` | An input is missing or wrong, or it changed since the preview. `details` names the field. |

**Related:** `integrations_connect`, `accounts_list`.

Full schema: `help_describe {"tool":"integrations_list"}`. As JSON: [`/mcp/schemas/integrations_list.json`](https://docs.trycontinuum.ai/mcp/schemas/integrations_list.json).

### `integrations_connect`

Returns a one-time link to connect a platform. Links work for 10 minutes.

| Contract | Behavior |
| - | - |
| Changes things | No |
| Listed in your assistant | Always. |
| Role | Any brand member |
| Needs | An active brand. |
| Confirmation | None. The call runs when made. |
| Completion | Returns the result in the same call. |
| Retry | Safe to retry: it only reads. |
| Rate limit | 10 calls per 1 hour per user. See [Limits](https://docs.trycontinuum.ai/mcp/reference.md#limits). |

**Actions** (`platform`):

| platform | Required inputs |
| - | - |
| `instagram` | `platform` |
| `facebook` | `platform` |
| `tiktok` | `platform` |
| `linkedin` | `platform` |
| `youtube` | `platform` |
| `x` | `platform` |
| `threads` | `platform` |
| `google` | `platform` |

Other inputs, shared by every action (the live schema says which each action reads): —.

**Examples** (IDs are illustrative; use the ones earlier calls return):

* Connect Instagram: `{"name":"integrations_connect","arguments":{"platform":"instagram"}}`

**Errors and statuses:**

| Code | When |
| - | - |
| `BRAND_FORBIDDEN` | User lacks access to active brand. |
| `needs_brand` | No brand is active. Call `brands_select`. |
| `RATE_LIMITED` | Wait `details.retry_after_seconds`, then retry. |
| `VALIDATION_ERROR` | An input is missing or wrong, or it changed since the preview. `details` names the field. |

**Related:** `integrations_list`.

Full schema: `help_describe {"tool":"integrations_connect","action":"instagram"}`. `help_describe`'s `action` takes a `platform` value. As JSON: [`/mcp/schemas/integrations_connect.json`](https://docs.trycontinuum.ai/mcp/schemas/integrations_connect.json).

### `integration_health_check`

Checks whether a connection is healthy, expired, or disconnected.

| Contract | Behavior |
| - | - |
| Changes things | No |
| Listed in your assistant | When your role on a brand you can reach allows it. |
| Role | Viewer or higher |
| Needs | An active brand. |
| Confirmation | None. The call runs when made. |
| Completion | Returns the result in the same call. |
| Retry | Safe to retry: it only reads. |

**Inputs:** none.

**Examples** (IDs are illustrative; use the ones earlier calls return):

* Check connections: `{"name":"integration_health_check","arguments":{}}`

**Errors and statuses:**

| Code | When |
| - | - |
| `BRAND_NOT_SELECTED` | No brand is active. Call `brands_select`. |
| `INTERNAL` | Something went wrong on our side. Retry once, then contact support. |
| `VALIDATION_ERROR` | An input is missing or wrong, or it changed since the preview. `details` names the field. |

**Related:** `integrations_connect`, `integrations_list`.

Full schema: `help_describe {"tool":"integration_health_check"}`. As JSON: [`/mcp/schemas/integration_health_check.json`](https://docs.trycontinuum.ai/mcp/schemas/integration_health_check.json).

### `brand_knowledge`

Reads and searches your brand book and knowledge base, checks copy against your voice, and adds, updates, or archives source material.

| Contract | Behavior |
| - | - |
| Changes things | Yes |
| Listed in your assistant | Always. |
| Role | Viewer or higher to read. Operator or higher for `add_text`, `add_file`, `add_url`, `upload_url`, `upload_finalize`, `update`, `archive`, `restore`, and `save_permanent`. |
| Needs | An active brand. |
| Confirmation | Writes preview first and return a `confirm_token` with `expires_at`. Confirm with that token after the person says yes. |
| Completion | Returns right away. Longer work continues as a job; read the id in the result. |
| Retry | Retry with the same `idempotency_key` to avoid duplicates. |

**Actions** (`action`):

| action | Required inputs | Other inputs it uses |
| - | - | - |
| `overview` | `action` | — |
| `search` | `action`, `query` | `sources`, `categories`, `limit` |
| `read` | `action`, `source` | `full`, `purpose`, `section`, `design_section`, `format` |
| `validate` | `action`, `copy`, `platform` | — |
| `document_status` | `action`, `document_id` | — |
| `cross_reference` | `action` | `lens_limit` |
| `add_text` | `action`, `name`, `text` | `category`, `retention` |
| `add_file` | `action`, `file_name`, `mime_type`, `file_base64` | `category`, `operation_id` |
| `add_url` | `action`, `name`, `url` | `category`, `retention` |
| `upload_url` | `action`, `file_name`, `mime_type` | — |
| `upload_finalize` | `action`, `upload_path` | `name`, `category`, `retention` |
| `update` | `action`, `document_id`, `name\|category` | `expected_updated_at` |
| `archive` | `action`, `document_id` | `mode`, `confirm_token` |
| `restore` | `action`, `document_id` | — |
| `save_permanent` | `action`, `document_id` | — |

In this table, `a|b` means one of them and `a+b` means together.

**Examples** (IDs are illustrative; use the ones earlier calls return):

* See what the knowledge base holds: `{"name":"brand_knowledge","arguments":{"action":"overview"}}`
* Search the brand book: `{"name":"brand_knowledge","arguments":{"action":"search","query":"tone of voice for promotions"}}`
* Check copy against the brand voice: `{"name":"brand_knowledge","arguments":{"action":"validate","copy":"Autumn is here. Our new single-origin roast is out now, in a limited batch.","platform":"instagram"}}`

**Errors and statuses:**

| Code | When |
| - | - |
| `CONFLICT` | The item changed or is busy. Read it again, then retry with the current state. |
| `INTERNAL` | Something went wrong on our side. Retry once, then contact support. |
| `NOT_FOUND` | The item doesn't exist, or this brand can't see it. |
| `UNAUTHENTICATED` | The sign-in is missing or expired. Reconnect the assistant. |
| `UPSTREAM_ERROR` | A platform or provider returned an error. `details` carries its message. |
| `VALIDATION_ERROR` | An input is missing or wrong, or it changed since the preview. `details` names the field. |
| `needs_brand` | No brand is active. Call `brands_select`. |
| `needs_role` | The person's role is too low for this call. Needs: Viewer or higher to read. Operator or higher for `add_text`, `add_file`, `add_url`, `upload_url`, `upload_finalize`, `update`, `archive`, `restore`, and `save_permanent`. Ask an Admin or Owner. |
| `CONFIRMATION_REQUIRED` | This write needs a preview first. Preview, get a yes, then confirm with the returned token. |

**Related:** `creative_strategy`.

Full schema: `help_describe {"tool":"brand_knowledge","action":"overview"}`. As JSON: [`/mcp/schemas/brand_knowledge.json`](https://docs.trycontinuum.ai/mcp/schemas/brand_knowledge.json).

### `agent_ask`

Asks [Jaina](https://docs.trycontinuum.ai/performance/jaina.md) or the [Organic agent](https://docs.trycontinuum.ai/organic/agent.md) a question. Runs as a job.

**Good to know:**

* Returns a `job_id` right away. Read the answer with `jobs_status`.
* The finished result's `status` is `completed` (it wrote a draft or plan) or `needs_followup` (text only). To continue, send the next question with the same `sessionId`.
* A question sent to the wrong agent returns `needs_correction` with a `suggested_target`.
* When the Organic agent ends with a plan waiting for approval, the result carries `plan_id` and `pending_approval_token`. Commit it with `planner_manage` `approve_week` after the person says yes. The server’s own description names `organic_calendar_approve` for this step; that tool isn’t callable, so use `approve_week`.

| Contract | Behavior |
| - | - |
| Changes things | Yes |
| Listed in your assistant | Always. |
| Role | Operator or higher. |
| Needs | An active brand. |
| Confirmation | None. The call runs when made. |
| Completion | Returns a `job_id`. Read the result with `jobs_status`. |
| Retry | Not idempotent. Check the current state before retrying. |

**Actions** (`target`):

| target | Required inputs |
| - | - |
| `jaina` | `target`, `query` |
| `organic` | `target`, `query` |

Other inputs, shared by every action (the live schema says which each action reads): `query`, `sessionId`, `context`.

**Examples** (IDs are illustrative; use the ones earlier calls return):

* Ask Jaina why a metric moved: `{"name":"agent_ask","arguments":{"target":"jaina","query":"Why did our cost per purchase rise last week, and which ad sets drove it?"}}`
* Ask the Organic agent for ideas: `{"name":"agent_ask","arguments":{"target":"organic","query":"Give me three Reel ideas for our autumn launch, based on what performed best last month."}}`

**Errors and statuses:**

| Code | When |
| - | - |
| `needs_brand` | No brand is active. Call `brands_select`. |
| `needs_role` | The person's role is too low for this call. Needs: Operator or higher. Ask an Admin or Owner. |
| `needs_correction` | The question went to the wrong agent. Ask the `suggested_target` instead. |
| `needs_followup` | In the finished job result: the agent produced text only. Continue with the same `sessionId`. |
| `VALIDATION_ERROR` | An input is missing or wrong, or it changed since the preview. `details` names the field. |

**Related:** `jobs_status`, `planner_manage`, `analytics_query`.

Full schema: `help_describe {"tool":"agent_ask","action":"jaina"}`. `help_describe`'s `action` takes a `target` value. As JSON: [`/mcp/schemas/agent_ask.json`](https://docs.trycontinuum.ai/mcp/schemas/agent_ask.json).

### `jobs_status`

Checks on a long-running job.

**Good to know:**

* Takes only `job_id`. In the result, `tool` is the tool you called and `executor` is the one that ran it. For an agent run, `result.status` is `completed` (it wrote a draft or plan) or `needs_followup` (text only). Forge renders report through `forge_query` `batch` or `job` instead.

| Contract | Behavior |
| - | - |
| Changes things | No |
| Listed in your assistant | Always. |
| Role | Anyone signed in |
| Needs | No brand. |
| Confirmation | None. The call runs when made. |
| Completion | Returns the result in the same call. |
| Retry | Safe to retry: it only reads. |

**Inputs:**

| Input | Type | Required | About |
| - | - | - | - |
| `job_id` | string | Yes | A job ID an earlier call returned. |

**Examples** (IDs are illustrative; use the ones earlier calls return):

* Check a job: `{"name":"jobs_status","arguments":{"job_id":"job_abc123"}}`

**Errors and statuses:**

| Code | When |
| - | - |
| `BRAND_FORBIDDEN` | The person can't reach that brand. |
| `INTERNAL` | Something went wrong on our side. Retry once, then contact support. |
| `NOT_FOUND` | The item doesn't exist, or this brand can't see it. |
| `VALIDATION_ERROR` | An input is missing or wrong, or it changed since the preview. `details` names the field. |

**Related:** `post_audit`, `insights_get`, `agent_ask`, `forge_query`, `organic_ask`.

Full schema: `help_describe {"tool":"jobs_status"}`. As JSON: [`/mcp/schemas/jobs_status.json`](https://docs.trycontinuum.ai/mcp/schemas/jobs_status.json).

### `help_describe`

Describes any registered tool and its actions: the full input schema, examples, and common errors.

| Contract | Behavior |
| - | - |
| Changes things | No |
| Listed in your assistant | Always. |
| Role | Anyone signed in |
| Needs | No brand. |
| Confirmation | None. The call runs when made. |
| Completion | Returns the result in the same call. |
| Retry | Safe to retry: it only reads. |

**Inputs:**

| Input | Type | Required | About |
| - | - | - | - |
| `tool` | string | No | — |
| `action` | string | No | The operation to run. Each value is listed under Actions. |

**Examples** (IDs are illustrative; use the ones earlier calls return):

* List every registered tool: `{"name":"help_describe","arguments":{}}`
* Fetch one action of a tool: `{"name":"help_describe","arguments":{"tool":"paid_manage","action":"create_campaign"}}`

**Errors and statuses:**

| Code | When |
| - | - |
| `INTERNAL` | Something went wrong on our side. Retry once, then contact support. |
| `NOT_FOUND` | The item doesn't exist, or this brand can't see it. |
| `VALIDATION_ERROR` | An input is missing or wrong, or it changed since the preview. `details` names the field. |

**Related:** `brands_list`, `brands_select`, `studio_workflow`.

Full schema: `help_describe {"tool":"help_describe"}`. As JSON: [`/mcp/schemas/help_describe.json`](https://docs.trycontinuum.ai/mcp/schemas/help_describe.json).

## What's next

* [All tools](https://docs.trycontinuum.ai/mcp/tools.md): Every tool on one page, and the machine-readable index.
* [Analytics, trends, and competitors](https://docs.trycontinuum.ai/mcp/tools/insights.md): Organic, paid, and website results by platform: accounts, top posts, campaigns, ad sets, and ads, and more.
* [Organic+ planning and publishing](https://docs.trycontinuum.ai/mcp/tools/organic.md): Reads and proposes a week of posts, approves it, reschedules and copies posts, and attaches media, and more.
* [Performance+ ads and optimization](https://docs.trycontinuum.ai/mcp/tools/paid.md): Reads your campaign structure; creates paused campaigns, ad sets, and ads; updates or pauses them; builds audiences and lookalikes; and keeps an audit log of every write, and more.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.