---
title: "Update a lead"
method: PUT
path: "/api/v1/leads/{lead_id}"
tags: ["Leads"]
---

# Update a lead

`PUT /api/v1/leads/{lead_id}`

## Request

- Base URL: `https://api.checkcherry.com`
- URL: `https://api.checkcherry.com/api/v1/leads/{lead_id}`
- Auth: none declared. Required headers: `Api-Key`

Updates an existing lead with the provided fields. Only fields included in the request body are modified — omitted fields remain unchanged.

Use this to update contact information, venue details, event preferences, status flags (spam, archived), or reassign the lead to a different staff member.

**Required permission:** `lead_write`

## Path parameters

- `lead_id` integer, required

## Headers

- `Api-Key` string, required

## Request body

- object
  - `first_name` string: Contact first name
  - `last_name` string: Contact last name
  - `email` string: Contact email address
  - `phone` string: Contact phone number
  - `company_name` string: Business or organization name
  - `staff_id` integer: Staff member ID requested for the lead's package
  - `lead_source` string: How the lead was acquired
  - `contact_preference` 'Email' | 'Phone' | 'Text Message': How the lead prefers to be contacted
  - `lead_type` string: Custom label for categorizing the lead
  - `notes` string: Private internal notes about this lead
  - `starts_at_date` string: Requested event date (YYYY-MM-DD)
  - `starts_at_time` string: Requested event start time
  - `length_in_minutes` integer: Requested event duration in minutes
  - `estimated_budget` number: Estimated event budget
  - `estimated_number_guests` integer: Estimated number of guests
  - `venue_name` string: Event venue name
  - `venue_address` string: Venue street address
  - `venue_city` string: Venue city
  - `venue_state` string: Venue state
  - `venue_zip` string: Venue ZIP code
  - `indoor_outdoor` 'Indoor' | 'Outdoor': Venue type
  - `service_id` integer: Service (event category) ID the lead is interested in, from `GET /api/v1/event_categories`. Ignored when `package_id` is sent: the package sets the service. Must belong to this business.
  - `package_id` integer: Package (event type) ID the lead is interested in, from `GET /api/v1/packages`. Must belong to this business.
  - `brand_id` integer: Brand ID to associate with this lead
  - `spam` boolean: Mark lead as spam
  - `archived` boolean: Archive the lead
  - `next_follow_up_on` string: Next follow-up date (YYYY-MM-DD)
  - `custom_questions` object: Responses to custom booking questions, as key-value pairs

## Response `200`

lead updated

---

[API](https://skmtc.dev/checkcherry/apis/check-cherry-business-api.md) · [All operations](https://skmtc.dev/checkcherry/apis/check-cherry-business-api/llms.txt) · [OpenAPI document](https://skmtc.dev/checkcherry/apis/check-cherry-business-api/revisions/84a9aabdf519?raw)
