Skip to content
Elara One docs
CRM

List contacts

GET
/v1/merchant/crm/contacts

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.

Query Parameters

filter[updated_since]?string
Formatdate-time
filter[due_before]?string
Formatdate-time
filter[due_after]?string
Formatdate-time
filter[custom][]?array<string>
sort?string
Lengthlength <= 40
perPage?integer
Range1 <= value <= 100
cursor?string
Lengthlength <= 1024

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.

Response Body

A page of results, with links and meta.

application/json
  1. response
data*array<>
links*
meta*
Example Request
curl -X GET 'https://api.elaraone.app/api/v1/merchant/crm/contacts' \  -H 'X-Tenant-Key: pk_live_…' \  -H 'X-Tenant-Secret: your-server-secret'
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"    }  ],  "links": {    "first": "string",    "last": "string",    "prev": "string",    "next": "string"  },  "meta": {    "path": "string",    "per_page": 0,    "next_cursor": "string",    "prev_cursor": "string"  }}