API reference/Design choices
Offer a client design choices
Try itMakes up to 3 looks for the client to pick from, each drawn over the site's own draft words and pictures, and answers with the link to send them (in your brand). Nothing on the site changes until the client picks — then only the DRAFT's look changes (never published). One waiting set per site: pass replace: true to withdraw the waiting one.
POST
/api/v1/sites/{site_id}/design-choicesAuthentication
An API key as Authorization: Bearer or x-api-key. It needs the sites:write scope — edit draft pages and sections.
sites:writeChanges the draft or a recordIdempotency-Key requiredMCP tool: create_design_choices
Parameters
Named placeholders go in the path; the rest in a JSON body.
site_idstringPath · required- The site's id.1 to 100 characters
titlestringBody · optional- Headline on the page (default "Pick the look for your new website").At most 120 characters
notestringBody · optional- A personal note to your client, plain text.At most 1500 characters
optionsarray of objectBody · requiredreplacebooleanBody · optional- Withdraw a set that is still waiting and make this one instead.
Response
201 with JSON on success (schema on the right). Errors use the standard envelope; a retry with the same Idempotency-Key gets the first answer back (how retries work).
curl -X POST 'https://websites.workflowcorp.com/api/v1/sites/SITE_ID/design-choices' \
-H "Authorization: Bearer $WEBSITEBUDDY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"options":[]}'{
"site_id": "SITE_ID",
"options": []
}{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"site_id": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"OPEN",
"CHOSEN",
"WITHDRAWN"
]
},
"link": {
"type": "string",
"description": "The page to send your client (in your brand; your own address when it's connected)."
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"index": {
"type": "number"
},
"style": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"colors": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"preview_url": {
"type": "string"
}
},
"required": [
"index",
"style",
"name",
"description",
"colors",
"preview_url"
],
"additionalProperties": false
}
},
"chosen": {
"anyOf": [
{
"type": "object",
"properties": {
"index": {
"type": "number"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"comment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"at": {
"type": "string"
}
},
"required": [
"index",
"name",
"email",
"comment",
"at"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"created_at": {
"type": "string"
}
},
"required": [
"id",
"site_id",
"status",
"link",
"title",
"note",
"options",
"chosen",
"created_at"
],
"additionalProperties": false
}