StoreLyne API docs 2026-11

Google product categories: search them, or browse one level at a time

GET/admin/2026-11/product-categories

scope read_products

Query parameters

  • qstring

    Words to find anywhere in the category path.

    Up to 100 characters

  • parent_idinteger

    List the children of this category.

Response 200

  • dataarray of objectrequired
  • data[].idintegerrequired
  • data[].namestringrequired
  • data[].pathstringrequired

    Full path, levels joined with " > ".

  • data[].parent_idinteger or nullrequired
  • data[].has_childrenbooleanrequired

Errors

400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl https://api.storelyne.com/admin/2026-11/product-categories \
  -H "Authorization: Bearer pat_live_..."
Response 200
{
  "data": [
    {
      "id": 1,
      "name": "Festive saree",
      "path": "string",
      "parent_id": 1,
      "has_children": false
    }
  ]
}

Products, newest first

GET/admin/2026-11/products

scope read_products

Query parameters

  • limitinteger

    Items per page, 1 to 250.

    Default 50 · 1 to 250

  • afterstring

    Cursor from a previous next_cursor.

    Up to 512 characters

  • statusenum

    One of draft active archived

  • typeenum

    One of physical digital service course membership booking

  • qstring

    Title, URL handle, SKU or vendor.

    At least 1 characters · Up to 100 characters

Response 200

  • dataarray of objectrequired
  • data[].idID (prd_...)required
  • data[].titlestringrequired
  • data[].handlestringrequired
  • data[].typeenumrequired

    One of physical digital service course membership booking

  • data[].statusenumrequired

    One of draft active archived

  • data[].description_htmlstringrequired
  • data[].vendorstringrequired
  • data[].tagsarray of stringrequired
  • data[].currencyenumrequired

    One of INR GBP

  • data[].hsn_codestring or nullrequired
  • data[].gst_rate_bpinteger or nullrequired

    GST rate in basis points: 1800 is 18%.

  • data[].tax_class_idID (txc_...) or nullrequired

    The tax class the rate and code come from (D-101).

  • data[].product_typestringrequired

    Your own grouping, such as Saree or Workbook.

  • data[].categoryobject or nullrequired

    Google product category, used by sales channels and for tax hints.

  • data[].category.idintegerrequired
  • data[].category.pathstringrequired
  • data[].seoobjectrequired
  • data[].seo.titlestring

    Empty means the product title.

    Up to 70 characters

  • data[].seo.descriptionstring

    Empty means the start of the description.

    Up to 320 characters

  • data[].attributesobjectrequired

    What sales channels and marketplaces ask for (Google, Meta and others).

  • data[].attributes.conditionenum

    One of new refurbished used

  • data[].attributes.age_groupenum

    One of newborn infant toddler kids adult

  • data[].attributes.genderenum

    One of male female unisex

  • data[].attributes.materialstring

    Up to 100 characters

  • data[].attributes.patternstring

    Up to 100 characters

  • data[].attributes.colorstring

    Up to 100 characters

  • data[].mediaarray of objectrequired
  • data[].media[].file_idID (fil_...)required
  • data[].media[].altstringrequired

    Up to 200 characters

  • data[].optionsarray of objectrequired
  • data[].options[].idID (opt_...)required
  • data[].options[].namestringrequired
  • data[].options[].positionintegerrequired
  • data[].options[].valuesarray of stringrequired
  • data[].variantsarray of objectrequired
  • data[].variants[].idID (var_...)required
  • data[].variants[].titlestringrequired
  • data[].variants[].skustring or nullrequired
  • data[].variants[].priceintegerrequired
  • data[].variants[].compare_at_priceinteger or nullrequired
  • data[].variants[].option_valuesarray of stringrequired
  • data[].variants[].positionintegerrequired
  • data[].variants[].weight_gramsinteger or nullrequired
  • data[].variants[].requires_shippingbooleanrequired
  • data[].variants[].barcodestring or nullrequired

    GTIN, EAN, UPC or ISBN.

  • data[].variants[].mpnstring or nullrequired

    Manufacturer part number.

  • data[].variants[].cost_priceinteger or nullrequired

    What the item costs you, for margins. Never shown to buyers.

  • data[].variants[].image_file_idID (fil_...) or nullrequired

    The product image shown for this variant.

  • data[].created_attimestamprequired
  • data[].updated_attimestamprequired
  • has_morebooleanrequired
  • next_cursorstring or nullrequired

Errors

400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl https://api.storelyne.com/admin/2026-11/products \
  -H "Authorization: Bearer pat_live_..."
Response 200
{
  "data": [
    {
      "id": "prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "title": "Festive saree",
      "handle": "festive-saree",
      "type": "physical",
      "status": "draft",
      "description_html": "<p>Hand block printed cotton.</p>",
      "vendor": "string",
      "tags": [
        "string"
      ],
      "currency": "INR",
      "hsn_code": "string",
      "gst_rate_bp": 1,
      "tax_class_id": "txc_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "product_type": "string",
      "category": {
        "id": 1,
        "path": "string"
      },
      "seo": {
        "title": "Festive saree",
        "description": "Hand block printed cotton."
      },
      "attributes": {
        "condition": "new",
        "age_group": "newborn",
        "gender": "male",
        "material": "string",
        "pattern": "string",
        "color": "string"
      },
      "media": [
        {
          "file_id": "fil_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "alt": ""
        }
      ],
      "options": [
        {
          "id": "opt_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "name": "Festive saree",
          "position": 1,
          "values": []
        }
      ],
      "variants": [
        {
          "id": "var_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
          "title": "Festive saree",
          "sku": "string",
          "price": 49900,
          "compare_at_price": 49900,
          "option_values": [],
          "position": 1,
          "weight_grams": 1,
          "requires_shipping": false,
          "barcode": "string",
          "mpn": "string",
          "cost_price": 49900,
          "image_file_id": "fil_01JCG8ZQ5S7T0V4X8K2M3N6P9R"
        }
      ],
      "created_at": "2026-11-04T10:00:00.000Z",
      "updated_at": "2026-11-04T10:00:00.000Z"
    }
  ],
  "has_more": false,
  "next_cursor": "eyJpZCI6Ii4uLiJ9"
}

Create a product with its options and variants

POST/admin/2026-11/products

scope write_productsIdempotency-Key required

Headers

  • Idempotency-Keystringrequired

    Unique key for this request. Retries with the same key return the first response.

    At least 1 characters · Up to 255 characters

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Request body

  • titlestringrequired

    At least 1 characters · Up to 255 characters

  • handlestring

    Up to 100 characters

  • statusenum

    One of draft active archived

    Default "draft"

  • description_htmlstring

    Up to 100000 characters

  • vendorstring

    Up to 100 characters

  • tagsarray of string

    Up to 50 items

  • hsn_codestring or null

    Default null

  • gst_rate_bpenum or null

    One of 0 25 300 500 1200 1800 2800

    Default null

  • tax_class_idID (txc_...) or null

    Omitted with no GST rate and no code: the default tax class, when there is one.

  • product_typestring

    Up to 100 characters

  • category_idinteger or null

    A Google product category ID.

    Default null

  • seoobject

    Default {}

  • seo.titlestring

    Empty means the product title.

    Up to 70 characters

  • seo.descriptionstring

    Empty means the start of the description.

    Up to 320 characters

  • attributesobject

    What sales channels and marketplaces ask for (Google, Meta and others).

    Default {}

  • attributes.conditionenum

    One of new refurbished used

  • attributes.age_groupenum

    One of newborn infant toddler kids adult

  • attributes.genderenum

    One of male female unisex

  • attributes.materialstring

    Up to 100 characters

  • attributes.patternstring

    Up to 100 characters

  • attributes.colorstring

    Up to 100 characters

  • mediaarray of object

    Uploaded image files in order; the first is the main image.

    Up to 20 items

  • media[].file_idID (fil_...)required
  • media[].altstring

    Up to 200 characters

  • optionsarray of object

    Up to 3 items

  • options[].namestringrequired

    At least 1 characters · Up to 50 characters

  • options[].valuesarray of stringrequired

    Up to 100 items

  • variantsarray of objectrequired

    Up to 100 items

  • variants[].idID (var_...)

    Send to keep an existing variant when replacing the list.

  • variants[].titlestring

    At least 1 characters · Up to 200 characters

  • variants[].skustring or null
  • variants[].priceintegerrequired

    Minor units (paise).

    0 to 100000000000

  • variants[].compare_at_priceinteger or null
  • variants[].option_valuesarray of string

    Up to 3 items

  • variants[].weight_gramsinteger or null
  • variants[].requires_shippingboolean
  • variants[].barcodestring or null
  • variants[].mpnstring or null
  • variants[].cost_priceinteger or null
  • variants[].image_file_idID (fil_...) or null

    Added to the product images if not there yet.

  • typeenumrequired

    One of physical digital service course membership booking

Response 201

  • idID (prd_...)required
  • titlestringrequired
  • handlestringrequired
  • typeenumrequired

    One of physical digital service course membership booking

  • statusenumrequired

    One of draft active archived

  • description_htmlstringrequired
  • vendorstringrequired
  • tagsarray of stringrequired
  • currencyenumrequired

    One of INR GBP

  • hsn_codestring or nullrequired
  • gst_rate_bpinteger or nullrequired

    GST rate in basis points: 1800 is 18%.

  • tax_class_idID (txc_...) or nullrequired

    The tax class the rate and code come from (D-101).

  • product_typestringrequired

    Your own grouping, such as Saree or Workbook.

  • categoryobject or nullrequired

    Google product category, used by sales channels and for tax hints.

  • category.idintegerrequired
  • category.pathstringrequired
  • seoobjectrequired
  • seo.titlestring

    Empty means the product title.

    Up to 70 characters

  • seo.descriptionstring

    Empty means the start of the description.

    Up to 320 characters

  • attributesobjectrequired

    What sales channels and marketplaces ask for (Google, Meta and others).

  • attributes.conditionenum

    One of new refurbished used

  • attributes.age_groupenum

    One of newborn infant toddler kids adult

  • attributes.genderenum

    One of male female unisex

  • attributes.materialstring

    Up to 100 characters

  • attributes.patternstring

    Up to 100 characters

  • attributes.colorstring

    Up to 100 characters

  • mediaarray of objectrequired
  • media[].file_idID (fil_...)required
  • media[].altstringrequired

    Up to 200 characters

  • optionsarray of objectrequired
  • options[].idID (opt_...)required
  • options[].namestringrequired
  • options[].positionintegerrequired
  • options[].valuesarray of stringrequired
  • variantsarray of objectrequired
  • variants[].idID (var_...)required
  • variants[].titlestringrequired
  • variants[].skustring or nullrequired
  • variants[].priceintegerrequired
  • variants[].compare_at_priceinteger or nullrequired
  • variants[].option_valuesarray of stringrequired
  • variants[].positionintegerrequired
  • variants[].weight_gramsinteger or nullrequired
  • variants[].requires_shippingbooleanrequired
  • variants[].barcodestring or nullrequired

    GTIN, EAN, UPC or ISBN.

  • variants[].mpnstring or nullrequired

    Manufacturer part number.

  • variants[].cost_priceinteger or nullrequired

    What the item costs you, for margins. Never shown to buyers.

  • variants[].image_file_idID (fil_...) or nullrequired

    The product image shown for this variant.

  • created_attimestamprequired
  • updated_attimestamprequired

Errors

400idempotency_key_requiredEvery POST needs an Idempotency-Key header.
400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
409conflictThe request conflicts with the current state of the object.
409idempotency_in_progressA request with this Idempotency-Key is still running.
422idempotency_key_reusedThis Idempotency-Key was used with a different request.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X POST https://api.storelyne.com/admin/2026-11/products \
  -H "Authorization: Bearer pat_live_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "Festive saree",
  "variants": [
    {
      "price": 49900
    }
  ],
  "type": "physical"
}'
Response 201
{
  "id": "prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "title": "Festive saree",
  "handle": "festive-saree",
  "type": "physical",
  "status": "draft",
  "description_html": "<p>Hand block printed cotton.</p>",
  "vendor": "string",
  "tags": [
    "string"
  ],
  "currency": "INR",
  "hsn_code": "string",
  "gst_rate_bp": 1,
  "tax_class_id": "txc_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "product_type": "string",
  "category": {
    "id": 1,
    "path": "string"
  },
  "seo": {
    "title": "Festive saree",
    "description": "Hand block printed cotton."
  },
  "attributes": {
    "condition": "new",
    "age_group": "newborn",
    "gender": "male",
    "material": "string",
    "pattern": "string",
    "color": "string"
  },
  "media": [
    {
      "file_id": "fil_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "alt": ""
    }
  ],
  "options": [
    {
      "id": "opt_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "name": "Festive saree",
      "position": 1,
      "values": [
        "string"
      ]
    }
  ],
  "variants": [
    {
      "id": "var_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "title": "Festive saree",
      "sku": "string",
      "price": 49900,
      "compare_at_price": 49900,
      "option_values": [
        "string"
      ],
      "position": 1,
      "weight_grams": 1,
      "requires_shipping": false,
      "barcode": "string",
      "mpn": "string",
      "cost_price": 49900,
      "image_file_id": "fil_01JCG8ZQ5S7T0V4X8K2M3N6P9R"
    }
  ],
  "created_at": "2026-11-04T10:00:00.000Z",
  "updated_at": "2026-11-04T10:00:00.000Z"
}

One product

GET/admin/2026-11/products/{id}

scope read_products

Path parameters

  • idID (prd_...)required

Response 200

  • idID (prd_...)required
  • titlestringrequired
  • handlestringrequired
  • typeenumrequired

    One of physical digital service course membership booking

  • statusenumrequired

    One of draft active archived

  • description_htmlstringrequired
  • vendorstringrequired
  • tagsarray of stringrequired
  • currencyenumrequired

    One of INR GBP

  • hsn_codestring or nullrequired
  • gst_rate_bpinteger or nullrequired

    GST rate in basis points: 1800 is 18%.

  • tax_class_idID (txc_...) or nullrequired

    The tax class the rate and code come from (D-101).

  • product_typestringrequired

    Your own grouping, such as Saree or Workbook.

  • categoryobject or nullrequired

    Google product category, used by sales channels and for tax hints.

  • category.idintegerrequired
  • category.pathstringrequired
  • seoobjectrequired
  • seo.titlestring

    Empty means the product title.

    Up to 70 characters

  • seo.descriptionstring

    Empty means the start of the description.

    Up to 320 characters

  • attributesobjectrequired

    What sales channels and marketplaces ask for (Google, Meta and others).

  • attributes.conditionenum

    One of new refurbished used

  • attributes.age_groupenum

    One of newborn infant toddler kids adult

  • attributes.genderenum

    One of male female unisex

  • attributes.materialstring

    Up to 100 characters

  • attributes.patternstring

    Up to 100 characters

  • attributes.colorstring

    Up to 100 characters

  • mediaarray of objectrequired
  • media[].file_idID (fil_...)required
  • media[].altstringrequired

    Up to 200 characters

  • optionsarray of objectrequired
  • options[].idID (opt_...)required
  • options[].namestringrequired
  • options[].positionintegerrequired
  • options[].valuesarray of stringrequired
  • variantsarray of objectrequired
  • variants[].idID (var_...)required
  • variants[].titlestringrequired
  • variants[].skustring or nullrequired
  • variants[].priceintegerrequired
  • variants[].compare_at_priceinteger or nullrequired
  • variants[].option_valuesarray of stringrequired
  • variants[].positionintegerrequired
  • variants[].weight_gramsinteger or nullrequired
  • variants[].requires_shippingbooleanrequired
  • variants[].barcodestring or nullrequired

    GTIN, EAN, UPC or ISBN.

  • variants[].mpnstring or nullrequired

    Manufacturer part number.

  • variants[].cost_priceinteger or nullrequired

    What the item costs you, for margins. Never shown to buyers.

  • variants[].image_file_idID (fil_...) or nullrequired

    The product image shown for this variant.

  • created_attimestamprequired
  • updated_attimestamprequired

Errors

400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl https://api.storelyne.com/admin/2026-11/products/prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R \
  -H "Authorization: Bearer pat_live_..."
Response 200
{
  "id": "prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "title": "Festive saree",
  "handle": "festive-saree",
  "type": "physical",
  "status": "draft",
  "description_html": "<p>Hand block printed cotton.</p>",
  "vendor": "string",
  "tags": [
    "string"
  ],
  "currency": "INR",
  "hsn_code": "string",
  "gst_rate_bp": 1,
  "tax_class_id": "txc_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "product_type": "string",
  "category": {
    "id": 1,
    "path": "string"
  },
  "seo": {
    "title": "Festive saree",
    "description": "Hand block printed cotton."
  },
  "attributes": {
    "condition": "new",
    "age_group": "newborn",
    "gender": "male",
    "material": "string",
    "pattern": "string",
    "color": "string"
  },
  "media": [
    {
      "file_id": "fil_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "alt": ""
    }
  ],
  "options": [
    {
      "id": "opt_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "name": "Festive saree",
      "position": 1,
      "values": [
        "string"
      ]
    }
  ],
  "variants": [
    {
      "id": "var_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "title": "Festive saree",
      "sku": "string",
      "price": 49900,
      "compare_at_price": 49900,
      "option_values": [
        "string"
      ],
      "position": 1,
      "weight_grams": 1,
      "requires_shipping": false,
      "barcode": "string",
      "mpn": "string",
      "cost_price": 49900,
      "image_file_id": "fil_01JCG8ZQ5S7T0V4X8K2M3N6P9R"
    }
  ],
  "created_at": "2026-11-04T10:00:00.000Z",
  "updated_at": "2026-11-04T10:00:00.000Z"
}

Update a product

PATCH/admin/2026-11/products/{id}

scope write_products

Path parameters

  • idID (prd_...)required

Headers

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Request body

  • titlestring

    At least 1 characters · Up to 255 characters

  • handlestring

    Up to 100 characters

  • statusenum

    One of draft active archived

  • description_htmlstring

    Up to 100000 characters

  • vendorstring

    Up to 100 characters

  • tagsarray of string

    Up to 50 items

  • hsn_codestring or null
  • gst_rate_bpenum or null

    One of 0 25 300 500 1200 1800 2800

  • tax_class_idID (txc_...) or null

    Use this tax class: its GST rate and HSN or SAC code replace gst_rate_bp and hsn_code.

  • product_typestring

    Up to 100 characters

  • category_idinteger or null

    A Google product category ID.

  • seoobject
  • seo.titlestring

    Empty means the product title.

    Up to 70 characters

  • seo.descriptionstring

    Empty means the start of the description.

    Up to 320 characters

  • attributesobject

    What sales channels and marketplaces ask for (Google, Meta and others).

  • attributes.conditionenum

    One of new refurbished used

  • attributes.age_groupenum

    One of newborn infant toddler kids adult

  • attributes.genderenum

    One of male female unisex

  • attributes.materialstring

    Up to 100 characters

  • attributes.patternstring

    Up to 100 characters

  • attributes.colorstring

    Up to 100 characters

  • mediaarray of object

    Uploaded image files in order; the first is the main image.

    Up to 20 items

  • media[].file_idID (fil_...)required
  • media[].altstring

    Up to 200 characters

  • optionsarray of object

    Up to 3 items

  • options[].namestringrequired

    At least 1 characters · Up to 50 characters

  • options[].valuesarray of stringrequired

    Up to 100 items

  • variantsarray of object

    Up to 100 items

  • variants[].idID (var_...)

    Send to keep an existing variant when replacing the list.

  • variants[].titlestring

    At least 1 characters · Up to 200 characters

  • variants[].skustring or null
  • variants[].priceintegerrequired

    Minor units (paise).

    0 to 100000000000

  • variants[].compare_at_priceinteger or null
  • variants[].option_valuesarray of string

    Up to 3 items

  • variants[].weight_gramsinteger or null
  • variants[].requires_shippingboolean
  • variants[].barcodestring or null
  • variants[].mpnstring or null
  • variants[].cost_priceinteger or null
  • variants[].image_file_idID (fil_...) or null

    Added to the product images if not there yet.

Response 200

  • idID (prd_...)required
  • titlestringrequired
  • handlestringrequired
  • typeenumrequired

    One of physical digital service course membership booking

  • statusenumrequired

    One of draft active archived

  • description_htmlstringrequired
  • vendorstringrequired
  • tagsarray of stringrequired
  • currencyenumrequired

    One of INR GBP

  • hsn_codestring or nullrequired
  • gst_rate_bpinteger or nullrequired

    GST rate in basis points: 1800 is 18%.

  • tax_class_idID (txc_...) or nullrequired

    The tax class the rate and code come from (D-101).

  • product_typestringrequired

    Your own grouping, such as Saree or Workbook.

  • categoryobject or nullrequired

    Google product category, used by sales channels and for tax hints.

  • category.idintegerrequired
  • category.pathstringrequired
  • seoobjectrequired
  • seo.titlestring

    Empty means the product title.

    Up to 70 characters

  • seo.descriptionstring

    Empty means the start of the description.

    Up to 320 characters

  • attributesobjectrequired

    What sales channels and marketplaces ask for (Google, Meta and others).

  • attributes.conditionenum

    One of new refurbished used

  • attributes.age_groupenum

    One of newborn infant toddler kids adult

  • attributes.genderenum

    One of male female unisex

  • attributes.materialstring

    Up to 100 characters

  • attributes.patternstring

    Up to 100 characters

  • attributes.colorstring

    Up to 100 characters

  • mediaarray of objectrequired
  • media[].file_idID (fil_...)required
  • media[].altstringrequired

    Up to 200 characters

  • optionsarray of objectrequired
  • options[].idID (opt_...)required
  • options[].namestringrequired
  • options[].positionintegerrequired
  • options[].valuesarray of stringrequired
  • variantsarray of objectrequired
  • variants[].idID (var_...)required
  • variants[].titlestringrequired
  • variants[].skustring or nullrequired
  • variants[].priceintegerrequired
  • variants[].compare_at_priceinteger or nullrequired
  • variants[].option_valuesarray of stringrequired
  • variants[].positionintegerrequired
  • variants[].weight_gramsinteger or nullrequired
  • variants[].requires_shippingbooleanrequired
  • variants[].barcodestring or nullrequired

    GTIN, EAN, UPC or ISBN.

  • variants[].mpnstring or nullrequired

    Manufacturer part number.

  • variants[].cost_priceinteger or nullrequired

    What the item costs you, for margins. Never shown to buyers.

  • variants[].image_file_idID (fil_...) or nullrequired

    The product image shown for this variant.

  • created_attimestamprequired
  • updated_attimestamprequired

Errors

400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
409conflictThe request conflicts with the current state of the object.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X PATCH https://api.storelyne.com/admin/2026-11/products/prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R \
  -H "Authorization: Bearer pat_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "title": "Festive saree",
  "handle": "festive-saree",
  "status": "draft"
}'
Response 200
{
  "id": "prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "title": "Festive saree",
  "handle": "festive-saree",
  "type": "physical",
  "status": "draft",
  "description_html": "<p>Hand block printed cotton.</p>",
  "vendor": "string",
  "tags": [
    "string"
  ],
  "currency": "INR",
  "hsn_code": "string",
  "gst_rate_bp": 1,
  "tax_class_id": "txc_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "product_type": "string",
  "category": {
    "id": 1,
    "path": "string"
  },
  "seo": {
    "title": "Festive saree",
    "description": "Hand block printed cotton."
  },
  "attributes": {
    "condition": "new",
    "age_group": "newborn",
    "gender": "male",
    "material": "string",
    "pattern": "string",
    "color": "string"
  },
  "media": [
    {
      "file_id": "fil_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "alt": ""
    }
  ],
  "options": [
    {
      "id": "opt_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "name": "Festive saree",
      "position": 1,
      "values": [
        "string"
      ]
    }
  ],
  "variants": [
    {
      "id": "var_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "title": "Festive saree",
      "sku": "string",
      "price": 49900,
      "compare_at_price": 49900,
      "option_values": [
        "string"
      ],
      "position": 1,
      "weight_grams": 1,
      "requires_shipping": false,
      "barcode": "string",
      "mpn": "string",
      "cost_price": 49900,
      "image_file_id": "fil_01JCG8ZQ5S7T0V4X8K2M3N6P9R"
    }
  ],
  "created_at": "2026-11-04T10:00:00.000Z",
  "updated_at": "2026-11-04T10:00:00.000Z"
}

Delete a product and its variants

DEL/admin/2026-11/products/{id}

To hide a product but keep it, set status to archived instead.

scope write_products

Path parameters

  • idID (prd_...)required

Headers

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Response 204

No body.

Errors

400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X DELETE https://api.storelyne.com/admin/2026-11/products/prd_01JCG8ZQ5S7T0V4X8K2M3N6P9R \
  -H "Authorization: Bearer pat_live_..."
Response 204

No body.

The store's tax classes, default first

GET/admin/2026-11/tax-classes

scope read_products

Response 200

  • dataarray of objectrequired
  • data[].idID (txc_...)required
  • data[].namestringrequired
  • data[].gst_rate_bpintegerrequired
  • data[].hsn_codestring or nullrequired
  • data[].is_defaultbooleanrequired
  • data[].products_countintegerrequired

Errors

401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl https://api.storelyne.com/admin/2026-11/tax-classes \
  -H "Authorization: Bearer pat_live_..."
Response 200
{
  "data": [
    {
      "id": "txc_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
      "name": "Festive saree",
      "gst_rate_bp": 1,
      "hsn_code": "string",
      "is_default": false,
      "products_count": 1
    }
  ]
}

Add a tax class

POST/admin/2026-11/tax-classes

scope write_productsIdempotency-Key required

Headers

  • Idempotency-Keystringrequired

    Unique key for this request. Retries with the same key return the first response.

    At least 1 characters · Up to 255 characters

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Request body

  • namestringrequired

    At least 1 characters · Up to 60 characters

  • gst_rate_bpenumrequired

    One of 0 25 300 500 1200 1800 2800

  • hsn_codestring or null

    Default null

  • is_defaultboolean

    Default false

Response 201

  • idID (txc_...)required
  • namestringrequired
  • gst_rate_bpintegerrequired
  • hsn_codestring or nullrequired
  • is_defaultbooleanrequired
  • products_countintegerrequired

Errors

400idempotency_key_requiredEvery POST needs an Idempotency-Key header.
400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
409conflictThe request conflicts with the current state of the object.
409idempotency_in_progressA request with this Idempotency-Key is still running.
422idempotency_key_reusedThis Idempotency-Key was used with a different request.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X POST https://api.storelyne.com/admin/2026-11/tax-classes \
  -H "Authorization: Bearer pat_live_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Festive saree",
  "gst_rate_bp": 0
}'
Response 201
{
  "id": "txc_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "name": "Festive saree",
  "gst_rate_bp": 1,
  "hsn_code": "string",
  "is_default": false,
  "products_count": 1
}

Change a tax class; products using it get the new rate and code

PATCH/admin/2026-11/tax-classes/{id}

scope write_products

Path parameters

  • idID (txc_...)required

Headers

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Request body

  • namestring

    At least 1 characters · Up to 60 characters

  • gst_rate_bpenum

    One of 0 25 300 500 1200 1800 2800

  • hsn_codestring or null

    Default null

  • is_defaultboolean

    Default false

Response 200

  • idID (txc_...)required
  • namestringrequired
  • gst_rate_bpintegerrequired
  • hsn_codestring or nullrequired
  • is_defaultbooleanrequired
  • products_countintegerrequired

Errors

400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
409conflictThe request conflicts with the current state of the object.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X PATCH https://api.storelyne.com/admin/2026-11/tax-classes/txc_01JCG8ZQ5S7T0V4X8K2M3N6P9R \
  -H "Authorization: Bearer pat_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Festive saree",
  "gst_rate_bp": 0,
  "hsn_code": "string"
}'
Response 200
{
  "id": "txc_01JCG8ZQ5S7T0V4X8K2M3N6P9R",
  "name": "Festive saree",
  "gst_rate_bp": 1,
  "hsn_code": "string",
  "is_default": false,
  "products_count": 1
}

Remove a tax class; its products keep their rate and code

DEL/admin/2026-11/tax-classes/{id}

scope write_products

Path parameters

  • idID (txc_...)required

Headers

  • X-CSRF-Tokenstring

    Required with a seller session cookie: the value of the orb_csrf cookie.

Response 204

No body.

Errors

400validation_failedA field in the request is missing or invalid. See param.
401authentication_requiredSend a valid access token or session.
403missing_scopeThe app token does not have the scope this endpoint needs.
404resource_not_foundThe object does not exist or belongs to another store.
429rate_limitedToo many requests. Wait for the time in RateLimit-Reset.
500internal_errorSomething went wrong on our side. Quote the trace_id to support.
curl -X DELETE https://api.storelyne.com/admin/2026-11/tax-classes/txc_01JCG8ZQ5S7T0V4X8K2M3N6P9R \
  -H "Authorization: Bearer pat_live_..."
Response 204

No body.