API reference/Sites
Take a site down
Try itFor a client who has left: the address shows a neutral "not available" page, the monthly wholesale fee stops from the next billing run (a charge already made stays), automatic monthly invoices stop and card autopay is cancelled. Pages, messages and logins are kept. Only a LIVE site can be taken down.
POST
/api/v1/sites/{site_id}/take-downAuthentication
An API key as Authorization: Bearer or x-api-key. It needs the sites:publish scope — publish sites (put the draft live).
sites:publishChanges the live siteIdempotency-Key requiredMCP tool: take_down_site
Parameters
Named placeholders go in the path; the rest in a JSON body.
site_idstringPath · required- The site's id.1 to 100 characters
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 -X POST 'https://websites.workflowcorp.com/api/v1/sites/SITE_ID/take-down' \
-H "Authorization: Bearer $WEBSITEBUDDY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'{
"site_id": "SITE_ID"
}{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"draft",
"live",
"suspended",
"archived"
]
},
"taken_down": {
"type": "boolean",
"description": "You took the site down (status suspended): not served, not billed from the next run, data kept. put_site_back_up reverses it."
},
"address": {
"type": "string",
"description": "The free address, e.g. https://rosies-diner.websites.workflowcorp.com/"
},
"custom_domain": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The verified primary custom domain, if any."
},
"client_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"template_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"package": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"page_limit": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"page_limit"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"published_version": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"published_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"unpublished_changes": {
"type": "boolean",
"description": "The draft has edits that are not live yet."
},
"editor_url": {
"type": "string"
},
"prices": {
"anyOf": [
{
"type": "object",
"properties": {
"wholesale_setup_cents": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"wholesale_monthly_cents": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retail_setup_cents": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retail_monthly_cents": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"wholesale_setup_cents",
"wholesale_monthly_cents",
"retail_setup_cents",
"retail_monthly_cents"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Only when the key's creator may see prices (billing.view); null otherwise."
},
"is_sample": {
"type": "boolean"
},
"created_at": {
"type": "string"
},
"message": {
"type": "string",
"description": "What changed, in plain words."
}
},
"required": [
"id",
"name",
"slug",
"status",
"taken_down",
"address",
"custom_domain",
"client_id",
"template_id",
"package",
"published_version",
"published_at",
"unpublished_changes",
"editor_url",
"prices",
"is_sample",
"created_at",
"message"
],
"additionalProperties": false
}