Skip to main content
Activate or deactivate a product. Active products are purchasable; inactive products are hidden from checkout.
POST /v1/actions/onetime-product/update-status
Authentication: API Key

Request Body

FieldTypeRequiredDescription
idstringYesProduct ID (Short ID format PROD_xxx)
statusstringYesactive or inactive

Example Request

import { ProductVersionStatus } from "@waffo/pancake-ts";

const { product } = await client.onetimeProducts.updateStatus({
  id: "PROD_3kF9mNpQrStUvWxYz1A2bC",
  status: ProductVersionStatus.Inactive,
});

Success Response (200)

{
  "data": {
    "product": {
      "id": "PROD_3kF9mNpQrStUvWxYz1A2bC",
      "storeId": "STO_2aUyqjCzEIiEcYMKj7TZtw",
      "name": "Premium Template Pack",
      "description": "50 premium design templates for your next project.",
      "prices": {
        "USD": { "amount": "49.00", "taxCategory": "digital_goods" },
        "EUR": { "amount": "45.00", "taxCategory": "digital_goods" }
      },
      "media": [
        { "type": "image", "url": "https://example.com/templates-preview.png", "alt": "Template preview" }
      ],
      "successUrl": "https://example.com/thank-you",
      "metadata": { "category": "design", "fileCount": "50" },
      "status": "inactive",
      "createdAt": "2026-01-15T10:30:00.000Z",
      "updatedAt": "2026-01-15T13:00:00.000Z"
    }
  }
}

Response Fields

Same as Create Product response.
Setting a product to inactive hides it from checkout but does not affect existing orders. Customers who already purchased the product retain access.

Errors

Retry policy: Never retry 4xx — fix the request and resubmit. Retry 5xx with exponential backoff (start 5s, max 3 attempts).
Statuserrors[0].messageWhat it meansRecommended handling
400Missing required field: idid not providedFix the body, resubmit
400Invalid ID formatThe provided Short ID could not be decodedFix the id format, resubmit
400Invalid or missing status (must be 'active' or 'inactive')status is not active or inactiveUse active or inactive, resubmit
400Product X has no version in environment YThe product has no version in the targeted environment (e.g. attempting to update status of prod before publishing)Publish the product to the target environment first via Publish Product
404Product not foundProduct does not exist or is not accessibleVerify the id belongs to your merchant account
500Internal server errorUnexpected server-side failureRetry with exponential backoff (start 5s, max 3 attempts)