ReactIn APIs

Update leads via API

Need to change a lead's data after it was added? The Update Lead API lets you patch an existing lead in place — email, name, company, or custom variables — without creating a duplicate.

2 min read

Already added a lead and need to change its data later — fix a typo, attach a fresh custom variable, or push an updated email from your CRM? The Update Lead API lets you patch an existing lead in place, without creating a duplicate.

✅ What you'll need before you start

Before using this API, make sure you have:

  1. Your Organization ID, List ID, and API Key

  2. The lead's id you want to update

📘 👉 Not sure how to get your API credentials? Follow this guide

💡 You get a lead's id from the Get Leads endpoint (the id field on each lead).


🔗 API Endpoint

Send a PATCH request to this endpoint to update a lead:

PATCH https://app.reactin.io/api/[organizationId]/lists/[listId]/leads

🔐 Authentication & Headers

HeaderValueDescription
AuthorizationYOUR_API_KEYYour secret API key from ReactIn
Content-Typeapplication/jsonRequired for all requests

🔒 Keep your API key private and only use it from secure backend code — never from the browser.


🧾 What to include in your request (Body)

The only required field is leadId. Every other field is optional — send just the ones you want to change. This is a true partial update: fields you omit are left untouched.

FieldRequiredDescription
leadIdYesThe id of the lead you want to update
emailOptionalNew email
firstNameOptionalNew first name
lastNameOptionalNew last name
linkedinUrlOptionalNew LinkedIn profile URL
companyNameOptionalNew company name
customVariable1–5OptionalAny custom variable to add or overwrite

⚠️ Updating a lead resets its enrichment status, so ReactIn will try to auto-enrich it again with the new data. It also fires the LEAD_UPDATED webhook if you have one connected.


🧪 Example (JavaScript)

await fetch("https://app.reactin.io/api/[organizationId]/lists/[listId]/leads", {
  method: "PATCH",
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'YOUR_API_KEY'
  },
  body: JSON.stringify({
    leadId: 'lead_a1b2c3',
    email: 'john.doe@newcompany.com',
    companyName: 'New Company',
    customVariable1: 'Renewed'
  })
});

🧾 Response format

{
  "success": true
}

🚫 Common Errors

CodeDescription
400Bad request – leadId is missing
401Unauthorized – invalid or missing API key
404Not found – the list or the lead doesn't exist in your organization
429Too many requests – rate limit exceeded
500Internal server error – try again later

💡 Best Practices

  • 🔎 Fetch the lead's id from the Get Leads endpoint before updating

  • ✂️ Only send the fields you actually want to change

  • 🔐 Keep your API key private — use a backend server or proxy

  • 🔁 Add retry logic for occasional network or server errors


💡 Pro tip: Because updates re-trigger enrichment, batching several changes into a single PATCH is cheaper than sending one request per field.