v1

latestOpenAPI 3.0.12026-08-0671048.4 KB
Leads

Update Lead

Update an existing lead. Matches leads by id, externalId, email, or phone (in that priority order). At least one identifier is required. email and phone can be strings or arrays of up to 10 strings. Array values are tried sequentially. The external ID is used for lookup and is not changed by this endpoint.

patch/api/leads

Request body

idstring

Lead ID (highest priority match)

externalIdstring

Customer-owned lead identifier (second priority match). Whitespace is trimmed.

status'qualified' | 'won' | 'lost'

New status. Takes precedence over changedTo if both are provided.

changedTo'qualified' | 'won' | 'lost'

Legacy alias for status (same values).

notestring

Note to attach to the lead

lossReasonstring

Reason for loss (only used when status is lost)

Example request

{
  "id": "lead_abc123",
  "externalId": "QUOTE-2026-0042",
  "status": "won",
  "changedTo": "won"
}

Response

Lead updated successfully

successboolean

Example response

{
  "success": true,
  "data": {
    "leadId": "lead_abc123",
    "externalId": "QUOTE-2026-0042",
    "leadsUpdated": 1,
    "message": "Lead updated successfully"
  },
  "meta": {
    "requestId": "req_a1b2c3d4e5f6",
    "timestamp": "2026-03-10T12:00:00.000Z"
  }
}