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:

HeaderValue
Content-Typeapplication/json
X-API-KeyYour 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:

CodeMeaning
202Event accepted
200Duplicate event (already processed)
400Validation error
401Invalid or missing API key
429Rate limit exceeded
500Internal 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:

ParameterDescription
sub1 - sub5Affiliate SubID parameters (optional)
relativepathAppend 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.

When creating a tracking link via the portal or API, these optional fields are available:

FieldTypeDescription
marketingSourceIdUUIDAssociate the link with a marketing source
creativeIdUUIDAttach a campaign creative to the link
geoTargetstringISO 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:

ParameterDescription
formatcsv (default) or json
startDateOverride the preset's start date (YYYY-MM-DD, optional)
endDateOverride 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:

CodeMeaning
200Report data returned
401Invalid 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:

ParameterDescription
lidTracking link ID
aidAffiliate 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.

Next: Error Codes