Publisher Partner API
GET /api/v1/publishers/:platformId/redemptions
Returns row-level redemption events for a publisher platform, enriched with device and location context.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
platformId | string | The platform ID for your publisher |
Authentication
Pass your API key in the Authorization header:
Authorization: <your-api-key>
Query Parameters
| Parameter | Type | Required | Default | Constraints | Description |
|---|---|---|---|---|---|
startDate | string | Yes | — | Format: YYYY-MM-DD | Start of date range (inclusive, UTC) |
endDate | string | Yes | — | Format: YYYY-MM-DD | End of date range (inclusive, UTC) |
limit | integer | No | 100 | Min: 1, Max: 500 | Number of rows to return |
offset | integer | No | 0 | Min: 0 | Pagination offset |
Response
type RedemptionsResponse = {
data: RedemptionRow[];
pagination: {
totalRecords: number;
limit: number;
offset: number;
};
};Example Request
curl "https://api.thanks.is/api/v1/publishers/plat62bb7b60-74da-4ffa-8c11-af982323/redemptions?startDate=2026-03-30&endDate=2026-03-30&limit=5" \
-H "Authorization: <your-api-key>"Example Response
{
"data": [
{
"sessionId": "impwUSA3d882479429ae3039cc901af0",
"profileId": "cpc:camp97226512-9048-4324-92b7-f6aad6d6:uf-cookie-missing:89",
"anonymousId": "cpc:camp97226512-9048-4324-92b7-f6aad6d6:uf-cookie-missing:89",
"timestamp": "2026-03-30 00:03:35.777",
"name": "conversion",
"publisherId": "plat62bb7b60-74da-4ffa-8c11-af982323",
"offerId": "camp97226512-9048-4324-92b7-f6aad6d6",
"type": "reward-allocation",
"status": "approved",
"commission": "0.1",
"deviceType": "Desktop",
"os": "Mac OS X",
"browser": "Chrome",
"stateName": "California",
"cityName": "Chula Vista",
"country": ""
}
],
"pagination": {
"totalRecords": 1565,
"limit": 5,
"offset": 0
}
}Error Responses
| Status | Description |
|---|---|
| 400 | Missing or invalid query parameters (see response body for details) |
| 401 | Missing or invalid API key |
Notes
- Timestamps are in UTC.
deviceType,os, andbrowsermay be null for events where no matching impression session was found.countrymay be an empty string for some events depending on data availability.- Results are ordered by
timestampascending. - To paginate through all records, increment
offsetbylimituntiloffset >= totalRecords.
Updated 1 day ago