---
title: "Update a CRM contact"
url: "https://docs.signnow.com/docs/contacts/operations/put-v2-crm-contacts-contact_id"
type: "endpoint"
section: "contacts"
slug: "contacts/operations/put-v2-crm-contacts-contact_id"
method: "PUT"
path: "/v2/crm/contacts/{contact_id}"
operation_id: "put-v2-crm-contacts-contact_id"
authorization: "bearer"
---

# Update a CRM contact

`PUT /v2/crm/contacts/{contact_id}`

Updates details in the CRM Contact.

## Authorization

bearer

## Path Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `contact_id` | string | Yes | The ID of the CRM contact. |

## Request Body

**Schema**

```json
{
  "type": "object",
  "required": [
    "email"
  ],
  "properties": {
    "email": {
      "type": "string",
      "description": "The new contact email address."
    },
    "phone": {
      "type": "object",
      "properties": {
        "number": {
          "type": "string",
          "description": "Contact phone number. Must be 10 or 16 characters."
        },
        "country_code": {
          "type": "string",
          "description": "Contact country code. Must be 2 characters."
        }
      },
      "description": "Object that holds details of the phone number."
    },
    "address": {
      "type": "object",
      "properties": {
        "city": {
          "type": "string",
          "description": "The city where the contact is located. Maximum 128 characters."
        },
        "state": {
          "type": "string",
          "description": "The state where the contact is located (only for United States). Maximum 128 characters."
        },
        "street": {
          "type": "string",
          "description": "The street where the contact is located. Maximum 255 characters."
        },
        "country": {
          "type": "string",
          "description": "The country where the contact is located. Required when `zip_code` parameters is specified."
        },
        "zip_code": {
          "type": "string",
          "description": "Zip code of the area where the contact is located. Maximum 10 characters."
        },
        "apartment": {
          "type": "string",
          "description": "The appartment office where the contact is located. Maximum 255 characters."
        }
      },
      "description": "Object that holds details about the contact address."
    },
    "company": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the company. Maximum 128 characters."
        },
        "job_title": {
          "type": "string",
          "description": "Job title of the contact in this company. Maximum 128 characters."
        }
      },
      "description": "Object that holds details about the company that this contact represents."
    },
    "last_name": {
      "type": "string",
      "description": "The new contact last name. Maximum 128 characters."
    },
    "first_name": {
      "type": "string",
      "description": "The new contact first name. Maximum 128 characters."
    },
    "description": {
      "type": "string",
      "description": "Contact description. Maximum 408 characters."
    }
  },
  "x-examples": {
    "Example 1": {
      "email": "example@mail.com",
      "phone": {
        "number": "3333333333",
        "country_code": "US"
      },
      "address": {
        "city": "New york",
        "state": "New York",
        "street": "5 avenue, 17",
        "country": "US",
        "zip_code": "11111",
        "apartment": "26"
      },
      "company": {
        "name": "Marvel company",
        "job_title": "CEO"
      },
      "last_name": "contact last name",
      "first_name": "contact name",
      "description": "Any details about this person"
    }
  }
}
```

**Example** (`Example 1`)

```json
{
  "email": "example@mail.com",
  "phone": {
    "number": "3333333333",
    "country_code": "US"
  },
  "address": {
    "city": "New york",
    "state": "New York",
    "street": "5 avenue, 17",
    "country": "US",
    "zip_code": "11111",
    "apartment": "26"
  },
  "company": {
    "name": "Marvel company",
    "job_title": "CEO"
  },
  "last_name": "contact last name",
  "first_name": "contact name",
  "description": "Any details about this person"
}
```

## Responses

### 204

Contact has been updated successfully

### 400

* Request with any of cases: invalid token, expired token, empty header, authorization = null, authorization without value
* Request with incorrect body parameters, see examples


**Example** (`Authorization issues`)

```json
{
  "code": 1537,
  "message": "invalid_token"
}
```

**Example** (`Field `number` limits`)

```json
{
  "code": 27400004,
  "message": "Field `number` must be 10 or 15 characters"
}
```

**Example** (`Invalid email address`)

```json
{
  "code": 27400002,
  "message": "Invalid email"
}
```

**Example** (`Field `number` not a string`)

```json
{
  "code": 27400003,
  "message": "Field `number` must be a string"
}
```

**Example** (`The `email` field is missing`)

```json
{
  "code": 27400001,
  "message": "The `email` field is required"
}
```

**Example** (`Field `city` must be a string`)

```json
{
  "code": 27400021,
  "message": "Field `city` must be a string"
}
```

**Example** (`Field `name` must be a string`)

```json
{
  "code": 27400011,
  "message": "Field `name` must be a string"
}
```

**Example** (`Field `state` must be a string`)

```json
{
  "code": 27400023,
  "message": "Field `state` must be a string"
}
```

**Example** (`The `city` field length limits`)

```json
{
  "code": 27400022,
  "message": "The `city` field length must not be more than 128 characters"
}
```

**Example** (`The `name` field length limits`)

```json
{
  "code": 27400012,
  "message": "The `name` field length must not be more than 128 characters"
}
```

**Example** (`Field `street` must be a string`)

```json
{
  "code": 27400017,
  "message": "Field `street` must be a string"
}
```

**Example** (`The `state` field length limits`)

```json
{
  "code": 27400024,
  "message": "The `state` field length must not be more than 128 characters"
}
```

**Example** (`Field `country` must be a string`)

```json
{
  "code": 27400015,
  "message": "Field `country` must be a string"
}
```

**Example** (`The `street` field length limits`)

```json
{
  "code": 27400018,
  "message": "The `street` field length must not be more than 255 characters"
}
```

**Example** (`Field `zip_code` must be a string`)

```json
{
  "code": 27400025,
  "message": "Field `zip_code` must be a string"
}
```

**Example** (`The `country` field length limits`)

```json
{
  "code": 27400016,
  "message": "The `country` field length must not be more than 2 characters"
}
```

**Example** (`Field `apartment` must be a string`)

```json
{
  "code": 27400019,
  "message": "Field `apartment` must be a string"
}
```

**Example** (`Field `job_title` must be a string`)

```json
{
  "code": 27400013,
  "message": "Field `job_title` must be a string"
}
```

**Example** (`Field `last_name` must be a string`)

```json
{
  "code": 27400007,
  "message": "Field `last_name` must be a string"
}
```

**Example** (`The `zip_code` field length limits`)

```json
{
  "code": 27400026,
  "message": "The `zip_code` field length must not be more than 10 characters"
}
```

**Example** (`Field `first_name` must be a string`)

```json
{
  "code": 27400005,
  "message": "Field `first_name` must be a string"
}
```

**Example** (`The `apartment` field length limits`)

```json
{
  "code": 27400020,
  "message": "The `apartment` field length must not be more than 255 characters"
}
```

**Example** (`The `job_title` field length limits`)

```json
{
  "code": 27400014,
  "message": "The `job_title` field length must not be more than 128 characters"
}
```

**Example** (`The `last_name` field length limits`)

```json
{
  "code": 27400008,
  "message": "The `last_name` field length must not be more than 128 characters"
}
```

**Example** (`Field `description` must be a string`)

```json
{
  "code": 27400028,
  "message": "Field `description` must be a string"
}
```

**Example** (`The `first_name` field length limits`)

```json
{
  "code": 27400006,
  "message": "The `first_name` field length must not be more than 128 characters"
}
```

**Example** (`Field `country_code` must be a string`)

```json
{
  "code": 27400009,
  "message": "Field `country_code` must be a string"
}
```

**Example** (`The `description` field length limits`)

```json
{
  "code": 27400029,
  "message": "The `description` field length must not be more than 408 characters"
}
```

**Example** (`The `city` contains invalid characters`)

```json
{
  "code": 27400036,
  "message": "The `city` field contains invalid characters"
}
```

**Example** (`The `name` contains invalid characters`)

```json
{
  "code": 27400033,
  "message": "The `name` field contains invalid characters"
}
```

**Example** (`The `state` contains invalid characters`)

```json
{
  "code": 27400039,
  "message": "The `state` field contains invalid characters"
}
```

**Example** (`The `street` contains invalid characters`)

```json
{
  "code": 27400037,
  "message": "The `street` field contains invalid characters"
}
```

**Example** (`The `country` contains invalid characters`)

```json
{
  "code": 27400035,
  "message": "The `country` field contains invalid characters"
}
```

**Example** (`The `apartment` contains invalid characters`)

```json
{
  "code": 27400038,
  "message": "The `apartment` field contains invalid characters"
}
```

**Example** (`The `job_title` contains invalid characters`)

```json
{
  "code": 27400034,
  "message": "The `job_title` field contains invalid characters"
}
```

**Example** (`The `last_name` contains invalid characters`)

```json
{
  "code": 27400031,
  "message": "The `last_name` field contains invalid characters"
}
```

**Example** (`The `first_name` contains invalid characters`)

```json
{
  "code": 27400030,
  "message": "The `first_name` field contains invalid characters"
}
```

**Example** (`The `phone_country_code` field length limits`)

```json
{
  "code": 27400010,
  "message": "The `phone_country_code` field length must be 2 characters"
}
```

**Example** (`The `country` field should be with `zip_code``)

```json
{
  "code": 27400027,
  "message": "The `country` field should be provided when provide `zip_code`"
}
```

**Example** (`The `description` contains invalid characters`)

```json
{
  "code": 27400032,
  "message": "The `description` field contains invalid characters"
}
```

**Example** (`The `country_code` contains invalid characters`)

```json
{
  "code": 27400040,
  "message": "The `country_code` field contains invalid characters"
}
```

### 404

* No contact found
* Attempt to edit shared contact

**Example** (`No contact found`)

```json
{
  "code": 27404001,
  "message": "Contact `46XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX` not found"
}
```

**Example** (`Attempt to edit shared contact`)

```json
{
  "code": 27400913,
  "message": "You are not allowed to perform this action"
}
```

### 422

* User already has a contact with this email
* Zip code does not match the country
* Invalid country name provided
* Invalid state name provided. Only for United States
* Invalid phone country code provided

**Example** (`Invalid country name provided`)

```json
{
  "code": 27422003,
  "message": "Invalid country"
}
```

**Example** (`Invalid phone country code provided`)

```json
{
  "code": 27422005,
  "message": "Invalid country_code"
}
```

**Example** (`Zip code does not match the country`)

```json
{
  "code": 27422002,
  "message": "Unsupported zip_code"
}
```

**Example** (`Invalid state name. Only for United States`)

```json
{
  "code": 27422004,
  "message": "Invalid state"
}
```

**Example** (`User already has a contact with this email`)

```json
{
  "code": 27422001,
  "message": "Contact already exists"
}
```

## Code Examples

> Replace `$SIGNNOW_ACCESS_TOKEN` and any `{placeholder}` values before running.

### cURL

```bash
curl -X PUT \
  "https://api.signnow.com/v2/crm/contacts/{contact_id}" \
  -H "Authorization: Bearer $SIGNNOW_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"email": "example@mail.com", "phone": {"number": "3333333333", "country_code": "US"}, "address": {"city": "New york", "state": "New York", "street": "5 avenue, 17", "country": "US", "zip_code": "11111", "apartment": "26"}, "company": {"name": "Marvel company", "job_title": "CEO"}, "last_name": "contact last name", "first_name": "contact name", "description": "Any details about this person"}'
```

---
*Full reference: https://docs.signnow.com/docs/contacts/operations/put-v2-crm-contacts-contact_id*
