Render a Grow block for the composer's canvas, as a reader or a sample
POST
/api/v1/workspaces/{workspace}/grow/blocks/render
package main
import ( "fmt" "strings" "net/http" "io")
func main() {
url := "https://reputecast.example.com/api/v1/workspaces/acme-newsletter/grow/blocks/render"
payload := strings.NewReader("{ \"contactId\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"kind\": \"referral\", \"milestoneId\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"settings\": \"example\" }")
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/grow/blocks/render';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"contactId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","kind":"referral","milestoneId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","settings":"example"}'};
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/grow/blocks/render \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "contactId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "kind": "referral", "milestoneId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "settings": "example" }'Permission: campaigns:view
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
contactId
string format: uuid
kind
required
string
milestoneId
string format: uuid
settings
Responses
Section titled “Responses”OK
Media typeapplication/json
object
count
required
integer format: int64
for
required
string
hidden
required
string
html
required
string
listName
required
string
offAt
string format: date-time
offBy
required
string
programId
required
string
reward
required
object
button
required
string
description
required
boolean
expiry
required
boolean
hub
required
boolean
image
required
boolean
settings
required
object
button
required
string
layout
required
string
program
string format: uuid
progress
required
boolean
share
required
Array<string>
texts
required
object
many
required
string
none
required
string
one
required
string
Example
{ "hidden": "none", "settings": { "layout": "line" }}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"}