Draw a product card or grid with its products now
POST
/api/v1/workspaces/{workspace}/commerce/blocks/render
package main
import ( "fmt" "strings" "net/http" "io")
func main() {
url := "https://reputecast.example.com/api/v1/workspaces/acme-newsletter/commerce/blocks/render"
payload := strings.NewReader("{ \"block\": { \"button\": \"example\", \"collection\": \"example\", \"compareAt\": true, \"count\": 1, \"heading\": \"example\", \"mode\": \"card\", \"products\": [ \"example\" ], \"soldOut\": \"hide\", \"store\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\" } }")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>") req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}const url = 'https://reputecast.example.com/api/v1/workspaces/acme-newsletter/commerce/blocks/render';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"block":{"button":"example","collection":"example","compareAt":true,"count":1,"heading":"example","mode":"card","products":["example"],"soldOut":"hide","store":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://reputecast.example.com/api/v1/workspaces/acme-newsletter/commerce/blocks/render \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "block": { "button": "example", "collection": "example", "compareAt": true, "count": 1, "heading": "example", "mode": "card", "products": [ "example" ], "soldOut": "hide", "store": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" } }'Permission: campaigns:view
Removed products are drawn and flagged; sends read prices and availability again.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”workspace
required
Workspace slug
string
Workspace slug
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
block
required
object
button
string
collection
string
compareAt
boolean
count
integer format: int64
heading
string
mode
required
string
products
required
Array<string>
soldOut
string
store
required
string format: uuid
Responses
Section titled “Responses”OK
Media typeapplication/json
object
disconnected
required
boolean
html
required
string
platform
required
string
products
required
Array<object>
object
available
required
boolean
compareAt
required
integer format: int64
currency
required
string
id
required
string
imageAlt
required
string
imageUrl
required
string
inventory
integer format: int64
price
required
integer format: int64
removed
required
boolean
removedAt
string format: date-time
title
required
string
url
required
string
removed
required
Array<object>
object
id
required
string
platform
required
string
removedAt
string format: date-time
title
required
string
soldOut
required
Array<string>
storeName
required
string
Example generated
{ "disconnected": true, "html": "example", "platform": "example", "products": [ { "available": true, "compareAt": 1, "currency": "example", "id": "example", "imageAlt": "example", "imageUrl": "example", "inventory": 1, "price": 1, "removed": true, "removedAt": "2026-04-15T12:00:00Z", "title": "example", "url": "example" } ], "removed": [ { "id": "example", "platform": "example", "removedAt": "2026-04-15T12:00:00Z", "title": "example" } ], "soldOut": [ "example" ], "storeName": "example"}default
Section titled “default”Error
Media typeapplication/problem+json
object
code
Stable error code, e.g. permission_denied
string
detail
A human-readable explanation specific to this occurrence of the problem.
string
errors
Optional list of individual error details
Array<object>
object
location
Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’
string
message
Error message text
string
value
The value at the given location
helpers
Members who hold the missing permission
Array<string>
instance
A URI reference that identifies the specific occurrence of the problem.
string format: uri
meta
object
key
additional properties
permission
The missing permission key
string
status
HTTP status code
integer format: int64
title
A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
string
type
A URI reference to human-readable documentation for the error.
string format: uri
Example
{ "detail": "Property foo is required but is missing.", "instance": "https://example.com/error-log/abc123", "status": 400, "title": "Bad Request", "type": "about:blank"}