---
title: "Promote a Lead to a Deal (temporarily disabled)"
method: POST
path: "/v1/leads/{id}/promote"
tags: ["Leads"]
---

# Promote a Lead to a Deal (temporarily disabled)

`POST /v1/leads/{id}/promote`

## Request

- Base URL: `https://app.getdealboard.com`
- URL: `https://app.getdealboard.com/v1/leads/{id}/promote`
- Auth: HTTP bearer

⚠️ **Temporarily disabled.** This endpoint currently returns `403`
(`code: "promote_disabled"`). Enrich leads via `PATCH /v1/leads/{id}`; a
teammate promotes them to deals from the Dealboard inbox. The behavior
below applies when promotion is re-enabled.

Creates a new Deal in the same board's pipeline using the Lead's submitter
as the primary contact and the form fields as the Deal name + company. The
Lead row is updated with `triageStatus="promoted"` and `dealId` pointing at
the new Deal — provenance is preserved.

Idempotent on `leadId`: replays return the existing Deal id without
creating a second one.

## Headers

- `Idempotency-Key` string

## Request body

- object: All fields optional. Defaults come from the Lead form + the board's configured defaults.
  - `dealName` string: Override the Deal name. Default: companyName, or full name, or workEmail, or "New deal".
  - `ownerUserId` string, uuid: Override the Deal owner. Default: the lead form's configured default owner.

## Response `200`

OK — the Lead was already promoted. Returns the existing Deal id.

- object
  - `dealId` string, uuid, required
  - `leadId` string, uuid, required

## Other responses

- `201`: Created — the Lead was promoted; the Deal is new.
- `400`: Invalid input.
- `404`: Lead not found in your workspace.
- `409`: Board has no stages — add stages before promoting leads.

---

[API](https://skmtc.dev/getdealboard/apis/dealboard-api.md) · [All operations](https://skmtc.dev/getdealboard/apis/dealboard-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getdealboard/apis/dealboard-api/revisions/4066bf9d265e?raw)
