---
title: "Create a Product"
method: POST
path: "/products"
tags: ["Products"]
---

# Create a Product

`POST /products`

## Request

- Base URL: `https://workflows.promorepublic.com/webhook/2637089f-b543-45d0-a83e-2334aada4ead/listings/sandbox/api`
- URL: `https://workflows.promorepublic.com/webhook/2637089f-b543-45d0-a83e-2334aada4ead/listings/sandbox/api/products`
- Auth: HTTP bearer

Create a product. It can be added to a content list later

## Request body

- object: Product Model
  - `title` string, required: The name of the product: e.g. Strong Coffee
  - `description` string: Description of the product: e.g. 'The strongest coffee in the world'
  - `identifier` string: Unique Identifier for the Product
  - `listName` string
  - `id` integer: The PromoRepublic unique id for the product
  - `price` integer: Price of the product in cents: e.g. '1500' for 15 €
  - `currency` object: Currency used for prices in ISO-4217: e.g. EUR, USD, CHF
  - `category` string: A category the product belongs to: e.g. 'Coffee'
  - `video` object: A video about the product
    - `id` integer: Identifier of the video in our system
    - `url` string: Url of the video
    - `description` string: Text description of the Video
    - `type` 'YOUTUBE' | 'VIMEO': Video Platform. Values: [YOUTUBE, VIMEO]
  - `unit` string: A unit of measure, e.g. 'per kg'
  - `url` string: A valid page url with more details about the product
  - `priceMax` integer: Maximum price if you want to use a price range for the product
  - `image` object: Image of the product (use the Image object format)
    - `id` integer: The PromoRepublic unique id for the image
    - `url` string, required: Image url
    - `type` 'LOGO' | 'MAIN' | 'IMAGE', required: The image type, one of [LOGO, MAIN, IMAGE]
    - `description` string: Description of the image
    - `uid` string, required: user identifier of the image

## Response `201`

Product successfully created

- object
  - `status` 'SUCCESS' | 'PENDING' | 'QUOTA_LIMIT_EXCEED' | 'NOT_AUTHORIZED' | 'FORBIDDEN' | 'BAD_ACCESS_TOKEN' | 'BAD_PRIVATE_KEY' | 'BAD_PUBLIC_KEY' | 'MISSING_PARAMETER' | 'INVALID_PARAMETER' | 'WRONG_PARAMETER_TYPE' | 'CONFLICT' | 'RESOURCE_LOCKED' | 'SERVER_ERROR' | 'ERROR' | 'NOT_FOUND' | 'BAD_REQUEST' | 'USER_ERROR' | 'PARTIAL_ERROR' | 'SERVICE_TEMPORARILY_UNAVAILABLE', required
  - `message` string: (optional) Holds further information about the response
  - `warnings` string[]: (optional) Holds further warnings
  - `response` object, required: The actual response object of the response

## Other responses

- `400`: Bad Request - The request was invalid or cannot be otherwise served
- `401`: Unauthorized - Authentication credentials are missing or invalid
- `403`: Forbidden - The request is understood, but has been refused or access is not allowed
- `404`: Not Found - The requested resource could not be found
- `409`: Conflict - The request conflicts with current state of the server

---

[API](https://skmtc.dev/promorepublic/apis/listings-api.md) - [All operations](https://skmtc.dev/promorepublic/apis/listings-api/llms.txt) - [OpenAPI document](https://skmtc.dev/promorepublic/apis/listings-api/revisions/a04c07676a6e?raw)
