Join the waitlist
Bookables

Create or replace one bookable

PUT
/v1/bookables/{type}/{externalId}

Creates the bookable or fully replaces its name, status and attributes, keyed by type and externalId. Use it to index or update a single object from your database; the type is created on first use. Sending status active restores an archived entity

Authorization

JWT
headerAuthorizationBearer <JWT>

Bearer JWT. Required on every endpoint except /health

Path Parameters

type*string

Customer-defined entity type, e.g. "listing" or "doctor"

Match^[a-z][a-z0-9_]{0,63}$
externalId*string

The entity's id in the customer's database

Length1 <= length <= 255

Request Body

application/json
  1. body
name*string
Length1 <= length <= 200
status?string

Optional. Sending active restores an archived entity

Default"active"
Value in"active""archived"
attributes?

Free-form JSON describing the entity. Indexed and filterable. Keys match ^[A-Za-z][A-Za-z0-9_]{0,63}$; ≤ 32 KB serialized; nesting depth ≤ 4

Response Body

The bookable was replaced

application/json
  1. response
id*string

Server-assigned unique identifier

Formatuuid
object*string

Which resource this entity is — its role

Value in"bookable""participant"
type*EntityType

Customer-defined entity type. Lowercase, created on first use, bound to one role per project

Match^[a-z][a-z0-9_]{0,63}$
externalId*string

The entity's id in the customer's database

name*string
status*string
Value in"active""archived"
attributes*

Free-form JSON describing the entity. Indexed and filterable. Keys match ^[A-Za-z][A-Za-z0-9_]{0,63}$; ≤ 32 KB serialized; nesting depth ≤ 4

createdAt*string
Formatdate-time
updatedAt*string
Formatdate-time
Example Request
curl -X PUT 'https://api.slotr.dev/v1/bookables/string/string' \  -H 'Content-Type: application/json' \  -d '{  "name": "string"}'
Example Response
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "object": "bookable",  "type": "string",  "externalId": "string",  "name": "string",  "status": "active",  "attributes": {},  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}