Skip to content
API reference/Design choices

Offer a client design choices

Try it

Makes 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-choices

Authentication

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 · required
replacebooleanBody · 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
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":[]}'
Example arguments
{
  "site_id": "SITE_ID",
  "options": []
}
Response schema
{
  "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
}