Partner

Get Dashboard Commission Calendar

Commission calendar and Month summary: the rebate credited to the partner in its payout currency on every local day of the window in `timeZone`, the window total compared with the previous equal-length window or with an explicit comparison window, and the top symbol and top direct referral by rebate.

GET
/partner/dashboard/commission-calendar

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
timeZone?string

IANA time zone that places the bucket boundaries; window bounds are instants either way. A bucket starts at the first instant of its local hour, day or month, so daylight saving changes inside the window are bucketed correctly. An unknown name is rejected with 400.

Default"UTC"
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
compareStartTime?string

Start of an explicit comparison window (inclusive), e.g. the same days of the previous month. Given together with compareEndTime and only with comparative=true; without it the comparison window is the equal-length window right before startTime.

Formatdate-time
compareEndTime?string

End of the explicit comparison window (exclusive); must be after compareStartTime

Formatdate-time

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/partner/dashboard/commission-calendar?userId=497f6eca-6276-4993-bfeb-53cbbbba6f08&startTime=2026-10-01T00%3A00%3A00%2B02%3A00&endTime=2026-11-01T00%3A00%3A00%2B01%3A00"
{  "report": {    "timeZone": "Europe/Berlin",    "currency": "EUR",    "isMasked": true,    "days": [      {        "date": "2026-10-01",        "value": "12.00"      }    ],    "rebate": {      "currency": "EUR",      "actualValue": "1200.00",      "absoluteChange": "150.00",      "relativeChange": "14.29"    },    "topSymbol": {      "symbolName": "XAUUSD",      "rebate": "210.00"    },    "topClient": {      "clientExternalId": "15832",      "name": "John Smith",      "rebate": "95.00"    }  }}
{  "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"  }}