Skip to content

List end-users

GET https://rest.haasapi.com/v1/partner/users

Returns the white-label end-users this partner manages, sorted by user_id and paged by a keyset cursor - an end-user provisioned or removed mid-walk never shifts the remaining pages. The user_id is the join key every /v1/partner/users/{user_id} endpoint takes. Available only to partner keys; an ordinary key is refused for lack of the partner scope.

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?limit=100" \
-H "Authorization: Bearer hk_live_YOUR_KEY"

200 OK. Returns a PartnerUsersPage.

{
"data": [
{
"user_id": "8f14e45f-ceea-467a-9c9a-2b0f1d6a3c77",
"exchange": "BINANCE",
"external_id": "customer-4471",
"created_at": "2026-08-28T19:04:11Z",
"bots_started": 12,
"bots_active": 3,
"backtests": 40
}
],
"next_cursor": null
}
Field Type Description
data array of PartnerUser One page of end-users, sorted by user_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
user_id string The end-user identifier - the id every /v1/partner/users/{user_id} path takes. Copy it from this endpoint; never construct one.
exchange string Exchange code the end-user’s account trades on.
external_id string, nullable Your own reference for this end-user, if you set one when provisioning it. null otherwise.
created_at string When the end-user was provisioned. RFC 3339 UTC.
bots_started integer (int32) Total bots ever started for this end-user.
bots_active integer (int32) Bots currently running for this end-user.
backtests integer (int32) Total backtests run for this end-user.

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)
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"
}