Pingtree

Offer Campaign APIs

Click Listing API

GEThttps://api.pingtree.com/click/list/{cid}/{transaction_id}

Overview#

The Click Listing API retrieves the set of offers (click listings) associated with a consumer's lead submission. It is called after a lead has been accepted and returns a list of offers the consumer can click on, typically displayed on a results or thank-you page. Each offer includes a click-redirect URL, branding, and call-to-action details.

This endpoint powers the offer wall that consumers see after form submission. It can be called directly from JavaScript or consumed server-side to build a custom offer display.

Endpoint#

GET /api/click/list/{cid}/{transaction_id}
SegmentDescription
{cid}The campaign unique ID
{transaction_id}The transaction ID returned from the lead submission

Authentication#

No token-based authentication is required. The cid and transaction_id pair authenticates the request by scope.

Request Parameters#

Path Parameters#

ParameterTypeRequiredDescription
cidstringYesCampaign unique ID
transaction_idstringYesTransaction ID from the lead submission response

Query Parameters#

ParameterTypeRequiredDescription
pidstringNoSource unique ID for attribution tracking
devicestringNoConsumer device type: desktop or mobile

Example Request#

Bash
curl "https://api.pingtree.com/api/click/list/cmp_9z8y7x6w/txn_7f3a2b1c-4d56-78ef-9012-abcdef123456"

Example Response#

JSON
{
  "status": 200,
  "message": "Click listing retrieved successfully",
  "data": {
    "offers": [
      {
        "clickListingId": "cl_001",
        "title": "Get Your Free Debt Quote",
        "description": "See offers from top-rated lenders in minutes.",
        "logoUrl": "https://cdn.example.com/logos/lender-a.png",
        "clickUrl": "https://api.pingtree.com/api/click/cl_001/cmp_9z8y7x6w/src_abc123/txn_7f3a2b1c",
        "callToAction": "Check My Rate",
        "displayOrder": 1,
        "device": "both"
      },
      {
        "clickListingId": "cl_002",
        "title": "Compare Loan Options",
        "description": "Match with lenders who fund within 24 hours.",
        "logoUrl": "https://cdn.example.com/logos/lender-b.png",
        "clickUrl": "https://api.pingtree.com/api/click/cl_002/cmp_9z8y7x6w/src_abc123/txn_7f3a2b1c",
        "callToAction": "View Offers",
        "displayOrder": 2,
        "device": "both"
      }
    ],
    "totalOffers": 2
  }
}

Response — No Offers Available#

JSON
{
  "status": 200,
  "message": "No offers available for this lead",
  "data": {
    "offers": [],
    "totalOffers": 0
  }
}

Error — Invalid Transaction ID#

JSON
{
  "status": 400,
  "message": "Invalid or expired transaction_id"
}

Click Redirect URL Structure#

Each offer's clickUrl follows this pattern:

GET /api/click/{clickListingId}/{cid}/{pid}/{transactionId}

When the consumer clicks an offer link, this URL records the click event and redirects to the advertiser's landing page. The redirect URL is resolved based on the offer configuration and the consumer's device type.

Status Codes#

HTTP CodeDescription
200Offer list returned (may be empty)
400Invalid cid or transaction_id
500Internal server error

Tips#

  • Call after lead submission. The click listing is populated once a lead is accepted. Call this endpoint immediately after receiving a successful submission response.
  • Device targeting. Pass the device parameter (desktop or mobile) to receive only offers configured for that device type. Offers with device: "both" are always included.
  • Tracking clicks. Each offer's clickUrl automatically records the click and handles the redirect — do not modify or reconstruct this URL. Clicks are tracked per impression and used for revenue reporting.
  • Iframe alternative. If you prefer a managed display, embed the Click Listing iFrame instead of building a custom offer wall with this API.
  • CORS. This endpoint supports cross-origin requests, so it can be called directly from browser JavaScript on your landing page domain.