---
title: "Update a contact"
method: PATCH
path: "/contacts/{id}"
tags: ["Contacts"]
---

# Update a contact

`PATCH /contacts/{id}`

## Request

- Base URL: `https://www.unitpost.com/api/v1`
- URL: `https://www.unitpost.com/api/v1/contacts/{id}`
- Auth: HTTP bearer

Update a contact's standard or custom field values. Only the fields you send are changed; omitted fields are left as-is. The `{id}` accepts a contact id or email. To manage a contact's subscription preferences instead, use [Set a contact's topic preference](#post-contacts-id-topics). Requires the `contacts:write` capability.

## Request body

- ContactUpdate
  - `first_name` string, nullable
  - `last_name` string, nullable
  - `unsubscribed` boolean
  - `custom_fields` object

## Response `200`

The updated contact.

- Contact
  - `object` 'contact', required
  - `id` string, required
  - `email` string, nullable, required
  - `first_name` string, nullable, required
  - `last_name` string, nullable, required
  - `unsubscribed` boolean, required
  - `unsubscribed_at` string, nullable, required
  - `unsubscribe_reason` 'USER' | 'MANUAL' | 'IMPORT' | 'BOUNCE' | 'COMPLAINT', nullable, required
  - `custom_fields` object, required
  - `created_at` string, required
  - `updated_at` string, required

## Other responses

- `401`: Missing or invalid API key.
- `404`: Contact not found.
- `422`: Validation error.

---

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