---
title: "Update a prospect"
method: PATCH
path: "/prospects/{id}"
tags: ["Prospects"]
---

# Update a prospect

`PATCH /prospects/{id}`

## Request

- Base URL: `https://warmysender.com/api/v1`
- URL: `https://warmysender.com/api/v1/prospects/{id}`
- Auth: HTTP bearer

Partial update of a prospect. Accepts every field the in-app contact editor exposes except email (change the address in the app) and status (bounced / unsubscribed / do-not-contact cannot be lifted here). website, country, city, industry, tags and custom fields are included. linkedinUrl, instagramUsername and whatsappPhone may be set or cleared (null). A field name that is not on this list is refused and named in the error.

Required scope: `prospects:write`.

## Path parameters

- `id` string, required

## Request body

- object
  - `firstName` string, nullable: First name, or null to clear.
  - `lastName` string, nullable: Last name, or null to clear.
  - `company` string, nullable: Company, or null to clear.
  - `role` string, nullable: Role, or null to clear.
  - `phone` string, nullable: Phone, or null to clear.
  - `linkedinUrl` string, uri, nullable: LinkedIn URL, or null to clear.
  - `instagramUsername` string, nullable: Instagram handle (with or without the leading @, or a full instagram.com profile URL), or null to clear.
  - `whatsappPhone` string, nullable: WhatsApp number in any format, or null to clear. A number that cannot be read as a real phone number clears the field rather than being stored as typed.
  - `website` string, nullable: Website.
  - `country` string, nullable: Country.
  - `city` string, nullable: City.
  - `industry` string, nullable: Industry.
  - `tags` string[]: Tags (replaces the existing set). A comma-separated string is also accepted; null or an empty list clears all tags.
  - `customFields` object, nullable: Custom fields, merged per name. Names you omit are left unchanged. Set a name to null to remove that field. Send null for the whole object to remove every custom field. An empty object {} changes nothing.

## Response `200`

Success

## Other responses

- `400`: `unknown_fields` — The body included a field that cannot be updated. The response names those fields.; `validation_error` — Body failed validation.
- `401`: `unauthorized` — Missing or invalid API key.
- `403`: `insufficient_scope` — The API key lacks the scope this endpoint requires.
- `404`: `not_found` — Prospect not found.
- `429`: `rate_limited` — Too many requests — slow down and retry after the Retry-After delay.

---

[API](https://skmtc.dev/warmysender/apis/warmysender-public-api.md) · [All operations](https://skmtc.dev/warmysender/apis/warmysender-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/warmysender/apis/warmysender-public-api/revisions/eb5c7f10a1cd?raw)
