# Update leads in bulk

### Update leads in bulk

`PATCH /api/v1/leads/bulk`

Operation ID: `updateLeads`

Updates up to 500 existing leads by id; never creates one. Each row takes the same fields as PATCH /leads/{leadId}, and only the fields sent change. A row is skipped rather than failing the batch when the id does not name a lead in this workspace (lead_not_found), a handle cannot be read (invalid_identity), or a handle already belongs to another lead (identity_taken, with conflictingLeadId). Results come back in request order.

**Request body** (required)

- `leads` (object[], required)

**200**: One result per submitted row, in request order.

- `results` (object[], required)
- `requestId` (string · uuid, required): Id of this request, for support and troubleshooting

**Errors**

- `400`: Bad request
- `401`: Unauthorized: missing or invalid API key
- `403`: Forbidden
- `404`: Not found
- `422`: Invalid request payload
