Skip to content

List an end-user's bots

GET https://rest.haasapi.com/v1/partner/users/{user_id}/bots

Returns the live bots of one white-label end-user this partner manages, sorted by bot_id and paged by a keyset cursor. Enums are snake_case wire strings and profit/roi are string decimals - the same conventions as the rest of /v1. An unknown or foreign user_id answers 404; a known user with no bots answers 200 with an empty list.

Requires the partner scope.

Parameter Type Required Description
limit integer no Page size, 1–500. Defaults to 100.
cursor string no Opaque cursor from a previous response’s next_cursor.
Terminal window
curl "https://rest.haasapi.com/v1/partner/users/{user_id}/bots?limit=100" \
-H "Authorization: Bearer hk_live_YOUR_KEY"

200 OK. Returns a PartnerBotsPage.

{
"data": [
{
"bot_id": "7b90995d7434433f81cb652d7bc0ce25",
"user_id": "8f14e45f-ceea-467a-9c9a-2b0f1d6a3c77",
"status": "running",
"type": "spot_grid",
"exchange": "BINANCE",
"master_bot_id": null,
"created_at": "2026-08-28T19:04:11Z",
"profit": "128.44",
"roi": "0.062",
"cloned": 0,
"followers": 0,
"config": {
"symbol": "BTC_USDT",
"lower_limit": 25000,
"upper_limit": 35000,
"grid_count": 20,
"investment_asset": "USDT",
"investment_amount": 500
}
}
],
"next_cursor": null
}
Field Type Description
data array of PartnerBot One page of the end-user’s bots, sorted by bot_id.
next_cursor string, nullable Pass as cursor to fetch the next page; null on the last page. Opaque - never construct or decode one.
Field Type Description
bot_id string The bot identifier.
user_id string The end-user that owns this bot.
status BotStatus Whether the bot is currently running or stopped.
type WhiteLabelScriptType The strategy type the bot runs.
exchange string, nullable Exchange the bot trades on.
master_bot_id string, nullable The master bot this one copies, if it is a copy; null for an original bot.
created_at string When the bot was created. RFC 3339 UTC.
profit string (decimal) Realized profit in the quote currency, as a decimal string.
roi string (decimal) Return on investment as a decimal string (0.15 = 15%).
cloned integer (int32) How many times this bot has been copied.
followers integer (int32) Copies currently following this bot’s updates.
config object, nullable The bot’s current strategy configuration, keyed by the same snake_case keys create and edit take (see GET /v1/partner/strategies). Read it to pre-fill an edit, then send the changed keys back to PUT …/bots/{bot_id}. Null when the bot has no stored config.

All errors are RFC 9457 problem documents.

Status Description
400 The request is malformed (invalid limit, unusable cursor, …). (code: invalid_request)
401 Missing, malformed, disabled, or revoked API key. (code: invalid_api_key)
404 No accessible end-user with that id. (code: user_not_found)
500 An unexpected error inside the API. Nothing about the request caused it; retry, and quote the instance value if it persists. (code: internal_error)
502 An internal service answered in a way the API could not serve. Retry. (code: upstream_error)
503 The request could not be served right now. Retry with the same key - do not discard it. (code: temporarily_unavailable)
504 An internal service did not answer within the deadline. Retry with backoff. (code: upstream_timeout)
{
"type": "https://docs.haasapi.com/errors/invalid_request",
"title": "Invalid request",
"status": 400,
"detail": "The request is malformed (invalid limit, unusable cursor, …).",
"code": "invalid_request"
}