Skip to content
Elara One docs
CRM

Update a contact

PATCH
/v1/merchant/crm/contacts/{id}

Authorization

tenantKeybearerAuth
headerX-Tenant-Key<token>

The public store key (pk_live_…). Required on every call.

headerAuthorizationBearer <token>

A customer token from POST /v1/auth/login, or a merchant API key, on routes that need one.

Path Parameters

id*integer

Header Parameters

X-Client-IP?string

Optional. IP address of the shopper (one IPv4/IPv6, no port, no list). Honoured only together with a valid X-Tenant-Secret; ignored otherwise. Used for rate limits and recorded with form submissions.

X-Tenant-Secret?string

Optional here. Server secret of the store: server-to-server only, never from a browser. Enables X-Client-IP.

Request Body

application/json
  1. body

POST merchant/crm/contacts and PATCH merchant/crm/contacts/{id}. The shape only: the CRM writer validates the values themselves — the stage key, the owner and company, the email and phone, every custom field through CustomFieldValidator — and answers 422 with the field named.

first_name, last_name, title, email, phone the contact's own fields; null or "" clears job_title the job title (at most 150 characters); null or "" clears lifecycle_stage a stage key, or null owner_id a staff id, or null company_id the primary company's id, or null tags the WHOLE set (replaces); or add_tags / remove_tags to change some custom_fields {key: value}; null clears one

first_name?|
Lengthlength <= 255
last_name?|
Lengthlength <= 255
title?|
Lengthlength <= 255
job_title?|
Lengthlength <= 150
email?|
Lengthlength <= 254
phone?|
Lengthlength <= 32
lifecycle_stage?|
Lengthlength <= 64
owner_id?|
Range1 <= value
company_id?|
Range1 <= value
tags?array<>
Itemsitems <= 100
add_tags?array<>
Itemsitems <= 100
remove_tags?array<>
Itemsitems <= 100
custom_fields?array<string>

Response Body

Success.

application/json
  1. response
data*
Example Request
curl -X PATCH 'https://api.elaraone.app/api/v1/merchant/crm/contacts/0' \  -H 'X-Tenant-Key: pk_live_…' \  -H 'X-Tenant-Secret: your-server-secret' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "data": {    "id": 0,    "first_name": "string",    "last_name": "string",    "title": "string",    "job_title": "string",    "email": "string",    "phone": "string",    "lifecycle_stage": "string",    "owner_id": 0,    "company_id": 0,    "tags": [      null    ],    "custom_fields": {},    "first_source": "string",    "first_source_detail": "string",    "first_seen_at": "string",    "last_activity_at": "string",    "created_at": "string",    "updated_at": "string"  }}