Public API
dogabot exposes a scoped REST API at https://api.dogabot.com/api/v1 for Pro and Institutional accounts.
Authenticate with an API key (dbk_live_…), not a Clerk browser session.
This site is the reference: every path here is on the API-key allowlist. Create a key in the app, then use curl, CI, or desk tools. MCP install stays on GitHub and Learn.
How to use this documentation
Documentation
Auth, errors, named rules, and Ask AI recipes for building requests.
API Reference
Every allowlisted REST operation with parameters, scopes, and request samples.
SDKs & Tools
Official Python, JavaScript/TypeScript, Go, and .NET clients, plus the dogabot CLI.
Agents
Hosted MCP tools for Cursor, Claude, and other agent hosts.
Prefer a typed client? See the SDKs page for Python, JavaScript/TypeScript, and Go. Prefer a shell? See the CLI.
Building strategy params? See Named rule examples for every builtin rule’s wire shape
(enabled / invert / params), or download /rule-examples.json.
For curated Ask AI / customLogic payloads see Ask AI recipes
(/recipe-examples.json).
Quick start
export DOGABOT_API_KEY=dbk_live_...
curl -H "Authorization: Bearer $DOGABOT_API_KEY" https://api.dogabot.com/api/v1/me Place a paper order, then poll
Place-order returns an async ack. Copy client_order_id and poll until the order is filled or rejected.
Send a new Idempotency-Key only for a new intent; reuse it when retrying the same request.
curl -X POST https://api.dogabot.com/api/v1/terminal/place-order \
-H "Authorization: Bearer $DOGABOT_API_KEY" \
-H "Idempotency-Key: place-paper-btc-1" \
-H "Content-Type: application/json" \
-d '{"exchange":"hyperliquid","symbol":"BTC","side":"buy","quantity":0.001,"order_type":"market","trading_mode":"paper","broadcast_mode":"personal"}'
curl -H "Authorization: Bearer $DOGABOT_API_KEY" \
https://api.dogabot.com/api/v1/terminal/orders/by-client-order-id/dogabot-t1a2b3c4 Start or stop (Institutional write)
Lifecycle writes need write:lifecycle, feat:api:write, and Idempotency-Key.
MCP cannot start or stop automations.
curl -X POST https://api.dogabot.com/api/v1/followers/42/start \
-H "Authorization: Bearer $DOGABOT_API_KEY" \
-H "Idempotency-Key: start-follower-42" Who can call it
| Plan | Keys | Access | Rate limit |
|---|---|---|---|
| Pro | Up to 3 active | Read scopes. Terminal place/cancel needs write:terminal and feat:terminal. | 60 requests / minute / key |
| Institutional | Up to 10 active | Read plus write when ops enables feat:api:write on the account. | 300 requests / minute / key |
IP allowlist
Each key can restrict callers to public IPs or CIDRs. Empty allowlist means any IP.
Restrictions apply to REST and MCP. Do not use 127.0.0.1.
What is not public
API keys cannot mint other keys, read or write exchange secrets, call ops-only or checkout routes,
act as another user, or force-close automations. Those stay on the signed-in webapp.
MCP is served at https://mcp.dogabot.com/mcp, not as a REST path on api.dogabot.com.