---
title: "Mark Lead Discovery Held"
method: POST
path: "/api/sales/leads/{lead_id}/mark-held"
tags: ["Sales"]
---

# Mark Lead Discovery Held

`POST /api/sales/leads/{lead_id}/mark-held`

## Request

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

Mark a discovery call as actually held — keyed by lead_id, not booking_uid.

Track B Workflow #1 — UI version of POST /api/cal/booking/{uid}/held.

The dashboard already knows the lead_id (it's the row the user is acting
on), so calling by lead_id is friction-free. The booking-uid endpoint
remains available for flows that only know the cal.com uid (Slack
reaction handlers reading from the booking link, etc.).

Idempotent: subsequent calls are no-ops (booking_held_at stays at the
first-mark value). Returns 404 if the lead has no booking_scheduled_at.

## Path parameters

- `lead_id` string, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api.md) · [All operations](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api/revisions/f9b8223f3ac4?raw)
