Skip to main content
List resources with occupancy and opening-hours filters, read bookable vs view-only counts, and bulk-create child resources. For general request conventions, see JSON:API Conventions. For timeslots on a resource, see Admin Timeslot Management.

Prerequisites

  • A valid Bearer token with admin access — see Authentication
  • Organization context (?o={organization_id})

List resources

The same filter keys work on the public related list GET /api/v1/organizations/{organization_slug}/resources.

Occupancy and opening hours (“today”)

today is the current calendar day in the active organization’s timezone (UTC if there is no organization context). Passing false is a no-op: the filter is not applied.
You can combine both filters. A resource must then be booked today and have opening hours or a timeslot today.
These filters restrict the resource collection. They do not return the bookings or timeslots themselves. Use Booking Calendars or Availability & Booking Search for slot-level data. They are valid on HTTP resource index requests but are excluded from MCP tool schemas.

Bookable vs view-only counts

The admin resource overview uses a dedicated JSON endpoint (not a JSON:API resource):
Response fields: The same filter query object as GET /api/v1/resources is applied to the base query before the counts are split. This is distinct from GET /api/v1/resources/counts, which returns a view-uuid map for admin list tabs.

Create child resources

A successful response is HTTP 200 with a JSON:API collection of the resources that were just created (type: resources). Use those records for follow-up assignment (maps, services, properties) instead of re-listing the parent. The parent is marked as having children. If the organization cannot exceed its child-resource quota, the request fails with HTTP 400 and sales_quota_exceeded.

Common errors