Products
Products are the core resource of Products Manager. Each product is identified by its EAN (European Article Number).
List products
Returns a paginated list of products in your catalog.
Query parameters
- Name
page- Type
- integer
- Description
Page number (default: 1).
- Name
per_page- Type
- integer
- Description
Items per page, max 100 (default: 20).
- Name
q- Type
- string
- Description
Full-text search query.
- Name
brand- Type
- string
- Description
Filter by brand name.
- Name
category- Type
- string
- Description
Filter by category.
Request
curl "https://api.productsmanager.app/api/v1/products?page=1&per_page=20" \
-H "Authorization: Bearer {api_key}"
Response
{
"data": [
{
"ean": "3760000000001",
"title": "Produit exemple",
"brand": "Ma Marque",
"category": "Électronique",
"price": 29.99,
"stock": 150,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-03-10T14:22:00Z"
}
],
"meta": {
"page": 1,
"per_page": 20,
"total": 1,
"total_pages": 1
}
}
Get a product
Retrieves a single product by its EAN.
Path parameters
- Name
ean- Type
- string
- Description
The product EAN (8 or 13 digits).
Request
curl https://api.productsmanager.app/api/v1/products/3760000000001 \
-H "Authorization: Bearer {api_key}"
Response
{
"ean": "3760000000001",
"title": "Produit exemple",
"brand": "Ma Marque",
"description": "Description complète du produit.",
"category": "Électronique",
"price": 29.99,
"stock": 150,
"images": [
"https://media.productsmanager.app/products/3760000000001/main.jpg"
],
"attributes": {
"weight": "500g",
"color": "Noir"
},
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-03-10T14:22:00Z"
}
Create a product
Creates a new product. The EAN must be unique.
Body parameters
- Name
ean- Type
- string
- Description
The product EAN (8 or 13 digits). Must be unique.
- Name
title- Type
- string
- Description
Product title.
- Name
brand- Type
- string
- Description
Brand name.
- Name
description- Type
- string
- Description
Full product description.
- Name
category- Type
- string
- Description
Product category.
- Name
price- Type
- number
- Description
Product price (in your account's default currency).
- Name
stock- Type
- integer
- Description
Stock quantity.
- Name
attributes- Type
- object
- Description
Custom key-value attributes.
Request
curl -X POST https://api.productsmanager.app/api/v1/products \
-H "Authorization: Bearer {api_key}" \
-H "Content-Type: application/json" \
-d '{
"ean": "3760000000001",
"title": "Produit exemple",
"brand": "Ma Marque",
"price": 29.99,
"stock": 150
}'
Response
{
"ean": "3760000000001",
"title": "Produit exemple",
"brand": "Ma Marque",
"price": 29.99,
"stock": 150,
"created_at": "2024-03-15T09:00:00Z",
"updated_at": "2024-03-15T09:00:00Z"
}
Update a product
Partially updates a product. Only the fields you include will be changed.
Path parameters
- Name
ean- Type
- string
- Description
The product EAN.
Body parameters
- Name
title- Type
- string
- Description
New product title.
- Name
price- Type
- number
- Description
Updated price.
- Name
stock- Type
- integer
- Description
Updated stock quantity.
Request
curl -X PATCH https://api.productsmanager.app/api/v1/products/3760000000001 \
-H "Authorization: Bearer {api_key}" \
-H "Content-Type: application/json" \
-d '{"price": 24.99, "stock": 200}'
Response
{
"ean": "3760000000001",
"title": "Produit exemple",
"price": 24.99,
"stock": 200,
"updated_at": "2024-03-15T10:00:00Z"
}
Delete a product
Permanently deletes a product from your catalog.
Path parameters
- Name
ean- Type
- string
- Description
The product EAN to delete.
Request
curl -X DELETE https://api.productsmanager.app/api/v1/products/3760000000001 \
-H "Authorization: Bearer {api_key}"
Response
{
"message": "Product deleted successfully."
}
Batch upsert
Creates or updates multiple products in a single request. Existing products (matched by EAN) are updated; new EANs are created. Maximum 500 products per batch.
Body parameters
- Name
products- Type
- array
- Description
Array of product objects. Each object follows the same schema as the Create endpoint.
Request
curl -X POST https://api.productsmanager.app/api/v1/products/batch \
-H "Authorization: Bearer {api_key}" \
-H "Content-Type: application/json" \
-d '{
"products": [
{"ean": "3760000000001", "title": "Produit A", "price": 10.0},
{"ean": "3760000000002", "title": "Produit B", "price": 20.0}
]
}'
Response
{
"created": 1,
"updated": 1,
"errors": []
}