/{organizationId}/{mandateId}/booking/resources/contactBookings/formCreate contact booking
Creates one contact-linked booking from an admin booking form, validating current availability and contact data.
Required permissions:
mandate.read
booking.insert
resource.read
resourceReservation.insert
Path Parameters
organizationIdstringrequired mandateIdstringrequired Request Body required
Content-Type: application/json
contactIdstringrequired bookingIdstringrequired notifyBuyerbooleanoptional Default: true
paymentDueDatedate-timeoptional minItems: 1
maxItems: 99
checkPastDateStockAvailabilitybooleanoptional Default: true
Authentication: X-API-Key
Request
curl --request POST 'https://cloud.campai.com/api/{organizationId}/{mandateId}/booking/resources/contactBookings/form' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"contactId": "string",
"bookingId": "string",
"formData": {},
"reservations": [
{
"resource": "string",
"site": "string",
"date": "2026-06-15T22:30:00Z"
}
]
}'Responses
This endpoint returns different response codes based on the request outcome.
200Successful response
Content-Type: application/json
ObjectId as string
Response
{
"_id": "000000000000000000000001"
}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
{
"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
{
"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
{
"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
{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}