---
title: "Create a Custom Item"
method: POST
path: "/custom-items"
tags: ["Custom Items"]
---

# Create a Custom Item

`POST /custom-items`

## 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/custom-items`
- Auth: HTTP bearer

Create a custom item. It can be added to a content list later

## Request body

- object: Custom Item
  - `title` string, required: mandatory, the custom name, e.g. 'Strong Coffee'
  - `description` string
  - `identifier` string
  - `listName` string
  - `id` integer: The PromoRepublic unique id for the custom item
  - `price` integer: optional, the price of the custom, e.g. 1500 ( i.e. 15,00 EUR )
  - `currency` object: optional, indicating the currency for price and priceMax in ISO-4217, e.g. EUR
  - `category` string: optional, a category name, e.g. 'Coffee'
  - `video` object: optional, a video about the custom
    - `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: optional, indicating the unit of measure, e.g. 'per kg'
  - `url` string: optional, a url related to the custom item
  - `priceMax` integer: optional, indicating there is a price range, e.g. 2500 ( i.e. 25,00 EUR )
  - `image` object: Image of the custom-item (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`

Successfully created custom item

- 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
    - `customItem` object: Custom Item
      - `title` string, required: mandatory, the custom name, e.g. 'Strong Coffee'
      - `description` string
      - `identifier` string
      - `listName` string
      - `id` integer: The PromoRepublic unique id for the custom item
      - `price` integer: optional, the price of the custom, e.g. 1500 ( i.e. 15,00 EUR )
      - `currency` object: optional, indicating the currency for price and priceMax in ISO-4217, e.g. EUR
      - `category` string: optional, a category name, e.g. 'Coffee'
      - `video` object: optional, a video about the custom
        - `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: optional, indicating the unit of measure, e.g. 'per kg'
      - `url` string: optional, a url related to the custom item
      - `priceMax` integer: optional, indicating there is a price range, e.g. 2500 ( i.e. 25,00 EUR )
      - `image` object: Image of the custom-item (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

## 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)
