v2

latestOpenAPI 3.0.02026-07-26365590.3 KB
Contacts

Create a contact

Creates a new contact in your organization

post/v1/contacts

Headers

x-workspace-idstring uuid

Target workspace id (from GET /v1/workspaces). Required for multi-workspace API keys to designate which workspace to write to; omit for single-workspace keys, where it is resolved automatically. Must be within the API key scope.

Request body

firstNamestring required

First name of the contact

lastNamestring required

Last name of the contact

emailstring

Email address of the contact

companystring

Company name

citystring

City

countrystring

Country

urlstring

Website URL

linkedinUrlstring

LinkedIn profile URL

linkedinSalesUrlstring

LinkedIn Sales Navigator URL

rolestring

Role / job title

allowPhoneCallsboolean

Whether the contact accepts phone calls. Defaults to true.

phoneNumbersstring[] required

Phone numbers in E.164 format (e.g., +33612345678)

customFieldsobject

Custom field values keyed by the custom field slug (the stable, immutable identifier returned by GET /custom-fields). Custom fields must already exist for the team (use the Custom Fields endpoints to create them). 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 request

{
  "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"
  ],
  "customFields": {
    "industry": "Technology",
    "team_size": "50-100"
  }
}

Response

The created contact

idstring required
firstNamestring required
lastNamestring required
emailobject nullable
companyobject nullable
cityobject nullable
countryobject nullable
urlobject nullable
linkedinUrlobject nullable
linkedinSalesUrlobject nullable
roleobject nullable
allowPhoneCallsboolean required
callCountnumber required
lastCallAtstring date-time nullable
teamIdstring required
phoneNumbersstring[] required
customFieldsobject required
createdAtstring date-time required
updatedAtstring date-time required
lastModificationSource'SKIPCALL' | 'API' required

Example response

{
  "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"
  }
}