---
title: "Promote Lead"
method: POST
path: "/admin/marketing/leads/{lead_id}/promote"
tags: ["admin"]
---

# Promote Lead

`POST /admin/marketing/leads/{lead_id}/promote`

## Request

- Base URL: `https://api.framesail.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.framesail.com/admin/marketing/leads/{lead_id}/promote`
- Auth: HTTP bearer

Promote a lead into the affiliate CRM: create a billing.affiliates row
from the lead's fields, then mark the lead won and link the affiliate id
into its metadata. Status lands on 'replied' — the post-outreach rung of the
affiliate ladder ('redeemed'/'signed_up' are advanced by the Stripe
webhook, not by hand).

## Path parameters

- `lead_id` string, required

## Response `200`

Successful Response

- PromoteLeadResponse: Result of promoting a lead into the affiliate CRM.
  - `affiliate_id` string, required
  - `lead` Lead, required
    - `id` string, required
    - `name` string, required
    - `type` string, required
    - `url` string, required
    - `contact` string, required
    - `stage` string, required
    - `notes` string, required
    - `source` string, required
    - `metadata` object, required
    - `last_touch_at` string, nullable, required
    - `created_at` string, required
    - `updated_at` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/framesail/apis/framesail-api.md) · [All operations](https://skmtc.dev/framesail/apis/framesail-api/llms.txt) · [OpenAPI document](https://skmtc.dev/framesail/apis/framesail-api/revisions/12602eae0820?raw)
