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

MethodEndpointDescription
POST/v1/productsCreate or update a product
DELETE/v1/productsDelete a product
GET/v1/products/:idGet 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

MethodEndpointDescription
POST/v1/contactsCreate or update a contact
DELETE/v1/contactsDelete a contact
GET/v1/contacts/:idGet a contact by ID

Orders

MethodEndpointDescription
POST/v1/ordersCreate or update an order
DELETE/v1/ordersDelete an order
GET/v1/orders/:idGet an order by ID

Request body

Use the same JSON shape for products, contacts, and orders.

Create or update (POST)

FieldRequiredDescription
entityTypeYesproduct, contact, or order
idYesYour identifier for the record
sourceUpdatedAtYesWhen the record last changed in your system (ISO 8601)
externalIdNoOptional secondary ID
idempotencyKeyNoOptional; you can also send x-idempotency-key as a header
dataNoFields for the record (defaults to {})

Delete (DELETE)

FieldRequiredDescription
entityTypeYesproduct, contact, or order
sourceUpdatedAtYesWhen the delete occurred in your system (ISO 8601)
id or externalIdOne requiredWhich record to remove
dataNoFor 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.

  • Event API — analytics and conversion events on event.convertmax.io
  • Event Tracking — supported event names and client examples