Zid Docs
Merchant APIApp APIThemes
Merchant APIApp APIThemes
Help Center
Slack
  1. Product Customizations
  • Start Here 🚀
  • Overview to Zid Apps
  • Authorization
  • Responses
  • Webhooks
  • Rate Limiting
  • APIs
    • Orders
      • Update Order by ID
      • Get Order Credit Notes
      • Get Order by ID
      • List of Orders
    • Reverse Orders
      • Reverse Order Reasons
      • Create Reverse Orders
      • Create Reverse Orders Waybill
      • Add Reverse Order Reasons
    • Carts
      • Get Abandoned Cart Details
      • List Abandoned Carts
    • Products
      • Managing Products
        • Get a Product by ID
        • Retrieve a list of products
        • Create a new product
        • Update an existing product.
        • Bulk update of products using their IDs or SKUs
        • Delete a product.
        • Product Setting
      • Digital Vouchers
        • Product Vouchers
        • Order Voucher
        • Add Product Voucher
        • Import Vouchers
        • Export Vouchers
        • Update Product Voucher
        • Remove Product Voucher
      • Product Categories
        • Get Single Category Details
        • Get all categories
        • Create Store Category
        • Update a Store Category
        • Add a product to a certain category
        • Publish/Unpublish a Category
        • Detach Category from All Products
        • Remove Category from Product
      • Product Badge
        • Product Badge
      • Product Attributes
        • Get Product Attributes
        • Get Product Attributes
        • Retrieve a product attribute
        • Add a New Product Attribute
        • Add a New Product Attribute
        • Update a product attribute
        • Delete a product attribute
      • Product Attribute Presets
        • Get attribute presets
        • Create Attribute Preset
        • Update Attribute Preset
        • Delete an attribute preset
      • Product Customizations
        • Add Product Variants
          POST
        • Insert Custom Options to a Product
          POST
        • Insert Custom User-Input Fields to a Product
          POST
      • Product Manual Sorting
        • Set Custom Product Order
        • Reset the manual sorting of all products
      • Product Images
        • Get List of images of a product.
        • Add an image to a product
        • Update a product Image Order
        • Delete a product image
      • Product Notifications
        • Availability Notification Stats
        • Availability Notifications Settings
        • List Availability Notifications
        • Add Availability Notification
        • Save Availability Notifications Settings
        • Manually Send Availability Notification Email
        • Export Availability Notifications
      • Product Import
        • Email All Products to Store Owner
        • Import Products via CSV or xlsx File
      • Product Stock (Multi-Inventory)
        • Get Product Stock by ID
        • List Product Stocks
        • Add Product Stock
        • Update Single Product Stock
        • Bulk Update Product Stocks
      • Product Questions & Answers
        • Get Question
        • Get Answer
        • Get All Questions
        • List Question Answers
        • Create Question
        • Create Answer
        • Update Question
        • Update Answer
        • Delete Question
        • Delete Answer
      • Product Reviews
        • List Reviews
        • New Reviews Total
      • Digital Products
        • Create Downloadable Product
        • Generate an Upload URL
        • Upload File to S3
        • Create Product Downloadables
        • Get Product Downloadables
        • Delete Product Downloadables
        • Get Store Downloadables
        • Create Store Downloadables
        • Delete Store Downloadables
    • Inventories
      • Get Store Location by ID
      • List Store Locations
      • Add a New Location
      • Update a Location by ID
      • Update Products Stock by Location ID
    • Shipping
      • List Store Delivery Options
      • Add Shipping Option
    • Marketing
      • Gift Cards
        • Get Store Settings
        • Add gift card to the cart
        • Update Store Settings
        • Upload gift card designs
        • Remove gift card from the cart
      • Coupons
        • Create a New Coupon
        • List Coupons
        • Get Coupon Details
        • Update Coupon
        • Delete Coupon
      • Bundle Offers
        • Retrieve all Bundle Offers
      • Loyalty Program
        • Loyalty Program Points per Order
        • Store Loyalty Status
        • Info Page
        • Loyalty Program Activation
        • Loyalty Status
        • Set Points Expiration
        • Cashback Rule Method Update
        • Cashback Rule Method Update Status
        • Add Points Redemption Method
        • Update Points Redemption Method
        • Delete Points Redemption Method
        • Toggle Redemption Method Status
        • Show Loyalty Points Info for Specific Customer
        • Customer Profile
        • List Data
        • Customer Points History
        • Info Page - Managers
        • Update Info Page
        • Adjust Customer Points
    • Customers
      • List of Customers
      • Get Customer by ID
    • Store Settings
      • 📄 User Roles and Permissions
      • Get Manager's Profile
      • Get VAT Settings
      • List of Payment Method
    • Countries and Cities
      • Retrieve Store Operating Countries
      • Retrieve Cities by Country ID
      • Countries List
    • Webhook
      • List of Webhooks
      • Create a Webhook
      • Delete a Webhook by OriginalId
      • Delete a Webhook by Subscriber
  • Store Events
    • Order
    • Product
    • Abandoned Cart
    • Customer
    • Product Category
  1. Product Customizations

Add Product Variants

POST
https://api.zid.sa/v1/products/{product_id}/options/
Product Customizations
This endpoint creates child variants for a given product by defining choices for its attributes. If the product in question is a stand-alone product (neither a parent nor having any children), this operation will transform it into a parent product.

Steps to Create Variants:#

1.
Create Product Attributes: Begin by creating product attributes for the store using the Create Attribute endpoint.
2.
Define Attribute Choices: Next, define choices for these attributes. For example, for a size attribute, choices might include 'small', 'medium', 'large', etc.
3.
Choice Objects in Different Languages: Each choice is an object that accepts values in multiple languages. Currently, English and Arabic are supported.
4.
Submit Attributes and Choices: This endpoint accepts an array of attributes and their respective choices.
5.
Variant Generation: Variants are then created using the cartesian product of these attribute values, resulting in all possible combinations.
🔑Scopes
products.read_write - Products Read & Write

Request

Path Params
product_id
string 
required
Example:
107c2ff5-5c70-4749-b9bd-56dc1793013b
Header Params
Authorization
string 
required
The Authorization token is a unique key given to the third-party application (Partner) by Zid. It is used to authenticate the API requests made by the Partner application. The token verifies the partner's identity and ensures they have permission to access Zid's API but does not provide any specific user or store information. It should be included in the header of API requests when the partner application needs to access Zid's API.
Example:
Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxMTciLCJqdGkiOiJhMTg5ZTg3MmYxMzhkMWVhYjU5MjVkMDkyMGE5NmI0YjliNjg0Y2E2ZTdmM2M2MjljZWYxNmQ4NDJjMmJlYmVhMjI4YTdmMTA0ZWQ4NWE5NCIsImlhdCI6MTY3OTU3Njk5OS41NjY4NzcsIm5iZiI6MTY3OTU3Njk5OS41NjY4OCwiZXhwIjoxNzExMTk5Mzk5LjQ4NjE1Mywic3ViIjoiMTgyNDc1Iiwic2NvcGVzIjpbInRoaXJkLXBhcnRpZXMtYXBpcyJdfQ.i07ef09nVNXGZF-g-QXpNoS2vlFQK_zntAqAMS4Az2XD2EyMLhxLZZRL-QlR11zUPqMmXjMAl_4ooKa3M3zkfZQ6Ga6qStvamk8RnC_39VUx0lfN2A4k65ERZpqwrMy6-t3dE99zay3aicIdNvbgi0zeuMSE5Tn99u-2AtSRa8ffbfAcYPPXacHrhdmlYzdiZS_x_skovFEow1E-nDjdL1WHqO92XdZ7RfNLkiYFTjZlZmM_UruvioaR3q6TXJbqRK_ZrziivezL8ohIQ2SBosUp58I29rlKzvlw_R2j0rKKYZbdxYDaxAHOISmOFKAlO66k7dNevAHI3s4uGIjoGA6ZXHknccWPLLLiaAQ0r64HV8GowW5dg2rhZNurJGDTnLlBQ6F-ql42ptHzSAfzzi576CEoN3gMVpgXcbntUY3reETkFsTBPUjeSuMpANMioXAA0GRp3Ut-84fTnrWxqsCW1WVUIx33HvmfCGPXIdkaCCWoA6G6KXo04MtFbKXQmXkK9esQWI-rqdVnMD3zSR3g3yFHZSL1U-mZeNja03706Rav1ordsRNOtRwtLuoRRbk9KasbUpEwqq4Ao9lqZZwRIjdEw-pQtnUT8V53fhmuuRIefCLFO7eGEtGUnh9o6Uh_pgi6AB6uSlnN9GEMGgI1alqvMmTjxvC-HHt0V-Y
X-Manager-Token
string 
required
This token is used to authenticate and access information related to the store. It is obtained through an OAuth mechanism and is required to perform operations on the store's data. The X-Manager-Token should be included in the header of API requests that require store-related information.
Example:
eyJpdiI6Imh3L2dGbmJmRnVCOUY4WW5WQ2s3RFE9PSIsInZhbHVlIjoiZklpRnJyVGV1OWcrZUJBNk44bVp5SjZzSS92V3czcTJjbnJ2dFYvenZ3SFBtWHNSMFU3ZEMzZ0ZJNnpucVE4Ui9rNFdicUduOGpKUlg1VXdGOFFIaVUzZjZyUUZybWx3R0tNY3orUmxoUUUxQ29wSkEyVDZTVnVYb2dlUXJSVzBYVkdESjBpS0xiN05Hbndzc2wzV2N0YitGM1NEdkk4ckZZOTZsTFdEL1ZQRlJJTE5FQmttZng2elpwL1RCeXFRdUd1U3JTc0FHV1kySS80RFJaWlIyZ3gwM2FsQVRFbkt3VWtFOUQyKzdGOD0iLCJtYWMiOiJmZDQ0YzM4ODE0OWQxOWRhYWU0NDhhYmIzYzQ1MDAxMDAzODZjZGM3ZGM4NGJhMGNkMDEyYWZlM2UzYjAxMTI4IiwidGFnIjoiIn0=
Store-Id
number 
required
Example:
37213
Body Params application/json
name2
string 
optional
id
string 
optional
name
object 
optional
Localized names of the product in Arabic (ar) and English (en).
ar
string 
optional
Example:
حذاء رياضي (عمالة منصفة)
en
string 
optional
Example:
Sneakers (Fair Trade)
variants
array [object {11}] 
optional
An array of objects, each representing a product variant.
You can specify existing variants to update by including their IDs,
or add new variants by omitting the ID field.
id
string 
optional
The ID of the variant to update. Omit this field to add a new variant.
Example:
49ef6116-f094-56ec-7aha-es6sf771f829
is_deleted
boolean 
optional
Flag to indicate if the variant should be deleted.
Example:
false
sku
string 
optional
Stock Keeping Unit identifier for the variant.
Example:
Z.987654.1234567890
price
number 
optional
Price of the variant.
Example:
1400
sale_price
number  | null 
optional
Sale price of the variant, if applicable.
Example:
1200
images
array[string]
optional
Array of image URLs for the variant.
Example:
["image1.jpg","image2.jpg"]
quantity
integer 
optional
Quantity of the variant available.
Example:
70
is_infinite
boolean 
optional
Flag to indicate if the variant has infinite stock.
Example:
false
weight
object (ProductWeight) 
optional
Weight of the product.
stocks
array
optional
Additional stock information for the variant. For more information, refer to the ProductStocks schema.
attributes
array [object {2}] 
optional
The attributes array is a key field that defines the unique characteristics of each product variant. For a comprehensive understanding of how to use this field, please refer to the Product Options Documentation.
Example
{
  "name2": "string",
  "id": "string",
  "name": {
    "ar": "حذاء رياضي (عمالة منصفة)",
    "en": "Sneakers (Fair Trade)"
  },
  "variants": [
    {
      "id": "49ef6116-f094-56ec-7aha-es6sf771f829",
      "is_deleted": false,
      "sku": "Z.987654.1234567890",
      "price": 1400,
      "sale_price": 1200,
      "images": [
        "image1.jpg",
        "image2.jpg"
      ],
      "quantity": 70,
      "is_infinite": false,
      "weight": {
        "value": 1.2,
        "unit": "kg"
      },
      "stocks": [
        null
      ],
      "attributes": [
        {
          "slug": "color",
          "value": {
            "ar": "أبيض",
            "en": "White"
          }
        }
      ]
    }
  ]
}

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.zid.sa/v1/products//options/' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxMTciLCJqdGkiOiJhMTg5ZTg3MmYxMzhkMWVhYjU5MjVkMDkyMGE5NmI0YjliNjg0Y2E2ZTdmM2M2MjljZWYxNmQ4NDJjMmJlYmVhMjI4YTdmMTA0ZWQ4NWE5NCIsImlhdCI6MTY3OTU3Njk5OS41NjY4NzcsIm5iZiI6MTY3OTU3Njk5OS41NjY4OCwiZXhwIjoxNzExMTk5Mzk5LjQ4NjE1Mywic3ViIjoiMTgyNDc1Iiwic2NvcGVzIjpbInRoaXJkLXBhcnRpZXMtYXBpcyJdfQ.i07ef09nVNXGZF-g-QXpNoS2vlFQK_zntAqAMS4Az2XD2EyMLhxLZZRL-QlR11zUPqMmXjMAl_4ooKa3M3zkfZQ6Ga6qStvamk8RnC_39VUx0lfN2A4k65ERZpqwrMy6-t3dE99zay3aicIdNvbgi0zeuMSE5Tn99u-2AtSRa8ffbfAcYPPXacHrhdmlYzdiZS_x_skovFEow1E-nDjdL1WHqO92XdZ7RfNLkiYFTjZlZmM_UruvioaR3q6TXJbqRK_ZrziivezL8ohIQ2SBosUp58I29rlKzvlw_R2j0rKKYZbdxYDaxAHOISmOFKAlO66k7dNevAHI3s4uGIjoGA6ZXHknccWPLLLiaAQ0r64HV8GowW5dg2rhZNurJGDTnLlBQ6F-ql42ptHzSAfzzi576CEoN3gMVpgXcbntUY3reETkFsTBPUjeSuMpANMioXAA0GRp3Ut-84fTnrWxqsCW1WVUIx33HvmfCGPXIdkaCCWoA6G6KXo04MtFbKXQmXkK9esQWI-rqdVnMD3zSR3g3yFHZSL1U-mZeNja03706Rav1ordsRNOtRwtLuoRRbk9KasbUpEwqq4Ao9lqZZwRIjdEw-pQtnUT8V53fhmuuRIefCLFO7eGEtGUnh9o6Uh_pgi6AB6uSlnN9GEMGgI1alqvMmTjxvC-HHt0V-Y' \
--header 'X-Manager-Token: eyJpdiI6Imh3L2dGbmJmRnVCOUY4WW5WQ2s3RFE9PSIsInZhbHVlIjoiZklpRnJyVGV1OWcrZUJBNk44bVp5SjZzSS92V3czcTJjbnJ2dFYvenZ3SFBtWHNSMFU3ZEMzZ0ZJNnpucVE4Ui9rNFdicUduOGpKUlg1VXdGOFFIaVUzZjZyUUZybWx3R0tNY3orUmxoUUUxQ29wSkEyVDZTVnVYb2dlUXJSVzBYVkdESjBpS0xiN05Hbndzc2wzV2N0YitGM1NEdkk4ckZZOTZsTFdEL1ZQRlJJTE5FQmttZng2elpwL1RCeXFRdUd1U3JTc0FHV1kySS80RFJaWlIyZ3gwM2FsQVRFbkt3VWtFOUQyKzdGOD0iLCJtYWMiOiJmZDQ0YzM4ODE0OWQxOWRhYWU0NDhhYmIzYzQ1MDAxMDAzODZjZGM3ZGM4NGJhMGNkMDEyYWZlM2UzYjAxMTI4IiwidGFnIjoiIn0=' \
--header 'Store-Id;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name2": "string",
    "id": "string",
    "name": {
        "ar": "حذاء رياضي (عمالة منصفة)",
        "en": "Sneakers (Fair Trade)"
    },
    "variants": [
        {
            "id": "49ef6116-f094-56ec-7aha-es6sf771f829",
            "is_deleted": false,
            "sku": "Z.987654.1234567890",
            "price": 1400,
            "sale_price": 1200,
            "images": [
                "image1.jpg",
                "image2.jpg"
            ],
            "quantity": 70,
            "is_infinite": false,
            "weight": {
                "value": 1.2,
                "unit": "kg"
            },
            "stocks": [
                null
            ],
            "attributes": [
                {
                    "slug": "color",
                    "value": {
                        "ar": "أبيض",
                        "en": "White"
                    }
                }
            ]
        }
    ]
}'

Responses

🟢200Product Variants Added Successfully
application/json
Body
object {0}
Example
{}
Modified at 2025-01-21 08:19:43
Previous
Product Customizations
Next
Insert Custom Options to a Product
Built with