---
title: "Update a contact (Beta)"
method: PATCH
path: "/contacts/{contact_id}"
tags: ["Contacts"]
---

# Update a contact (Beta)

`PATCH /contacts/{contact_id}`

Updates an existing contact in your EasyBroker account. Only the fields you send are modified. For `emails`, `phones`, `addresses` and `tags`, the value you send fully replaces the current list — matching entries are preserved, missing entries are removed and new entries are appended (order is ignored). This endpoint is still in beta, please contact our support team if you have any problem or want to share any feedback.

## Request body

- ContactBody
  - `first_name` string
  - `last_name` string
  - `title` string
  - `company` string
  - `private_description` string
  - `source` string — The contact origin name. A new source is created if one with this name doesn't exist.
  - `agent` string — The EasyBroker account email of the agent assigned to the contact.
  - `probability` 'low' | 'medium' | 'high' — Lead probability level.
  - `tags` string[] — Replaces the contact's tag list with this exact set.
  - `emails` ContactEmailBody[] — Replaces the contact's emails with this exact list (existing entries with matching type and email are preserved; missing entries are removed).
    - `type` string — The contact email type (e.g. Home, Work, Other).
    - `email` string
  - `phones` ContactPhoneBody[] — Replaces the contact's phone numbers with this exact list (matching is done by type and digits, ignoring formatting).
    - `type` string — The contact phone type (e.g. Home, Work, Mobile, Pager, Home fax, Work fax).
    - `phone` string
  - `addresses` ContactAddressBody[] — Replaces the contact's addresses with this exact list.
    - `type` string — The contact address type (e.g. Home, Work, Other).
    - `street` string
    - `city` string
    - `administrative_division` string
    - `country` string — Country name (English or Spanish) or two-letter code.
    - `postal_code` string

## Response `200`

The contact was updated successfully

- ContactSingle
  - `id` number
  - `full_name` string
  - `first_name` string
  - `last_name` string
  - `title` string
  - `company` string
  - `private_description` string
  - `tags` string[]
  - `source` string
  - `probability` 'low' | 'medium' | 'high', nullable
  - `agent` Agent
    - `id` integer
    - `name` string
    - `full_name` string
    - `mobile_phone` string
    - `profile_image_url` string
    - `email` string
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `emails` ContactEmails[]
    - `type` 'Personal' | 'Work' | 'Other' — The contact email type
    - `email` string
  - `phones` ContactPhones[]
    - `type` 'Home' | 'Work' | 'Mobile' | 'Home fax' | 'Work fax' | 'Pager' | 'Nextel' | 'WhatsApp' — The contact phone type
    - `phone` string
  - `addresses` ContactAddresses[]
    - `type` 'Home' | 'Work' | 'Other' — The contact addresses type
    - `street` string
    - `city` string
    - `administrative_division` string
    - `country` string
    - `postal_code` string

## Other responses

- `401` — API key is missing or invalid, or a restricted country was selected
- `404` — No contact was found with the provided ID
- `422` — The contact couldn't be updated because it is invalid

---

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