Skip to main content
PATCH
/
products
/
{productId}
/
status
Update Product Status
curl --request PATCH \
  --url https://staging-api.puppetvendors.com/products/{productId}/status \
  --header 'Content-Type: application/json' \
  --header 'x-access-token: <api-key>' \
  --data '
{
  "status": "<string>"
}
'

Documentation Index

Fetch the complete documentation index at: https://dev.puppetvendors.com/llms.txt

Use this file to discover all available pages before exploring further.

V2 Preview — This endpoint is part of the V2 API preview. Breaking changes may occur.

Overview

Change a product’s status without updating any other fields. This is a lightweight way to publish or unpublish a product. Vendor tokens can only update their own products. If the shop has product approval enabled, setting status to ACTIVE may place the product into a pending state instead, requiring merchant approval before it goes live.

Use Cases

  • Publish a draft product to the storefront
  • Temporarily unpublish a product by switching it to draft
  • Quickly toggle product visibility without a full product update

Required Scope

products:write

Path Parameters

productId
string
required
Product ID (Shopify numeric, GID, or MongoDB ObjectId).

Request Body

status
string
required
The new status. Must be one of ACTIVE or DRAFT.

Response

200
{
  "success": true,
  "data": {
    "_id": "507f1f77bcf86cd799439013",
    "title": "Organic Cotton Tee",
    "status": "active"
  }
}
403
{
  "success": false,
  "error": {
    "message": "Updating products is disabled for this vendor",
    "code": "FORBIDDEN"
  }
}
404
{
  "success": false,
  "error": {
    "message": "Product not found",
    "code": "PRODUCT_NOT_FOUND"
  }
}

Example

curl -X PATCH "https://staging-api.puppetvendors.com/products/507f1f77bcf86cd799439013/status" \
  -H "x-access-token: YOUR_VENDOR_JWT" \
  -H "Content-Type: application/json" \
  -d '{"status": "ACTIVE"}'