Create new product | Moov Documentation

Create new product

Creates a new product for the specified account.

POST

/accounts/{accountID}/products

Request Example

curl -X POST "https://api.moov.io/accounts/{accountID}/products" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.07.00" \
  -d '{
  "title": "World'\"s best lemonade",
  "description": "Really, the best.",
  "basePrice": {
    "valueDecimal": "4.99",
    "currency": "USD"
  },
  "images": [
    {
      "imageID": "fed91252-6f48-4b70-885e-520bf53a52ff"
    },
    {
      "imageID": "eb466644-0a58-4b87-af1e-94d03e223ad2"
    }
  ],
  "optionGroups": [
    {
      "name": "Flavor add-ins",
      "description": "Choose up to 3 flavor add-ins to enhance your lemonade.",
      "minSelect": 0,
      "maxSelect": 3,
      "options": [
        {
          "name": "Strawberry puree",
          "description": "Fresh and fruity.",
          "priceModifier": {
            "valueDecimal": "0.99",
            "currency": "USD"
          },
          "images": [
            {
              "imageID": "d359808d-9896-4414-8d17-dac43f35842d"
            }
          ]
        },
        {
          "name": "Passionfruit syrup",
          "priceModifier": {
            "valueDecimal": "0.49",
            "currency": "USD"
          }
        },
        {
          "name": "Cherry syrup",
          "priceModifier": {
            "valueDecimal": "0.49",
            "currency": "USD"
          }
        }
      ]
    },
    {
      "name": "Sweetener",
      "description": "Choose a sweetener for your lemonade.",
      "minSelect": 1,
      "maxSelect": 1,
      "options": [
        {
          "name": "Cane Sugar"
        },
        {
          "name": "Honey",
          "priceModifier": {
            "valueDecimal": "0.99",
            "currency": "USD"
          }
        },
        {
          "name": "Stevia",
          "description": "Natural, zero-calorie sweetener."
        }
      ]
    }
  ]
}'

Request Code Snippets

TypeScript

import { Moov } from "@moovio/sdk";

const moov = new Moov({
  security: {
    username: "",
    password: "",
  },
});

async function run() {
  const result = await moov.products.create({
    accountID: "27cd3181-7c1c-4d81-b020-e7d55c33941f",
    productRequest: {
      title: "World's best lemonade",
      description: "Really, the best.",
      basePrice: {
        currency: "USD",
        valueDecimal: "4.99",
      },
      images: [
        {
          imageID: "fed91252-6f48-4b70-885e-520bf53a52ff",
        },
        {
          imageID: "eb466644-0a58-4b87-af1e-94d03e223ad2",
        },
      ],
      optionGroups: [
        {
          name: "Flavor add-ins",
          description: "Choose up to 3 flavor add-ins to enhance your lemonade.",
          minSelect: 0,
          maxSelect: 3,
          options: [
            {
              name: "Strawberry puree",
              description: "Fresh and fruity.",
              priceModifier: {
                currency: "USD",
                valueDecimal: "0.99",
              },
              images: [
                {
                  imageID: "d359808d-9896-4414-8d17-dac43f35842d",
                },
              ],
            },
            {
              name: "Passionfruit syrup",
              priceModifier: {
                currency: "USD",
                valueDecimal: "0.49",
              },
            },
            {
              name: "Cherry syrup",
              priceModifier: {
                currency: "USD",
                valueDecimal: "0.49",
              },
            },
          ],
        },
        {
          name: "Sweetener",
          description: "Choose a sweetener for your lemonade.",
          minSelect: 1,
          maxSelect: 1,
          options: [
            {
              name: "Cane Sugar",
            },
            {
              name: "Honey",
              priceModifier: {
                currency: "USD",
                valueDecimal: "0.99",
              },
            },
            {
              name: "Stevia",
              description: "Natural, zero-calorie sweetener.",
            },
          ],
        },
      ],
    },
  });

console.log(result);
}

run();

PHP

declare(strict_types=1);

require 'vendor/autoload.php';

use Moov\