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

List resources

Returns a list of resources for a given mandate

Required permissions:

  • mandate.read

  • resource.read

Path Parameters

organizationIdstringrequired
mandateIdstringrequired

Request Body required

Content-Type: application/json

limitintegeroptional

Default: 50

minimum: 0

maximum: 100

offsetintegeroptional

Default: 0

minimum: 0

maximum: 9007199254740991

returnCountbooleanoptional

Default: false

searchTermstringoptional
siteIdstringoptional
attachableIdstringoptional
attachablebooleanoptional

maxItems: 100

checkInAvailablebooleanoptional

A stringified json object representing a property filter

usagestringoptional

Options:

attachableeventLocation

Authentication: X-API-Key

Request

POST/{organizationId}/{mandateId}/booking/resources/list
curl --request POST 'https://cloud.campai.com/api/{organizationId}/{mandateId}/booking/resources/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,
  "resources": [
    {
      "_id": "000000000000000000000001",
      "mandate": "000000000000000000000001",
      "attachable": true,
      "type": "place",
      "info": {
        "name": "string",
        "description": "string",
        "image": {
          "resource": "string"
        },
        "tags": "string",
        "categories": [
          {
            "name": "string",
            "nameNormalized": "string",
            "bookingCategoryId": "000000000000000000000001"
          }
        ]
      },
      "sites": [
        {
          "site": "000000000000000000000001",
          "name": "string",
          "timezone": "string",
          "address": {
            "country": "string",
            "zip": "string",
            "city": "string",
            "addressLine": "string"
          },
          "stock": 1
        }
      ],
      "offer": {
        "sessionMinutes": 1,
        "sessionRetries": 0,
        "paymentMethods": {
          "sepaCreditTransfer": {
            "internal": true,
            "cashAccount": "000000000000000000000001",
            "note": "string"
          },
          "sepaDirectDebit": {
            "internal": true,
            "cashAccount": "000000000000000000000001",
            "note": "string"
          },
          "online": {
            "internal": true,
            "note": "string",
            "stripe": true,
            "paypal": false
          },
          "cash": {
            "internal": true,
            "note": "string"
          }
        },
        "paymentMethodsPending": "unpaid",
        "paymentDueDate": null,
        "disallowCancelation": true,
        "refundPolicies": [
          {
            "refundUntil": {
              "value": 0,
              "unit": "hours"
            },
            "priceModifier": {
              "value": 0,
              "type": "%"
            },
            "pointModifier": {
              "value": 0,
              "type": "%"
            }
          }
        ],
        "refundText": "string",
        "form": {
          "groups": [
            {
              "id": "string",
              "label": "string",
              "fields": [
                {
                  "id": "string",
                  "type": "placeholder",
                  "name": "string"
                }
              ]
            }
          ]
        },
        "formSettings": {
          "addressMode": "none",
          "applicantType": "person",
          "organisationNamePlaceholder": "string",
          "requirePhone": true,
          "showDiscountCode": true,
          "showRefundPolicies": true,
          "membershipNumberLabel": "string"
        },
        "attachReceipt": true,
        "rates": [
          {
            "id": "string",
            "name": "string",
            "description": "string",
            "availableFrom": {
              "value": 1,
              "unit": "hours"
            },
            "availableTo": {
              "value": 1,
              "unit": "hours"
            },
            "member": {
              "tags": "string",
              "tagsMode": "any",
              "allMandates": false
            },
            "charge": {
              "type": "price",
              "price": {
                "isNet": true,
                "price": 0,
                "taxCode": "string",
                "account": 1,
                "costCenter1": 1,
                "costCenter2": 1
              },
              "punchCard": {
                "punchCard": "000000000000000000000001",
                "punchCardName": "string",
                "punchCardPrice": {
                  "isNet": true,
                  "price": 0,
                  "taxCode": "string",
                  "account": 1,
                  "costCenter1": 1,
                  "costCenter2": 1
                },
                "points": 1
              }
            },
            "standard": true,
            "adjustments": [
              {
                "fromMonth": 1,
                "fromDate": 1,
                "fromTime": {
                  "hours": 0,
                  "minutes": 0
                },
                "toMonth": 1,
                "toDate": 1,
                "toTime": {
                  "hours": 0,
                  "minutes": 0
                },
                "weekdays": {},
                "value": 0
              }
            ]
          }
        ],
        "services": [
          {
            "service": "000000000000000000000001",
            "serviceName": "string",
            "serviceDescription": "string",
            "serviceOptions": [
              {
                "id": "string",
                "name": "string",
                "description": "string",
                "price": {
                  "isNet": true,
                  "price": 0,
                  "taxCode": "string",
                  "account": 1,
                  "costCenter1": 1,
                  "costCenter2": 1
                }
              }
            ],
            "serviceMinOptions": 1,
            "serviceMaxOptions": 1
          }
        ],
        "availability": {
          "toRelative": {
            "value": 1,
            "unit": "hours"
          }
        },
        "availabilityHours": {
          "from": {
            "hours": 0,
            "minutes": 0
          },
          "to": {
            "hours": 0,
            "minutes": 0
          }
        },
        "availabilityWeekdays": {},
        "availableOnWatchlist": true,
        "slots": {
          "size": 1,
          "unit": "minutes",
          "minimum": 1,
          "maximum": 1,
          "chargeRateBySlotNumber": true
        },
        "quantity": {
          "fromStock": true,
          "chargeRateByQuantity": true,
          "chargeServicesByQuantity": true,
          "minimum": 1,
          "maximum": 1,
          "name": "string",
          "description": "string"
        },
        "block": {
          "maximum": 1,
          "endMonth": 1,
          "endDate": 1,
          "internal": true,
          "cancelationMode": "single"
        },
        "offer": "000000000000000000000001",
        "offerName": "string",
        "mode": "disabled",
        "useCustomRates": true
      },
      "settings": {
        "confirmationMailText": "string",
        "confirmationMailAttachments": [
          {
            "resource": "string",
            "id": "string"
          }
        ],
        "checkIn": {
          "qrCode": true,
          "toleranceHours": 1,
          "autoCheckOutAfterHours": 1,
          "hasKey": true,
          "keyName": "string",
          "options": [
            "string"
          ],
          "optionMode": "any"
        }
      },
      "shared": true
    }
  ]
}

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": []
}