Add variants
Adds variants to a product. Each variant names a value for every product option (create options first with POST .../options). A product's placeholder default variant is replaced when real ones arrive.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Path Parameters
Platform-native id.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.commerce.createCommerceProductVariants({ path: { productId: 'product_abc123', }, body: { accountId: 'account_abc123', variants: [ { price: 0, }, ], },});console.log(data);{ "product": { "id": "string", "accountId": "string", "platform": "shopify", "title": "string", "descriptionHtml": "string", "handle": "string", "vendor": "string", "productType": "string", "tags": [ "string" ], "status": "active", "platformStatus": "string", "featuredImage": { "id": "string", "url": "string", "altText": "string" }, "images": [ { "id": "string", "url": "string", "altText": "string" } ], "options": [ { "name": "string", "values": [ "string" ] } ], "variants": [ { "id": "string", "title": "string", "sku": "string", "barcode": "string", "price": { "amount": "string", "currency": "string" }, "compareAtPrice": { "amount": "string", "currency": "string" }, "inventoryQuantity": 0, "availableForSale": true, "options": [ { "name": "string", "value": "string" } ] } ], "totalInventory": 0, "url": "string", "seo": { "title": "string", "description": "string" }, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "publishedAt": "2019-08-24T14:15:22Z", "platformData": {} }}Update variant prices
Sets the price and/or compare-at price of the listed variants. Other variants are untouched. Amounts are in the store currency; send `compareAtPrice: null` to remove a strike-through price.
Delete variants
Deletes the variants in `variantIds` (comma-separated, up to 100) and returns the updated product. A product keeps at least one variant, so deleting every variant is refused by the platform. Needs products.variants.