Skip to main content
GET
/
api
/
source-list
/
{org-id}
/
{cid}
cURL
curl --request GET \
  --url https://api.pingtree.com/api/source-list/{org-id}/{cid} \
  --header 'Authorization: Bearer <token>'
{
  "status": "<string>",
  "type": "<string>",
  "message": "<string>",
  "totalRecord": {}
}

Overview

The Source List API returns performance and statistical data for all lead sources attached to a specific offer campaign. Use it to build reporting dashboards, monitor source-level metrics (leads, conversions, revenue), and identify top-performing or underperforming sources in real time.

Endpoint

GET /api/source-list/{org-id}/{cid}
SegmentDescription
{org-id}Your organization (advertiser) unique ID
{cid}The campaign unique ID

Authentication

Include your API token in the Authorization header:
Authorization: Bearer <your-api-token>

Request Parameters

Path Parameters

ParameterTypeRequiredDescription
org-idstringYesOrganization unique ID
cidstringYesCampaign unique ID

Query Parameters

ParameterTypeRequiredDescription
fromstringNoStart date filter (ISO 8601: YYYY-MM-DD)
tostringNoEnd date filter (ISO 8601: YYYY-MM-DD)
searchstringNoSearch by source name
pageintegerNoPage number (default: 1)
limitintegerNoRecords per page (default: 10, max: 100)

Example Request

curl -G "https://api.pingtree.com/api/source-list/org_5f1a2b3c/cmp_9z8y7x6w" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
  --data-urlencode "from=2025-08-01" \
  --data-urlencode "to=2025-08-31"

Example Response

{
  "status": 200,
  "message": "Source list retrieved successfully",
  "data": {
    "sources": [
      {
        "sourceUniqueId": "src_abc123",
        "sourceName": "Google Display - Debt",
        "totalLeads": 1240,
        "acceptedLeads": 980,
        "rejectedLeads": 180,
        "duplicateLeads": 80,
        "totalConversions": 120,
        "totalRevenue": 4800.00,
        "totalPayout": 3600.00,
        "margin": 1200.00,
        "status": "active"
      },
      {
        "sourceUniqueId": "src_def456",
        "sourceName": "Facebook Leads - Debt",
        "totalLeads": 540,
        "acceptedLeads": 430,
        "rejectedLeads": 70,
        "duplicateLeads": 40,
        "totalConversions": 55,
        "totalRevenue": 2200.00,
        "totalPayout": 1760.00,
        "margin": 440.00,
        "status": "active"
      }
    ],
    "totalRecord": 2,
    "page": 1,
    "limit": 10
  }
}

Error — Campaign Not Found

{
  "status": 400,
  "message": "Campaign not found or access denied"
}

Error — Unauthorized

{
  "status": 401,
  "message": "Unauthorized"
}

Status Codes

HTTP CodeDescription
200Source list returned successfully
400Invalid campaign ID, org ID, or query parameters
401Invalid or missing API token
500Internal server error

Tips

  • Date range filtering: Use from and to to scope the stats to a reporting period. All metrics (leads, conversions, revenue) are calculated within the specified window.
  • Monitoring performance: Poll this endpoint periodically (e.g. every 15 minutes) to refresh a live performance dashboard for your campaign sources.
  • Revenue vs payout: totalRevenue is what buyers paid; totalPayout is what sources were paid. The difference (margin) represents your campaign’s gross profit for that source.
  • Inactive sources: Sources with status: "inactive" are included in the response for historical reference but are not currently receiving leads.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

org-id
string
required

Your organization ID

cid
string
required

Your campaign unique ID

Query Parameters

date
string
required

Valid date format YYYY-MM-DD

Response

Source data fetched successfully

status
string

Status code of API response

type
string

Type of API response which can be success or error

message
string

Message of API response

totalRecord
object

Lead's matrix details