api.heigit.org Directions V2 returns plain nginx HTTP 400, also in official API Playground

api.heigit.org Directions V2 returns plain nginx HTTP 400,
Subject:
api.heigit.org Directions V2 returns plain nginx HTTP 400, including from official API Playground

Hello,

I am currently unable to use the openrouteservice Directions V2 API through api.heigit.org.

Account / key status:

  • HeiGIT account is active
  • API key was created on 18 September 2026
  • The key does not expire according to the HeiGIT dashboard
  • openrouteservice Directions V2 is enabled
  • Remaining Directions V2 quota is approximately 1963/2000
  • Rate limit shown in the dashboard: 40 requests/minute
  • The dashboard records the requests

Endpoint tested:

POST
https://api.heigit.org/openrouteservice/v2/directions/driving-car

Authentication:
Authorization header with the HeiGIT API key

Content-Type:
application/json

Accept:
application/json

I first tested a route in Vienna. The response was:

HTTP/1.1 400 Bad Request
Server: nginx/1.31.0
Content-Type: text/plain; charset=utf-8

400 Bad Request

I then reproduced the problem using the official ORS example coordinates:

{“coordinates”:[[8.681495,49.41461],[8.686507,49.41943]]}

The result was again:

HTTP/1.1 400 Bad Request
Server: nginx/1.31.0
Content-Type: text/plain; charset=utf-8

400 Bad Request

I tested this independently using:

  1. Python urllib
  2. curl.exe

Both produced the same response.

I also tested:

POST
https://api.heigit.org/openrouteservice/v2/directions/driving-car/json

This also returned the same plain nginx HTTP 400 response.

Most importantly, I can reproduce HTTP 400 directly in the official openrouteservice API Playground while logged into my HeiGIT account and using the provided Directions example.

The Playground displays:

400
“The request is incorrect and therefore cannot be processed.”

The API key itself is NOT included in this report.

Could you please check whether there is currently an issue with my HeiGIT API key/account, the api.heigit.org gateway, or the Directions V2 service?

The plain text nginx response is particularly confusing because I do not receive the normal structured ORS JSON error response.

Date/time of reproduction:
18 September 2026
approximately 04:07–04:40 UTC
(06:07–06:40 CEST)

Thank you.

Hey,

I cannot reproduce the HTTP 400 response from the Playground.

Could you please post the exact request you are sending, ideally in cURL-format?
These issues are notoriously hard to debug, and the more precise you replicate your request, the easier it is to find out what is going on.

The Playground gives you the option to copy the request as cURL directly.
Please remember to redact your API key :slight_smile:

Best regards

Thanks for checking.

Here is the exact cURL generated by the official ORS API Playground.
I only replaced my API key with [REDACTED].

curl -X POST
‘https://api.heigit.org/openrouteservice/v2/directions/driving-car’
-H ‘Content-Type: application/json; charset=utf-8’
-H ‘Accept: application/json, application/geo+json, application/gpx+xml, img/png; charset=utf-8’
-H ‘Authorization: [REDACTED]’
-d ‘{“coordinates”:[[8.681495,49.41461],[8.686507,49.41943],[8.687872,49.420318]]}’

This is the example request generated by the Playground itself.

When I execute the request in the official Playground, I receive:

HTTP 400
400 Bad Request

The response is plain text from nginx rather than the usual structured ORS JSON error response.

The same request also returns HTTP 400 when executed with curl locally.

My API key has Directions V2 enabled and remaining quota.

Thanks for looking into this.

Hey,

I can neither reproduce this from my local machine nor from the playground or from a separated, unrelated server.

I can only imagine that this might be an issue in your stack, however you connect to the internet.

Best regards