PATCH
/
v4
/
contacts
/
{id}
Update a contact
curl --request PATCH \
  --url https://api.reply.io/v4/contacts/{id} \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "firstName": "Jane",
  "company": "New Company Inc",
  "ownerUserId": 55,
  "customFields": [
    {
      "id": 1,
      "value": "Updated Value"
    },
    {
      "name": "leadSource",
      "value": "Referral"
    }
  ]
}
'
{
  "id": 12345,
  "email": "john.doe@company.com",
  "firstName": "John",
  "lastName": "Doe",
  "title": "Senior Product Manager",
  "company": "Tech Solutions Inc",
  "domain": "company.com",
  "companySize": "OneThousand",
  "city": "San Francisco",
  "state": "CA",
  "country": "United States",
  "timeZoneId": "America/Los_Angeles",
  "phone": "+1-415-555-0123",
  "phoneStatus": "Valid",
  "linkedInUrl": "https://www.linkedin.com/in/johndoe",
  "linkedInSalesNavigatorUrl": "https://www.linkedin.com/sales/profile/123456",
  "linkedInRecruiterUrl": "https://www.linkedin.com/recruiter/profile/789012",
  "industry": "Software & Technology",
  "notes": "Met at SaaS Conference 2024",
  "ownerUserId": 42,
  "accountId": 100,
  "isOptedOut": false,
  "addingDate": "2024-03-08T10:00:00+00:00",
  "createdAt": "2024-03-08T10:00:00",
  "lastModifiedAt": "2024-03-10T15:30:00",
  "customFields": [
    {
      "key": "leadSource",
      "value": "Conference"
    },
    {
      "key": "budget",
      "value": "100k-250k"
    }
  ],
  "sequences": [
    {
      "sequenceId": 100,
      "sequenceName": "Sales Outreach",
      "status": "Active",
      "currentStep": 2,
      "addingDate": "2024-03-08T10:00:00+00:00",
      "emailAccountId": 101,
      "linkedInAccountId": null
    }
  ],
  "lists": [
    {
      "listId": 10,
      "listName": "Hot Leads",
      "isShared": false
    }
  ]
}

Authorizations

X-API-Key
string
header
required

API key passed in the X-API-Key header

Path Parameters

id
integer
required

Contact ID

Body

application/json

Request model for updating an existing contact. All fields are optional — only include the fields you want to change (PATCH semantics).

email
string<email>

Primary email address

firstName
string

First name

lastName
string

Last name

phone
string

Phone number

phone2
string

Secondary phone number

title
string

Job title

company
string

Organization name

companySize
enum<string>

Organization employee count range

Available options:
Empty,
SelfEmployed,
Ten,
Fifty,
TwoHundred,
FiveHundred,
OneThousand,
FiveThousand,
TenThousand,
OverTenThousand
industry
string

Business sector

city
string

City of residence

state
string

State/province

country
string

Country

timeZoneId
string

Timezone identifier

linkedInUrl
string<uri>

LinkedIn profile URL

linkedInSalesNavigatorUrl
string<uri>

Sales Navigator URL

linkedInRecruiterUrl
string<uri>

Recruiter URL

notes
string

Additional information

ownerUserId
integer | null

Change the owner of this contact

accountId
integer | null

ID of the contact account to link this contact to

customFields
object[]

Custom fields to update. Fields can be identified by id or name. Unlike the response model which uses key/value, the patch model accepts id, name, and value.

Response

Contact updated successfully

Contact response model

id
integer

Unique ID

email
string<email>

Primary email address

domain
string

Email domain (derived from email)

firstName
string

First name

lastName
string

Last name

phone
string

Phone number

title
string

Job title

company
string

Organization name

companySize
enum<string>

Organization employee count range

Available options:
Empty,
SelfEmployed,
Ten,
Fifty,
TwoHundred,
FiveHundred,
OneThousand,
FiveThousand,
TenThousand,
OverTenThousand
industry
string

Business sector

city
string

City of residence

state
string

State/province

country
string

Country

timeZoneId
string

Timezone identifier

linkedInUrl
string<uri>

LinkedIn profile URL

linkedInSalesNavigatorUrl
string<uri>

Sales Navigator URL

linkedInRecruiterUrl
string<uri>

Recruiter URL

phoneStatus
enum<string>

Phone validation status

Available options:
Pending,
Invalid,
Valid,
ValidationFailed,
NotValidated
notes
string

Additional information

ownerUserId
integer

ID of the user who owns this contact

accountId
integer | null

ID of the contact account this contact belongs to

isOptedOut
boolean

Whether the contact has opted out of communications

addingDate
string<date-time> | null

Date the contact was added

createdAt
string<date-time> | null

Creation timestamp

lastModifiedAt
string<date-time> | null

Last modification timestamp

customFields
object[]

User-defined fields

sequences
object[]

Sequences the contact is enrolled in

lists
object[]

Lists the contact belongs to