Create a Contact
department. Set it afterwards via Update a Contact, or map a column to it in a CSV import — the omission here is a quirk of the current field list on this endpoint, not a validation rule.422 is raised unless at least one of email, linkedin_url, first_name, or last_name is present, or if stage isn’t one of the three valid values.
Auth
Requires a CRM manage scope and an active organization on the token. Any*:manage scope qualifies — in practice contacts:manage, deals:manage, companies:manage, or activities:manage.
Response
The created contact row — same shape as one element of the list response above, without theaccounts embed. target_at (and lead_at/contact_at if stage warrants) are stamped to “now” so the funnel timeline stays continuous even for contacts created directly at a later stage.
Errors
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Create a contact/lead. Email is optional — a contact may be identified by a LinkedIn URL or just a name (e.g. a customer-intel target with no email yet).
Contact's email address.
Given name.
Family name.
Job title.
Phone number.
Free-text company name for an unlinked contact (no account_id).
Company's email domain, used for search/enrichment.
LinkedIn profile URL.
Origin tag for this record; defaults to 'manual'.
Free-text notes.
Logto user ID of the owning rep.
Existing account to link this contact to; must belong to the caller's organization.
Funnel stage to create at (target/lead/contact); defaults to 'target' if omitted.
Response
Successful Response
The response is of type Response Create Contact Route Contacts Post · object.