---
title: "Activate a Lead"
method: POST
path: "/v2/leads/{leadId}/activate"
tags: ["Leads"]
---

# Activate a Lead

`POST /v2/leads/{leadId}/activate`

## Request

- Base URL: `https://api.workiz.com/crm/api`
- URL: `https://api.workiz.com/crm/api/v2/leads/{leadId}/activate`
- Auth: none declared. Required headers: `Authorization`
- TypeScript: <https://skmtc.dev/workiz/apis/developer-api/docs/v2/leads/:leadId/activate/post.ts> (a function with typed inputs; its response is checked against the schema)

> **Beta:** Breaking changes may occur without notice.

Reactivates a lost Lead and returns the updated Lead object.

## Path parameters

- `leadId` string, required

## Headers

- `Authorization` string, required

## Response `200`

The updated Lead.

- ResponseLeadV2Dto
  - `id` string: The ID of the lead (prefix `LD-`).
  - `uuid` string: The UUID of the lead.
  - `serialId` number: The serial ID of the lead.
  - `status` string: The status of the lead.
  - `date` string, date-time, nullable: The date and time when the lead is scheduled. `null` when the lead is not scheduled.
  - `endDate` string, date-time, nullable: The date and time when the lead is scheduled to end. `null` when the lead is not scheduled.
  - `isAllDay` boolean: Whether the lead is all day.
  - `isScheduled` boolean: Whether the lead is scheduled.
  - `jobType` ResponseGenericJobTypeV2Dto
    - `id` string: The ID of the job type (prefix `JT-`).
    - `name` string: The name of the job type.
  - `adGroup` ResponseGenericAdGroupV2Dto
    - `id` string: The ID of the ad group (prefix `AG-`).
    - `name` string: The name of the ad group.
  - `description` string: The description of the lead.
  - `leadLost` boolean: Whether the lead was marked as lost.
  - `clientInfo` ResponseJobLeadDetailsV2Dto
    - `clientId` string, nullable: The ID of the associated client (prefix `CL-`), or null when there is no associated client.
    - `serialId` number: The serial ID of the client.
    - `firstName` string: The first name of the client.
    - `lastName` string: The last name of the client.
    - `companyName` string: The company name of the client.
    - `email` string: The email address of the client.
    - `primaryExt` string: The primary extension of the client.
    - `primaryPhone` string: The primary phone of the client.
    - `secondaryExt` string: The secondary extension of the client.
    - `secondaryPhone` string: The secondary phone of the client.
    - `addressDetails` ResponseJobLeadAddressV2Dto
      - `country` string: The country of the client.
      - `state` string: The state of the client.
      - `city` string: The city of the client.
      - `zipCode` string: The zip code of the client.
      - `address` string: The address of the client.
      - `unit` string: The unit of the client.
      - `latitude` number: The latitude of the client.
      - `longitude` number: The longitude of the client.
      - `locationKey` string: The location key of the client.
    - `serviceArea` ResponseGenericServiceAreaV2Dto
      - `id` string: The ID of the service area (prefix `SA-`).
      - `name` string: The name of the service area.
  - `team` ResponseGenericTechV2Dto[]: A list of lead technicians.
    - `id` string: The ID of the technician (prefix `USR-`).
    - `name` string: The name of the technician.
  - `tags` ResponseGenericTagV2Dto[]: A list of Tags.
    - `id` string: The ID of the tag (prefix `TAG-`).
    - `name` string: The name of the tag.
  - `customFields` ResponseGenericCustomFieldV2Dto[]: A list of Custom Fields.
    - `id` string: The ID of the custom field (prefix `CF-`).
    - `fieldName` string: The name of the custom field.
    - `value` union: The value of the custom field. Can be string, number, boolean, date string, or an array of file objects.
      - string: A string value.
      - number: A number value.
      - boolean: A boolean value.
      - object[]
        - `name` string: The name of the file.
        - `url` string: The URL of the file.
  - `notes` ResponseJobLeadNoteV2Dto[]: A list of Notes.
    - `id` string: The ID of the note (prefix `JNT-`).
    - `techName` string: The name of the technician who created the note.
    - `note` string: The note.
    - `timestamp` string, date-time: The date and time when the note was made.
  - `statusUpdated` string, date-time: The date and time when the lead status was last updated (based on account timezone).
  - `utcUpdatedAt` string, date-time: The date and time when the lead was last updated, in UTC.
  - `updatedAt` string, date-time: The date and time when the lead was last updated (based on account timezone).
  - `createdAt` string, date-time: The date and time when the lead was created (based on account timezone).

## Other responses

- `400`: Invalid request, the Lead is already active, or no lead statuses configured.
- `401`: Missing or invalid authentication token.
- `403`: The API key does not have permission to access this resource.
- `404`: Lead not found.
- `429`: Rate limit exceeded.

## Changes

- **2026-10-06** `fd96151569a1`: 1 breaking
  - the response property `clientInfo/allOf[#/components/schemas/ResponseJobLeadDetailsV2Dto]/clientId` became nullable for the status `200`
- **2026-09-29** `a2110eaa32f2`: 5 info
  - added the media type `application/json` for the response with the status `400`
  - added the media type `application/json` for the response with the status `401`
  - added the media type `application/json` for the response with the status `404`
  - added the non-success response with the status `403`
  - …1 more
- **2026-09-09** `c308fa019f29`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/workiz/apis/developer-api/changes/v2/leads/:leadId/activate/post.md)

---

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