Products

Products are the core resource of Products Manager. Each product is identified by its EAN (European Article Number).


GET/products

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

GET
/products
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/products/{ean}

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

GET
/products/{ean}
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"
}

POST/products

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

POST
/products
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"
}

PATCH/products/{ean}

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

PATCH
/products/{ean}
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/products/{ean}

Delete a product

Permanently deletes a product from your catalog.

Path parameters

  • Name
    ean
    Type
    string
    Description

    The product EAN to delete.

Request

DELETE
/products/{ean}
curl -X DELETE https://api.productsmanager.app/api/v1/products/3760000000001 \
  -H "Authorization: Bearer {api_key}"

Response

{
  "message": "Product deleted successfully."
}

POST/products/batch

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

POST
/products/batch
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": []
}

Was this page helpful?