Skip to main content
POST
Create a contact

Authorizations

Authorization
string
header
required

OAuth 2.0 authorization code flow with PKCE (S256). See the authorization guide.

Scopes

contacts:write

Create, update and delete your contacts and households

Body

application/json

A contact needs a first name or a last name. An empty string is the same as null.

first_name
string | null
Maximum string length: 255
middle_name
string | null
Maximum string length: 255
last_name
string | null
Maximum string length: 255
nickname
string | null
Maximum string length: 255
suffix
string | null
Maximum string length: 50
company_name
string | null
Maximum string length: 255
job_title
string | null
Maximum string length: 255
birth_date
string<date> | null

From 1900-01-01 to 2100-12-31.

contact_type
string | null

A value from GET /contact_types. Required when the firm requires it.

Maximum string length: 500
email_addresses
object[]

At most one entry is primary.

phone_numbers
object[]

At most one entry is primary.

mailing_addresses
object[]

At most one entry is primary.

Response

The created contact.

is_external
boolean
required
read-only

True when this record has an active integration link, including an export from Vega. This is current linkage, not historical origin, and is independent of linked contacts or households. Associated records cannot be patched or deleted through this API, except that a meeting may patch reviewed alone. No provider/account details are exposed.

id
string<uuid>
required
first_name
string | null
required
middle_name
string | null
required
last_name
string | null
required
nickname
string | null
required
suffix
string | null
required
company_name
string | null
required
job_title
string | null
required
birth_date
string<date> | null
required
contact_type
string | null
required

A value from the firm's contact types. A contact synced from another CRM can carry a value that is not on the list.

email_addresses
object[]
required

The primary entry first.

phone_numbers
object[]
required

The primary entry first.

mailing_addresses
object[]
required

The primary entry first.

households
object[]
required

The households the contact belongs to, among those the user can see.

created_on
string<date-time>
required
updated_on
string<date-time>
required

Follows the contact's own fields. A change to its emails, phone numbers or addresses alone does not move it.

important_information
string | null
required

Read-only client profile content.

financial_planning
string | null
required

Read-only client profile content.

investments
string | null
required

Read-only client profile content.

living_story
string | null
required

Read-only client profile content.

services
string[]
required

Stored firm service values; empty when no services are set.

custom_fields
object[]
required
roles
object[]
required

The firm-defined business role slots. Assignment does not grant access. An empty slot has null user_id and user_label; a former firm user can keep an id with a null label.

Related contacts visible to the connected user. related_to_contacts contains records listing this record.

Related contacts visible to the connected user. related_to_contacts contains records listing this record.

Related households visible to the connected user. related_to_households contains records listing this record.

Related households visible to the connected user. related_to_households contains records listing this record.

owner
object | null
required
creator
object | null
required
gender
string | null
required
marital_status
string | null
required
occupation
string | null
required
client_since_date
string<date> | null
required
investment_objective
string | null
required
time_horizon
string | null
required
risk_tolerance
string | null
required
investment_experience
string | null
required
linkedin_url
string | null
required
twitter_name
string | null
required
gross_annual_income
number | null
required
assets
number | null
required
non_liquid_assets
number | null
required
liabilities
number | null
required