Skip to content
POST/{organizationId}/{mandateId}/booking/resources/reservations/list

List reservations

Returns a list of reservations for a specific resource on a specific site for a given mandate

Required permissions:

  • mandate.read

  • resource.read

  • resourceReservation.read

Path Parameters

organizationIdstringrequired
mandateIdstringrequired

Request Body required

Content-Type: application/json

limitintegeroptional

Default: 50

minimum: 0

maximum: 1000

offsetintegeroptional

Default: 0

minimum: 0

maximum: 9007199254740991

returnCountbooleanoptional

Default: false

searchTermstringoptional
bookingIdstringoptional
siteIdstringoptional
typestringoptional

Options:

bookingeventcustom

A stringified json object representing a property filter

Authentication: X-API-Key

Request

POST/{organizationId}/{mandateId}/booking/resources/reservations/list
curl --request POST 'https://cloud.campai.com/api/{organizationId}/{mandateId}/booking/resources/reservations/list' \
  --header 'X-API-Key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "sort": {},
  "limit": 50,
  "offset": 0
}'

Responses

This endpoint returns different response codes based on the request outcome.

200Successful response

Content-Type: application/json

countintegerrequired

minimum: 0

maximum: 9007199254740991

Response

200
{
  "count": 0,
  "reservations": [
    {
      "_id": "000000000000000000000001",
      "mandate": "000000000000000000000001",
      "type": "booking",
      "status": "pending",
      "resource": "000000000000000000000001",
      "resourceName": "string",
      "site": {
        "site": "000000000000000000000001",
        "name": "string",
        "address": {
          "country": "string",
          "zip": "string",
          "city": "string",
          "addressLine": "string"
        },
        "timezone": "string"
      },
      "period": {
        "from": "2026-06-15T22:30:00Z",
        "to": "2026-06-15T22:30:00Z"
      },
      "rrule": "string",
      "series": {
        "id": "string",
        "index": 0,
        "total": 1,
        "status": "active"
      },
      "quantity": 1
    }
  ]
}

400Invalid input data

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

400
{
  "code": "BAD_REQUEST",
  "message": "Invalid input data",
  "issues": []
}

401Authorization not provided

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

401
{
  "code": "UNAUTHORIZED",
  "message": "Authorization not provided",
  "issues": []
}

403Insufficient access

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

403
{
  "code": "FORBIDDEN",
  "message": "Insufficient access",
  "issues": []
}

500Internal server error

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

500
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal server error",
  "issues": []
}