PUT /leads/:id

Authorization Required
https://[your-subdomain].trackdrive.com/api/v1/leads/:id

Update a lead by uuid.

Update a lead's data and attributes by its uuid. Depending on the parameters sent, this can also move the lead to another schedule, grant permission to run its next action, or schedule a callback.

Params

Param name Description
contact_field_type
Optional Blank value allowed

Pass an ID belonging to an Agent Script & Field Type to select that Custom Contact Field Type for this call.

  • Must be a String

caller_id
Optional Blank value allowed

The callerID for the lead. This is the number Trackdrive will dial when making outbound calls to the lead. This is also the number where Trackdrive will send SMS.

  • Must be a String

number
Optional Blank value allowed

The lead’s caller number. This is the number Trackdrive will dial when making outbound calls to the lead, and the number where Trackdrive will send SMS.

  • Must be a String

blocked
Optional Blank value allowed

Set this to true in order to prevent this lead from calling any of your telephone numbers. This will also prevent all outbound actions from Trackdrive.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

opt_out
Optional Blank value allowed

Select leads that have opted-out.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

email
Optional Blank value allowed

The email address for the lead. The lead’s email is required for sending emails from schedules to leads.

  • Must be a String

traffic_source_id
Optional Blank value allowed

Update the traffic source associated with this lead.

schedule_id
Optional Blank value allowed

Reassign the lead to a different Schedule. Only takes effect when the lead is already owned by a Schedule; it does not move a lead between a Schedule and an Offer.

offer_id
Optional Blank value allowed

Reassign the lead to a different Offer. Only takes effect when the lead is already owned by an Offer; it does not move a lead between an Offer and a Schedule.

expires_in
Optional Blank value allowed

For how many minutes should the lead stay in our database before it is automatically deleted? Leave this blank to set an infinite expiry. The default is to never delete leads.

  • Must be a decimal number.

next_action_at
Optional Blank value allowed

Change when the next action is scheduled to run. EG If you mistakenly scheduled leads to wait until next week, you can use this to bulk update them to run 1 second from now.

  • Must be a valid time: 2026-09-29 18:25:37 +0000

schedule_callback_at
Optional

Schedule a callback with the submitted lead. Must be a valid time EG: 2021-07-23 14:26:43 +0000

  • Must be a valid time: 2026-09-29 18:25:37 +0000

schedule_callback_in_seconds
Optional

Schedule a callback with the submitted lead in X seconds. Must be a valid integer EG: 3600

  • Must be a String

schedule_start
Optional Blank value allowed

Adds the lead back into the Schedule. Remaining actions will be performed.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

schedule_stop
Optional Blank value allowed

Removes the lead from the Schedule. No further actions will be taken.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

manual_schedule_restart
Optional Blank value allowed

When true, restarts the lead’s schedule from the beginning.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

manual_opt_in
Optional Blank value allowed

When true, marks the lead as opted-in, allowing outbound actions (calls, SMS, emails) to resume.

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

manual_opt_out
Optional Blank value allowed

When true, marks the lead as opted-out, preventing outbound actions (calls, SMS, emails).

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off

place_call_in_seconds
Optional Blank value allowed

Place an outbound call to the lead this many seconds from now. Use 0 to place the call immediately.

  • Must be a decimal number.

move_to_another_schedule_id
Optional Blank value allowed

Move To Another Schedule - Assign matching leads to the selected schedule. Lead’s already on the selected schedule will restart their schedule.

apply_to
Optional Blank value allowed

Should the data you’re sending also be applied to calls associated with this lead?

  • Must be one of: calls, self.

data
Optional Blank value allowed

Trackdrive will convert this hash of JSON data into tokens. Inbound and Outbound calls made and received from this Lead will automatically inherit these tokens. {interest: 'kittens', source: 'google', first_name: 'John', last_name: 'Smith'} Emails and SMS also have access to these tokens, so it’s possible to send email and SMS messages that substitute tokens with values, such as {{first_name}}. Example SMS: “Hello {{first_name}} {{last_name}}, thanks for you inquiry. We will be calling you in 30 seconds from {{trackdrive_number}}”

  • Must be a Hash