Call the updateLead MCP tool
Update ONE lead: status (new | active | contacted | qualified | lost | unsubscribed), notes, custom_fields, identity fields, add/remove tags, or fill a blank work email through a connected enrichment provider (positive_reply, not_a_fit, booked_in, no_engagement, off_platform_activity, follow_up_later, do_not_contact, customer). Get the lead_id from findLeads or getCampaignLeads. IMPORTANT: every tag except follow_up_later permanently ends the lead's active campaign sequences when added (no more automated sends), and removing it never restarts them. custom_fields REPLACES the whole object for this workspace (it is not merged key by key) - include every key you want to keep, not just the ones changing; it is per-workspace, never shared with other workspaces holding the same lead. first_name, last_name, email, position, headline, company and linkedin_url edit the single SHARED record for this person: the same person can be a lead in more than one workspace, and these fields change what every one of those workspaces sees for them, not just this one. company is freetext, resolved to a company record the same way CSV import resolves it (an empty string clears the company link). linkedin_url is the globally unique identifier for that person across all of Reachium, so setting it to a URL already used by a different lead fails instead of overwriting. enrich_email:true is vendor-credit spending and is two-step confirmation-gated; an existing email is never overwritten. Surface anything in the returned warnings array to the user.
Called through the Actions bridge: the response is that tool's own result, wrapped as { data: <tool result> } under HTTP 200. Billing, daily-cap, and confirm-step outcomes are embedded INSIDE data, never remapped to an HTTP status (see the templated /api/v1/actions/{toolName} operation above for the full protocol, and x-mcp-actions for this tool's machine-readable scope/cap/confirm_behavior fields). Authentication, request-shape, and optional idempotency-protocol failures still use their documented non-200 statuses.
Request
- Base URL: https://app.reachium.io
- URL: https://app.reachium.io/api/v1/actions/updateLead
- Auth: HTTP bearer
Headers
Optional caller-generated key (8-200 characters: letters, digits, dot, underscore, colon, or hyphen). A final tool result is replayed for the same key and body. An ambiguous result remains 409 under that key; reconcile external state before using a new key. Reuse with a different body returns 422.
Request body
Response
The result of calling this tool.
Changes
No recorded changes to this operation across all 1 revision of this API.