Create a contact
POST
Scope: contacts:write. To keep the users of your own system in sync prefer PUT /contacts/by-external-id. Idempotency-Key is required.
integrationKeyheader
AuthorizationBearer <cf_sk_…>Organization API key (cf_sk_…), created under Organization → API and automations → API keys and sent as Authorization: Bearer cf_sk_….
Idempotency-Key*stringLength
length <= 200application/json- body
name?stringLength
length <= 255email?stringphone?stringjob_title?stringLength
length <= 120company?|Format
uuidlocale?stringtimezone?stringnotes?stringcustom_fields?blocked?booleanexternal_id?stringThe customer's own user id; empty clears it. 409 EXTERNAL_ID_EXISTS when another contact has it.
Length
length <= 200Created
application/json- response
success*trueValue in
truedata*meta*curl -X POST 'https://api.getclickfix.com/v1/public-api/contacts' \ -H 'Idempotency-Key: string' \ -H 'Content-Type: application/json' \ -d '{ "name": "Ayşe Yılmaz", "email": "ayse@example.com", "phone": "+905551112233", "external_id": "1001", "locale": "tr", "custom_fields": { "plan": "pro" }}'Example Response
{ "success": true, "data": { "uuid": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d", "name": "Ayşe Yılmaz", "email": "ayse@example.com", "phone": "+905551112233", "external_id": "1001", "identity_state": "self_named", "verified_at": null, "job_title": "Operations manager", "company": { "uuid": "0f9e8d7c-6b5a-4493-8271-605f4e3d2c1b", "name": "Acme Ltd.", "external_id": "F-77" }, "locale": "tr", "timezone": "Europe/Istanbul", "notes": "", "custom_fields": { "plan": "pro", "seats": 12 }, "blocked": false, "channel_types": [], "conversation_count": 0, "last_seen_at": "2026-11-11T09:14:50Z", "created_at": "2026-10-01T07:00:00Z", "updated_at": "2026-11-11T09:14:50Z" }, "meta": { "request_id": "01JCK9ZQ3M8R2W7X5E4T1N0PAB" }}