Affiliate Portal

Postback integration

Server-to-server lead submission. JSON in, JSON out.

← Back to dashboard

Your API key

Send this in the Authorization: Bearer header on every postback. Treat it like a password.
Loading…

Endpoint

POST https://www.ccdebthelp.com/api/affiliates/leads/postback
Content-Type: application/json
Authorization: Bearer dhaf_…

Request body

FieldTypeNotes
firstNamestringRequiredLead's first name.
lastNamestringRequiredLead's last name.
emailstringRequiredLead's email. Used for dedup against your prior submissions.
phonestringRequired10+ digits. Formatting flexible. Used for dedup.
statestringRequired2-letter US state code (e.g. OH). Must be a DebtHelp-serviced state.
debtAmountnumberRequiredTotal unsecured debt in USD. Minimum to qualify: $10,000.
zipstringOptional5-digit ZIP code.
externalLeadIdstringOptionalYour internal ID for this lead. Useful for reconciliation.
subIdstringOptionalYour sub-affiliate or source identifier.
campaignstringOptionalCampaign / creative identifier.
customobjectOptionalFree-form JSON object preserved for your audit.
testbooleanOptionalIf true, the lead is stored with status test and never counted toward billing. Use this to validate your integration.

Example — curl

curl -X POST 'https://www.ccdebthelp.com/api/affiliates/leads/postback' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "firstName": "Jane",
    "lastName":  "Smith",
    "email":     "jane@example.com",
    "phone":     "(614) 555-0100",
    "state":     "OH",
    "zip":       "43229",
    "debtAmount": 25000,
    "subId":     "src-aug-2026",
    "campaign":  "fb-debt-q3",
    "test":      true
  }'

Response

HTTP/1.1 200 OK
Content-Type: application/json

{
  "lead_id": 12345,
  "status": "qualified",        // or: rejected, duplicate, test
  "qualified": true,
  "reason": "All rules passed",
  "cpl_amount": 35.00,          // null if not qualified
  "received_at": "2026-05-18T20:30:00Z"
}
HTTP codeMeaning
200Accepted. Check status + qualified in the body.
400Malformed body.
401Missing or invalid Authorization: Bearer key.
403Your affiliate account is suspended or rejected.
429Rate limited. Default: 60/min and 1000/hour per affiliate.
503Affiliate portal temporarily offline. Retry with backoff.

Qualification rules

A lead earns CPL only if all of these pass. Otherwise it's stored with status: rejected or duplicate and is not billed.

DebtHelp may adjust these rules. Reach out at affiliates@debthelpcc.com with questions about specific rejection reasons.