Read the settings
const url = 'https://api.keptslot.com/v1/workspace';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.keptslot.com/v1/workspace \ --header 'Authorization: Bearer <token>'This endpoint gives the settings of the workspace the key belongs to.
Authorizations
Section titled “ Authorizations ”Responses
Section titled “ Responses ”The workspace settings.
object
Read only. It is the workspace address on the booking page.
An IANA zone name. Every time the API gives back uses this zone.
True when a new booking waits on a 6-digit code. Read the status on the create response to decide what happens next. Do not decide it from this field.
Who gets the alert when a booking changes.
How long before the start time the staff reminder is sent.
How long before the start time the customer reminder is sent.
The step between the slots that availability offers.
Plain text shown to customers. Render it as text. Do not render it as markup.
Selects the customer-facing words. It changes copy only. It never changes booking mechanics.
Used in the email footer. The booking page does not show it.
A short line about the business, under its name on the booking
page. At most 200 characters. Send "" to clear it.
The refund terms, shown where a customer pays. At most 2000
characters. Separate from booking_policy: one governs whether an
appointment can be moved, the other governs money.
The business’s own terms, shown alongside ours. Must be http or
https – anything else is refused. A bare domain is accepted and
stored as https://.
A handle such as @riverwood is accepted and stored as the full
profile URL.
Shown on the confirmation screen after a booking succeeds. What to bring, where to park, the door code. At most 500 characters.
Stored for the notification emails. Nothing renders it yet. At most 500 characters.
At most 70 characters.
At most 160 characters.
Whether customers pick who they see. True by default, so a workspace that never touches it keeps today’s behaviour.
Example generated
{ "slug": "example", "name": "example", "timezone": "example", "currency": "example", "require_booking_verification": true, "sms_enabled": true, "staff_alerts": "example", "staff_reminders_enabled": true, "staff_reminder_offset_minutes": 1, "reminder_offset_minutes": 1, "slot_interval_minutes": 1, "booking_policy": "example", "vertical": "example", "contact_email": "example", "contact_phone": "example", "address": "example", "blurb": "example", "refund_policy": "example", "terms_url": "example", "website_url": "example", "instagram_url": "example", "maps_url": "example", "confirmation_note": "example", "notification_note": "example", "social_title": "example", "social_description": "example", "allow_staff_choice": true}The key is missing, malformed or revoked.
object
object
A stable machine-readable code. Match on this.
A sentence for a person. Do not match on this.
The field that caused the refusal, if one field did.
The plan limit that refused the request. It is present only on a 402, and only for a secret key or an account key. See the errors guide.
The current count for that dimension. It is present only on a 402, and only for an account key. It is absent when the refusal has no count to report. Absent and zero are different answers.
The cap for that dimension. It is present only on a 402, and only for an account key. A cap of zero is a real value.
Example generated
{ "error": { "type": "example", "message": "example", "param": "example", "dimension": "example", "used": 1, "limit": 1 }}