Skip to main content

Products

Endpoints for managing the product catalog.

List products

GET /api/shops/{shopId}/products

Headers

X-Shop-API-Key: YOUR_API_KEY

Query params

ParamTypeDescription
pagenumberPage number (default: 0)
sizenumberProducts per page (default: 20)
sortstringSort field

Response

{
"content": [
{
"id": "prod_123",
"externalId": "SKU-001",
"name": "Example Product",
"price": 99.99,
"inStock": true,
"createdAt": "2024-01-15T10:00:00Z"
}
],
"page": 0,
"size": 20,
"totalElements": 150,
"totalPages": 8
}

Sync products

POST /api/shops/{shopId}/products/sync

Sync products (create or update).

Headers

X-Shop-API-Key: YOUR_API_KEY
Content-Type: application/json

Request body

[
{
"externalId": "SKU-001",
"name": "Nike Air Max Shoes",
"description": "Classic running shoes",
"price": 129.99,
"salePrice": 99.99,
"currency": "USD",
"url": "https://store.com/nike-air-max",
"imageUrl": "https://store.com/images/nike.jpg",
"categories": ["sports", "shoes"],
"brand": "Nike",
"tags": ["running", "casual"],
"inStock": true,
"stockQuantity": 25
}
]

Fields

FieldTypeRequiredDescription
externalIdstringYesUnique ID in your system
namestringYesProduct name
pricenumberYesCurrent price
urlstringYesProduct URL
descriptionstringNoDescription
salePricenumberNoSale price
currencystringNoCurrency code (default: USD)
imageUrlstringNoImage URL
categoriesstring[]NoCategories
brandstringNoBrand
tagsstring[]NoTags/labels
inStockbooleanNoAvailability (default: true)
stockQuantitynumberNoStock quantity

Response

{
"synced": 10,
"created": 3,
"updated": 7,
"failed": 0,
"errors": []
}

Delete product

DELETE /api/shops/{shopId}/products/{productId}

Headers

X-Shop-API-Key: YOUR_API_KEY

Response

{
"deleted": true
}

Example: Batch sync

curl -X POST https://api.neuroon.ai/api/shops/shop_123/products/sync \
-H "X-Shop-API-Key: sk_live_abc123" \
-H "Content-Type: application/json" \
-d '[
{
"externalId": "SKU-001",
"name": "Product 1",
"price": 49.99,
"url": "https://store.com/product-1"
},
{
"externalId": "SKU-002",
"name": "Product 2",
"price": 79.99,
"url": "https://store.com/product-2"
}
]'

Limits

  • Maximum 100 products per sync request
  • For large catalogs, use multiple requests
  • Respect the rate limits