---
title: "Update a contact."
method: PUT
path: "/api/v1/contacts/{id}"
tags: ["CRM · Contacts"]
---

# Update a contact.

`PUT /api/v1/contacts/{id}`

## Request

- Base URL: `https://api-dev.fusehealth.com`
- URL: `https://api-dev.fusehealth.com/api/v1/contacts/{id}`
- Auth: API key in header `x-api-key`

Update a contact.

## Path parameters

- `id` string, required

## Request body

- object
  - `firstName` string

## Response `200`

Success

- object
  - `success` boolean
  - `message` string
  - `data` Contact
    - `id` string, uuid
    - `firstName` string
    - `lastName` string
    - `email` string
    - `phoneNumber` string, nullable
    - `emailOptedOut` boolean
    - `smsOptedOut` boolean
    - `notifyProductNews` boolean: The contact opted in to marketing email. Sequence emails are sent only to contacts where this is true.
    - `notifySmsUpdates` boolean: The contact opted in to text messages. Sequence SMS steps are sent only when this is true.
    - `optOutDate` string, date-time, nullable
    - `createdAt` string, date-time
    - `lastLoginAt` string, date-time, nullable
    - `lastContactDate` string, date-time, nullable
    - `tags` Tag[]
      - `id` string, uuid
      - `name` string
      - `description` string, nullable
      - `category` string
      - `color` string
      - `clinicId` string, uuid
      - `isActive` boolean
      - `createdAt` string, date-time
      - `updatedAt` string, date-time

## Other responses

- `401`: Missing, invalid, inactive, or expired API key (or JWT)
- `403`: Authenticated but not permitted (insufficient scope, wrong role, or FUSE feature not enabled)
- `404`: Resource not found (or not owned by the key's clinic)

---

[API](https://skmtc.dev/fusehealth/apis/fuse-brand-api-external.md) · [All operations](https://skmtc.dev/fusehealth/apis/fuse-brand-api-external/llms.txt) · [OpenAPI document](https://skmtc.dev/fusehealth/apis/fuse-brand-api-external/revisions/50821832728c?raw)
