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",
  "lastModificationSource": "SKIPCALL",
  "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"
}

Documentation Index

Fetch the complete documentation index at: https://docs.skipcall.app/llms.txt

Use this file to discover all available pages before exploring further.

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,
HUBSPOT,
PIPEDRIVE
email
object
Example:

"john.doe@example.com"

company
object
Example:

"Acme Inc."

city
object
Example:

"Paris"

country
object
Example:

"France"

url
object
Example:

"https://example.com"

linkedinUrl
object
Example:

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

linkedinSalesUrl
object
Example:

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

role
object
Example:

"CTO"

lastCallAt
string<date-time> | null