---
title: "Update Lead"
method: PATCH
path: "/leads/{lead_id}"
tags: ["Leads"]
---

# Update Lead

`PATCH /leads/{lead_id}`

## Request

- Base URL: `https://api.openintake.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openintake.ai/leads/{lead_id}`
- Auth: none declared

Update an existing lead.

All fields are optional. Only provided fields will be updated.
Useful for manual override of qualification status or case assignment.

## Path parameters

- `lead_id` string, uuid, required

## Request body

- UpdateLeadRequest: Request to update an existing lead record.
  - `case_id` string, uuid, nullable: Case ID to associate with the lead
  - `is_qualified` boolean, nullable: Override qualification status
  - `qualification_summary` string, nullable: Override qualification summary
  - `qualification_details` QualificationQA[], nullable: Update qualification Q&A pairs
    - `question` string, required: The qualification question that was asked or evaluated
    - `answer` string, required: The caller's answer or the evaluated response from the transcript
  - `first_name` string, nullable: Update first name
  - `last_name` string, nullable: Update last name
  - `phone_number` string, nullable: Update phone number
  - `email` string, nullable: Update email
  - `address` string, nullable: Update mailing address
  - `inquiry_reason` string, nullable: Update reason for call
  - `lead_source` string, nullable: Update where they heard about the firm
  - `lead_score` string, nullable: Override lead score (low, medium, high, unknown)
  - `lead_score_reasoning` string, nullable: Override reasoning for lead score

## Response `200`

Successful Response

- LeadResponse: Full lead record response.
  - `lead_id` string, uuid, nullable
  - `outbound_lead_id` string, uuid, nullable
  - `customer_id` string, uuid, required
  - `call_id` string, uuid, nullable
  - `conversation_id` string, uuid, nullable
  - `form_session_id` string, uuid, nullable
  - `case_id` string, uuid, nullable
  - `first_name` string, nullable
  - `last_name` string, nullable
  - `phone_number` string, nullable
  - `email` string, nullable
  - `address` string, nullable
  - `client_status` string, required
  - `is_qualified` boolean
  - `qualification_summary` string, nullable
  - `qualification_details` QualificationQA[], nullable
    - `question` string, required: The qualification question that was asked or evaluated
    - `answer` string, required: The caller's answer or the evaluated response from the transcript
  - `lead_score` string, nullable
  - `lead_score_reasoning` string, nullable
  - `custom_score_output` object, nullable
  - `inquiry_reason` string, nullable
  - `is_urgent` boolean, nullable
  - `urgency_reasoning` string, nullable
  - `matter_name` string, nullable
  - `subject_line` string, nullable
  - `lead_source` string, nullable
  - `notification_emails_sent` boolean
  - `notification_sms_sent` boolean
  - `skip_notifications` boolean
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, nullable

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-09** `d61063451a04`: 2 info
  - added the new optional request property `address`
  - added the optional property `address` to the response with the `200` status
- **2026-09-15** `a208ca0461de`: 2 info
  - added the optional property `is_urgent` to the response with the `200` status
  - added the optional property `urgency_reasoning` to the response with the `200` status

[Operation history](https://skmtc.dev/openintake/apis/openintake-api/changes/leads/:lead_id/patch.md)

---

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