Skip to main content

Create a contact

POST 

/contacts

Emails and phones are child rows, not scalar fields — send contact_emails_attributes / contact_phones_attributes. At least one email or phone is required: a contact has to be reachable.

409 Conflict is a normal branch, not a failure. The workspace's dedupe matcher found an existing contact. Either re-POST with "force": true inside data.attributes, or read the ranked candidates from check_duplicates and reuse the winner. If the error carries "code": "duplicate_blocked" the workspace's policy is block, force is ignored, and you MUST reuse.

Scope: write:contacts. Rate limit: 30/min.

Request​

Responses​

One resource, JSON:API shaped.