Skip to content

Change a site's settings

Try it

Changes the DRAFT's phone, map search, logo for dark backgrounds, header search button, announcement strip or pop-up (the editor's own save rules). Only the fields sent change; inside announcement / popup, only the keys sent change. Live with the next publish_site; the start and end days then switch the strip and pop-up on and off by themselves.

PATCH/api/v1/sites/{site_id}/settings

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 optionalMCP tool: update_site_settings

Parameters

Named placeholders go in the path; the rest in a JSON body.

site_idstringPath · required
The site's id.1 to 100 characters
phonestring | nullBody · optional
As visitors read it — "(309) 526-TIRE" works: Call buttons dial the keypad digits.At most 40 characters
map_searchstring | nullBody · optional
e.g. "Community Fellowship Church, 701 S Oak Ln, Blue Grass, IA" — when the address alone lands off-centre.At most 200 characters
logo_dark_urlstring | nullBody · optional
A picture from the site's library with light lettering; null = none.At most 500 characters
header_searchbooleanBody · optional
announcementobjectBody · optional
Merged over the current strip; null clears a field.
popupobjectBody · optional
Merged over the current pop-up; null clears a field.

Response

200 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 PATCH 'https://websites.workflowcorp.com/api/v1/sites/SITE_ID/settings' \
  -H "Authorization: Bearer $WEBSITEBUDDY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"announcement":{"on":true,"text":"Closed Thanksgiving Day — open again Friday at 7","link_label":"See our hours","link_url":"/contact","end_date":"2026-11-26"},"popup":{"on":true,"kind":"newsletter","heading":"Get our news first","body":"One email a month. No spam.","button_label":"Sign me up","delay_seconds":8}}'
Example arguments
{
  "site_id": "SITE_ID",
  "announcement": {
    "on": true,
    "text": "Closed Thanksgiving Day — open again Friday at 7",
    "link_label": "See our hours",
    "link_url": "/contact",
    "end_date": "2026-11-26"
  },
  "popup": {
    "on": true,
    "kind": "newsletter",
    "heading": "Get our news first",
    "body": "One email a month. No spam.",
    "button_label": "Sign me up",
    "delay_seconds": 8
  }
}
Response schema
{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string"
    },
    "business_name": {
      "type": "string"
    },
    "phone": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "phone_dials": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "The number a visitor's phone dials when they tap Call (keypad letters mapped, +1 for US numbers)."
    },
    "address": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "map_search": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "What every map and directions link searches for instead of the address (a place name + address, or lat,lng)."
    },
    "logo_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "logo_dark_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "The logo for dark backgrounds — the dark footer, dark designs, over photos."
    },
    "header_search": {
      "type": "boolean",
      "description": "A search button in the header (the site's /search page)."
    },
    "announcement": {
      "type": "object",
      "properties": {
        "on": {
          "type": "boolean"
        },
        "text": {
          "type": "string"
        },
        "link_label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "link_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "start_date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "The site's own day, YYYY-MM-DD; null = from now."
        },
        "end_date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Last day shown (included); null = until switched off."
        },
        "state": {
          "type": "string",
          "enum": [
            "off",
            "showing",
            "scheduled",
            "ended"
          ],
          "description": "On the draft, today in the site's time zone."
        }
      },
      "required": [
        "on",
        "text",
        "link_label",
        "link_url",
        "start_date",
        "end_date",
        "state"
      ],
      "additionalProperties": false
    },
    "popup": {
      "type": "object",
      "properties": {
        "on": {
          "type": "boolean"
        },
        "kind": {
          "type": "string",
          "enum": [
            "notice",
            "sale",
            "newsletter"
          ]
        },
        "heading": {
          "type": "string"
        },
        "body": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "offer": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "button_label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "button_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "image_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "delay_seconds": {
          "type": "number"
        },
        "start_date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "end_date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "state": {
          "type": "string",
          "enum": [
            "off",
            "showing",
            "scheduled",
            "ended"
          ]
        }
      },
      "required": [
        "on",
        "kind",
        "heading",
        "body",
        "offer",
        "button_label",
        "button_url",
        "image_url",
        "delay_seconds",
        "start_date",
        "end_date",
        "state"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "site_id",
    "business_name",
    "phone",
    "phone_dials",
    "address",
    "map_search",
    "logo_url",
    "logo_dark_url",
    "header_search",
    "announcement",
    "popup"
  ],
  "additionalProperties": false
}