Developers
translateEspañolOpen an account

Get started

  • Reseller API
  • Quickstart

Concepts

  • Authentication and modes
  • Errors
  • Idempotency
  • Rate limits
  • Pagination

Reference

  • Endpoints
  • Objects

Guides

  • Booking lifecycle
  • Payment link and hold
  • Cancellations
  • Webhooks
  • Sandbox

More

  • Changelog
data_objectOpenAPI 3.1
menu_bookErrorsexpand_more

Get started

  • Reseller API
  • Quickstart

Concepts

  • Authentication and modes
  • Errors
  • Idempotency
  • Rate limits
  • Pagination

Reference

  • Endpoints
  • Objects

Guides

  • Booking lifecycle
  • Payment link and hold
  • Cancellations
  • Webhooks
  • Sandbox

More

  • Changelog
data_objectOpenAPI 3.1

Concepts

Errors

The Muvon API error format, its types, HTTP statuses and the full list of codes.

Errors use HTTP statuses (4xx is about the request, 5xx is on our side) and always the same body:

json
{
  "error": {
    "type": "invalid_request_error",
    "code": "notice_too_short",
    "message": "pickup_at must be at least 30 hours from now",
    "param": "pickup_at",
    "request_id": "req_7e1f0c2a9b8d4e3f"
  }
}

Types

TypeWhen
invalid_request_errorThe request has a problem: a missing field, an invalid value, or a business rule doesn't allow it.
authentication_errorThe key is missing or doesn't work.
permission_errorThe key works but can't do that.
rate_limit_errorToo many requests. See Rate limits.
idempotency_errorProblem with the Idempotency-Key. See Idempotency.
api_errorFailure on our side. Retry with growing waits.

Codes

Code against code, not message: messages may change, codes won't.

HTTPCodeTypeWhat it means
400parameter_missinginvalid_request_errorA required field is missing (param says which).
400parameter_invalidinvalid_request_errorA field has a value or format that isn't valid.
400invalid_jsoninvalid_request_errorThe body isn't valid JSON.
400body_missinginvalid_request_errorThat endpoint needs a JSON body.
400idempotency_key_invalidinvalid_request_errorThe Idempotency-Key must be 1 to 255 printable characters, without spaces.
400place_not_foundinvalid_request_errorThat place_id doesn't exist. Use one from GET /places or send an address.
400vehicle_type_not_foundinvalid_request_errorThat vehicle_type_id doesn't exist. See GET /vehicle-types.
400quote_invalidinvalid_request_errorThe quote has no price. Get a new one.
400idempotency_key_requiredinvalid_request_errorPOST /bookings without an Idempotency-Key header.
401missing_api_keyauthentication_errorNo Authorization: Bearer header.
401invalid_api_keyauthentication_errorThe key doesn't exist, was revoked, the account is suspended, or it's a live key before live is enabled.
403test_mode_onlypermission_errorThe /test/… paths only work with a test key.
404resource_missinginvalid_request_errorNo booking or quote with that id or code for your account and mode.
409quote_expiredinvalid_request_errorThe quote expired. Get a new one.
409quote_usedinvalid_request_errorThat quote was already booked.
409cancel_window_closedinvalid_request_errorLess than 24 h before pickup. Contact Muvon.
409booking_not_payableinvalid_request_errorSandbox: a cancelled booking can't be paid.
409booking_not_cancellableinvalid_request_errorThe ride is under way, finished or already cancelled.
409invalid_status_transitioninvalid_request_errorSandbox: that status doesn't follow the current one.
409idempotency_conflictidempotency_errorThe same Idempotency-Key was used with a different body.
422notice_too_shortinvalid_request_errorPickup is less than 30 h away, or less than the vehicle's notice.
422same_origin_destinationinvalid_request_errorOrigin and destination are the same place.
422route_too_longinvalid_request_errorThe trip is longer than 330 km.
422route_not_priceableinvalid_request_errorWe couldn't work out a route between those points.
422passengers_out_of_rangeinvalid_request_errorNo vehicle (or the one you asked for) carries that many people.
422too_many_bagsinvalid_request_errorThe bags don't fit in the vehicle.
422hours_out_of_rangeinvalid_request_errorFor hourly, hours must be 1 to 12.
422extra_unavailableinvalid_request_errorThat extra doesn't exist or isn't sold through the API.
422option_unavailableinvalid_request_errorThe vehicle_type_id isn't one of the quote's options.
413body_too_largeinvalid_request_errorThe body is larger than 32 KB.
429rate_limitedrate_limit_errorToo many requests this minute. Wait what Retry-After says.
500internal_errorapi_errorSomething failed on our side. Retry; if it persists, send the request_id.
503not_configuredapi_errorThe service isn't available right now. Retry later.
503pricing_unavailableapi_errorNo rates loaded to quote with. Retry later.
arrow_backPreviousAuthentication and modesNextarrow_forwardIdempotency

On this page

  • Types
  • Codes