Skip to main content
Version: Next (unreleased)

Products

Create, list, retrieve, update, and deactivate products (SKUs).

  • Base path: /api/integrations/v1/products/
  • Required scope: integrations.products.{read|write|delete}
  • Identifier: sku

Create product

POST /api/integrations/v1/products/

Body

FieldTypeRequiredDescription
skustringYesUnique SKU code
quantityintegerNoOn-hand quantity (default 0)
is_activebooleanNoDefault true
custom_fieldsobjectNoArbitrary attribute key/value pairs
curl -X POST https://<your-tenant>.datamingle.ai/api/integrations/v1/products/ \
-H "X-API-Key: sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"sku": "RUG-NEW-001",
"quantity": 100,
"custom_fields": {"color": "blue", "size": "5x7", "collection": "2026 Spring"}
}'

Response 201 Created

{
"success": true,
"data": {
"id": "...",
"sku": "RUG-NEW-001",
"quantity": 100,
"is_active": true,
"cost": null,
"custom_fields": {"color": "blue", "size": "5x7"}
}
}

Errors

StatusCodeWhen
400VALIDATION_ERRORMissing sku
422MAPPING_ERRORMapping engine failed
409DUPLICATESKU already exists

List products

GET /api/integrations/v1/products/

Returns a cursor-paginated list of active products, newest-first.

Query parameters: limit (1–200, default 50), cursor (opaque). See Pagination.

curl 'https://<your-tenant>.datamingle.ai/api/integrations/v1/products/?limit=100' \
-H "X-API-Key: sk_live_..."
{
"success": true,
"data": [
{
"id": "...",
"sku": "RUG-5X7-BLU",
"quantity": 150,
"is_active": true,
"cost": "29.99",
"custom_fields": {"color": "blue", "size": "5x7"}
}
],
"pagination": {"limit": 100, "next_cursor": "eyJjIjoi..."}
}

Get product

GET /api/integrations/v1/products/{sku}/

Returns the full product record. 404 NOT_FOUND if the SKU doesn't exist.

curl https://<your-tenant>.datamingle.ai/api/integrations/v1/products/RUG-5X7-BLU/ \
-H "X-API-Key: sk_live_..."

Update product

PUT /api/integrations/v1/products/{sku}/

FieldTypeNotes
quantityinteger
is_activeboolean
costdecimalString or number
custom_fieldsobjectReplaces the full object
curl -X PUT https://<your-tenant>.datamingle.ai/api/integrations/v1/products/RUG-5X7-BLU/ \
-H "X-API-Key: sk_live_..." \
-H "Content-Type: application/json" \
-d '{"quantity": 200, "cost": "32.50", "custom_fields": {"color": "blue", "size": "5x7"}}'

Deactivate product

DELETE /api/integrations/v1/products/{sku}/

Soft delete — is_active = false.

curl -X DELETE https://<your-tenant>.datamingle.ai/api/integrations/v1/products/RUG-5X7-BLU/ \
-H "X-API-Key: sk_live_..."
{
"success": true,
"data": {"id": "...", "sku": "RUG-5X7-BLU", "is_active": false}
}