Skip to main content
PUT
/
open-api
/
v1.0
/
products
/
{productId}
/
state
Update product (offer) lifecycle state
curl --request PUT \
  --url https://api.fourthwall.com/open-api/v1.0/products/{productId}/state \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "state": "PUBLIC"
}
'
{
  "id": "00aa4abd-5778-4199-8161-0b49b2f212e5",
  "name": "My t-shirt",
  "slug": "my-t-shirt",
  "description": "My t-shirt description",
  "state": {
    "type": "<string>"
  },
  "access": {
    "type": "<string>"
  },
  "images": [
    {
      "id": "00aa4abd-5778-4199-8161-0b49b2f212e5",
      "url": "https://fourthwall.com/image.png",
      "width": 800,
      "height": 600,
      "transformedUrl": "https://fourthwall.com/image.png"
    }
  ],
  "variants": [
    {
      "id": "00aa4abd-5778-4199-8161-0b49b2f212e5",
      "name": "My t-shirt - Black, L",
      "sku": "WDEK-DRE200L",
      "unitPrice": {
        "value": 10,
        "currency": "USD"
      },
      "attributes": {
        "description": "Black, L",
        "color": {
          "name": "Black",
          "swatch": "#000000"
        },
        "size": {
          "name": "L"
        }
      },
      "stock": {
        "type": "<string>",
        "inStock": 5
      },
      "weight": {
        "value": 1,
        "unit": "kg"
      },
      "dimensions": {
        "length": 1,
        "width": 2,
        "height": 3,
        "unit": "cm"
      },
      "images": [
        {
          "id": "00aa4abd-5778-4199-8161-0b49b2f212e5",
          "url": "https://fourthwall.com/image.png",
          "width": 800,
          "height": 600,
          "transformedUrl": "https://fourthwall.com/image.png"
        }
      ],
      "compareAtPrice": {
        "value": 10,
        "currency": "USD"
      },
      "unitCost": {
        "value": 10,
        "currency": "USD"
      },
      "creatorDeclaredCost": {
        "value": 10,
        "currency": "USD"
      },
      "thumbnailImage": {
        "id": "00aa4abd-5778-4199-8161-0b49b2f212e5",
        "url": "https://fourthwall.com/image.png",
        "width": 800,
        "height": 600,
        "transformedUrl": "https://fourthwall.com/image.png"
      }
    }
  ],
  "createdAt": "2020-08-13T09:05:36.939Z",
  "updatedAt": "2020-08-13T09:05:36.939Z",
  "thumbnailImage": {
    "id": "00aa4abd-5778-4199-8161-0b49b2f212e5",
    "url": "https://fourthwall.com/image.png",
    "width": 800,
    "height": 600,
    "transformedUrl": "https://fourthwall.com/image.png"
  },
  "additionalInformation": {
    "sizeAndFit": "<string>",
    "guaranteeAndReturns": "<string>",
    "moreDetails": "<string>"
  },
  "sizeGuide": {
    "fitGuideUrls": [
      "<string>"
    ],
    "previewUrl": "<string>",
    "fileUrl": "<string>",
    "description": "<string>",
    "fitGuideDescription": "<string>"
  },
  "digitalFiles": [
    {
      "uri": "https://storage.googleapis.com/bucket/shop/offer/file",
      "name": "my-ebook.pdf",
      "fileSize": "15.4 MB",
      "mediaType": "application/pdf"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.fourthwall.com/llms.txt

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

OAuth scope: offer_writeAPI keys have full access to this endpoint.

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

productId
string
required

Body

application/json

Request to transition a product (offer) lifecycle state. Only PUBLIC and HIDDEN are reachable via this endpoint — use DELETE /products/{productId} to archive.

state
enum<string>
required

Target lifecycle state. PUBLIC makes the product visible on the storefront; HIDDEN keeps it unlisted. The sold-out (available) flag is preserved across the transition — use PUT /products/{productId}/availability to flip it.

Available options:
PUBLIC,
HIDDEN
Example:

"PUBLIC"

Response

OK

id
string
required
Example:

"00aa4abd-5778-4199-8161-0b49b2f212e5"

name
string
required
Example:

"My t-shirt"

slug
string
required
Example:

"my-t-shirt"

description
string
required
Example:

"My t-shirt description"

type
enum<string>
required
Available options:
STANDARD,
GIFT_CARD,
UNKNOWN
state
Available · object
required
access
Archived · object
required
images
Image · object[]
required
variants
Offer Variant · object[]
required
createdAt
string<date-time>
required
Example:

"2020-08-13T09:05:36.939Z"

updatedAt
string<date-time>
required
Example:

"2020-08-13T09:05:36.939Z"

thumbnailImage
Image · object
additionalInformation
Offer Additional Information · object
sizeGuide
Offer Size Guide · object
digitalFiles
Digital File · object[]

Digital files attached to this offer. Only present for digital offers.