> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cortado.pro/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a Lead

> Retrieve a single lead, including its contact and requested events

## Endpoint

```
GET https://api.cortado.pro/api/v1/ext/leads/{id}
```

Returns one lead by its UUID, along with the contact who submitted it and the events they requested.

## Request

```bash theme={null}
curl -H "Authorization: Bearer cort_your_key_here" \
  https://api.cortado.pro/api/v1/ext/leads/8f14e45f-ceea-467a-9e6a-1f2b3c4d5e6f
```

### Path Parameters

| Parameter | Type | Description                                            |
| --------- | ---- | ------------------------------------------------------ |
| `id`      | UUID | The lead's ID. Copy it from the lead's URL in Cortado. |

## Response

```json theme={null}
{
  "id": "8f14e45f-ceea-467a-9e6a-1f2b3c4d5e6f",
  "organization_id": "3b1c9a2e-77d4-4c0b-9f61-2a5e8d3f4c11",
  "contact_id": "c0ffee00-1111-2222-3333-444455556666",
  "stage": "QUOTE_SENT",
  "event_type_key": "wedding",
  "event_location": "Cincinnati, OH",
  "referrer": null,
  "assigned_to": null,
  "booking_id": null,
  "tags": ["HOT_LEAD"],
  "events": [
    {
      "id": "aa11bb22-cc33-dd44-ee55-ff6677889900",
      "event_date": "2026-10-05T18:30:00Z",
      "event_length_hours": 4,
      "event_guests": 40,
      "event_timezone": "America/New_York",
      "event_type_key": null,
      "event_location": "Cincinnati, OH"
    }
  ],
  "contact": {
    "id": "c0ffee00-1111-2222-3333-444455556666",
    "first_name": "Ada",
    "last_name": "Lovelace",
    "email": "ada@example.com",
    "phone_number": null
  },
  "quote_total": 1250.5,
  "notes_count": 2,
  "tasks_count": 0,
  "quotes_count": 1,
  "archived_at": null,
  "created_at": "2026-09-01T14:02:11Z",
  "updated_at": "2026-09-03T09:45:00Z"
}
```

### Fields

| Field             | Type            | Description                                          |
| ----------------- | --------------- | ---------------------------------------------------- |
| `id`              | string          | The lead's UUID                                      |
| `organization_id` | string          | The organization the lead belongs to                 |
| `contact_id`      | string          | UUID of the contact who submitted the inquiry        |
| `stage`           | string          | Pipeline stage — see below                           |
| `event_type_key`  | string \| null  | The event type the customer selected                 |
| `event_location`  | string \| null  | Location on the lead itself                          |
| `referrer`        | string \| null  | Where the customer came from, when known             |
| `source`          | object          | Raw attribution data. **Omitted** when there is none |
| `assigned_to`     | string \| null  | UUID of the assigned staff member                    |
| `booking_id`      | string \| null  | Set once the lead is converted to a booking          |
| `tags`            | array of string | Tags applied to the lead, e.g. `HOT_LEAD`            |
| `events`          | array           | The events the customer requested — see below        |
| `contact`         | object \| null  | Summary of the attached contact                      |
| `quote_total`     | number \| null  | Total of the lead's quote, when one exists           |
| `notes_count`     | integer         | Number of notes on the lead                          |
| `tasks_count`     | integer         | Number of tasks on the lead                          |
| `quotes_count`    | integer         | Number of quotes on the lead                         |
| `archived_at`     | string \| null  | When the lead was archived                           |
| `created_at`      | string          | When the lead was created                            |
| `updated_at`      | string          | When the lead was last changed                       |

### Stage Values

| Value         | Meaning                      |
| ------------- | ---------------------------- |
| `NEW`         | Just arrived, not yet worked |
| `IN_PROGRESS` | Being actively worked        |
| `QUOTE_SENT`  | A quote has gone out         |
| `ACCEPTED`    | The customer accepted        |
| `REJECTED`    | The customer declined        |
| `STALE`       | No movement for a while      |

### Event Object

| Field                | Type            | Description                            |
| -------------------- | --------------- | -------------------------------------- |
| `id`                 | string          | The event's UUID                       |
| `event_date`         | string \| null  | Start date and time, in UTC            |
| `event_length_hours` | number \| null  | Requested duration in hours            |
| `event_guests`       | integer \| null | Expected guest count                   |
| `event_timezone`     | string \| null  | IANA timezone, e.g. `America/New_York` |
| `event_type_key`     | string \| null  | Event type for this specific event     |
| `event_location`     | string \| null  | Where this event takes place           |

### Contact Object

| Field          | Type           | Description        |
| -------------- | -------------- | ------------------ |
| `id`           | string         | The contact's UUID |
| `first_name`   | string         | First name         |
| `last_name`    | string         | Last name          |
| `email`        | string \| null | Email address      |
| `phone_number` | string \| null | Phone number       |

Use `contact_id` with [Get a Contact](/api/contacts) to fetch the contact's custom fields.

## Errors

| Status | `error`                               | Cause                                               |
| ------ | ------------------------------------- | --------------------------------------------------- |
| `400`  | `invalid_id`                          | `{id}` is not a valid UUID                          |
| `401`  | `missing_api_key` / `invalid_api_key` | Missing, malformed, or revoked key                  |
| `403`  | `api_access_disabled`                 | API access is off for the organization              |
| `404`  | `not_found`                           | No such lead, or it belongs to another organization |
| `429`  | —                                     | Rate limit exceeded                                 |

See [Errors](/api/errors) for the full response format.
