---
title: "Update a lead by ID"
method: PUT
path: "/leads/{id}"
tags: ["Leads"]
---

# Update a lead by ID

`PUT /leads/{id}`

## Request

- Base URL: `https://api.emailchaser.com/r`
- URL: `https://api.emailchaser.com/r/leads/{id}`
- Auth: HTTP bearer

Updates one lead, whether or not it is in a campaign. Only the fields you send are changed. A field you leave out, or send as null, is left as it is. Send an empty string to clear a field. customVariables, when sent, replaces the whole set, so an empty object clears it; leave it out to keep the set. A new email changes this lead's address; if another lead in the workspace already has that address the call fails with 409 and nothing is changed. Emails not sent yet are written from the lead as it is when they go out, so a change shows up in them. An email already scheduled still goes to the address the lead had when it was scheduled. The response holds only the lead's id, email, firstName, lastName and customVariables. Read the full lead with GET /leads/{id}.

## Path parameters

- `id` integer, required

## Request body

- ModelsUpdateLeadRequest
  - `company` string
  - `customVariables` object: CustomVariables replaces the lead's whole custom variable map when provided. Omit it to leave the existing variables untouched.
  - `email` string: Changes this lead's address. Refused with 409 if another lead in the workspace already has it.
  - `firstName` string
  - `lastName` string
  - `linkedin` string
  - `middleName` string
  - `phone` string
  - `title` string
  - `website` string

## Response `200`

Lead updated successfully

- ModelsUpdateLeadResponse
  - `lead` ModelsUpdatedLead
    - `customVariables` object: CustomVariables is the lead's whole set after the update.
    - `email` string
    - `firstName` string
    - `id` integer
    - `lastName` string
  - `message` string

## Other responses

- `400`: Invalid lead ID or request body
- `401`: Unauthorized - invalid or missing API key
- `403`: Forbidden - lead does not belong to your space
- `404`: Lead not found
- `409`: Another lead in the workspace already has this email
- `500`: Failed to update lead

---

[API](https://skmtc.dev/emailchaser/apis/emailchaser-api.md) · [All operations](https://skmtc.dev/emailchaser/apis/emailchaser-api/llms.txt) · [OpenAPI document](https://skmtc.dev/emailchaser/apis/emailchaser-api/revisions/8b114990abb7?raw)
