Error Handling

View as Markdown

Rendr uses standard HTTP response codes and returns structured error objects to help integrators diagnose and resolve issues quickly.

Errors are deterministic, machine-readable, and designed to support both programmatic handling and human-readable messaging.

Every error response includes a request_id. Log this identifier in your system and provide it when contacting Rendr support.

Error Response Structure

1{
2 "request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
3 "code": 400,
4 "title": "Invalid delivery payload",
5 "message": "The data format of your delivery request is incorrect. Please review the payload and re-request the delivery.",
6 "errors": [
7 {
8 "field": "address.post_code",
9 "issue": "required"
10 }
11 ],
12 "details": "Invalid format or missing fields in delivery payload."
13}

Error Object Fields

FieldTypeDescription
request_idStringUnique identifier for the request. Include this when contacting support.
codeIntegerHTTP response code.
titleStringShort error title.
messageStringHuman-readable description suitable for user-facing error messages.
errorsArrayMachine-readable error payload. Structure varies by error type.
detailsStringFlat technical description for use in logging or systems that cannot handle structured data.

HTTP Status Codes

CodeMeaningWhen it occurs
200OKRequest succeeded.
400Bad RequestInvalid payload, missing fields, or failed business rule.
401UnauthorizedMissing or invalid Bearer token.
403ForbiddenValid token but insufficient permissions for the requested resource.
404Not FoundThe requested resource does not exist.
409ConflictDuplicate request or state conflict.
422Unprocessable EntityPayload structure is valid but content fails validation.
429Too Many RequestsRate limit exceeded.
500Internal Server ErrorUnexpected server-side error.

Common Error Responses

TitleCodeMessage
Invalid delivery payload400The data format of your delivery request is incorrect. Please review the payload and re-request the delivery.
Invalid delivery address400The address provided for the delivery is invalid. Please review the destination address and re-request the delivery.
Empty quote400The quote you are requesting has no results available. Please review the payload or contact Rendr for support.
Distance calculation400The delivery distance is outside of the defined range. Please review the payload or contact Rendr for support.
Distance configuration400The distance configuration for your location prevents quotes from being returned.
Weight configuration400The configuration of your dead weight rules prevent quotes from being returned.
Cubic weight configuration400The configuration of your cubic weight rules prevent quotes from being returned.
Location configuration400The requested store is not active. Please contact Rendr for support.
Freight profile configuration400The configuration of your freight profile prevents quotes from being returned.

Use Case: Booking Failures

In rare cases, a request may pass validation and a delivery record is created in Rendr, but booking fails when attempting to create the consignment with a third-party carrier.

System behaviour in these cases:

  • The delivery record will be created in Rendr
  • The delivery status will remain as created or requested
  • No label_url will be returned
  • The delivery will not transition to booked

It is important that this condition is clearly surfaced to the user, indicating that the booking has not yet been successfully completed and no label has been generated.

Retry & Resolution Options

The request may be retried with:

1{
2 "upsert_retry_created": true
3}

This allows the request to bypass reference uniqueness validation where a previous delivery exists in created state and a retry is required.

Rendr may resolve the issue internally (e.g. carrier retry, configuration correction).

Once resolved:

  • The delivery status will update to booked
  • A label_url will be populated
  • A webhook event will be submitted to notify your system of the updated state

If polling the delivery endpoint, a successfully resolved booking will show:

1{
2 "status": "booked",
3 "label_url": "<present>"
4}

Until both conditions are met, the booking should be considered incomplete.

When contacting Rendr support, always include the request_id from the error response to help our team locate and investigate the issue quickly.