Error Manual

Here, you will find a list of common status codes, errors, their meanings, and potential solutions to resolve them.

Overview

The CiiRUS Partner-API employs standard HTTP status codes to indicate the success or failure of requests. These familiar codes help you quickly identify the status of your API interactions. Whether your request is successful or encounters an issue, you'll receive an appropriate HTTP status code that provides valuable feedback on the outcome. This consistency ensures a clear and standardized approach, simplifying your integration process and helping you to address any errors efficiently.

HTTP Status Codes

Error CodeDescription
200 OKThe request succeeded
303 See OtherThe server sent this response to direct the client to get the requested resource at another URI with a GET request
400 Bad RequestThe server is unable or unwilling to process the request due to a perceived issue on the client side
401 UnauthorizedThe provided Authentication values are not valid
403 ForbiddenThe client does not have access rights to the content
404 Not FoundThe server cannot find the requested resource. In the browser, this means the URL is not recognized. In an API, this can also mean that the endpoint is valid but the resource itself does not exist.
422 Unproccessable ContentThe request was well-formed but was unable to be followed due to semantic errors.
500 Internal Server ErrorThe server has encountered a situation it does not know how to handle
503 Service UnavailableThe server is not ready to handle the request. Common causes are a server that is down for maintenance or that is overloaded

Error Reasons

📘

Please be aware that the list of error reasons is continuously evolving. If you encounter an error not listed below, don't hesitate to create a support ticket via CiiRUS Support by submitting a request to the following email: [email protected]


Within each section provided below, you'll discover a list of potential error reasons that might be encountered from various API endpoints. Alongside each error reason, we've included a detailed explanation of its cause and the appropriate steps to resolve the issue:

All Endpoints

The error reasons detailed in this section apply across all endpoints.

"message": "Forbidden"

Cause


  • Invalid or missing API credentials (e.g., incorrect Authorization header)
  • Request made from an IP address that is not whitelisted
  • Attempting to access or modify resources the API partner does not have permission for (e.g., updating a reservation not created by the partner)

Resolution


  • Verify API credentials are correct and properly encoded in the Authorization header
  • Ensure the request is made from a whitelisted IP address
  • Make sure the API call is scoped only to resources the partner has access to
  • If issues persist, contact CiiRUS Support with request details for further investigation

"message": "1 validation error(s) detected: ..."

Cause


The API validates all request parameters before processing. If a parameter fails to meet the expected data type, format, or required structure (e.g., an invalid date, incorrect string length, or malformed input), the request is rejected with a ValidationException.

This error typically means that:

  • A required field is missing or null
  • A field value is in the wrong format (e.g., an invalid date, number, or enum)
  • The field doesn't satisfy length or pattern constraints


Resolution


To fix this error:

  1. Carefully review the field(s) mentioned in the error message.
  2. Check for:
    • Proper data types (e.g., DateTime should be in YYYY-MM-DD format)
    • Correct string formatting (no typos, invalid characters, or missing digits)
    • Valid enumeration values or options
  3. Correct the parameter value(s) and re-submit the request.


"message": "The request signature we calculated does not match the signature you provided. Check your key and signing method."

Cause


The most common cause of this error is incorrect handling of the Authorization header during an HTTP redirect (status code 303 See Other in this case). When the initial request is valid but results in a redirect, some HTTP clients (like axios, fetch, HttpClient, or curl) may automatically follow the Location header and retain the original Authorization header—which is no longer valid for the redirected URL.

Resolution


To fix this error, ensure that your HTTP client removes the Authorization header when following a redirect. The redirected request should not reuse the signature or credentials from the original request.


Units

"message": "Property has been deleted."

Cause


The supplier has deleted this property from its inventory.

Resolution


This is not a technical error - this is a message indicating that the property has been deleted - do not enable this property to your Inventory.

"message": "Property supplier has disabled this property for all agent connections."

Cause


The supplier has not enabled this property for any agent connections.

Resolution


This is not a technical error - Confirm with the supplier if this property should be enabled for agent connections. If yes, advise the supplier to enable the property to all channels. If no, do not enable this property to your Inventory.

"message": "Property supplier has not enabled this property connection."

Cause


The supplier has not enabled this property to your agent connection.

Resolution


This is not a technical error - Confirm with the supplier if this property should be enabled for your agent connection. If yes, advise the supplier to enable the property to for your agent, so you may enable the property as well. If no, do not enable this property to your Inventory.

"message": "Neither you or the supplier has enabled this property connection."

Cause


This is not a technical error - You have not enabled this property to your agent connection, however, the supplier has not enabled this property to your agent connection either.

Resolution


Confirm with the supplier if this property should be enabled for your agent connection. If yes, advise the supplier to enable the property to for your agent, then enable the property. If no, continute to not enable this property to your Inventory.

"message": "Missing query parameter 'enabled'."

Cause


This is not a technical error - the request is incomplete. The required enabled query parameter was not included in the request to update the unit.

Resolution


When making a PUT request to the /units/{unit_id} endpoint, you must include the enabled parameter in the query string.
Example: PUT /units/123456?enabled=true
Update the request to include the enabled parameter set to either true or false, depending on whether the unit should be enabled or disabled.


Unit Calendars

"message": "Missing query parameter 'start'."

Cause


The start date parameter was not included in the request.

Resolution


Add a valid start date in the format YYYY-MM-DD to your request URL. This value is required to define the beginning of the date range.

"message": "Missing query parameter 'end'."

Cause


The end date parameter was not included in the request.

Resolution


Add a valid end date in the format YYYY-MM-DD to your request URL. This value is required to define the end of the date range.

"message": "'start' cannot be equal to 'end'."

Cause


The start and end date parameters were set to the same value.

Resolution


Ensure the endstart date. The date range must include at least one day.

"message": "If passing 'reservation_id', the value must be greater than 0."

Cause


An invalid reservation_id was provided—either zero or a negative value.

Resolution


Only pass reservation_id if you have a valid reservation ID greater than 0. Otherwise, omit this parameter.

"message": "Failed to retrieve Units"

Cause


The internal service call to fetch unit data failed. This may be due to an invalid or inconsistent unit configuration, missing unit references, or an unexpected server-side issue.

Resolution


Double-check your unit_id, management_company_user_id, and any filter parameters, if applicable. If the issue persists, please contact CiiRUS API Support and provide the full request details, including your API Username or CiiRUS UserID, any query parameters used, and the X-AMZ-GUID response header if available.


Unit Extras

"message": "Failed to retrieve Units"

Cause


The system was unable to retrieve units for extras lookup. This can happen if the user is not associated with any units or if the query parameters provided (e.g., unit_ids, management_company_user_ids) are invalid, improperly formatted, or result in no data.

Resolution


  • Ensure that you - the agent - has access to units that match the filters.
  • Validate that all query parameters are formatted correctly, especially multi-value fields like unit_ids=123456,654321.
  • If filtering by date fields (e.g., last_unit_update_date, last_reservation_update_date), confirm the values are in valid ISO 8601 format.
  • If no filters are applied, ensure the supplier has at least one unit assigned to their account.
  • If you continue to receive this error, please contact CiiRUS API Support and provide the full request details

Quotes

"message": "Property has been deleted."

Cause


The supplier has deleted this property from its inventory.

Resolution


This is not a technical error - this is a message indicating that the property has been deleted - do not enable this property to your Inventory.

"message": "Property supplier has disabled this property for all agent connections."

Cause


The supplier has not enabled this property for any agent connections.

Resolution


This is not a technical error - Confirm with the supplier if this property should be enabled for your agent connection. If yes, advise the supplier to enable the property to for your agent, so you may enable the property as well to generate successful quotes. If no, ignore this unit in quotes.

"message": "Property supplier has not enabled this property connection."

Cause


The supplier has not enabled this property to your agent connection.

Resolution


This is not a technical error - Confirm with the supplier if this property should be enabled for your agent connection. If yes, advise the supplier to enable the property to for your agent, so you may enable the property as well to generate successful quotes. If no, ignore this unit in quotes.

"message": "Neither you or the supplier has enabled this property connection."

Cause


This is not a technical error - You have not enabled this property to your agent connection, however, the supplier has not enabled this property to your agent connection either.

Resolution


Confirm with the supplier if this property should be enabled for your agent connection. If yes, advise the supplier to enable the property to for your agent, so you may enable the property as well to generate successful quotes. If no, ignore this unit in quotes.

"message": "No body supplied."

Cause


The request did not include a body containing the required quote data.

Resolution


Ensure the request includes a properly formatted request body. Refer to the Unit Quotes endpoint documentation for the required structure.

"message": "Could not find your API user."

Cause


The credentials provided in the Authorization header do not correspond to a valid API user in the CiiRUS system. This typically happens if the base64-encoded ApiUsername and ApiPassword are incorrect or not registered as an active API user.

Resolution


Ensure that your Authorization header is set using Basic Auth and contains a valid base64-encoded string in the format ApiUsername:ApiPassword. Double-check the credentials for typos, missing characters, or incorrect formatting. If the issue persists, contact CiiRUS API Support to verify your API user credentials are correct and active.

"message": "Your API user is Read ONLY."

Cause


The API user account is configured as read-only and cannot perform write operations such as quoting.

Resolution


Please contact CiiRUS API Support to request an upgrade to the API user to include write access if quotes or bookings need to be submitted.

"message": "No details provided."

Cause


The "details" object is missing from the quote request body.

Resolution


Include a valid "details" object in the body of the request with "arrival" and "departure" dates at minimum. Refer to the Unit Quotes endpoint documentation for the required structure.

"message": "The arrival MUST be specified."

Cause


The arrival date is missing from the request body.

Resolution


Include a valid "arrival" value in the "details" object.

"message": "The departure MUST be specified."

Cause


The departure date is missing from the request body.

Resolution


Include a valid "departure" value in the "details" object.

"message": "You cannot specify the expiration date when quoting."

Cause


The "expiration" field is included in the request body, which is not allowed during quoting.

Resolution


Remove the "expiration" field from the request body when using the quote endpoint.

"message": "You cannot specify the cancelled on date when quoting."

Cause


The "cancelled_on" field is not valid when retrieving a quote.

Resolution


Omit this field from the quote body and retry your request.


"message": "You cannot specify the scenario when quoting."

Cause


The "scenario" field was set in the quote input, which is not applicable.

Resolution


Remove the "scenario" field from the body of the quote request and try again.

"message": "The arrival MUST be before the departure."

Cause


The arrival date is later than the departure date.

Resolution


Ensure that the "arrival" date is before the "departure" date in the request and try again.

"message": "Do not set this flag, instead pass a time as part of the arrival."

Cause


The "early_check_in" flag was set manually.

Resolution


Instead of using a flag, pass a time along with the "arrival" datetime field to indicate early check-in.

"message": "Do not set this flag, instead pass a time as part of the departure."

Cause


The "late_check_out" flag was set manually.

Resolution


Instead of using a flag, pass a time along with the "departure" datetime field to indicate late check-out.

"message": "Passing a rate set id is not currently supported."

Cause


The request included a "rate_set_id", which is not supported by this endpoint at this time.

Resolution


Remove the "rate_set_id" from the "financials" object. The quote system will automatically select the correct rate.

"message": "Could not retrieve unit quote options."

Cause


The quote options could not be retrieved for the specified unit. This may be due to a configuration issue or an internal failure during the retrieval process.

Resolution


Ensure the unit exists and is properly configured with quote options in CiiRUS. If the problem persists, please contact CiiRUS API Support with the "unit_id" and quote request details.

"message": "Could not retrieve unit calendar."

Cause


The availability calendar for the unit could not be retrieved. This may happen if the unit is improperly configured or unavailable.

Resolution


Confirm that the unit has availability set in the CiiRUS calendar. Also verify that the requested dates fall within valid availability ranges. If the problem persists, please contact CiiRUS API Support with the "unit_id" and quote request details.

"message": "Could not retrieve unit details."

Cause


The unit’s details could not be retrieved. This can occur if the unit is misconfigured or inaccessible to the requesting agent.

Resolution


Ask that the supplier checks to ensure that the unit is active and accessible to the API user. If the problem persists, please contact CiiRUS API Support if you believe access should be allowed.

"message": "Could not retrieve unit extras."

Cause


The system could not load the unit extras configured for this unit. This may indicate that extras have not been set up or there is a retrieval error.

Resolution


Check with the supplier that extras are properly configured for the unit in CiiRUS. If the problem persists, please contact CiiRUS API Support with the "unit_id" and quote request details.

"message": "Could not retrieve unit taxes."

Cause


The tax information associated with the unit could not be retrieved.

Resolution


Confirm with the supplier that the unit has valid tax rules configured in CiiRUS. If everything looks correct but the issue persists, please contact CiiRUS API Support with the "unit_id" and quote request details.

"message": "Unit rate set: {rate_set_id} does not have any configured rate bands."

Cause


The rate set associated with this unit exists, but there are no rate bands defined. A quote cannot be calculated without valid rate bands. This typically means the supplier created the rate set but didn’t configure pricing rules for dates or stay lengths.

Resolution


Confirm with the supplier whether this unit should be available for quoting. If yes, advise them to set up rate bands within the associated rate set in their pricing configuration.

"message": "Could not retrieve unit rental."

Cause


The system could not load the unit’s rental configuration. This usually means one or more required settings are missing or misconfigured.

Resolution


Confirm with the supplier whether this unit should be available for quoting. If yes, advise them to set up rate bands within the associated rate set in their pricing configuration.

"message": "Unit is not available for X nights. Valid stays: Y"

Cause


The requested stay length is not available based on the supplier's stay restrictions.

Resolution


Review the valid stay durations returned in the error message and adjust the arrival and departure dates accordingly. If you believe this message is returned for a unit which should be available, please contact CiiRUS API Support with the "unit_id" and quote request details.

"message": "You are not allowed to place a booking for this category."

Cause


The booking category specified is not authorized for the requesting API agent.

Resolution


Confirm that you and the supplier have access to the booking category or use a different category. If you believe this message is returned in error, please contact CiiRUS API Support with the "unit_id" and quote request details.

"message": "This unit is NOT enabled for online booking."

Cause


This is not a technical error - The unit is not enabled for online booking by the supplier.

Resolution


Contact the supplier and request that online booking be enabled for this unit. If you believe this message is returned in error, please contact CiiRUS API Support with the "unit_id" and quote request details.

"message": "Your API user does NOT have permission to add OWNER booking."

Cause


The API user does not have permission to add bookings on units where they are identified as the owner.

Resolution


You must use a different booking relationship. If you believe this message is returned in error, please contact CiiRUS API Support with the "unit_id" and quote request details.

"message": "Could not find CSI"

Cause


The Calendar Sync Information for the unit could not be retrieved.

Resolution


Ensure the unit exists and has calendar sync metadata. If the issue persists, or if you believe this message is returned in error, please contact CiiRUS API Support with the "unit_id" and quote request details.

"message": "Bookings cannot be added to deleted inventory."

Cause


The unit or its master unit is marked as deleted.

Resolution


Do not attempt to quote or book a deleted unit. Contact the supplier for clarification or correction. If you believe this message is returned in error, please contact CiiRUS API Support with the "unit_id" and quote request details.

"message": "You are not permitted for this booking"

Cause


The API user does not have permission to modify or create a reservation on this unit.

Resolution


Check your relationship to the unit and ensure proper permissions are granted. Contact the supplier for clarification or correction. If you believe this message is returned in error, please contact CiiRUS API Support with the "unit_id" and quote request details.
"message": "Your API user does not have permission to modify reservations."

Cause


The API user’s settings do not allow for editing or modifying reservations or quotes.

Resolution


If you believe this message is returned in error, please contact CiiRUS API Support with the "unit_id" and quote request details.

"message": "Failed to retrieve Units"

Cause


The system was unable to retrieve the list of units for quoting. This can occur if the user is not authorized to access any units, or if there is an issue with the supplied query parameters (e.g., invalid filters or date values). It may also occur if there are internal issues or no results match the query.

Resolution


  • Confirm that the user_id passed in the header has access to at least one unit.
  • Verify that any filters passed (e.g., unit_id, management_company_user_id, last_unit_update_date) are valid and within expected formats.
  • If using filters like unit_ids, ensure they are provided as a properly formatted array in the query string.
  • If the issue persists, please contact CiiRUS API Support with the full query parameters used for troubleshooting.


Reservations

Service Unavailable

Cause


As this is a highly robust API function, a Service Unavailable error commonly arises when the API service encounters difficulties processing the request due to an excessive number of records being returned.

Resolution


Leverage the available parameters to refine the data retrieval, allowing you to obtain only the specific data you need. This approach can help mitigate the "Service Unavailable" error.