# Update leads in bulk

`needleUpdateLeads`

Update up to 500 existing leads by id; never creates leads. Each row takes leadId plus the fields to change, same as needleUpdateLead. Returns updated or skipped per row in request order; skipped rows say why (lead_not_found, invalid_identity, or identity_taken with the conflictingLeadId).

**Input**

- `leads` (object[], required)
