ESC
Start typing to search documentation...
JoonWeb Dev

Products Endpoints

Detailed technical documentation and implementation guide for Products Endpoints.

Overview #

List products #

GET /api/admin/26.0/products

Parameters

Field Type Description
limit integer [Optional] Number of results to return (default 20, max 10000)
page integer [Optional] Page number to fetch (default 1)
sort_by string [Optional] Field to sort by (e.g. created_at, title)
sort_order string [Optional] Sort direction: asc or desc
collection_id integer [Optional] Filter by collection ID
vendor string [Optional] Filter by vendor name
product_type string [Optional] Filter by product type
available boolean [Optional] Filter by availability (true/false)
ids string [Optional] Comma-separated list of product IDs
handle string [Optional] Filter by product handle
min_stock integer [Optional] Minimum inventory stock
max_stock integer [Optional] Maximum inventory stock
search string [Optional] Search in title or description
inventory_status string [Optional] Filter by status (available, out_of_stock)
status string [Optional] Filter by status (public, draft, private)
min_price float [Optional] Minimum price
max_price float [Optional] Maximum price
fields string [Optional] Comma-separated fields to return

Headers

Header Value
X-Joonweb-Access-Token jw_at_xxxxxxxxxxxx
Content-Type application/json
Request Example
Response
200 OK
{
    "products": [
        {
            "id": 104593,
            "handle": "premium-wireless-headphones",
            "title": "Premium Wireless Headphones",
            "description": "<p>Experience true audio freedom with our premium wireless headphones.<\/p>",
            "label": "Sale",
            "body_html": "<p>Experience true audio freedom with our premium wireless headphones.<\/p>",
            "created_at": "2026-08-27T11:31:04+02:00",
            "updated_at": "2026-08-27T11:31:04+02:00",
            "published_at": "2026-08-27T11:31:04+02:00",
            "vendor": "AudioTech",
            "product_type": "Electronics",
            "product_category": "Headphones",
            "status": "public",
            "tags": "audio, wireless, new",
            "inventory_quantity": 150,
            "available": true,
            "available_for_sale": true,
            "track_quantity": 1,
            "variants": [
                {
                    "id": 593821,
                    "variant_id": 4920,
                    "product_id": 104593,
                    "title": "Black \/ Standard",
                    "price": 149.990000000000009094947017729282379150390625,
                    "compare_at_price": 199.990000000000009094947017729282379150390625,
                    "sale_price": 149.990000000000009094947017729282379150390625,
                    "discount": 50,
                    "weight": 0.450000000000000011102230246251565404236316680908203125,
                    "weight_unit": "kg",
                    "sku": "ATH-BLK-01",
                    "is_trackable": true,
                    "track_quantity": true,
                    "inventory_quantity": 100,
                    "created_at": "2026-08-27T11:31:04+02:00",
                    "updated_at": "2026-08-27T11:31:04+02:00",
                    "cost": 80,
                    "barcode": "123456789012",
                    "taxable": true
                }
            ],
            "images": [
                {
                    "id": 1029,
                    "url": "https:\/\/cdn.joonweb.com\/images\/headphones-black.jpg",
                    "alt": "Black Wireless Headphones"
                }
            ],
            "image": {
                "id": 1029,
                "url": "https:\/\/cdn.joonweb.com\/images\/headphones-black.jpg",
                "alt": "Black Wireless Headphones"
            }
        }
    ],
    "pagination": {
        "current_page": 1,
        "per_page": 20,
        "total": 1,
        "total_pages": 1
    }
}

Get product #

GET /api/admin/26.0/products/{id}

Parameters

Field Type Description
id integer/string [Required] The resource ID or handle

Headers

Header Value
X-Joonweb-Access-Token jw_at_xxxxxxxxxxxx
Content-Type application/json
Request Example
Response
200 OK
{
    "product": {
        "id": 104593,
        "handle": "premium-wireless-headphones",
        "title": "Premium Wireless Headphones",
        "description": "<p>Experience true audio freedom with our premium wireless headphones.<\/p>",
        "label": "Sale",
        "body_html": "<p>Experience true audio freedom with our premium wireless headphones.<\/p>",
        "created_at": "2026-08-27T11:31:04+02:00",
        "updated_at": "2026-08-27T11:31:04+02:00",
        "published_at": "2026-08-27T11:31:04+02:00",
        "vendor": "AudioTech",
        "product_type": "Electronics",
        "product_category": "Headphones",
        "status": "public",
        "tags": "audio, wireless, new",
        "inventory_quantity": 150,
        "available": true,
        "available_for_sale": true,
        "track_quantity": 1,
        "variants": [
            {
                "id": 593821,
                "variant_id": 4920,
                "product_id": 104593,
                "title": "Black \/ Standard",
                "price": 149.990000000000009094947017729282379150390625,
                "compare_at_price": 199.990000000000009094947017729282379150390625,
                "sale_price": 149.990000000000009094947017729282379150390625,
                "discount": 50,
                "weight": 0.450000000000000011102230246251565404236316680908203125,
                "weight_unit": "kg",
                "sku": "ATH-BLK-01",
                "is_trackable": true,
                "track_quantity": true,
                "inventory_quantity": 100,
                "created_at": "2026-08-27T11:31:04+02:00",
                "updated_at": "2026-08-27T11:31:04+02:00",
                "cost": 80,
                "barcode": "123456789012",
                "taxable": true
            }
        ],
        "images": [
            {
                "id": 1029,
                "url": "https:\/\/cdn.joonweb.com\/images\/headphones-black.jpg",
                "alt": "Black Wireless Headphones"
            }
        ],
        "image": {
            "id": 1029,
            "url": "https:\/\/cdn.joonweb.com\/images\/headphones-black.jpg",
            "alt": "Black Wireless Headphones"
        }
    }
}

Create product #

POST /api/admin/26.0/products

Parameters

Field Type Description
title string [Required] The title of the product
body_html string [Optional] HTML description of the product
handle string [Optional] Human-friendly unique string for the product URL
vendor string [Optional] The name of the vendor
product_type string [Optional] The product type
status string [Optional] Status of product: active, draft, or archived
tags string [Optional] Comma-separated tags
options array [Optional] Array of custom product options (e.g. Size, Color)
options[].name string [Required if options used] Name of the option (e.g. Size)
options[].values array [Required if options used] Array of string values (e.g. ['Small', 'Medium'])
variants array [Optional] Array of product variants
variants[].price float [Required if variants used] The price of the variant
variants[].compare_at_price float [Optional] The original price before sale
variants[].cost_per_item float [Optional] The cost of the variant to the merchant
variants[].sku string [Optional] Stock Keeping Unit
variants[].barcode string [Optional] Barcode, UPC, or ISBN
variants[].weight float [Optional] The weight of the variant
variants[].weight_unit string [Optional] Unit of measurement (g, kg, oz, lb)
variants[].tracked boolean [Optional] Whether inventory is tracked (1 or 0)
variants[].position integer [Optional] Sort order position
variants[].image_id integer [Optional] The ID of the image associated with this variant
variants[].option1 string [Optional] Value for the first option (must match an option value)
variants[].option2 string [Optional] Value for the second option
variants[].option3 string [Optional] Value for the third option
images array [Optional] Array of product images
images[].src string [Required if images used] The source URL of the image
images[].position integer [Optional] Sort order position
images[].variant_ids array [Optional] Array of variant IDs to link this image to

Headers

Header Value
X-Joonweb-Access-Token jw_at_xxxxxxxxxxxx
Content-Type application/json
Request Example
Request Body
{
    "product": {
        "title": "Premium Wireless Headphones",
        "body_html": "<p>Experience true audio freedom.<\/p>",
        "handle": "premium-wireless-headphones",
        "vendor": "AudioTech",
        "product_type": "Electronics",
        "status": "active",
        "tags": "audio, wireless, new",
        "options": [
            {
                "name": "Color",
                "values": [
                    "Black",
                    "White"
                ]
            }
        ],
        "variants": [
            {
                "price": 149.990000000000009094947017729282379150390625,
                "compare_at_price": 199.990000000000009094947017729282379150390625,
                "sku": "ATH-BLK-01",
                "weight": 0.450000000000000011102230246251565404236316680908203125,
                "weight_unit": "kg",
                "tracked": 1,
                "option1": "Black"
            },
            {
                "price": 149.990000000000009094947017729282379150390625,
                "compare_at_price": 199.990000000000009094947017729282379150390625,
                "sku": "ATH-WHT-01",
                "weight": 0.450000000000000011102230246251565404236316680908203125,
                "weight_unit": "kg",
                "tracked": 1,
                "option1": "White"
            }
        ],
        "images": [
            {
                "src": "https:\/\/example.com\/images\/headphones-black.jpg",
                "position": 1
            },
            {
                "src": "https:\/\/example.com\/images\/headphones-white.jpg",
                "position": 2
            }
        ]
    }
}
Response
200 OK
{
    "product": {
        "id": 104593,
        "handle": "premium-wireless-headphones",
        "title": "Premium Wireless Headphones",
        "description": "<p>Experience true audio freedom with our premium wireless headphones.<\/p>",
        "label": "Sale",
        "body_html": "<p>Experience true audio freedom with our premium wireless headphones.<\/p>",
        "created_at": "2026-08-27T11:31:04+02:00",
        "updated_at": "2026-08-27T11:31:04+02:00",
        "published_at": "2026-08-27T11:31:04+02:00",
        "vendor": "AudioTech",
        "product_type": "Electronics",
        "product_category": "Headphones",
        "status": "public",
        "tags": "audio, wireless, new",
        "inventory_quantity": 150,
        "available": true,
        "available_for_sale": true,
        "track_quantity": 1,
        "variants": [
            {
                "id": 593821,
                "variant_id": 4920,
                "product_id": 104593,
                "title": "Black \/ Standard",
                "price": 149.990000000000009094947017729282379150390625,
                "compare_at_price": 199.990000000000009094947017729282379150390625,
                "sale_price": 149.990000000000009094947017729282379150390625,
                "discount": 50,
                "weight": 0.450000000000000011102230246251565404236316680908203125,
                "weight_unit": "kg",
                "sku": "ATH-BLK-01",
                "is_trackable": true,
                "track_quantity": true,
                "inventory_quantity": 100,
                "created_at": "2026-08-27T11:31:04+02:00",
                "updated_at": "2026-08-27T11:31:04+02:00",
                "cost": 80,
                "barcode": "123456789012",
                "taxable": true
            }
        ],
        "images": [
            {
                "id": 1029,
                "url": "https:\/\/cdn.joonweb.com\/images\/headphones-black.jpg",
                "alt": "Black Wireless Headphones"
            }
        ],
        "image": {
            "id": 1029,
            "url": "https:\/\/cdn.joonweb.com\/images\/headphones-black.jpg",
            "alt": "Black Wireless Headphones"
        }
    }
}

Update product #

PUT /api/admin/26.0/products/{id}

Parameters

Field Type Description
title string [Required] The title of the product
body_html string [Optional] HTML description of the product
handle string [Optional] Human-friendly unique string for the product URL
vendor string [Optional] The name of the vendor
product_type string [Optional] The product type
status string [Optional] Status of product: active, draft, or archived
tags string [Optional] Comma-separated tags
options array [Optional] Array of custom product options (e.g. Size, Color)
options[].name string [Required if options used] Name of the option (e.g. Size)
options[].values array [Required if options used] Array of string values (e.g. ['Small', 'Medium'])
variants array [Optional] Array of product variants
variants[].price float [Required if variants used] The price of the variant
variants[].compare_at_price float [Optional] The original price before sale
variants[].cost_per_item float [Optional] The cost of the variant to the merchant
variants[].sku string [Optional] Stock Keeping Unit
variants[].barcode string [Optional] Barcode, UPC, or ISBN
variants[].weight float [Optional] The weight of the variant
variants[].weight_unit string [Optional] Unit of measurement (g, kg, oz, lb)
variants[].tracked boolean [Optional] Whether inventory is tracked (1 or 0)
variants[].position integer [Optional] Sort order position
variants[].image_id integer [Optional] The ID of the image associated with this variant
variants[].option1 string [Optional] Value for the first option (must match an option value)
variants[].option2 string [Optional] Value for the second option
variants[].option3 string [Optional] Value for the third option
images array [Optional] Array of product images
images[].src string [Required if images used] The source URL of the image
images[].position integer [Optional] Sort order position
images[].variant_ids array [Optional] Array of variant IDs to link this image to

Headers

Header Value
X-Joonweb-Access-Token jw_at_xxxxxxxxxxxx
Content-Type application/json
Request Example
Request Body
{
    "product": {
        "title": "Premium Wireless Headphones",
        "body_html": "<p>Experience true audio freedom.<\/p>",
        "handle": "premium-wireless-headphones",
        "vendor": "AudioTech",
        "product_type": "Electronics",
        "status": "active",
        "tags": "audio, wireless, new",
        "options": [
            {
                "name": "Color",
                "values": [
                    "Black",
                    "White"
                ]
            }
        ],
        "variants": [
            {
                "price": 149.990000000000009094947017729282379150390625,
                "compare_at_price": 199.990000000000009094947017729282379150390625,
                "sku": "ATH-BLK-01",
                "weight": 0.450000000000000011102230246251565404236316680908203125,
                "weight_unit": "kg",
                "tracked": 1,
                "option1": "Black"
            },
            {
                "price": 149.990000000000009094947017729282379150390625,
                "compare_at_price": 199.990000000000009094947017729282379150390625,
                "sku": "ATH-WHT-01",
                "weight": 0.450000000000000011102230246251565404236316680908203125,
                "weight_unit": "kg",
                "tracked": 1,
                "option1": "White"
            }
        ],
        "images": [
            {
                "src": "https:\/\/example.com\/images\/headphones-black.jpg",
                "position": 1
            },
            {
                "src": "https:\/\/example.com\/images\/headphones-white.jpg",
                "position": 2
            }
        ]
    }
}
Response
200 OK
{
    "product": {
        "id": 104593,
        "handle": "premium-wireless-headphones",
        "title": "Premium Wireless Headphones",
        "description": "<p>Experience true audio freedom with our premium wireless headphones.<\/p>",
        "label": "Sale",
        "body_html": "<p>Experience true audio freedom with our premium wireless headphones.<\/p>",
        "created_at": "2026-08-27T11:31:04+02:00",
        "updated_at": "2026-08-27T11:31:04+02:00",
        "published_at": "2026-08-27T11:31:04+02:00",
        "vendor": "AudioTech",
        "product_type": "Electronics",
        "product_category": "Headphones",
        "status": "public",
        "tags": "audio, wireless, new",
        "inventory_quantity": 150,
        "available": true,
        "available_for_sale": true,
        "track_quantity": 1,
        "variants": [
            {
                "id": 593821,
                "variant_id": 4920,
                "product_id": 104593,
                "title": "Black \/ Standard",
                "price": 149.990000000000009094947017729282379150390625,
                "compare_at_price": 199.990000000000009094947017729282379150390625,
                "sale_price": 149.990000000000009094947017729282379150390625,
                "discount": 50,
                "weight": 0.450000000000000011102230246251565404236316680908203125,
                "weight_unit": "kg",
                "sku": "ATH-BLK-01",
                "is_trackable": true,
                "track_quantity": true,
                "inventory_quantity": 100,
                "created_at": "2026-08-27T11:31:04+02:00",
                "updated_at": "2026-08-27T11:31:04+02:00",
                "cost": 80,
                "barcode": "123456789012",
                "taxable": true
            }
        ],
        "images": [
            {
                "id": 1029,
                "url": "https:\/\/cdn.joonweb.com\/images\/headphones-black.jpg",
                "alt": "Black Wireless Headphones"
            }
        ],
        "image": {
            "id": 1029,
            "url": "https:\/\/cdn.joonweb.com\/images\/headphones-black.jpg",
            "alt": "Black Wireless Headphones"
        }
    }
}

Delete product #

DELETE /api/admin/26.0/products/{id}

Parameters

Field Type Description
id integer/string [Required] The resource ID or handle

Headers

Header Value
X-Joonweb-Access-Token jw_at_xxxxxxxxxxxx
Content-Type application/json
Request Example
Response
200 OK
{
    "success": true,
    "message": "Deleted successfully"
}

Count products #

GET /api/admin/26.0/products/count

Parameters

Field Type Description
limit integer [Optional] Number of results to return (default 20, max 10000)
page integer [Optional] Page number to fetch (default 1)
sort_by string [Optional] Field to sort by (e.g. created_at, title)
sort_order string [Optional] Sort direction: asc or desc
collection_id integer [Optional] Filter by collection ID
vendor string [Optional] Filter by vendor name
product_type string [Optional] Filter by product type
available boolean [Optional] Filter by availability (true/false)
ids string [Optional] Comma-separated list of product IDs
handle string [Optional] Filter by product handle
min_stock integer [Optional] Minimum inventory stock
max_stock integer [Optional] Maximum inventory stock
search string [Optional] Search in title or description
inventory_status string [Optional] Filter by status (available, out_of_stock)
status string [Optional] Filter by status (public, draft, private)
min_price float [Optional] Minimum price
max_price float [Optional] Maximum price
fields string [Optional] Comma-separated fields to return

Headers

Header Value
X-Joonweb-Access-Token jw_at_xxxxxxxxxxxx
Content-Type application/json
Request Example
Response
200 OK
{
    "count": 156
}

List product metafields #

GET /api/admin/26.0/products/{id}/metafields

Parameters

Field Type Description
id integer/string [Required] The resource ID or handle

Headers

Header Value
X-Joonweb-Access-Token jw_at_xxxxxxxxxxxx
Content-Type application/json
Request Example
Response
200 OK
{
    "metafields": [
        {
            "id": 8492,
            "namespace": "global",
            "key": "title_tag",
            "value": "Buy Premium Headphones Online",
            "value_type": "string",
            "description": "SEO Title Tag",
            "owner_id": 104593,
            "owner_resource": "product",
            "created_at": "2026-08-27T11:31:04+02:00",
            "updated_at": "2026-08-27T11:31:04+02:00"
        }
    ],
    "pagination": {
        "current_page": 1,
        "per_page": 20,
        "total": 1,
        "total_pages": 1
    }
}

Create product metafield #

POST /api/admin/26.0/products/{id}/metafields

Parameters

Field Type Description
id integer/string [Required] The resource ID or handle
namespace string [Required] Grouping namespace
key string [Required] Metafield key
value string [Required] Metafield value
value_type string [Required] string, integer, json, etc.
description string [Optional] Description of the metafield

Headers

Header Value
X-Joonweb-Access-Token jw_at_xxxxxxxxxxxx
Content-Type application/json
Request Example
Response
200 OK
{
    "metafield": {
        "id": 8492,
        "namespace": "global",
        "key": "title_tag",
        "value": "Buy Premium Headphones Online",
        "value_type": "string",
        "description": "SEO Title Tag",
        "owner_id": 104593,
        "owner_resource": "product",
        "created_at": "2026-08-27T11:31:04+02:00",
        "updated_at": "2026-08-27T11:31:04+02:00"
    }
}

Update product metafield #

PUT /api/admin/26.0/products/{id}/metafields

Parameters

Field Type Description
id integer/string [Required] The resource ID or handle
namespace string [Required] Grouping namespace
key string [Required] Metafield key
value string [Required] Metafield value
value_type string [Required] string, integer, json, etc.
description string [Optional] Description of the metafield

Headers

Header Value
X-Joonweb-Access-Token jw_at_xxxxxxxxxxxx
Content-Type application/json
Request Example
Response
200 OK
{
    "metafield": {
        "id": 8492,
        "namespace": "global",
        "key": "title_tag",
        "value": "Buy Premium Headphones Online",
        "value_type": "string",
        "description": "SEO Title Tag",
        "owner_id": 104593,
        "owner_resource": "product",
        "created_at": "2026-08-27T11:31:04+02:00",
        "updated_at": "2026-08-27T11:31:04+02:00"
    }
}

What's Next? #

Last modified: Aug 25, 2026