# Map-match a GPX file To get a match response you send a GPX file in the body of an HTTP POST request and specify request parameters like the and in the URL. See below for more supported parameters. Endpoint: POST /match Version: 1.0.0 Security: api_key ## Query parameters: - `gps_accuracy` (integer) Specify the precision of a point, in meter - `profile` (string) The routing profile. It determines the network, speed and other physical attributes used when computing the route. See the section about routing profiles for more details and valid profile values. - `locale` (string) The locale of the resulting turn instructions. E.g. for Portuguese or for German. - `elevation` (boolean) If , a third coordinate, the altitude, is included with all positions in the response. This changes the format of the and fields of the response, in both their encodings. Unless you switch off the parameter, you need special code on the client side that can handle three-dimensional coordinates. - `details` (array) Optional parameter. The following path details are available: , , , , , , , , , , , , , , , , , , , , , , , , , , . Read more about the usage of path details here. - `instructions` (boolean) If instructions should be calculated and returned - `calc_points` (boolean) If the points for the route should be calculated at all. - `points_encoded` (boolean) Allows changing the encoding of location data in the response. The default is polyline encoding, which is compact but requires special client code to unpack. (We provide it in our JavaScript client library!) Set this parameter to to switch the encoding to simple coordinate pairs like , or . See the description of the response format for more information. ## Response 200 fields (application/json): - `paths` (array) - `paths.distance` (number) The total distance, in meters. To get this information for one 'leg' please read [this blog post](https://www.graphhopper.com/blog/2019/11/28/routing-api-using-path-details/). - `paths.time` (integer) The total travel time, in milliseconds. To get this information for one 'leg' please read [this blog post](https://www.graphhopper.com/blog/2019/11/28/routing-api-using-path-details/). - `paths.ascend` (number) The total ascent, in meters. - `paths.descend` (number) The total descent, in meters. - `paths.points` (any) The geometry of the route. The format depends on the value of . - `paths.snapped_waypoints` (any) The snapped input points. The format depends on the value of . - `paths.points_encoded` (boolean) Whether the and fields are polyline-encoded strings rather than JSON arrays of coordinates. See the field description for more information on the two formats. - `paths.bbox` (array) The bounding box of the route geometry. Format: . - `paths.instructions` (array) The instructions for this route. This feature is under active development, and our instructions can sometimes be misleading, so be mindful when using them for navigation. - `paths.instructions.text` (string) A description what the user has to do in order to follow the route. The language depends on the locale parameter. - `paths.instructions.street_name` (string) The name of the street to turn onto in order to follow the route. - `paths.instructions.distance` (number) The distance for this instruction, in meters. - `paths.instructions.time` (integer) The duration for this instruction, in milliseconds. - `paths.instructions.interval` (array) Two indices into , referring to the beginning and the end of the segment of the route this instruction refers to. - `paths.instructions.sign` (integer) A number which specifies the sign to show: | sign | description | |---|---| |-98| an U-turn without the knowledge if it is a right or left U-turn | | -8| a left U-turn | | -7| keep left | | -6| : leave roundabout | | -3| turn sharp left | | -2| turn left | | -1| turn slight left | | 0| continue on street | | 1| turn slight right | | 2| turn right | | 3| turn sharp right | | 4| the finish instruction before the last point | | 5| the instruction before a via point | | 6| the instruction before entering a roundabout | | 7| keep right | | 8| a right U-turn | | *| it is important that all clients are able to handle also unknown instruction sign numbers - `paths.instructions.exit_number` (integer) Only available for roundabout instructions (sign is 6). The count of exits at which the route leaves the roundabout. - `paths.instructions.turn_angle` (number) Only available for roundabout instructions (sign is 6). The radian of the route within the roundabout for clockwise and for counterclockwise turns. - `paths.details` (object) Details, as requested with the parameter. Consider the value . In this example, the route uses two streets: The first, Frankfurter Straße, is used between and , and the second, Zollweg, between and . Read more about the usage of path details [here](https://discuss.graphhopper.com/t/2539). - `paths.points_order` (array) An array of indices (zero-based), specifiying the order in which the input points are visited. Only present if the parameter was used. - `info` (object) Additional information for your request - `info.copyrights` (array) Attribution according to our documentation is necessary if no white-label option included. - `info.took` (number)