GET /pub_api/v3/cpc_clicks read:transactions
▶  Run in console
Query parameters
date *
date (YYYY-MM-DD)
Required. The click date to return. One day per request. Must be 2024-02-29 or later and not in the future.
updated_since
datetime (ISO 8601)
Return only clicks from date whose record changed at or after this timestamp - validations, rejections and commission corrections. Use for incremental syncs.
campaign_id
integer
Filter by campaign ID.
channel_id
integer
Filter by channel ID.
status
string
Filter by status: pending, validated, rejected.
page
integer
Page number. Default: 1.
per_page
integer
Results per page. Default 30, max 500.
Response fields
FieldTypeDescription
data[].id integer CPC click record ID.
data[].transaction_id integer | null Linked affiliate transaction ID (when a sale is attached).
data[].click_log_uid string Unique click identifier from the tracking system.
data[].campaign_id integer Campaign ID.
data[].campaign_name string Campaign display name.
data[].channel_id integer | null Channel the click was tracked through.
data[].click_date string Date of the click (YYYY-MM-DD).
data[].click_timestamp string Full click timestamp.
data[].status string One of: pending, validated, rejected.
data[].sale_amount string Sale amount tied to the click (2 decimal places). Usually 0.00 for pure CPC.
data[].currency string Always "INR". CPC click amounts are reported in INR even on USD accounts — unlike transactions, invoices and reports, which follow your account currency.
data[].user_commission string Publisher commission earned for this click (2 decimal places).
data[].sales integer Number of sales attributed to this click.
data[].sub_id – sub_id_6 string | null Custom sub IDs passed at click time for attribution.
data[].traffic_source string | null Traffic source label, if set.
data[].country_iso string | null ISO 3166-1 alpha-2 country code of the click.
data[].validated_at string | null ISO 8601 timestamp when the click was validated.
data[].rejected_at string | null ISO 8601 timestamp when the click was rejected.
data[].updated_at string ISO 8601 timestamp of the last change to this record. Track the highest value you receive and pass it back as updated_since on your next sync of this date.
meta object Pagination: page, per_page, total, total_pages, next_page, prev_page.
Request - one day
curl https://developers.cuelinks.com/pub_api/v3/cpc_clicks \
  -H "Authorization: Token YOUR_API_KEY" \
  -G \
  -d "date=2026-07-10" \
  -d "status=validated"
Request - incremental sync
curl https://developers.cuelinks.com/pub_api/v3/cpc_clicks \
  -H "Authorization: Token YOUR_API_KEY" \
  -G \
  -d "date=2026-07-10" \
  -d "updated_since=2026-07-12T06:15:00Z"
200 OK 200
{
  "data": [
    {
      "id": 884512,
      "transaction_id": null,
      "click_log_uid": "clk_a1b2c3d4e5",
      "campaign_id": 11799,
      "campaign_name": "Amazon UK",
      "channel_id": 3424,
      "click_date": "2026-07-10",
      "click_timestamp": "2026-07-10 08:32:14",
      "status": "validated",
      "sale_amount": "0.00",
      "currency": "INR",
      "user_commission": "12.50",
      "sales": 0,
      "sub_id": "homepage",
      "sub_id_2": null,
      "sub_id_3": null,
      "sub_id_4": null,
      "sub_id_5": null,
      "sub_id_6": null,
      "traffic_source": null,
      "country_iso": "GB",
      "validated_at": "2026-07-12T06:15:00Z",
      "rejected_at": null,
      "updated_at": "2026-07-12T06:15:00Z"
    }
  ],
  "meta": {
    "page": 1,
    "per_page": 30,
    "total": 214,
    "total_pages": 8,
    "next_page": 2,
    "prev_page": null
  }
}
💡
Tip — incremental sync
CPC clicks are often validated or rejected days after the click itself. To keep a local copy current without re-downloading everything, iterate over the dates you care about and pass updated_since with the highest updated_at you last saw for that date. You'll get back only the records that changed - validations, rejections and commission corrections alike.
📅
One date per request
date is required and accepts a single day - there is no date-range form. Click volume is high enough that clicks are stored in per-day tables, and serving one day at a time is what keeps this endpoint fast. To cover a range, loop over the dates. Data is available from 2024-02-29 onward; a date with no recorded clicks returns an empty data array rather than an error.
CPC vs CPS
This endpoint returns only CPC (cost-per-click) records. For CPS (cost-per-sale) and CPA (cost-per-action) transactions, use /pub_api/v3/transactions.