Skip to content
GET/{organizationId}/{mandateId}/booking/bookings/{bookingId}

Get booking

Returns a specific booking for a given mandate

Required permissions:

  • mandate.read

  • booking.read

Path Parameters

organizationIdstringrequired
mandateIdstringrequired
bookingIdstringrequired

Authentication: X-API-Key

Request

GET/{organizationId}/{mandateId}/booking/bookings/{bookingId}
curl --request GET 'https://cloud.campai.com/api/{organizationId}/{mandateId}/booking/bookings/{bookingId}' \
  --header 'X-API-Key: YOUR_API_KEY'

Responses

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

200Successful response

Content-Type: application/json

ObjectId as string

ObjectId as string

typestringrequired

Options:

eventresource
bookingNumberstringrequired

minLength: 7

maxLength: 7

Additional properties are not allowed.

Additional properties are not allowed.

totalPriceintegerrequired

minimum: 0

maximum: 9999999999

totalPointsintegerrequired

minimum: 0

maximum: 9007199254740991

discountCodestring | nullrequired
statusstringrequired

Options:

confirmedpartialCancelationcanceled
paymentStatusstring | nullrequired

Options:

unpaidpartialpaid
recordsintegerrequired

maximum: 9007199254740991

exclusiveMinimum: 0

createdAtdate-time | nulloptional

Additional properties are not allowed.

Additional properties are not allowed.

Response

200
{
  "_id": "000000000000000000000001",
  "mandate": "000000000000000000000001",
  "type": "event",
  "bookingNumber": "string",
  "buyer": {
    "type": "business",
    "name": "string",
    "nameNormalized": "string",
    "nameSort": "string",
    "email": "",
    "phone": "",
    "address": {
      "country": "string",
      "state": "string",
      "zip": "string"
    },
    "userId": "string",
    "contact": "000000000000000000000001",
    "payment": {
      "paymentMethod": "sepaCreditTransfer",
      "sepaDirectDebit": {
        "iban": "string",
        "bic": "string"
      },
      "online": {
        "paymentIntent": "000000000000000000000001",
        "provider": null
      }
    }
  },
  "receipts": [
    {
      "receipt": "000000000000000000000001",
      "receiptNumber": "string",
      "paymentStatus": "unpaid",
      "paymentTerms": "string",
      "paymentDueDate": null,
      "paymentTotalAmountLeftToPay": null,
      "canceledAt": null
    }
  ],
  "formResult": {
    "schema": [
      {
        "id": "string",
        "label": "string",
        "fields": [
          {
            "id": "string",
            "type": "placeholder"
          }
        ]
      }
    ],
    "data": {}
  },
  "totalPrice": 0,
  "totalPoints": 0,
  "usedPunchCardNumbers": [
    "string"
  ],
  "discountCode": "string",
  "status": "confirmed",
  "paymentStatus": "unpaid",
  "cancelations": [
    {
      "recordNumber": "string",
      "canceledAt": "2026-06-15T22:30:00Z",
      "reason": "string",
      "priceRefund": 0,
      "pointsRefund": 0
    }
  ],
  "records": 1,
  "cancellationReceipts": [
    {
      "receipt": "000000000000000000000001",
      "totalRefundable": 0,
      "isCanceled": true,
      "createsMonetaryRefund": true,
      "requiresRefundPayoutDetails": 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": []
}

404Not found

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

404
{
  "code": "NOT_FOUND",
  "message": "Not found",
  "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": []
}