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

# Update a contact

`PATCH /contacts/{id}`

**Plan: Paid API.**

## Request body

- ContactWrite
  - `contact` object, required
    - `name` string, required
    - `email` string
    - `phone` string
    - `ext` string
    - `title` string
    - `department` string
    - `company_id` string, uuid
    - `company_name` string — Create only - find-or-create the company by name if company_id is absent. Ignored on update.
    - `website` string
    - `linkedin` string
    - `twitter` string
    - `facebook` string
    - `blog` string
    - `beeper_number` string
    - `background_info` string
    - `unsubscribe` boolean
    - `picture_url` string
    - `picture_filename` string
    - `picture_mimetype` string
    - `picture_size` integer
    - `picture_key` string
    - `enable_customer_portal` boolean
    - `login` string
    - `password` string, password
    - `emails_attributes` NestedEmailWrite[]
      - `id` string
      - `email` string
      - `email_type` string
      - `_destroy` boolean
    - `phones_attributes` NestedPhoneWrite[]
      - `id` string
      - `phone` string
      - `phone_type` string
      - `ext` string
      - `_destroy` boolean
    - `addresses_attributes` NestedAddressWrite[]
      - `id` string
      - `address_type` string
      - `name` string
      - `street` string
      - `street1` string
      - `suburb` string
      - `city` string
      - `state` string
      - `zip` string
      - `country` string
      - `attention_to` string
      - `zip_from_foreign_country` string — Contacts only.
      - `_destroy` boolean

## Response `200`

Updated.

- Contact — Full contact. `createdAt`/`updatedAt` are localized display strings.
  - `id` string, uuid
  - `name` string
  - `email` string, nullable
  - `phone` string, nullable
  - `phoneWithExt` string, nullable
  - `ext` string, nullable
  - `title` string, nullable
  - `department` string, nullable
  - `beeperNumber` string, nullable
  - `website` string, nullable
  - `blog` string, nullable
  - `facebook` string, nullable
  - `twitter` string, nullable
  - `linkedin` string, nullable
  - `active` boolean
  - `companyId` string, uuid
  - `enableCustomerPortal` boolean
  - `login` string, nullable
  - `notesCount` integer
  - `tasksCount` integer
  - `backgroundInfo` string, nullable
  - `allowDelete` boolean
  - `company` object
    - `id` string, uuid
    - `name` string
    - `enableCustomerPortal` boolean
  - `addresses` Address[]
    - `id` string
    - `addressType` string, nullable
    - `name` string, nullable
    - `nameStreet` string, nullable
    - `nameStreetCity` string, nullable
    - `street` string, nullable
    - `street1` string, nullable
    - `suburb` string, nullable
    - `city` string, nullable
    - `zip` string, nullable
    - `state` string, nullable
    - `country` string, nullable
    - `attentionTo` string, nullable
    - `coordinates` object
      - `latitude` number, nullable
      - `longitude` number, nullable
  - `emails` Email[]
    - `id` string
    - `email` string
    - `emailType` string, nullable
  - `phones` Phone[]
    - `id` string
    - `phone` string
    - `ext` string, nullable
    - `phoneType` string, nullable
    - `phoneWithExt` string, nullable
  - `createdById` string, uuid, nullable
  - `updatedById` string, uuid, nullable
  - `createdBy` NamedRef — Lightweight reference to a related record.
    - `id` string, uuid
    - `name` string
  - `updatedBy` NamedRef — Lightweight reference to a related record.
    - `id` string, uuid
    - `name` string
  - `createdAt` string
  - `updatedAt` string

## Other responses

- `422` — Unprocessable entity - field errors keyed by attribute.

---

[API](https://skmtc.net/shopvox/apis/shopvox-public-api.md) · [All operations](https://skmtc.net/shopvox/apis/shopvox-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/shopvox/shopvox-public-api/versions/7ac1ff5d444a/schema)
