v1

latestOpenAPI 3.0.12026-08-06241391671.8 KB
Reports

Returns individual conversion events (not aggregated).

Returns individual conversion events as separate rows — one row per conversion. This is fundamentally different from GET /report, which returns aggregated data grouped by dimensions.

Key differences from GET /report

  • No groupBy parameter — each row is a single conversion event.
  • No conversionTimeMode parameter — not applicable to individual events.
  • No include parameter — not applicable.
  • Default sort: postbackTimestamp (most recent conversions first).
  • Column parameter is required — you must specify which fields to return.

Common columns for conversion reports

Each row can include: postbackTimestamp, visitTimestamp, campaignId, campaignName, offerId, offerName, trafficSourceId, trafficSourceName, countryCode, countryName, device, revenue, payout, customVariable1 through customVariable10, customConversions1-20, customRevenue1-20.

When to use this endpoint

Use this endpoint when you need to inspect individual conversion events, verify postback firing, diagnose tracking issues, or analyze conversion-level detail. For aggregated performance metrics, use GET /report instead.

Drilldown filters

Use filter1=campaignId&filter1Value=<id> to see conversions for a specific campaign.

get/report/conversions

Query parameters

offsetinteger

Pagination offset (zero-based). Default: 0.

tzstring

Time zone for date aggregation, e.g. 'America/New_York', 'Europe/Warsaw', or 'Etc/GMT'. Default: Etc/GMT. Affects how day, dayOfWeek, and hourOfDay boundaries are calculated.

columnstring[] required

Columns to include in the response (required). This is a repeated query parameter — use column=visits&column=clicks, NOT comma-separated. Valid columns differ per report type (aggregated /report, per-conversion /report/conversions, error /report/errors).

Common mistakes returning 400: deviceType (use device), and requesting a Name variant for a self-labeling dimension — region, city, os, browser, isp, mobileCarrier are already human-readable, so there is no regionName/cityName/osName/browserName column. (Code/name pairs like countryCode/countryName and connectionType/connectionTypeName are the exception — those Name columns exist.)

Call GET /column/info for the authoritative list of valid columns for this account. The column sets named in each endpoint's own documentation are guidance/examples, not the complete list.

filter1string

Drilldown filter dimension — a dimension column to filter the report by an EXACT value, e.g. campaignId. Pair with filter1Value. This is the correct, server-side way to scope a report to a single entity by id; the filter parameter only does free-text name search, which is fragile and can match the wrong row.

filter2string

Second drilldown filter dimension (optional), e.g. countryCode. Pair with filter2Value.

sortstring

Column name to sort by. Can be any valid metric or dimension column. Default: visits.

filter1Valuestring

Exact value for filter1, e.g. the campaign id. Returns only rows matching this value.

filterstring

Free-text substring search over NAME columns only (campaignName, offerName, ...). NOT for ids and NOT exact — a fragment can match several rows or none. To scope a report to a specific entity by id, use the drilldown filters filter1/filter1Value (e.g. filter1=campaignId, filter1Value=<id>); never put an id here.

limitinteger

Maximum rows to return per request. Default: 100. Values above the per-account cap are silently capped; totalRows always reflects the true count. Use offset to page through.

fromstring required

Start date/time (inclusive, required). ISO 8601 format, e.g. 2026-03-01T00:00:00Z.

Must be aligned to an hour boundary — minutes and seconds must be zero.

The date range is half-open [from, to) — 'from' is included in results.

currencystring

Currency code for monetary values in the response, e.g. USD, EUR, GBP. Default: USD.

tostring

End date/time (EXCLUSIVE). ISO 8601 format. The date range is half-open [from, to) — 'to' is NOT included.

Must be aligned to an hour boundary — minutes and seconds must be zero.

Default: start of the next hour in the request timezone (e.g. if current time is 14:30, default to is 15:00). This means omitting to gives you data up to the current hour.

To query the full day of March 5, set to=2026-03-06T00:00:00Z (next day). Common mistake: setting to=2026-03-05T00:00:00Z returns zero results for March 5.

filter2Valuestring

Exact value for filter2.

workspacesstring[]

Workspace IDs to filter by. Only returns data for campaigns in the specified workspaces.

direction'ASC' | 'DESC'

Sort direction. Default: desc (descending).

Response

Aggregated report data.