Skip to content

List sites

Try it

Your account's sites, newest first. Archived sites are left out unless you ask for status=archived.

GET/api/v1/sites

Authentication

An API key as Authorization: Bearer or x-api-key. It needs the sites:read scope — read sites, pages and sections.

sites:readRead onlyMCP tool: list_sites

Parameters

Named placeholders go in the path; the rest in the query string.

statusstringQuery · optional
One of: draft, live, suspended, archived
client_idstringQuery · optional
Only this client's sites.At most 100 characters
limitintegerQuery · optional
How many to return (1–100).1 to 100Default 50
cursorstringQuery · optional
next_cursor from the previous page.1 to 100 characters

Response

200 with JSON on success (schema on the right). Errors use the standard envelope.

curl
curl -X GET 'https://websites.workflowcorp.com/api/v1/sites?limit=10' \
  -H "Authorization: Bearer $WEBSITEBUDDY_API_KEY"
Example arguments
{
  "limit": 10
}
Response schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "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"
          }
        },
        "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"
        ],
        "additionalProperties": false
      }
    },
    "has_more": {
      "type": "boolean"
    },
    "next_cursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "data",
    "has_more",
    "next_cursor"
  ],
  "additionalProperties": false
}