Skip to main content

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:

  • 2xx success status codes confirm that your request worked as expected
  • 4xx error status codes indicate an error because of the information provided (e.g., a required parameter was omitted)
  • 5xx error 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. The reason field 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 (see address_invalid).
  • Appointment availability (GET /appointments/availability), 406: an address is real but outside the rooftop's service area. The body carries reason: "OUT_OF_SERVICE_AREA" and an out_of_service_area object 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.