Partner

Get Dashboard Top Clients

The partner's direct referrals (clients and sub-IBs) ranked by `sortBy` over the window. A sub-IB's row includes its whole downline: the rebate the partner earned through it, its USD volume and the net deposits of its clients. Only referrals with a non-zero `sortBy` value in the window are listed, by that value descending. The rows are the partner's current direct referrals: rebate from trades of a client who has since moved to another partner counts in `GET /partner/dashboard/performance` but in no row, so the rows need not add up to the window's rebate.

GET
/partner/dashboard/top-clients

Authorization

appToken read
AuthorizationBearer <token>

App access token issued by POST /tokens (client credentials). Full-access Apps hold the read and write scopes, read-only Apps hold read only. Send it as Authorization: Bearer <token>.

In: header

Scope: read

Query Parameters

userId*string

Identifier of the partner user (the IB record) whose dashboard is requested

Formatuuid
startTime*string

Start of the window (inclusive), RFC 3339 with an offset. Encode + as %2B: a raw + in a query string reads as a space. Any window length is accepted; long windows take longer.

Formatdate-time
endTime*string

End of the window (exclusive), RFC 3339 with an offset; must be after startTime. Operations at exactly this time are not counted; to include a whole day, pass the next day's 00:00.

Formatdate-time
sortBy?string

Ranking metric

Default"rebate"

Value in

  • "rebate"
  • "volumeUsd"
  • "netDeposits"
limit?integer

Maximum number of ranked rows to return

Range1 <= value <= 100
Default50
comparative?boolean

When true, every metric also carries its change versus the previous equal-length window [startTime − (endTime − startTime), startTime). When false, absoluteChange and relativeChange are null.

Defaultfalse

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/partner/dashboard/top-clients?userId=497f6eca-6276-4993-bfeb-53cbbbba6f08&startTime=2026-10-01T00%3A00%3A00%2B02%3A00&endTime=2026-11-01T00%3A00%3A00%2B01%3A00"
{  "report": {    "isMasked": true,    "data": [      {        "clientExternalId": "15832",        "name": "John Smith",        "isSubIb": true,        "rebate": {          "currency": "EUR",          "actualValue": "1200.00",          "absoluteChange": "150.00",          "relativeChange": "14.29"        },        "volumeUsd": {          "currency": "USD",          "actualValue": "1250000.00"        },        "netDeposits": {          "currency": "EUR",          "actualValue": "1200.00",          "absoluteChange": "150.00",          "relativeChange": "14.29"        }      }    ]  }}
{  "error": {    "message": "validation failed",    "code": "validation_error",    "details": [      {        "field": "startTime",        "issue": "the window has more than 5000 hour buckets"      }    ]  }}
{  "message": "string",  "code": "string",  "errors": {    "property1": [      "string"    ],    "property2": [      "string"    ]  },  "details": [    {      "field": "string",      "issue": "string"    }  ]}
{  "error": {    "message": "partner user not found",    "code": "not_found"  }}
{  "message": "string",  "code": "string",  "errors": {    "property1": [      "string"    ],    "property2": [      "string"    ]  },  "details": [    {      "field": "string",      "issue": "string"    }  ]}
{  "message": "string",  "code": "string",  "errors": {    "property1": [      "string"    ],    "property2": [      "string"    ]  },  "details": [    {      "field": "string",      "issue": "string"    }  ]}
{  "error": {    "message": "the report took too long to build",    "code": "gateway_timeout"  }}