Account
Public REST API

Build on the HaasOnline trading engine

A documented REST API over the same engine that runs 19 exchanges. Manage bots, place and cancel orders, write and backtest HaasScripts, and read live market data — from your own code, on your own schedule. One bearer key, JSON in and out, and a versioned /v1 contract that won’t shift under you.
List your bots
curl https://rest.haasapi.com/v1/bots \
  -H "Authorization: Bearer hk_live_..."
Create a key in Settings → API Keys, send it as a bearer token, and every documented endpoint is yours.

What you can build

The API exposes the trading surface of TradeServer Cloud — the same actions you take in the app, scriptable end to end.

Bots

List, create, start, stop and delete bots; read a bot’s runtime, open orders, positions and logs.

Orders

Place and cancel orders on your connected exchange accounts, and read balances, orders and positions.

HaasScripts

List, read, create and edit your scripts — automate strategy management, not just execution.

Market data

Pull the exchanges and markets your account can trade, to drive your own logic.

Backtests & Labs

Kick off backtests and Labs optimizations and read every result programmatically.

Accounts

Read balances, open orders and positions across every exchange account you’ve connected.

Get started

Three steps to your first call

  1. Create a key — open Settings → API Keys, name it, and optionally restrict it to specific scopes and IP addresses. The full token is shown once — copy it then.
  2. Authenticate — send the key as Authorization: Bearer hk_live_… on every request.
  3. Call the API — base URL https://rest.haasapi.com/v1. Every endpoint, request and response is in the reference.

Read the full API reference →

Start a bot
curl -X POST \
  https://rest.haasapi.com/v1/bots/{bot_id}/start \
  -H "Authorization: Bearer hk_live_..."

Built for production

Boring on purpose — the qualities you actually want from an API you’re going to depend on.

Versioned contract

Everything lives under /v1. Breaking changes get a new version, not a surprise.

Rate limited per key

Every response carries standard RateLimit headers with your remaining budget; a 429 tells you exactly how long to wait.

Predictable errors

Failures come back as application/problem+json (RFC 9457) with a stable machine-readable code, not a wall of HTML.

Scoped, revocable keys

Restrict a key to specific scopes and IP addresses, and revoke it the instant it’s no longer needed.

Included on Standard and above

The REST API is included on the Standard, Pro and TradeServer plans, and throughout your free trial. It is not part of the Starter plan.

Remember: an API key can do anything you can, including placing and cancelling real trades. Keep it secret, scope it down, and revoke it if it’s ever exposed.