Skip to content

List events

Try it

A site's events calendar, by first date. upcoming=true leaves out events that are over; each event carries its next_date.

GET/api/v1/sites/{site_id}/events

Authentication

An API key as Authorization: Bearer or x-api-key. It needs the events:read scope — read the events calendar.

events:readRead onlyMCP tool: list_events

Parameters

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

site_idstringPath · required
The site's id.1 to 100 characters
upcomingstringQuery · optional
true = only events that are still coming up.One of: true, false
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/SITE_ID/events' \
  -H "Authorization: Bearer $WEBSITEBUDDY_API_KEY"
Example arguments
{
  "site_id": "SITE_ID"
}
Response schema
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "start_date": {
            "type": "string",
            "description": "YYYY-MM-DD, the first (or only) day, in the site's time zone."
          },
          "start_time": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "HH:MM (24-hour) in the site's time zone; null = all day."
          },
          "end_time": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "repeat": {
            "type": "string",
            "enum": [
              "none",
              "weekly",
              "monthly"
            ],
            "description": "none, weekly (same weekday) or monthly (same week of the month, e.g. the first Sunday)."
          },
          "repeat_until": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "rhythm": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The repeat in words: \"Every Wednesday\"."
          },
          "next_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The next day it happens that isn't over yet; null = over."
          },
          "location": {
            "type": "string"
          },
          "address": {
            "type": "string",
            "description": "The address on the map; empty = the business's own."
          },
          "image_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "link_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "link_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "published": {
            "type": "boolean",
            "description": "Shown on the site."
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The event's page on the live site — null while hidden."
          },
          "is_sample": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string"
          },
          "updated_at": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "title",
          "slug",
          "summary",
          "description",
          "start_date",
          "start_time",
          "end_time",
          "repeat",
          "repeat_until",
          "rhythm",
          "next_date",
          "location",
          "address",
          "image_url",
          "link_url",
          "link_label",
          "published",
          "url",
          "is_sample",
          "created_at",
          "updated_at"
        ],
        "additionalProperties": false
      }
    },
    "has_more": {
      "type": "boolean"
    },
    "next_cursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "data",
    "has_more",
    "next_cursor"
  ],
  "additionalProperties": false
}