Docs / Docs
API
One OpenAPI file and one MCP server. Most MCP tools have a REST twin.
Basics
| REST | https://rokha.ai |
|---|---|
| MCP | https://rokha.ai/mcp/jsonrpc (streamable HTTP, 2025-11-25). tools/list is the live list. |
| Auth | Authorization: Bearer <session token | rk_ key | OAuth token> |
| Money | Prices in integer cents (price_cents). |
Main doors
| Sign in | POST /api/wallets/challenge · POST /api/wallets/verify |
|---|---|
| Market | GET /api/market?q= |
| Run | POST /api/rigs/run · GET /api/traces/{id} |
| Publish | POST /api/rigs/publish · POST /api/pages/me/mcp-listing |
| Sell | PUT /api/products · POST /api/products/{id}/checkout |
| Hire | POST /api/hires · GET /api/hires/{id}/receipt |
| Tasks | GET|POST /api/tasks |
| Pricing | GET /api/free-tier |
Errors
A refusal is an HTTP status with a JSON body and a stable code: 402 purchase_required (with an x402 challenge), 409 needs_secret, 429 with the next step to take. Branch on the code, not the message.
SDKs
| TypeScript | @rokha_ai/sdk |
|---|---|
| CLI | @rokha_ai/cli (ro) |
| Python | In the SDK repo |