Error Codes
HopDrive uses HTTP response status codes to indicate the success or failure of your API requests. If your request fails, HopDrive returns an error using the appropriate status code.
In general, there are three status code ranges you can expect:
2xxsuccess status codes confirm that your request worked as expected4xxerror status codes indicate an error because of the information provided (e.g., a required parameter was omitted)5xxerror status codes are rare and indicate an error with HopDrive's servers
Some 4xx errors that could be handled programmatically (e.g., an invalid pickup address) include an error code—a short string with a brief explanation—as a value for code. Below is a list of possible error codes that can be returned, along with additional information about how to resolve them. For your convenience, these types of errors also include the doc_url attribute with a direct link to the specific error code it corresponds to.
access_denied
Provided credentials are unauthorized.
address_invalid
An address cannot be used for the request. It is returned in these cases:
- Move creation (
POST /one-way-moves,/round-trip-moves,/concierge-moves,/concierge-loaner-moves), 400: the rooftop runs Valet Lite moves with its own drivers, and both the pickup and the delivery location are more than the rooftop's service radius plus 1 mile from the rooftop's address. One location inside the radius is enough. The message names the radius and both distances, for example "Both pickup and delivery locations are outside your 100 mile serviceable radius. Pickup is 212 miles away and delivery is 188 miles away from your location." To resolve it, use a location within the service radius, or contact HopDrive to change the rooftop's service radius. - Appointment availability (
GET /appointments/availability), 400: an address cannot be placed on a map, or matches several of the rooftop's saved locations. Thereasonfield says which, as that endpoint's page documents. Correct the address, or send a more specific one. - Move eligibility (
POST /confirm-move-eligibility), 406: the locations are not within the serviceable radius of any rooftop, or the coordinates are invalid, as that endpoint's page documents.
outside_region
The locations are outside the area HopDrive serves. It is returned in these cases:
- Move creation (
POST /one-way-moves,/round-trip-moves,/concierge-moves,/concierge-loaner-moves), 400: the move uses HopDrive's drivers, and neither the pickup nor the delivery location is in a live HopDrive service region. One location in a live region is enough. To resolve it, use a location inside a region HopDrive serves, or contact HopDrive about coverage. Valet Lite moves, which use the rooftop's own drivers, are checked against the rooftop's service radius instead (seeaddress_invalid). - Appointment availability (
GET /appointments/availability), 406: an address is real but outside the rooftop's service area. The body carriesreason: "OUT_OF_SERVICE_AREA"and anout_of_service_areaobject naming the leg, its distance, and the rooftop's radius, as that endpoint's page documents.
field_invalid
A field/property in the request is invalid.
field_missing
A field/property in the request is missing. This field is required and has no default fallback value.
google_place_id_invalid
The Google Place ID provided instead of an address is not valid in the Google API.
internal_server_error
HopDrive is experiencing an outage or is currently unable to reach a dependent subsystem.
missing_scope
A scope required to perform the operation is not present in the provided authentication token.
move_invalid
The Move ID provided was invalid.
move_duplication
The move provided is a duplicate of one that is already in-progress (based on "duplicate_check" request parameter).
pickup_location_required
A pickup location object is required but was not found in the request.
request_invalid
The request structure is invalid and cannot be used.