Update Lead
Update an existing lead
id, externalId, email, or phone (in that priority order).
At least one identifier (id, externalId, email, or phone) is required.
email and phone can be sent as a single string or as an array of up to 10 strings. Array values are tried sequentially. Octanist first tries the first email, then the next email, and only moves on to phone values if none of the email values match.
Request Body
id, externalId, email, or phone is required.
When both status and changedTo are provided, status takes precedence.
When email or phone is an array, values are matched in order and the first value with a match wins. The matching order is:
id, if providedexternalId, if providedemail[0],email[1], and so onphone[0],phone[1], and so on
email or phone, multiple leads may match. If your organization settings allow bulk updates, all matching leads are updated. Otherwise, a 409 CONFLICT error is returned.
externalId is a lookup identifier on this endpoint. It does not replace or rotate the external ID stored on the lead.
Example Request
Example Request With Fallback Identifiers
Example Request by External ID
Example Response
Error Responses
Authorizations
API key for authentication
Body
Lead update data. At least one of id, externalId, email, or phone is required.
At least one of id, externalId, email, or phone is required as an identifier. email and phone can be strings or arrays of up to 10 strings. Identifiers are tried sequentially: id first, then externalId, then email values in order, then phone values in order. externalId is used for lookup and is not changed by this endpoint.
Lead ID (highest priority match)
"lead_abc123"
Customer-owned lead identifier (second priority match). Whitespace is trimmed.
1 - 255"QUOTE-2026-0042"
Lead email or ordered email candidates (third priority match). Arrays are tried sequentially.
"john@example.com"
Lead phone or ordered phone candidates (fourth priority match). Arrays are tried sequentially after all email candidates.
"+1234567890"
New status. Takes precedence over changedTo if both are provided.
qualified, won, lost "won"
Legacy alias for status (same values).
qualified, won, lost "won"
Lead value. Strings are auto-converted to numbers.
5000
Note to attach to the lead
Reason for loss (only used when status is lost)