Partner

Get Dashboard CPA

CPA Program widget: the active CPA program of the partner's IB type with its active payment plans, and the partner's own acquisitions: confirmed rewards, acquisitions still waiting for a payment, and the stage funnel of the acquisitions created in the window.

GET
/partner/dashboard/cpa

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
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/cpa?userId=497f6eca-6276-4993-bfeb-53cbbbba6f08&startTime=2026-10-01T00%3A00%3A00%2B02%3A00&endTime=2026-11-01T00%3A00%3A00%2B01%3A00"
{  "report": {    "program": {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "currency": "USD",      "paymentMode": "cumulative",      "paymentWindowDays": 30,      "paymentPlans": [        {          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",          "name": "FTD 100",          "paymentAmount": "50.00",          "priority": 2,          "conditions": [            {              "conditionType": "minimum_deposit",              "parameters": {}            }          ]        }      ]    },    "qualified": {      "actualValue": 87,      "absoluteChange": 5,      "relativeChange": "6.10"    },    "rewardEarned": [      {        "currency": "EUR",        "actualValue": "1200.00",        "absoluteChange": "150.00",        "relativeChange": "14.29"      }    ],    "pending": 4,    "funnel": {      "registrations": 120,      "kyc": 60,      "firstTimeDeposit": 30,      "qualified": 9    }  }}
{  "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"  }}