Skip to main content
PATCH
/
v1
/
contacts
/
{id}
Update a contact
curl --request PATCH \
  --url https://api-public.skipcall.app/v1/contacts/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "firstName": "John",
  "lastName": "Doe",
  "email": "john.doe@example.com",
  "company": "Acme Inc.",
  "city": "Paris",
  "country": "France",
  "url": "https://example.com",
  "linkedinUrl": "https://linkedin.com/in/johndoe",
  "linkedinSalesUrl": "https://linkedin.com/sales/people/johndoe",
  "role": "CTO",
  "allowPhoneCalls": true,
  "phoneNumbers": [
    "+33612345678",
    "+33698765432"
  ],
  "customFields": {
    "industry": "Technology",
    "team_size": "50-100"
  }
}
'
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "firstName": "John",
  "lastName": "Doe",
  "allowPhoneCalls": true,
  "callCount": 5,
  "teamId": "550e8400-e29b-41d4-a716-446655440000",
  "phoneNumbers": [
    "+33612345678"
  ],
  "customFields": {
    "Industry": "Technology",
    "Size": "50-100"
  },
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z",
  "email": "john.doe@example.com",
  "company": "Acme Inc.",
  "city": "Paris",
  "country": "France",
  "url": "https://example.com",
  "linkedinUrl": "https://linkedin.com/in/johndoe",
  "linkedinSalesUrl": "https://linkedin.com/sales/people/johndoe",
  "role": "CTO",
  "lastCallAt": "2023-11-07T05:31:56Z"
}

Authorizations

Authorization
string
header
required

Enter your API Key (sk_live_xxx or sk_test_xxx)

Path Parameters

id
string
required

Body

application/json
firstName
string

First name of the contact

Required string length: 1 - 100
Example:

"John"

lastName
string

Last name of the contact

Required string length: 1 - 100
Example:

"Doe"

email
string

Email address of the contact

Example:

"john.doe@example.com"

company
string

Company name

Maximum string length: 200
Example:

"Acme Inc."

city
string

City

Maximum string length: 200
Example:

"Paris"

country
string

Country

Maximum string length: 200
Example:

"France"

url
string

Website URL

Example:

"https://example.com"

linkedinUrl
string

LinkedIn profile URL

Example:

"https://linkedin.com/in/johndoe"

linkedinSalesUrl
string

LinkedIn Sales Navigator URL

Example:

"https://linkedin.com/sales/people/johndoe"

role
string

Role / job title

Maximum string length: 200
Example:

"CTO"

allowPhoneCalls
boolean

Whether the contact accepts phone calls

Example:

true

phoneNumbers
string[]

Phone numbers in E.164 format. If provided, replaces all existing phone numbers.

Required array length: 1 - 20 elements
Example:
["+33612345678", "+33698765432"]
customFields
object

Custom field values keyed by the custom field slug (the stable, immutable identifier returned by GET /custom-fields). Only provided keys are updated; omit to leave existing values untouched. Custom fields must already exist for the team. For backwards compatibility this endpoint also accepts keys matching the custom field name, but this fallback is deprecated and will be removed in a future release — migrate your integrations to use slugs.

Example:
{
"industry": "Technology",
"team_size": "50-100"
}

Response

The updated contact

id
string
required
Example:

"550e8400-e29b-41d4-a716-446655440000"

firstName
string
required
Example:

"John"

lastName
string
required
Example:

"Doe"

allowPhoneCalls
boolean
required
Example:

true

callCount
number
required
Example:

5

teamId
string
required
Example:

"550e8400-e29b-41d4-a716-446655440000"

phoneNumbers
string[]
required
Example:
["+33612345678"]
customFields
object
required
Example:
{
"Industry": "Technology",
"Size": "50-100"
}
createdAt
string<date-time>
required
updatedAt
string<date-time>
required
lastModificationSource
enum<string>
required
Available options:
SKIPCALL,
API
email
object | null
Example:

"john.doe@example.com"

company
object | null
Example:

"Acme Inc."

city
object | null
Example:

"Paris"

country
object | null
Example:

"France"

url
object | null
Example:

"https://example.com"

linkedinUrl
object | null
Example:

"https://linkedin.com/in/johndoe"

linkedinSalesUrl
object | null
Example:

"https://linkedin.com/sales/people/johndoe"

role
object | null
Example:

"CTO"

lastCallAt
string<date-time> | null