Skip to main content
Mutation
Deprecated

New route

Migration guide

Create route

Migrate before: Q1 2027

Migrate from the legacy Route service to the latest version. The new service delivers a reorganized schema, per-country operator preferences, faster route computation, and greater maintainability.

Operations

OldNew
newRoutecreateRoute

General schema changes

  • Explicit typing: previously flexible JSON fields are now explicitly typed in the schema to improve structure and validation.
  • Naming conventions: fields now use snake_case instead of camelCase.
  • Unit support: numeric inputs now support different unit types, expressed as an object with value, type, and an optional source (manual, telemetry, or default).

Mutation changes

The input argument on createRoute has been reorganized and simplified.

routeRequest

At the root level, the following fields have been removed. Operator-related fields are now covered by operator preferences, and amenity-related fields have moved to their own dedicated amenity query.

FieldMoved to
operatorIdsRemoved
amenitiesRemoved
amenity_preferencesRemoved
operatorRequiredRemoved
operatorPreferRemoved

EV

At the EV level, most top-level fields have moved into a dedicated vehicle object.

FieldMoved to
ev.idvehicle.id
batteryvehicle
climatevehicle
heat_pumpvehicle
plugsvehicle.charging.connectors
safeRiskMarginvehicle.charging.risk_margin
chargeModevehicle.charging.mode
bmsConsumptionRemoved

Vehicle load

Vehicle load properties are no longer set in a single place. They’re now specified per origin and via point, giving more granular control over occupant and cargo weight per leg. They live under properties.vehicle on each location, and their field names change as follows:

FieldMoved to
occupantsUnchanged
cargototal_cargo_weight

Telemetry

The following telemetry data has moved from the root level into the vehicle object.

FieldMoved to
headingvehicle
motor_rpmvehicle
odometervehicle
outside_temperaturevehicle
tire_pressurevehicle
vehicle_speedvehicle

Highlighted changes

A few fields on the input argument now have new, more structured shapes. These are covered in more detail below.

Operator preferences

Operator preferences are simplified to three levels: high, medium, and low. Each entry — whether ranked, excluded, or avoided — can be scoped to specific countries via the countries field. If omitted, all countries are considered.

Operator preferences
graphql
input: {  operators: {    ranking: {      type: preferred      levels: {        high: [          {            id: "op1"            countries: [NL]          }        ]        low: [          {            id: "op3"          }        ]      }    }  }}

Total occupant weight

A new total_occupant_weight field lets you override the default occupant weight, expressed with the new unit object.

Total occupant weight
graphql
input: {  origin: {    properties: {      vehicle: {        occupants: 3        total_occupant_weight: {          value: 160          type: kilogram          source: manual        }      }    }  }}

Create a new route by using the legacy newRoute mutation. It remains available while you migrate to the createRoute mutation, which calculates charging stops, energy consumption, and drive time with a reorganized schema and per-country operator preferences.

Arguments

input· RequestInput

Fields

ID· ID· In favor of createRoute.

Operations can fail. Account for the following error scenarios to handle them correctly. More on errors here.

consumption_exceeded
Provided consumption value for $LOCATION is not valid. The value must be between 0 and $MAXVALUE kwh, or the equivalent in another unit, for this vehicle.
empty_array_not_allowed
Array $NAME should have at least one value.
error_forbidden_message
You are forbidden to execute this operation.
invalid_coordinates
Coordinates provided for $LOCATION are not valid.
invalid_unit
Provided unit type $TYPE for $LOCATION is not valid.
invalid_value
Provided value $VALUE for $LOCATION is not valid. Expected value of type $EXPECTEDTYPE.
negative_value_not_allowed
Negative value for $LOCATION is not allowed.
occupants_above_allowed
Provided number of occupants for $LOCATION is not valid. The value must be less than or equal to $OCCUPANTSCOUNT for this vehicle.
occupants_below_allowed
Provided number of occupants for $LOCATION is not valid. The value must be at least 1.
operation_not_allowed
You are not allowed to execute this operation. Enable it for the current application in the dashboard or reach out to customer support.
operator_both_excluded_and_ranking
Operator $OPERATORID is both in the ranking and excluded lists.
operator_duplicated_in_exclude
Operator $OPERATORID is multiple times in the exclude lists.
operator_duplicated_in_ranking
Operator $OPERATORID is multiple times in the ranking lists.
operator_invalid_ranking
Operator ranking must be between 1 and 10.
operator_not_found
No operator was found with the $OPERATORID ID.
operator_ranking_none_given
The route operator type was set to $ROUTEOPTYPE, but no ranking was provided. Please add an operator to your client or route request.
rate_limit_exceeded
Rate limit exceeded.
route_battery_capacity_above_allowed
The provided battery capacity is too high. The value must be less than or equal to $MAX kwh or the equivalent in another unit.
route_battery_capacity_below_allowed
The provided battery capacity is too small. The value must be greater than or equal to $MIN kwh or the equivalent in another unit.
route_cargo_below_allowed
Provided amount of cargo weight is not valid. The value cannot be negative.
route_consumption_invalid_worst
Provided consumption value for $NAME is not valid. The worst value must be greater than or equal to best value.
route_consumption_total_exceeded
Provided consumption values are not valid. The total must be between 0 and $MAXVALUE for this vehicle.
route_destination_station_and_external_station_not_matching
The destination station for the route requested was not matched with the external station.
route_destination_station_invalid_speed
The provided destination station $STATIONID cannot be used as charging stop. The station does not support DC charging (> 43kW).
route_destination_station_not_found
The destination station for the route requested was not found with the provided ID.
route_destination_station_out_of_service
The provided destination station $STATIONID cannot be used as charging stop. All compatible connectors at this station are out of service.
route_duplicate_amenities
Amenities $DUPLICATEDAMENITIES are duplicated.
route_final_soc_exceeding_battery_capacity
The provided final state of charge is too high. The value must be less than or equal to 80% of the vehicle battery capacity.
route_invalid_amenities
Amenities $INVALIDAMENITIES are not valid. Allowed: $ALLOWEDAMENITIES.
route_invalid_destination_coordinates
The destination coordinates provided are not valid.
route_invalid_origin_coordinates
The origin coordinates provided are not valid.
route_invalid_scheduled_charge_stop_duration
The scheduled charge stop duration is invalid. The value must be between 900 and 86400 seconds.
route_invalid_scheduled_charge_stop_max_distance_from_station
The scheduled charge stop max_distance_from_station is invalid. The value must be between 0 and 1000 meters.
route_invalid_via_coordinates
The via coordinates provided are not valid.
route_max_number_of_passengers_exceeded
Provided number of passengers is not valid. The value must be between 1 and $PASSENGERCOUNT for this vehicle.
route_min_power_below_allowed
The provided minimum power is too small. The value must be greater than 0.
route_origin_station_and_external_station_not_matching
The origin station for the route requested was not matched with the external station.
route_origin_station_not_found
The origin station for the route requested was not found with the provided ID.
route_radius_above_allowed
The radius value is above allowed, the maximum value is 5000 meters.
route_radius_below_allowed
The radius value is below allowed, the minimum value is 500 meters.
route_station_invalid_charger
The provided via station $STATIONID cannot be used as charging stop. The charger standard of the vehicle is not supported.
route_station_invalid_min_power
The minimum power requested is higher than the station could support.
route_station_invalid_speed
The provided via station $STATIONID cannot be used as charging stop. The station does not support DC charging (> 43kW).
route_station_out_of_service
The provided via station $STATIONID cannot be used as charging stop. All compatible connectors at this station are out of service.
route_via_cargo_below_allowed
Provided amount of cargo is not valid. The value must be greater than 0.
route_via_station_and_external_station_not_matching
The via station for the route requested was not matched with the external station.
route_via_station_not_found
The station ID used as a via for the requested route was not found.
soc_exceeding_battery_capacity
The provided state of charge for $LOCATION is too high. The value must be less than or equal to the vehicle battery capacity.
station_destination_coordinates_not_matching
Coordinates [$DESTINATIONCOORDINATES] of destination don't match with station coordinates [$STATIONCOORDINATES].
station_origin_coordinates_not_matching
Coordinates [$ORIGINCOORDINATES] of origin don't match with station coordinates [$STATIONCOORDINATES].
station_via_coordinates_not_matching
Coordinates [$VIACOORDINATES] of via don't match with station coordinates [$STATIONCOORDINATES].
tire_pressure_below_allowed
Provided tire pressure is not valid. The value must be at least 1.
vehicle_freemium_not_allowed
You do not have access to this vehicle. Please upgrade to access this vehicle.
vehicle_type_not_allowed
Vehicle of type $TYPE is not allowed for this operation.
zero_or_negative_value_not_allowed
Zero or negative value for $LOCATION is not allowed.

Was this content helpful?

Developers

Chargetrip ©

Status unknown

Manage cookies

Effective: 20th March, 2024 · Updated: 1 September, 2026

We use cookies to help improve your experience of developers.chargetrip.com. This cookie policy is part of the privacy policy, and covers the use of cookies between your device and our site. We also provide basic information on third-party services we may use, who may also use cookies as part of their service, though they are not covered by our policy.

If you don’t wish to accept any cookies from us, you should instruct your browser to refuse cookies from developers.chargetrip.com, with the understanding that we may be unable to provide you with some of your desired content and services.

A cookie is a small piece of data that a website stores on your device when you visit, typically containing information about the website itself, a unique identifier that allows the site to recognize your web browser when you return, additional data that serves the purpose of the cookie itself, and the lifespan of the cookie itself.

Cookies are used to enable certain features (e.g. logging in), to track site usage (e.g. analytics), to store your user settings (e.g. timezone, notification preferences), and to personalize your content (e.g. advertising, language).

Cookies set by the website you are visiting are normally referred to as “first-party cookies,” and typically only track your activity on that particular site. Cookies set by other sites and companies (i.e. third parties) can be used to track you on other websites that use the same third-party service.

Essential cookies

Cookies set by the website you are visiting are normally referred to as “first-party cookies,” and typically only track your activity on that particular site. Cookies set by other sites and companies (i.e. third parties) can be used to track you on other websites that use the same third-party service.

Performance cookies

Targeting / advertising cookies are used in determining what promotional content is more relevant and appropriate to you and your interests. Websites may use them to deliver targeted advertising or to limit the number of times you see an advertisement. This helps companies improve the effectiveness of their campaigns and the quality of content presented to you. These cookies may be set by the website you’re visiting (first-party) or by third-party services. Targeting/advertising cookies set by third parties may be used to track you on other websites that use the same third-party service. We use targeting/advertising cookies on our site.

Marketing / advertising cookies

Targeting / advertising cookies are used in determining what promotional content is more relevant and appropriate to you and your interests. Websites may use them to deliver targeted advertising or to limit the number of times you see an advertisement. This helps companies improve the effectiveness of their campaigns and the quality of content presented to you. These cookies may be set by the website you’re visiting (first-party) or by third-party services. Targeting/advertising cookies set by third parties may be used to track you on other websites that use the same third-party service. We use targeting/advertising cookies on our site.

Third party promise

We review the privacy policies of all our third-party providers before enlisting their services to ensure their practices align with ours. We will never knowingly include third-party services that compromise or violate the privacy of our users.

Cookie
google-cookie-consent
Description
Stores your cookie preferences, meaning which categories you have accepted or declined, so we can respect your choice on every visit and only load the analytics or marketing tools you have allowed.
Lifetime
2 years

How you can control or opt out of cookies

If you do not wish to accept cookies from us, you can instruct your browser to refuse cookies from our website. Most browsers are configured to accept cookies by default, but you can update these settings to either refuse cookies altogether or to notify you when a website is trying to set a cookie.

If you browse websites from multiple devices, you may need to update your settings on each individual device.

Although some cookies can be blocked with little impact on the experience of a website, blocking all cookies may mean you are unable to access certain features and content across the sites you visit.

We may update this Cookie Policy from time to time in order to reflect, for example, changes to the cookies we use or for other operational, legal, or regulatory reasons. Please re-visit this Cookie Policy to stay informed about our use of cookies and related technologies. The date at the top of this Cookie Policy indicates when it was last updated.