---
title: Update Contact | API Docs
---

PUT

/api/partner/v2/contacts/{id}

Select code sample cURL (shell:curl)

```
const url = 'https://api.linqapp.com/api/partner/v2/contacts/1';
const options = {
  method: 'PUT',
  headers: {
    'X-LINQ-INTEGRATION-TOKEN': '<X-LINQ-INTEGRATION-TOKEN>',
    'Content-Type': 'application/json'
  },
  body: '{"contact":{"email":"newemail@example.com"}}'
};


try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```
curl --request PUT \
  --url https://api.linqapp.com/api/partner/v2/contacts/1 \
  --header 'Content-Type: application/json' \
  --header 'X-LINQ-INTEGRATION-TOKEN: <X-LINQ-INTEGRATION-TOKEN>' \
  --data '{ "contact": { "email": "newemail@example.com" } }'
```

- Production server api.linqapp.com/api/partner/v2/contacts/{id}

Updates an existing contact. Only the fields provided will be updated.

**At least one of the following fields must be provided:**

- `first_name`
- `last_name`
- `email`
- `phone_number`

**Additional optional fields:**

- `company`
- `title`
- `location`
- `user_email` (to change contact owner)

## Authorizations

- **[ApiKeyAuth](/v2/api/#apikeyauth/index.md)**

## Parameters

### Path Parameters

**id**

required

integer

The contact ID

## Request Body required

Media type application/json

object

**contact**

required

object

**first\_name**

string

**last\_name**

string

**email**

string

**phone\_number**

string

**company**

string

**title**

string

**location**

string

**user\_email**

Optional email of the user in your organization who should own this contact. Must be an existing user in your organization. If not provided, defaults to the first admin user.

string

##### Examples

Select example update\_email\_only

Update email only

```
{
  "contact": {
    "email": "newemail@example.com"
  }
}
```

Update multiple fields

```
{
  "contact": {
    "first_name": "John",
    "last_name": "Doe",
    "email": "john@example.com",
    "phone_number": "+15551234567",
    "company": "Acme Corp",
    "title": "CEO",
    "location": "San Francisco, CA"
  },
  "user_email": "owner@company.com"
}
```

## Responses

### 200

Contact updated successfully

Media type application/json

object

**data**

object

**id**

integer

**first\_name**

string

**last\_name**

string

**full\_name**

string

**email**

string

**phone\_number**

string

**company**

string

**title**

string

**location**

string

**image\_url**

string

nullable

**created\_at**

string format: date-time

**updated\_at**

string format: date-time

**contact\_owner**

The user who owns this contact in your organization

object

**id**

integer

**email**

string

**first\_name**

string

**last\_name**

string

**name**

string

##### Example

```
{
  "data": {
    "id": 123,
    "first_name": "John",
    "last_name": "Doe",
    "full_name": "John Doe",
    "email": "john@example.com",
    "phone_number": "+15551234567",
    "company": "Acme Corp",
    "title": "CEO",
    "location": "San Francisco, CA",
    "image_url": null,
    "created_at": "2025-07-30T10:00:00.000-05:00",
    "updated_at": "2025-07-30T10:00:00.000-05:00",
    "contact_owner": {
      "id": 456,
      "email": "owner@company.com",
      "first_name": "Jane",
      "last_name": "Owner",
      "name": "Jane Owner"
    }
  }
}
```

### 404

Contact not found

Media type application/json

Alternative error format used by Contacts and Webhook Subscriptions endpoints (render\_standard\_error format)

object

**status**

string

**error\_code**

string

**message**

string

**errors**

Array\<string>

##### Example

```
{
  "status": "error",
  "error_code": "CONTACT_NOT_FOUND",
  "message": "Contact not found",
  "errors": [
    "The requested contact does not exist or is not accessible to your organization"
  ]
}
```
