---
title: "Publish Product"
method: POST
path: "/{client_id}/products/{id}/publish/"
---

# Publish Product

`POST /{client_id}/products/{id}/publish/`

## Request

- Base URL: `https://cf-blast.livelikecdn.com/api/v1/applications`
- URL: `https://cf-blast.livelikecdn.com/api/v1/applications/{client_id}/products/{id}/publish/`
- Auth: API key in header `Authorization`

Publishes a draft or unpublished product so members can see and redeem it. It takes no request body. Requires a producer access token for the application.

The product must have a product type, at least one image, at least one published category, and a reward item attached to its store. It must also have at least one active variant, and every active variant must have a cost. A `unique_code` product also needs a coupon code uploaded for an active variant. A product that is already published is rejected.

The response is the full product, in the same shape as Retrieve Product.

## Path parameters

- `client_id` string, required
- `id` string, uuid, required

## Response `200`

OK. The product is returned with state published.

- object
  - `id` string, uuid
  - `name` string
  - `state` 'draft' | 'published' | 'unpublished'
  - `display_status` 'draft' | 'unpublished' | 'published' | 'coming_soon' | 'expired'
  - `updated_at` string, date-time

## Other responses

- `400`: The product can't be published. Each field that blocks publishing is named in the body.
- `401`: Missing or invalid access token.
- `403`: The token is not a producer token for this application.
- `404`: No product with this ID in the application.

---

[API](https://skmtc.dev/livelike/apis/applications.md) - [All operations](https://skmtc.dev/livelike/apis/applications/llms.txt) - [OpenAPI document](https://skmtc.dev/livelike/apis/applications/revisions/841be2451373?raw)
