/{organizationId}/{mandateId}/booking/resources/offers/{offerId}Update offer
Updates a specific offer for a given mandate
Required permissions:
mandate.read
resourceOffer.edit
Path Parameters
organizationIdstringrequired mandateIdstringrequired offerIdstringrequired Request Body required
Content-Type: application/json
sessionMinutesintegerrequired maximum: 9007199254740991
exclusiveMinimum: 0
sessionRetriesintegerrequired minimum: 0
maximum: 9007199254740991
Default: null
paymentMethodsPendingstringrequired Options:
unpaidpartialpaiddisallowCancelationbooleanrequired maxItems: 8
refundTextstringrequired maxLength: 400
availableOnWatchlistbooleanrequired attachReceiptbooleanrequired Authentication: X-API-Key
Request
curl --request POST 'https://cloud.campai.com/api/{organizationId}/{mandateId}/booking/resources/offers/{offerId}' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"sessionMinutes": 1,
"sessionRetries": 0,
"paymentMethods": {
"sepaCreditTransfer": {
"internal": true,
"cashAccount": "000000000000000000000001",
"note": "string"
},
"sepaDirectDebit": {
"internal": true,
"cashAccount": "000000000000000000000001",
"note": "string"
},
"online": {
"internal": true,
"note": "string"
},
"cash": {
"internal": true,
"note": "string"
}
},
"paymentMethodsPending": "unpaid",
"disallowCancelation": true,
"refundPolicies": [
{
"refundUntil": {
"value": 0,
"unit": "hours"
},
"priceModifier": {
"value": 0,
"type": "%"
},
"pointModifier": {
"value": 0,
"type": "%"
}
}
],
"refundText": "string",
"formSettings": {
"addressMode": "none",
"applicantType": "person",
"organisationNamePlaceholder": "string",
"requirePhone": true,
"showDiscountCode": true,
"showRefundPolicies": true,
"membershipNumberLabel": "string"
},
"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
},
"attachReceipt": true
}'Responses
This endpoint returns different response codes based on the request outcome.
200Successful response
Content-Type: application/json
Valueany Response
"string"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": []
}