Spring til indhold

Permissions

Access levels per unit of members with the user role

The permission object

Attributes

iduuid

Unique identifier

member_iduuid
members.id

Identifier of the related member

product_iduuid
products.id

Identifier of the related unit

created_atread-onlytimestamp with time zone

Creation timestamp

updated_atread-onlytimestamp with time zone

Last modification timestamp

bookingsBookingsPermission

Bookings permission level

notificationsNotificationsPermission

Notifications permission level

settingsSettingsPermission

Settings permission level

Related resources

Embed related resources in the response with the select parameter, for example select=*,members(*). Resources related through more than one column need the column as a hint, like table!column(*).

members(*)object | null
members

The member referenced by member_id.

products(*)object | null
products

The product referenced by product_id.

The permission object
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "member_id": "00000000-0000-0000-0000-000000000000",
  "product_id": "00000000-0000-0000-0000-000000000000",
  "created_at": "2026-10-30T23:39:58.169Z",
  "updated_at": "2026-10-30T23:39:58.169Z",
  "bookings": "view",
  "notifications": "none",
  "settings": "none"
}
Including related resources
curl -X GET "https://api.bookingmood.com/v1/permissions?limit=10&select=*,members(*),products(*)" \
  -H "Authorization: Bearer YOUR_API_KEY"

List permissions

Filters

idFilter<uuid>

Unique identifier

member_idFilter<uuid>
members.id

Identifier of the related member

product_idFilter<uuid>
products.id

Identifier of the related unit

created_atFilter<timestamp with time zone>

Creation timestamp

updated_atFilter<timestamp with time zone>

Last modification timestamp

bookingsFilter<BookingsPermission>

Bookings permission level

notificationsFilter<NotificationsPermission>

Notifications permission level

settingsFilter<SettingsPermission>

Settings permission level

Responses

200

A list of permissions with the selected columns

206

Partial Content

400

The request is malformed, for example an unknown column or an invalid filter.

401

The API key is missing or invalid.

Error responses have a JSON body with a code, message, details and hint. See the introduction for more on errors.
GET /permissions
curl -X GET "https://api.bookingmood.com/v1/permissions?select=*&limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"
Example response
JSON
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "member_id": "00000000-0000-0000-0000-000000000000",
    "product_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2026-10-30T23:39:58.169Z",
    "updated_at": "2026-10-30T23:39:58.169Z",
    "bookings": "view",
    "notifications": "none",
    "settings": "none"
  }
]

Create permissions

Body

Partial<Permission> | Array<Partial<Permission>>

Read-only attributes are set by the database and can't be written.

Responses

201

The newly created permissions with the selected columns

400

The request is malformed, for example an unknown column, an invalid filter or an invalid body.

401

The API key is missing or invalid.

403

The API key has no permission for this change, for example when writing rows of another organization.

409

The change conflicts with existing data, for example a duplicate key or a reference to a row that does not exist.

Error responses have a JSON body with a code, message, details and hint. See the introduction for more on errors.
POST /permissions
curl -X POST "https://api.bookingmood.com/v1/permissions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "bookings": "view",
    "member_id": "00000000-0000-0000-0000-000000000000",
    "notifications": "none",
    "product_id": "00000000-0000-0000-0000-000000000000",
    "settings": "none"
  }'
Example response
JSON
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "member_id": "00000000-0000-0000-0000-000000000000",
    "product_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2026-10-30T23:39:58.169Z",
    "updated_at": "2026-10-30T23:39:58.169Z",
    "bookings": "view",
    "notifications": "none",
    "settings": "none"
  }
]

Delete permissions

Filters

Without filters, this request deletes all permissions you have access to. Always filter on at least one column, e.g. id=eq.{id}.

idFilter<uuid>

Unique identifier

member_idFilter<uuid>
members.id

Identifier of the related member

product_idFilter<uuid>
products.id

Identifier of the related unit

created_atFilter<timestamp with time zone>

Creation timestamp

updated_atFilter<timestamp with time zone>

Last modification timestamp

bookingsFilter<BookingsPermission>

Bookings permission level

notificationsFilter<NotificationsPermission>

Notifications permission level

settingsFilter<SettingsPermission>

Settings permission level

Responses

200

The deleted permissions with the selected columns. Returns 204 without a body when sending the header Prefer: return=minimal.

400

The request is malformed, for example an unknown column or an invalid filter.

401

The API key is missing or invalid.

403

The API key has no permission for this change, for example when writing rows of another organization.

Error responses have a JSON body with a code, message, details and hint. See the introduction for more on errors.
DELETE /permissions
curl -X DELETE "https://api.bookingmood.com/v1/permissions?id=eq.00000000-0000-0000-0000-000000000000" \
  -H "Authorization: Bearer YOUR_API_KEY"
Example response
JSON
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "member_id": "00000000-0000-0000-0000-000000000000",
    "product_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2026-10-30T23:39:58.169Z",
    "updated_at": "2026-10-30T23:39:58.169Z",
    "bookings": "view",
    "notifications": "none",
    "settings": "none"
  }
]

Update permissions

Filters

Without filters, this request updates all permissions you have access to. Always filter on at least one column, e.g. id=eq.{id}.

idFilter<uuid>

Unique identifier

member_idFilter<uuid>
members.id

Identifier of the related member

product_idFilter<uuid>
products.id

Identifier of the related unit

created_atFilter<timestamp with time zone>

Creation timestamp

updated_atFilter<timestamp with time zone>

Last modification timestamp

bookingsFilter<BookingsPermission>

Bookings permission level

notificationsFilter<NotificationsPermission>

Notifications permission level

settingsFilter<SettingsPermission>

Settings permission level

Body

Partial<Permission>

Read-only attributes are set by the database and can't be written.

Responses

200

The updated permissions with the selected columns. Returns 204 without a body when sending the header Prefer: return=minimal.

400

The request is malformed, for example an unknown column, an invalid filter or an invalid body.

401

The API key is missing or invalid.

403

The API key has no permission for this change, for example when writing rows of another organization.

409

The change conflicts with existing data, for example a duplicate key or a reference to a row that does not exist.

Error responses have a JSON body with a code, message, details and hint. See the introduction for more on errors.
PATCH /permissions
curl -X PATCH "https://api.bookingmood.com/v1/permissions?id=eq.00000000-0000-0000-0000-000000000000" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "bookings": "view"
  }'
Example response
JSON
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "member_id": "00000000-0000-0000-0000-000000000000",
    "product_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2026-10-30T23:39:58.169Z",
    "updated_at": "2026-10-30T23:39:58.169Z",
    "bookings": "view",
    "notifications": "none",
    "settings": "none"
  }
]

Få styr på dine bookinger. Opbyg din egen virksomhed.

Bliv en del af de 1200+ uafhængige udlejningsvirksomheder, der bruger Bookingmood til at øge antallet af direkte bookinger og opbygge stærkere relationer til gæsterne.

Start gratis 14-dages prøveperiode