Skip to content
API reference/Appointments

Get booking hours

Try it

When the site takes appointments: on/off, time zone, appointment length, weekly hours, days off, notice, how far ahead, whether each booking waits for an answer, and the reminder.

GET/api/v1/sites/{site_id}/booking-hours

Authentication

An API key as Authorization: Bearer or x-api-key. It needs the bookings:read scope — read booking hours and appointments.

bookings:readRead onlyMCP tool: get_booking_hours

Parameters

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

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.

curl
curl -X GET 'https://websites.workflowcorp.com/api/v1/sites/SITE_ID/booking-hours' \
  -H "Authorization: Bearer $WEBSITEBUDDY_API_KEY"
Example arguments
{
  "site_id": "SITE_ID"
}
Response schema
{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string"
    },
    "saved": {
      "type": "boolean",
      "description": "false = never set up; the answer shows the defaults the settings form starts from."
    },
    "enabled": {
      "type": "boolean",
      "description": "true = visitors pick an open time on the site; false = the Appointments section is a plain \"ask for a day\" form."
    },
    "time_zone": {
      "type": "string"
    },
    "slot_minutes": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "Length of one appointment."
    },
    "hours": {
      "type": "object",
      "properties": {
        "sunday": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "from": {
                "type": "string"
              },
              "to": {
                "type": "string"
              }
            },
            "required": [
              "from",
              "to"
            ],
            "additionalProperties": false
          }
        },
        "monday": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "from": {
                "type": "string"
              },
              "to": {
                "type": "string"
              }
            },
            "required": [
              "from",
              "to"
            ],
            "additionalProperties": false
          }
        },
        "tuesday": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "from": {
                "type": "string"
              },
              "to": {
                "type": "string"
              }
            },
            "required": [
              "from",
              "to"
            ],
            "additionalProperties": false
          }
        },
        "wednesday": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "from": {
                "type": "string"
              },
              "to": {
                "type": "string"
              }
            },
            "required": [
              "from",
              "to"
            ],
            "additionalProperties": false
          }
        },
        "thursday": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "from": {
                "type": "string"
              },
              "to": {
                "type": "string"
              }
            },
            "required": [
              "from",
              "to"
            ],
            "additionalProperties": false
          }
        },
        "friday": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "from": {
                "type": "string"
              },
              "to": {
                "type": "string"
              }
            },
            "required": [
              "from",
              "to"
            ],
            "additionalProperties": false
          }
        },
        "saturday": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "from": {
                "type": "string"
              },
              "to": {
                "type": "string"
              }
            },
            "required": [
              "from",
              "to"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "sunday",
        "monday",
        "tuesday",
        "wednesday",
        "thursday",
        "friday",
        "saturday"
      ],
      "additionalProperties": false,
      "description": "Open hours per weekday as HH:MM spans in time_zone; [] = closed."
    },
    "blocked_days": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Days off, YYYY-MM-DD."
    },
    "min_notice_hours": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "days_ahead": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "needs_approval": {
      "type": "boolean",
      "description": "true = each booking waits for confirm_appointment."
    },
    "reminder_hours": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "Reminder email this many hours before; 0 = none."
    },
    "customer_changes": {
      "type": "boolean",
      "description": "true = customers may cancel or move their own booking from the link in their emails."
    },
    "change_cutoff_hours": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "Online changes stop this many hours before the appointment."
    },
    "is_sample": {
      "type": "boolean"
    }
  },
  "required": [
    "site_id",
    "saved",
    "enabled",
    "time_zone",
    "slot_minutes",
    "hours",
    "blocked_days",
    "min_notice_hours",
    "days_ahead",
    "needs_approval",
    "reminder_hours",
    "customer_changes",
    "change_cutoff_hours",
    "is_sample"
  ],
  "additionalProperties": false
}