Complete API endpoint reference.
API Reference
Base URL: https://revvvs.com/api/v1
All requests require the X-API-Key header.
Events
Send events
POST /events
Send one or more player events.
Headers:
| Header | Value |
|---|---|
Content-Type | application/json |
X-API-Key | Your API key |
Single event body: See Event Reference for the schema per event type.
Batch body:
{
"events": [ { ... }, { ... } ]
}
Maximum 100 events per batch.
Response (single event):
{
"result": {
"event_id": "uuid",
"idempotency_key": "your_key",
"status": "accepted"
}
}
Response (batch):
{
"summary": { "total": 2, "accepted": 2, "duplicates": 0, "errors": 0 },
"results": [ ... ]
}
Status codes:
| Code | Meaning |
|---|---|
202 | Event accepted |
200 | Duplicate event (already processed) |
400 | Validation error |
401 | Invalid or missing API key |
429 | Rate limit exceeded |
500 | Internal error |
Click tracking
Redirect endpoint
GET /track/click/{linkId}
This is the endpoint that affiliate tracking links point to. It logs the click and redirects to the destination URL.
Query parameters:
| Parameter | Description |
|---|---|
sub1 - sub5 | Affiliate SubID parameters (optional) |
relativepath | Append this path to the destination URL for deep-linking (optional). Only alphanumeric characters, hyphens, slashes, dots, and underscores are allowed. |
Response: 302 Redirect to the destination URL with click_id appended. If relativepath is provided, it is appended to the destination URL path before redirecting.
This endpoint is public and does not require authentication.
Tracking link creation
When creating a tracking link via the portal or API, these optional fields are available:
| Field | Type | Description |
|---|---|---|
marketingSourceId | UUID | Associate the link with a marketing source |
creativeId | UUID | Attach a campaign creative to the link |
geoTarget | string | ISO country code to tag the link's target geography |
Report API
Access a saved report
GET /reports/{token}
Each saved report preset generates a unique API token. Use this endpoint to retrieve report data programmatically without logging in.
Authentication: The report token in the URL acts as the authentication. No additional headers are required.
Query parameters:
| Parameter | Description |
|---|---|
format | csv (default) or json |
startDate | Override the preset's start date (YYYY-MM-DD, optional) |
endDate | Override the preset's end date (YYYY-MM-DD, optional) |
Response (CSV): A CSV file download with column headers, data rows, and a totals row.
Response (JSON, ?format=json):
{
"rows": [
{
"groupKeys": { "date": "2026-03-10", "campaign": "Welcome Bonus" },
"metrics": { "click_count": 150, "ftd_count": 12, "ngr": 5000, "total_reward": 450 }
}
],
"totals": { "click_count": 1200, "ftd_count": 85, "ngr": 42000, "total_reward": 3800 },
"generatedAt": "2026-03-13T12:00:00.000Z"
}
Status codes:
| Code | Meaning |
|---|---|
200 | Report data returned |
401 | Invalid or disabled report token |
Report tokens are generated when you save a report preset in the Reports page. Each preset's API URL is shown after saving and can be copied from the preset settings.
Impression Tracking
Track banner impressions
GET /track/impression/{creativeId}
Returns a 1x1 transparent GIF pixel and logs the impression. Used in banner embed codes to count how many times a banner is displayed.
Query parameters:
| Parameter | Description |
|---|---|
lid | Tracking link ID |
aid | Affiliate ID |
Example embed code:
<a href="https://revvvs.com/api/v1/track/click/{linkId}">
<img src="{bannerUrl}" width="728" height="90" alt="Banner" border="0" />
<img src="https://revvvs.com/api/v1/track/impression/{creativeId}?lid={linkId}&aid={affiliateId}" width="1" height="1" style="display:none" alt="" />
</a>
Impressions are buffered and flushed to the analytics store periodically. The banner_view_count metric in reports reflects these impressions.