Base URL: https://api.convertmax.io
Use this API to keep Convertmax in sync with your store or CRM—products, contacts, and orders. For analytics events (page views, conversions, and similar), use the separate Event API on event.convertmax.io.
Authentication
Send your API key on every request:
Authorization: Bearer private-<your_key>x-api-key: private-<your_key>
Products
| Method | Endpoint | Description |
|---|---|---|
POST | /v1/products | Create or update a product |
DELETE | /v1/products | Delete a product |
GET | /v1/products/:id | Get a product by SKU |
Create or update
curl -X POST https://api.convertmax.io/v1/products \
-H "Authorization: Bearer private-<your_key>" \
-H "Content-Type: application/json" \
-H "x-idempotency-key: product:upsert:sku-42" \
-d '{
"entityType": "product",
"id": "sku-42",
"sourceUpdatedAt": "2026-05-26T12:00:00.000Z",
"data": {
"sku": "sku-42",
"name": "Example product"
}
}'
Successful writes return 202 Accepted.
Get by SKU
curl https://api.convertmax.io/v1/products/sku-42 \
-H "Authorization: Bearer private-<your_key>"
Contacts
| Method | Endpoint | Description |
|---|---|---|
POST | /v1/contacts | Create or update a contact |
DELETE | /v1/contacts | Delete a contact |
GET | /v1/contacts/:id | Get a contact by ID |
Orders
| Method | Endpoint | Description |
|---|---|---|
POST | /v1/orders | Create or update an order |
DELETE | /v1/orders | Delete an order |
GET | /v1/orders/:id | Get an order by ID |
Request body
Use the same JSON shape for products, contacts, and orders.
Create or update (POST)
| Field | Required | Description |
|---|---|---|
entityType | Yes | product, contact, or order |
id | Yes | Your identifier for the record |
sourceUpdatedAt | Yes | When the record last changed in your system (ISO 8601) |
externalId | No | Optional secondary ID |
idempotencyKey | No | Optional; you can also send x-idempotency-key as a header |
data | No | Fields for the record (defaults to {}) |
Delete (DELETE)
| Field | Required | Description |
|---|---|---|
entityType | Yes | product, contact, or order |
sourceUpdatedAt | Yes | When the delete occurred in your system (ISO 8601) |
id or externalId | One required | Which record to remove |
data | No | For products, you can pass sku or code instead |
Repeating the same idempotency key returns 200 with "duplicate": true and does not apply the change again.
Related reference
- Event API — analytics and conversion events on
event.convertmax.io - Event Tracking — supported event names and client examples