---
title: "Update Lead"
method: PUT
path: "/v1/Outbound/{outboundId}/Lead/{leadId}"
tags: ["Outbound"]
---

# Update Lead

`PUT /v1/Outbound/{outboundId}/Lead/{leadId}`

Updates the details of an existing lead associated with a specific outbound campaign.

## Path parameters

- `outboundId` string, required
- `leadId` string, required

## Request body

- LeadToUpdateApi — Represents the data used to update an existing lead in an outbound campaign. All fields are optional; only the provided values will be updated.
  - `phoneNumber` string, nullable — The updated phone number of the lead. If provided, it will replace the existing phone number.
  - `externalId` string, nullable — An updated external identifier for the lead. This can be used to link the lead with external systems.
  - `timeZoneId` string, nullable — Optional time zone identifier for the lead. If set, this overrides the default time zone configured on the outbound. For accepted values, refer to the [Windows Time Zones list](https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11). Example: `"Pacific Standard Time"`, `"Türkiye Standard Time"`.
  - `callData` object, nullable — A dictionary containing additional lead information. These values can be used in the Pearl's "Opening Sentence" or "Flow Script". The `key` is the variable ID and the `value` is its value. See [Variables](/pages/variables) for more details. Example: `{ "email": "joe@gmail.com", "carLicense": "90-929-82" }`
  - `status` integer — The new status to assign to the lead. This can be used to update the lead's progression or interaction result. For example, if you want the outbound campaign to stop calling this lead, you can set the status to `Completed`. Or, if the lead already converted successfully in an external CRM, you can mark it directly as `Success`. `1 - New` `10 - NeedRetry` `100 - Success` `110 - NotSuccessful` `130 - Completed`

## Response `200`

The updated lead is returned.

- LeadApiView
  - `id` string, nullable — The unique identifier of the lead, represented as an ObjectId.
  - `externalId` string, nullable — The identifier for the lead from an external system, such as a CRM.
  - `phoneNumber` string, nullable — The phone number of the lead.
  - `timeZone` string, nullable — The time zone of the lead, represented as a float (e.g., -5.0 for EST).
  - `status` integer — The Status of the lead is the status of the last conversation. To determine the definition of 'Success' or 'Not Successful,' please refer to the [Create a Pearl](/pages/create_pearl#pearl-name) page at step 4. `1 - New` `10 - NeedRetry` `20 - InCallQueue` `30 - WrongCountryCode` `40 - OnCall` `70 - VoiceMailLeft` `100 - Success` `110 - NotSuccessful` `130 - Completed` `150 - Unreachable` `220 - Blacklisted` `500 - Error`
  - `created` string, date-time — The date and time when the lead was created.
  - `callsId` string[], nullable — The list of the ID's of all the calls this lead has received.
  - `lastCall` LeadLastCallApiView
    - `id` string, nullable — The unique identifier of the call.
    - `startTime` string, date-time — The date and time when the call processing started.
    - `pearlId` string, nullable — The ID of the Pearl Used in This Call.
    - `status` integer — Represents the current status of a call. `3 - InProgress` `4 - Completed` `5 - Busy` `6 - Failed` `7 - NoAnswer` `8 - Canceled` `10 - OnGoingText`
    - `from` string, nullable — The phone number from which the call was made.
    - `name` string, nullable — The name associated with the call, if available.
    - `collectedData` CallCollectedDataApiView
      - `transcript` AgentChatMessageApiView[], nullable — The transcript of the conversation.
        - `role` integer — `2 - Pearl` `3 - Client` `4 - PlatformUser`
        - `content` string, nullable — The content of the message
        - `startTime` number, float, nullable — The moment the message starts
        - `endTime` number, float, nullable — The moment the message ends
      - `collectedInfos` CollectedInfoView[], nullable — The information collected during the conversations.
        - `id` string, nullable — The ID of the variable collected
        - `name` string, nullable — The display name of the variable collected.
        - `value` unknown
    - `summary` string, nullable — A summary of the conversation.
    - `duration` integer — The duration of the call in seconds.
    - `recording` string, nullable — The URL of the recording of the call, if available.
    - `tags` string[], nullable — The tags or labels triggered during the conversation
  - `callData` object, nullable — A dictionary containing additional information about the call. It is used as variables that you can use in "Opening Sentence" or "Flow Script" when you create a Pearl on the platform. The keys represent the field names, and the values contain the corresponding data. This information can be used to personalize the conversation or manage lead-specific details. This parameter is optional. see [Variables](/pages/variables) for more information. Here is an example of the json to send: `{ "email" : "joe@gmail.com", "address": "3 Abbey Road UK" , "carLicense" : "90-929-82" }`
  - `collectedData` object, nullable — A dictionary containing all the information collected about the lead during the call. These values are the result of the conversation and reflect the answers or actions taken by the lead. The `key` represents the ID of the variable configured on the platform, and the `value` corresponds to the collected data. This information can be used to understand user intent, track specific responses, or power further automation. For more details on how variables work, see [Variables](/pages/variables). Here is an example of the JSON format: `{ "confirmBooking": true, "dropOffLocation": "Orly Airport", "rideTime": "Friday at 12:00", "userIntent": "Book a taxi to the airport" }`

## Other responses

- `400` — The request is invalid or the data is malformed.

---

[API](https://skmtc.net/nlpearl/apis/nlpearl-client-api.md) · [All operations](https://skmtc.net/nlpearl/apis/nlpearl-client-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/nlpearl/nlpearl-client-api/versions/52d64fc5d6e9/schema)
