Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions api-reference/agents.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@
DELETE /api/agents/:id
```

Stops and removes the agent's local Docker container, deallocates its port, and removes its metadata file. Requires bearer token authentication (backend).

Check warning on line 274 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L274

Did you really mean 'deallocates'?

### Response

Expand Down Expand Up @@ -301,7 +301,7 @@

<Note>The agent is created immediately with a `provisioning` status and transitions to `running` once the backend deployment endpoint confirms the deployment. If deployment fails, the status changes to `error`.</Note>

<Note>The provisioning endpoint calls `POST /api/deployments` on the backend to deploy the agent as a Railway service. The request includes a 15-second timeout. When the model is set to `claude-opus-4-6`, the AI provider is automatically set to `anthropic`; otherwise it falls back to the provider specified in the agent configuration (default: `openrouter`). The plan sent to the backend defaults to `label` when no tier is specified.</Note>

Check warning on line 304 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L304

Did you really mean 'openrouter'?

### Request body

Expand All @@ -314,7 +314,7 @@

<Note>The web proxy enforces agent limits based on the subscription tier (`starter`: 1, `pro`: 3, `enterprise`: 100). The backend provisioning route (`POST /api/provision`) enforces its own limits (`solo`: 1, `collective`: 3, `label`: 10, `network`: unlimited). These provisioning limits determine how many agents you can create. The plan middleware enforces separate per-request limits for AI model access and skill usage. The limit cannot be overridden in the request body.</Note>

<Note>The backend also accepts legacy plan aliases for resource allocation: `underground` (2 GB / 1 CPU), `starter` (2 GB / 1 CPU), `pro` (4 GB / 2 CPU), `scale` (8 GB / 4 CPU), `enterprise` (16 GB / 4 CPU), and `white_glove` (32 GB / 8 CPU). These are accepted in addition to the standard plan names (`solo`, `collective`, `label`, `network`) when determining container resource limits.</Note>

Check warning on line 317 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L317

Did you really mean 'white_glove'?

### Admin bypass

Expand Down Expand Up @@ -403,7 +403,7 @@
| `version` | string | Clone service version |
| `protocol` | string | Payment protocol used |
| `clonePrice` | string | Current price to clone an agent |
| `chainId` | number | Blockchain chain ID for payments |

Check warning on line 406 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L406

Did you really mean 'Blockchain'?

## Preflight checks (deprecated)

Expand Down Expand Up @@ -757,7 +757,7 @@
| `backupPath` | string \| null | Path to the pre-update backup archive |
| `openclawVersion` | string | Current OpenClaw runtime version |

<Note>When the new service fails to start, the endpoint reverts to `previousImage`. The caller still receives a `500` error, but the agent is restored to its prior working state. The pre-update backup remains available at `backupPath` for manual recovery if needed.</Note>

Check warning on line 760 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L760

Did you really mean 'previousImage'?

Check warning on line 760 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L760

Did you really mean 'backupPath'?

#### Errors

Expand Down Expand Up @@ -888,7 +888,7 @@

## Agent verification

Agents can be verified using multiple verification types: `eas` (Ethereum Attestation Service), `coinbase`, `ens`, or `webauthn`.

Check warning on line 891 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L891

Did you really mean 'Ethereum'?

### Get verification status

Expand Down Expand Up @@ -927,7 +927,7 @@
| `verifierAddress` | string | No | Address of the verifying wallet |
| `metadata` | object | No | Additional verification metadata |

<Note>The web API always sets `verified: true` on success. When calling the backend directly, you can pass `verified`, `verifierAddress`, and `metadata` explicitly.</Note>

Check warning on line 930 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L930

Did you really mean 'verifierAddress'?

#### Response

Expand Down Expand Up @@ -988,11 +988,11 @@
The endpoint provisions agents using a two-path strategy, tried in order:

1. **Backend service** — the request is forwarded to the backend Express service (`BACKEND_API_URL`). If a fallback URL is configured (`BACKEND_API_FALLBACK_URL`), it is tried next if the primary fails. Non-JSON responses (such as HTML error pages from a proxy or load balancer) are detected and treated as failures, avoiding the previous "Unexpected token" parsing errors.
2. **Railway direct provisioning** — when all backend URLs fail or are not configured, the endpoint falls back to provisioning the agent container directly via the Railway GraphQL API. This path requires `RAILWAY_API_KEY`, `RAILWAY_PROJECT_ID`, and `RAILWAY_ENVIRONMENT_ID` to be set. The Railway path creates a new Railway service, injects environment variables, generates a public domain via the `serviceDomainCreate` mutation, and then triggers a deployment. The domain is generated before the deploy so that the service has a routable public URL immediately.

Check warning on line 991 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L991

Did you really mean 'routable'?

If both paths fail, the endpoint returns a `502` error.

When the backend path succeeds and `MUX_TOKEN_ID` and `MUX_TOKEN_SECRET` are configured, the backend creates a real Mux live stream via the Mux API with public playback policy. When Mux credentials are not configured, placeholder streaming credentials are returned instead. The Railway direct path does not create Mux streams.

Check warning on line 995 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L995

Did you really mean 'Mux'?

Check warning on line 995 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L995

Did you really mean 'Mux'?

Check warning on line 995 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L995

Did you really mean 'Mux'?

Check warning on line 995 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L995

Did you really mean 'Mux'?

### Request body

Expand Down Expand Up @@ -1034,7 +1034,7 @@
}
```

<Note>The backend path returns `success`, `userId`, `subdomain`, `url`, `streamKey`, and `liveStreamId`. The full response shape from the backend provisioning service is shown below.</Note>

Check warning on line 1037 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L1037

Did you really mean 'userId'?

Check warning on line 1037 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L1037

Did you really mean 'streamKey'?

#### Railway direct path response

Expand All @@ -1056,15 +1056,15 @@
| `url` | string | The Railway service URL for the agent. This URL is generated by Railway via the `serviceDomainCreate` API and may not follow a predictable pattern. If domain generation fails, the URL falls back to `https://agentbot-agent-{agentId}.up.railway.app`. |
| `status` | string | Always `deploying` for the Railway path. The agent service is created and the deployment is triggered, but it may not be ready to receive traffic immediately. |

<Note>The Railway path does not return `subdomain`, `streamKey`, or `liveStreamId`. These fields are only available when the backend Express service handles the request. The `status` field is `deploying` (not `active`) because the Railway service is created asynchronously.</Note>

Check warning on line 1059 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L1059

Did you really mean 'streamKey'?

<Note>On a successful provision through either path, the proxy persists the `openclawUrl` and `openclawInstanceId` to the user record in the database. You can retrieve these values later using [`GET /api/user/openclaw`](#get-user-openclaw-instance).</Note>

Check warning on line 1061 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L1061

Did you really mean 'openclawUrl'?

### Full backend response

When calling the backend provisioning service directly, the response includes additional fields. The backend returns `200 OK` on success (not `201 Created`).

<Warning>Channel tokens (`telegramToken`, `discordBotToken`, `whatsappToken`) are no longer included in the provision response. Tokens are write-only secrets — they are stored server-side but never returned to the caller.</Warning>

Check warning on line 1067 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L1067

Did you really mean 'telegramToken'?

Check warning on line 1067 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L1067

Did you really mean 'whatsappToken'?

```json
{
Expand Down Expand Up @@ -1140,7 +1140,7 @@
| 402 | Agent limit reached for your plan. The response body includes a `code` field set to `AGENT_LIMIT_REACHED`, along with `current` (current agent count) and `limit` (maximum allowed) fields. Provisioning limits: `solo` 1, `collective` 3, `label` 10, `network` unlimited. |
| 500 | Internal server error |
| 502 | Provisioning service unavailable. All backend URLs failed or returned non-JSON/error responses, and Railway direct provisioning also failed or is not configured. The error message from the last attempted path is included in the response. |
| 503 | Provisioning is temporarily disabled (kill switch active) or provisioning service misconfigured. |

Check warning on line 1143 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L1143

Did you really mean 'misconfigured'?

### AI provider defaults

Expand Down Expand Up @@ -1174,7 +1174,7 @@

Each provider includes a fallback model in the service config that is used automatically when the primary model is unavailable or returns an error.

<Note>`minimax` is available as a fallback in the provider configuration map but is not currently accepted as a value for the `aiProvider` request parameter. Passing `minimax` as `aiProvider` returns a `400` validation error. This provider may be enabled in a future release.</Note>

Check warning on line 1177 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L1177

Did you really mean 'minimax'?

Check warning on line 1177 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L1177

Did you really mean 'aiProvider'?

Check warning on line 1177 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L1177

Did you really mean 'minimax'?

## Channel configuration

Expand Down Expand Up @@ -1209,7 +1209,7 @@
|---------|-------|-------------|
| `dmPolicy` | `allowlist` or `pairing` | `allowlist` when owner IDs are provided, `pairing` otherwise |
| `dm.enabled` | `true` | Accept direct messages |
| `dm.groupEnabled` | `false` | Group DMs are disabled |

Check warning on line 1212 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L1212

Did you really mean 'DMs'?
| `historyLimit` | `20` | Number of messages retained in context |
| `streaming` | `partial` | Enable partial message streaming |
| `retry.attempts` | `3` | Maximum retry attempts |
Expand Down Expand Up @@ -1289,6 +1289,32 @@
| 401 | Unauthorized |
| 500 | Deployment failed. When the Railway API is not reachable, the error message indicates that provisioning is unavailable. Check the [backend health endpoint](/api-reference/health#backend-health-check) to verify Railway API availability before deploying. |

## OpenClaw proxy (backend)

```http
ALL /api/openclaw/proxy/:agentId/*
```

Transparently proxies HTTP and WebSocket requests to an agent's OpenClaw Control UI running on the internal network. The proxy forwards requests to the agent's internal address and rewrites the path so the OpenClaw UI receives requests at its expected root.

**No bearer token authentication is required.** This route is exempt from the backend API key middleware. OpenClaw handles its own token and password authentication on the proxied service, so users can access the Control UI directly.

Check warning on line 1300 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L1300

Did you really mean 'proxied'?

WebSocket connections to this path are also proxied, allowing real-time communication with the OpenClaw instance.

Check warning on line 1302 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L1302

Did you really mean 'proxied'?

### Path parameters

| Parameter | Type | Description |
|-----------|------|-------------|
| `agentId` | string | Agent identifier (alphanumeric, hyphens, and underscores only) |

### Errors

| Code | Description |
|------|-------------|
| 502 | The OpenClaw instance is unreachable |

<Note>The `agentId` parameter is sanitized to alphanumeric characters, hyphens, and underscores. Any other characters are stripped before the proxy target is resolved.</Note>

Check warning on line 1316 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L1316

Did you really mean 'agentId'?

## OpenClaw version (backend)

```http
Expand All @@ -1307,7 +1333,7 @@
}
```

<Note>`deployedAt` returns the current server time when the request is made, not the actual deployment time of the OpenClaw runtime.</Note>

Check warning on line 1336 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L1336

Did you really mean 'deployedAt'?

## List instances (backend)

Expand Down Expand Up @@ -1340,7 +1366,7 @@
}
```

<Note>The `metadata` object contains the full agent metadata from the on-disk JSON file and may include additional fields beyond those shown (for example, `aiProvider`, `port`, `subdomain`, `url`, `status`, and `config`).</Note>

Check warning on line 1369 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L1369

Did you really mean 'aiProvider'?

### Errors

Expand Down Expand Up @@ -1596,7 +1622,7 @@
|-------|------|----------|-------------|
| `action` | string | Yes | `set-credential` |
| `key` | string | Yes | Credential key (for example, `anthropic`, `telegram`) |
| `value` | string | No | Credential value. When omitted, the credential is marked as unconfigured. |

Check warning on line 1625 in api-reference/agents.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/agents.mdx#L1625

Did you really mean 'unconfigured'?

```json
{
Expand Down
2 changes: 2 additions & 0 deletions api-reference/auth.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

# Authentication API

Manage user authentication, password resets, wallet sign-in, Farcaster identity, and token gating.

Check warning on line 8 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L8

Did you really mean 'Farcaster'?

## Auth middleware

Expand All @@ -15,6 +15,8 @@

Endpoints such as `/api/deployments`, `/api/openclaw/instances`, and per-agent lifecycle routes require a shared API key passed as a bearer token. The key is compared against the configured `INTERNAL_API_KEY` using a timing-safe comparison.

<Note>The `/api/openclaw/proxy/*` route is exempt from bearer token authentication. OpenClaw's own token and password authentication handles access control on the proxied service. See the [OpenClaw proxy](/api-reference/agents#openclaw-proxy-backend) endpoint for details.</Note>

```bash
curl -X GET https://backend.example.com/api/openclaw/instances \
-H "Authorization: Bearer YOUR_INTERNAL_API_KEY"
Expand Down Expand Up @@ -241,7 +243,7 @@

On success the endpoint:
1. Exchanges the authorization code for an access token.
2. Fetches the user's email and name from the Google userinfo API.

Check warning on line 246 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L246

Did you really mean 'userinfo'?
3. Creates a new user if no account with that email exists (automatic account linking applies when a matching email is found).
4. Links a Google `Account` record to the user for dual-auth compatibility. If the user already has a linked Google account, this step is skipped. The Account record stores the OAuth access token, refresh token, and token metadata so the user can sign in with either email/password or Google.
5. Creates a session and sets the `agentbot-session` cookie.
Expand All @@ -266,7 +268,7 @@
POST /api/security/risc
```

Receives security event tokens from Google via the [Cross-Account Protection (RISC)](https://developers.google.com/identity/protocols/risc) protocol. This is the primary receiver for Google security events. It validates the SET JWT, deduplicates events, and takes targeted action depending on the event type.

Check warning on line 271 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L271

Did you really mean 'deduplicates'?

<Warning>This endpoint is intended to be called by Google's RISC infrastructure, not by application clients. You do not need to call it directly.</Warning>

Expand All @@ -278,8 +280,8 @@
|-------|------|-------------|
| `iss` | string | Issuer — must be `https://accounts.google.com/` |
| `aud` | string | Audience — must match a configured `GOOGLE_CLIENT_ID` |
| `jti` | string | Unique event identifier used for deduplication |

Check warning on line 283 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L283

Did you really mean 'deduplication'?
| `events` | object | Map of event URIs to event data. Each event may include `subject.sub` (Google subject ID), `subject.email`, and `reason`. |

Check warning on line 284 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L284

Did you really mean 'URIs'?

### Token validation

Expand All @@ -289,13 +291,13 @@
2. Checks the audience matches one of the configured Google client IDs
3. Fetches Google's signing keys from the JWKS endpoint discovered via `https://accounts.google.com/.well-known/risc-configuration` (keys are cached for 24 hours)
4. Matches the signing key by the `kid` header claim
5. Verifies the RS256 signature using the Web Crypto API (`crypto.subtle`) with the matched RSA public key

Check warning on line 294 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L294

Did you really mean 'Crypto'?

If validation fails, the endpoint returns `400`.

### Event deduplication

Check warning on line 298 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L298

Did you really mean 'deduplication'?

Events are deduplicated using the `jti` claim. Each processed event is stored in the `risc_events` table. If an event with the same `jti` has already been processed, it is acknowledged but not acted on again.

Check warning on line 300 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L300

Did you really mean 'deduplicated'?

### Supported event types

Expand Down Expand Up @@ -353,7 +355,7 @@
POST /api/auth/google/risc
```

Receives security event notifications from Google via the [RISC (Risk Incident Sharing and Collaboration)](https://developers.google.com/identity/protocols/risc) protocol. This is the legacy endpoint — new integrations should use [`POST /api/security/risc`](#cross-account-protection-receiver) instead, which adds token validation, event deduplication, and more granular event handling.

Check warning on line 358 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L358

Did you really mean 'deduplication'?

<Warning>This endpoint is intended to be called by Google's RISC infrastructure, not by application clients. You do not need to call it directly.</Warning>

Expand All @@ -365,7 +367,7 @@
|-------|------|-------------|
| `iss` | string | Issuer (Google) |
| `sub` | string | Subject identifier — the user's email address |
| `events` | object | Map of event URIs to event data |

Check warning on line 370 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L370

Did you really mean 'URIs'?

### Supported event types

Expand Down Expand Up @@ -402,7 +404,7 @@
POST /api/wallet-auth
```

Sign in using an Ethereum wallet via [Sign-In with Ethereum (SIWE)](https://eips.ethereum.org/EIPS/eip-4361). This flow is designed for Coinbase Smart Wallets on Base and supports ERC-6492 signature verification for pre-deployed wallets.

Check warning on line 407 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L407

Did you really mean 'Ethereum'?

Check warning on line 407 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L407

Did you really mean 'Coinbase'?

<Note>This endpoint replaced the previous NextAuth wallet callback (`/api/auth/callback/wallet`). If you are migrating from an older integration, update your wallet sign-in requests to use `/api/wallet-auth`.</Note>

Expand All @@ -411,9 +413,9 @@
### How it works

1. The client requests a nonce from [`GET /api/auth/nonce`](#get-nonce).
2. The client opens the Base Account SDK popup and requests a SIWE signature on Base Mainnet.

Check warning on line 416 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L416

Did you really mean 'Mainnet'?
3. The wallet address, SIWE message, and signature are sent to `POST /api/wallet-auth`.
4. The server verifies the signature using viem (which handles ERC-6492 for smart wallets).

Check warning on line 418 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L418

Did you really mean 'viem'?
5. If no account exists for the wallet address, a new user is created automatically.
6. If an account with the same wallet-derived email already exists, the wallet is linked to the existing account.

Expand All @@ -421,7 +423,7 @@

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `address` | string | Yes | Ethereum wallet address (0x-prefixed) |

Check warning on line 426 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L426

Did you really mean 'Ethereum'?
| `message` | string | Yes | The full SIWE message string |
| `signature` | string | Yes | The wallet signature of the SIWE message (0x-prefixed) |

Expand Down Expand Up @@ -646,9 +648,9 @@
| 404 | User not found |
| 429 | Too many requests |

## Farcaster authentication

Check warning on line 651 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L651

Did you really mean 'Farcaster'?

### Verify Farcaster identity

Check warning on line 653 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L653

Did you really mean 'Farcaster'?

```http
POST /api/auth/farcaster/verify
Expand All @@ -658,14 +660,14 @@
GET /api/auth/farcaster/verify
```

The `GET` method returns endpoint metadata. The `POST` method verifies a Farcaster ID token and optionally checks `$RAVE` token gating on Base.

Check warning on line 663 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L663

Did you really mean 'Farcaster'?

#### Request body

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `fidToken` | string | Yes | Farcaster ID token |

Check warning on line 669 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L669

Did you really mean 'Farcaster'?
| `address` | string | No | Ethereum address for token gating check |

Check warning on line 670 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L670

Did you really mean 'Ethereum'?

#### Response

Expand All @@ -684,8 +686,8 @@

| Claim | Type | Description |
|-------|------|-------------|
| `fidToken` | string | Farcaster ID token (truncated to 64 characters) |

Check warning on line 689 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L689

Did you really mean 'Farcaster'?
| `address` | string | Ethereum address from the request |

Check warning on line 690 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L690

Did you really mean 'Ethereum'?
| `verified` | boolean | Always `true` on success |
| `iat` | number | Issued-at timestamp (Unix seconds) |
| `exp` | number | Expiry timestamp (24 hours after issuance) |
Expand All @@ -698,11 +700,11 @@

| Code | Description |
|------|-------------|
| 401 | Missing Farcaster ID token |

Check warning on line 703 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L703

Did you really mean 'Farcaster'?
| 403 | Token gating failed (insufficient `$RAVE` balance). Response includes `required`, `minBalance` fields |
| 500 | Verification failed |

### Refresh Farcaster token

Check warning on line 707 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L707

Did you really mean 'Farcaster'?

```http
POST /api/auth/farcaster/refresh
Expand Down Expand Up @@ -747,14 +749,14 @@
POST /api/auth/token-gating/verify
```

Checks whether a wallet holds sufficient `$RAVE` tokens on Base mainnet.

Check warning on line 752 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L752

Did you really mean 'mainnet'?

#### Request body

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `fid` | string | Yes | Farcaster ID |

Check warning on line 758 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L758

Did you really mean 'Farcaster'?
| `address` | string | Yes | Ethereum address (0x-prefixed, 42 characters) |

Check warning on line 759 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L759

Did you really mean 'Ethereum'?

#### Response

Expand All @@ -776,7 +778,7 @@

| Code | Description |
|------|-------------|
| 400 | Missing fid or address, or invalid Ethereum address |

Check warning on line 781 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L781

Did you really mean 'Ethereum'?
| 500 | Verification failed |

### Verify token access (GET)
Expand All @@ -789,7 +791,7 @@

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `address` | string | Yes | Ethereum address (0x-prefixed, 42 characters) |

Check warning on line 794 in api-reference/auth.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/auth.mdx#L794

Did you really mean 'Ethereum'?

#### Response

Expand Down
1 change: 1 addition & 0 deletions api-reference/overview.mdx
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
title: API reference
description: "Complete API reference for Agentbot"

Check warning on line 3 in api-reference/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/overview.mdx#L3

Did you really mean 'Agentbot'?
---

# API reference

Complete API reference for Agentbot.

Check warning on line 8 in api-reference/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/overview.mdx#L8

Did you really mean 'Agentbot'?

## Base URL

Expand All @@ -15,7 +15,7 @@

## Authentication

Agentbot supports multiple authentication methods depending on the endpoint.

Check warning on line 18 in api-reference/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/overview.mdx#L18

Did you really mean 'Agentbot'?

### Session authentication

Expand Down Expand Up @@ -214,8 +214,8 @@
| `/api/auth/reset-password` | POST | Reset password |
| `/api/security/risc` | GET | Cross-Account Protection endpoint health check |
| `/api/security/risc` | POST | Receive Google Cross-Account Protection (RISC) security events |
| `/api/auth/farcaster/verify` | GET, POST | Verify Farcaster identity (GET returns endpoint metadata) |

Check warning on line 217 in api-reference/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/overview.mdx#L217

Did you really mean 'Farcaster'?
| `/api/auth/farcaster/refresh` | GET, POST | Refresh Farcaster token (GET returns endpoint metadata) |

Check warning on line 218 in api-reference/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/overview.mdx#L218

Did you really mean 'Farcaster'?
| `/api/auth/token-gating/verify` | GET, POST | Verify token gating access |
| `/api/dashboard/cost` | GET | Get aggregated cost dashboard data (by agent, model, and day) |
| `/api/billing` | GET | Get billing info |
Expand All @@ -226,8 +226,8 @@
| `/api/scheduled-tasks` | PUT | Update a scheduled task |
| `/api/scheduled-tasks` | DELETE | Delete a scheduled task |
| `/api/checkout/verify` | GET | Verify a Stripe checkout session and activate subscription |
| `/api/stripe/checkout` | GET | Redirect to Stripe checkout (accepts `plan` query param: `solo`, `collective`, `label`, `network`). Prices are in GBP. |

Check warning on line 229 in api-reference/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/overview.mdx#L229

Did you really mean 'param'?
| `/api/stripe/credits` | GET | Redirect to Stripe credit purchase (accepts `price` query param) |

Check warning on line 230 in api-reference/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/overview.mdx#L230

Did you really mean 'param'?
| `/api/stripe/storage-upgrade` | POST | Upgrade storage plan |
| `/api/metrics/:userId/historical` | GET | Get historical time-series metrics (backend only) |
| `/api/metrics/:userId/performance` | GET | Get current performance metrics (backend only) |
Expand All @@ -249,15 +249,16 @@
| `/api/openclaw/version` | GET | Get OpenClaw runtime version (backend only) |
| `/api/openclaw/instances` | GET | List running agent instances (backend only, requires auth) |
| `/api/openclaw/instances/:id/stats` | GET | Get instance container stats (backend only, requires auth) |
| `/api/openclaw/proxy/:agentId/*` | ALL | Proxy to an agent's OpenClaw Control UI (backend only, no auth — OpenClaw handles its own authentication) |
| `/api/deployments` | POST | Deploy an agent container (backend only, requires auth) |
| `/api/models` | GET | List available OpenRouter AI models |
| `/api/coinbase` | GET | Get Coinbase CDP configuration and supported features |

Check warning on line 255 in api-reference/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/overview.mdx#L255

Did you really mean 'Coinbase'?
| `/api/coinbase` | POST | Coinbase CDP wallet actions (create_wallet, get_balance, create_payment, onramp) |

Check warning on line 256 in api-reference/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/overview.mdx#L256

Did you really mean 'Coinbase'?

Check warning on line 256 in api-reference/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/overview.mdx#L256

Did you really mean 'create_wallet'?

Check warning on line 256 in api-reference/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/overview.mdx#L256

Did you really mean 'get_balance'?

Check warning on line 256 in api-reference/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/overview.mdx#L256

Did you really mean 'create_payment'?

Check warning on line 256 in api-reference/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/overview.mdx#L256

Did you really mean 'onramp'?
| `/api/basename` | GET | Resolve a Base Name (.base.eth) for a wallet address |
| `/api/basefm/live` | GET | List active Mux live streams |

Check warning on line 258 in api-reference/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/overview.mdx#L258

Did you really mean 'Mux'?
| `/api/basefm/streams` | POST | Create a Mux live stream (RAVE token-gated) |

Check warning on line 259 in api-reference/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/overview.mdx#L259

Did you really mean 'Mux'?
| `/api/generate-video` | POST | Generate and upload a video (requires session) |
| `/api/webhooks/mux` | POST | Mux webhook receiver (signature-verified) |

Check warning on line 261 in api-reference/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/overview.mdx#L261

Did you really mean 'Mux'?
| `/api/webhooks/resend` | POST | Resend email webhook — inbound email processing and outbound event tracking (sent, delivered, bounced, opened, clicked, complained) |
| `/api/webhooks/railway-status` | POST | Railway platform status and deployment webhook receiver (persists to Redis) |
| `/api/webhooks/railway-status` | GET | Poll last-known Railway status from Redis |
Expand Down Expand Up @@ -297,7 +298,7 @@
| `/api/summarize` | POST | Summarize a URL — returns title, description, headings, paragraphs, word count (web summarizer service) |
| `/api/extract` | POST | Extract links, images, and Open Graph metadata from a URL (web summarizer service) |
| `/api/clawmerchants` | GET | List available ClawMerchants data feeds, or fetch a specific feed by `feed` query parameter |
| `/api/debug` | POST | Execute an allowlisted diagnostic command against an agent |

Check warning on line 301 in api-reference/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/overview.mdx#L301

Did you really mean 'allowlisted'?
| `/api/config` | GET | Get current agent configuration and backup list |
| `/api/config` | POST | Save a new agent configuration (auto-backs up the previous config) |
| `/api/config` | PUT | Restore a previous configuration from a backup |
Expand All @@ -306,14 +307,14 @@
| `/api/market-intel` | GET | Live competitive landscape, infrastructure signals, and market opportunities |
| `/v1/models` | GET | List all available models (OpenAI-compatible, no auth required) |
| `/v1/models/:model` | GET | Get a single model by ID (OpenAI-compatible, no auth required) |
| `/v1/embeddings` | POST | Generate embeddings (OpenAI-compatible, proxied to OpenRouter, requires auth) |

Check warning on line 310 in api-reference/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/overview.mdx#L310

Did you really mean 'proxied'?
| `/health` | GET | Backend health check (no auth required) |
| `/install` | GET | Download the Home mode installation shell script |
| `/link` | GET | Download the Link mode installation shell script |

## SDK

Use the Agentbot SDK:

Check warning on line 317 in api-reference/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (raveculture) - vale-spellcheck

api-reference/overview.mdx#L317

Did you really mean 'Agentbot'?

```bash
npm install @agentbot/sdk
Expand Down