Skip to main content
POST
/
api
/
leads
/
updateLeadStatus
curl -X POST https://app.leadtrackr.io/api/leads/updateLeadStatus \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your-api-key-here" \
  -d '{
    "leadId": 42,
    "conversionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "price": 5000
  }'
{
  "message": "Lead queued for processing",
  "leadId": 42,
  "uniqueIdentifier": "crm-lead-456",
  "status": "pending",
  "queued": true,
  "warnings": []
}
Updates a lead’s status by assigning it a conversion label. The lead is then queued for processing, which sends the conversion to your connected ad platforms (Google Ads, Meta, etc.).

Identifying a lead

You can identify the lead to update using any one of the following fields. At least one is required. If multiple are provided, the following priority order is used:
  1. leadId
  2. uniqueIdentifier
  3. email
  4. phone
Only the highest-priority identifier is used — the others are ignored.

Request body

leadId
number
The numeric ID of the lead to update.
email
string
Look up the lead by email address.
phone
string
Look up the lead by phone number.
uniqueIdentifier
string
Look up the lead by its user-provided unique identifier (e.g. your CRM lead ID).
conversionId
string
required
The conversion label to apply. Use a conversion label ID (UUID) from your project’s conversion labels, or one of the special values:
  • "open" — reset the lead to open status (no job is queued)
  • "lost" — mark the lead as lost (queued for processing)
You can find your conversion label IDs in the LeadTrackr Dashboard under Settings > Conversion Labels. Each label has a unique UUID that you can copy and use as the conversionId. For more details on setting up conversion labels, see the Conversion Labels guide.
price
number
Lead value in cents (e.g. 5000 for $50.00). Must be a non-negative number. If provided, the lead’s price is updated before processing.
At least one lead identifier (leadId, email, phone, or uniqueIdentifier) is required. The leadId field is no longer the only way to identify a lead.

Response

The response varies depending on the conversionId value. All responses include uniqueIdentifier alongside leadId.

When conversionId is "open"

message
string
"Lead status updated to open".
leadId
number
The ID of the updated lead.
uniqueIdentifier
string | null
The unique identifier for the lead, or null if not set.
status
string
"open".
queued
boolean
false — no job is queued for open status.

When conversionId is a conversion label or "lost"

message
string
"Lead queued for processing".
leadId
number
The ID of the updated lead.
uniqueIdentifier
string | null
The unique identifier for the lead, or null if not set.
status
string
"pending".
queued
boolean
true.
warnings
object[]
Array of validation warnings indicating integrations that will be skipped due to missing data. Each warning contains:

Error: duplicate job (409)

If the lead already has a pending job in the processing queue, a 409 Conflict is returned.
curl -X POST https://app.leadtrackr.io/api/leads/updateLeadStatus \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your-api-key-here" \
  -d '{
    "leadId": 42,
    "conversionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "price": 5000
  }'
{
  "message": "Lead queued for processing",
  "leadId": 42,
  "uniqueIdentifier": "crm-lead-456",
  "status": "pending",
  "queued": true,
  "warnings": []
}