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

# Update Contact

`PATCH /v1/contacts/{id}`

Update a contact's details. Requires API key with audience:write.

## Path parameters

- `id` string, required

## Request body

- UpdateContactRequest
  - `firstName` string
  - `lastName` string
  - `phone` string, nullable — Phone number (free-form, max 30 chars). Null clears the field.
  - `country` string, nullable — ISO 3166-1 alpha-2 country code
  - `language` string, nullable — Language code (ISO 639-1 or BCP 47)
  - `tags` string[] — Tag names (tags will be auto-created if they don't exist)
  - `customFields` object — Merged into the contact's existing custom fields — fields you don't include are left untouched. Pass an empty object to clear all custom fields.
  - `status` 'subscribed' | 'unsubscribed' | 'bounced' | 'non-subscribed'
  - `projectId` string, required

## Response `200`

Contact updated

- ApiResponseSubscriber
  - `success` boolean, required
  - `data` object, nullable
    - `id` string
    - `email` string, email
    - `firstName` string
    - `lastName` string
    - `phone` string — Phone number
    - `country` string
    - `language` string
    - `tags` string[]
    - `customFields` object
    - `status` 'subscribed' | 'unsubscribed' | 'bounced' | 'non-subscribed'
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
  - `error` string, nullable

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `404` — Resource not found

---

[API](https://skmtc.net/migma/apis/migma-ai-api-v1.md) · [All operations](https://skmtc.net/migma/apis/migma-ai-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/migma/migma-ai-api-v1/revisions/3f3dba69574b/schema)
