Skip to content

Take a site down

Try it

For 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-down

Authentication

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
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 '{}'
Example arguments
{
  "site_id": "SITE_ID"
}
Response schema
{
  "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
}