Documentation Index
Fetch the complete documentation index at: https://docs.omneo.io/llms.txt
Use this file to discover all available pages before exploring further.
Profiles are the central object in Omneo. This guide covers the core CRUD operations and common patterns for working with profiles programmatically.
Creating a profile
curl -X POST https://api.[tenant].getomneo.com/api/v3/profiles \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"first_name": "Jane",
"last_name": "Smith",
"email": "jane@example.com",
"mobile_phone": "+61412345678"
}'
A successful response returns the created profile with its id.
Reading a profile
By Omneo profile ID:
GET /api/v3/profiles/{profileId}
By identity (e.g., Shopify customer ID):
GET /api/v3/profiles/{shopifyCustomerId}?identity[handle]=shopify
Searching profiles
GET /api/v3/profiles?search=jane@example.com
The search endpoint supports name, email, mobile, and other fields. Omneo uses Algolia for instant, typo-tolerant search.
Updating a profile
curl -X PUT https://api.[tenant].getomneo.com/api/v3/profiles/{profileId} \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"birth_day": 15,
"birth_month": 9,
"birth_year": 1985
}'
Syncing profiles (upsert)
The sync endpoint creates a profile if it doesn’t exist, or updates it if it does. It matches on email or mobile phone:
POST /api/v3/profiles/sync
This is the recommended approach for eCommerce integrations where you don’t always know if a profile exists.
Deleting a profile
DELETE /api/v3/profiles/{profileId}
This soft-deletes the profile. For a full GDPR-compliant erasure, use the Purge endpoint:
POST /api/v3/profiles/{profileId}/purge
Bulk import
For large-scale profile imports, use the batch import endpoint or the CSV import tool in CX Manager under the Import Jobs section.
POST /api/v3/profiles/batch
Content needed: field validation rules, error response reference, and bulk import file format specification.