v3

OpenAPI 3.0.0Dex Terms of Service2026-07-311481984.7 KB
contacts

Create a contact (v2)

Create ONE contact. The common case — TanStack DB optimistic mutations, mobile add-contact, MCP tools. Requires Idempotency-Key. Returns { data: { contact: {...} } } with status 201. For bulk create, use POST /v2/contacts/batch.

post/v2/contacts/

Headers

Idempotency-Keystring required
Example:01HV8N6X7K3P9Q5R2T4Y6W8Z0A

Required. UUID per logical operation, reused on every retry. See apps/rest-api/src/shared/idempotency.ts for the full contract. Missing → 400 BadRequest; same key + different body → 409 Conflict.

Request body

full_namestring
first_namestring
last_namestring
descriptionstring
job_titlestring
legacy_locationstring
companystring
educationstring
starredboolean
source'linkedin_sync' | 'facebook_import' | 'cal_ingest' | 'email_ingest' | 'web_import' | 'csv_import' | 'whatsapp_sync' | 'imessage_sync' | 'phone_calls_sync' | 'mobile' | 'mobile_import' | 'instagram_sync' | 'oauth_interaction'
priority_tierinteger
image_urlstring uri
image_sourcestring uri
business_card_urlstring uri
{"stackTrail":"paths:/v2/contacts/:post:requestBody:content:application/json:schema:properties:website:anyOf","oasType":"schema","type":"unknown"}
birthdaystring date
birthday_yearnumber
frequencystring
{"stackTrail":"paths:/v2/contacts/:post:requestBody:content:application/json:schema:properties:last_seen_at:anyOf","oasType":"schema","type":"unknown"}
never_keep_in_touchboolean
{"stackTrail":"paths:/v2/contacts/:post:requestBody:content:application/json:schema:properties:next_reminder_at","oasType":"schema","type":"unknown"}
linkedinstring
twitterstring
facebookstring
instagramstring
telegramstring
tiktokstring
youtubestring
whatsapp_message_linkstring
whatsapp_message_snippetstring
{"stackTrail":"paths:/v2/contacts/:post:requestBody:content:application/json:schema:properties:whatsapp_last_message_at:anyOf","oasType":"schema","type":"unknown"}
imessage_message_linkstring
imessage_message_snippetstring
{"stackTrail":"paths:/v2/contacts/:post:requestBody:content:application/json:schema:properties:imessage_last_message_at:anyOf","oasType":"schema","type":"unknown"}
linkedin_message_linkstring
linkedin_last_message_snippetstring
{"stackTrail":"paths:/v2/contacts/:post:requestBody:content:application/json:schema:properties:linkedin_last_message_at:anyOf","oasType":"schema","type":"unknown"}
linkedin_dataobject
instagram_message_linkstring
instagram_message_snippetstring
{"stackTrail":"paths:/v2/contacts/:post:requestBody:content:application/json:schema:properties:instagram_last_message_at:anyOf","oasType":"schema","type":"unknown"}
{"stackTrail":"paths:/v2/contacts/:post:requestBody:content:application/json:schema:properties:gmail_last_interaction_at:anyOf","oasType":"schema","type":"unknown"}
gmail_last_interaction_provider_idstring
gmail_last_interaction_subjectstring
gmail_last_interaction_provider'GOOGLE' | 'OFFICE365'
{"stackTrail":"paths:/v2/contacts/:post:requestBody:content:application/json:schema:properties:gcal_last_interaction_at:anyOf","oasType":"schema","type":"unknown"}
gcal_last_interaction_provider_idstring
gcal_last_interaction_titlestring
gcal_last_interaction_provider'GOOGLE' | 'OFFICE365'
{"stackTrail":"paths:/v2/contacts/:post:requestBody:content:application/json:schema:properties:phone_call_last_interaction_at:anyOf","oasType":"schema","type":"unknown"}
phone_call_interaction_snippetstring
web_search_summaryobject
idstring uuid

Response

Created