Reference

Gateway errors

The error codes the gateway returns, and what to do about them.

The VIS API is served through a gateway. When the gateway itself refuses a request, it answers with a JSON body, the Cache-Control: no-store header, and an X-Request-Id header. Requests too malformed to parse are the exception: they get 400 or 405, with an empty body and no X-Request-Id.

{
	"error": "rate_limited",
	"message": "The API key quota is exhausted. Retry in 2 s.",
	"request_id": "3f0c9a52-6d1e-4c41-9a57-0b8e2f1d7c44"
}
  • error is a stable code. Use it in your programs.
  • message is for people, and can change. Do not parse it.
  • request_id identifies the request. Quote it when you contact FIVB: see Getting help.

A HEAD request gets the same status and headers, without a body.

Error codes

Status Error Meaning
400 ambiguous_path The request target is not origin-form, or its path contains an unsupported or ambiguous encoding.
400 invalid_api_key_header The X-Api-Key header is malformed or repeated.
401 api_key_required The route requires an API key and none was sent.
401 invalid_api_key The API key is unknown or revoked.
401 invalid_token The Bearer token is missing or invalid. Includes WWW-Authenticate: Bearer.
403 cors_forbidden A CORS preflight asked for an origin, method, or header that the route's policy does not allow.
404 route_not_found No route matches the request path.
429 rate_limited The application's quota is exhausted. Includes Retry-After.
502 upstream_error The upstream is unreachable or did not return a valid response.
503 authentication_unavailable APIM cannot obtain usable authentication keys.

Other failures while the gateway processes a request return bad_request (4xx) or internal_error (500).

Responses from the VIS API itself pass through the gateway unchanged, with their own status and body.

What to do

  • 401 invalid_api_key: check that you send the current secret of an active key, and that its Application is not suspended: the Application page shows its status. A regenerated key has a new secret.
  • 429 rate_limited: wait for Retry-After seconds. See Quotas and 429 responses.
  • 502 and 503: retry later, with an increasing delay. If the error lasts, contact FIVB with the request_id.