Skip to content

Invalid Request Parameters

URI: https://docs.ankatech.co/errors/invalid-request-parameters
HTTP Status: 400 Bad Request

When you see this

The server could not decode the request's parameters: the query string, or a form body sent as application/x-www-form-urlencoded. Every service answers this the same way, on every endpoint, whichever component first reads a parameter, and before the request reaches the operation it addresses. The answer does not depend on credentials: an undecodable token request gets this 400, not a 401.

Common Causes

  • An invalid percent-encoding: a % not followed by two hexadecimal digits, such as ?x=%zz or a literal % that was never encoded as %25.
  • Percent-encoded bytes that are not valid UTF-8.
  • More parameters than the server accepts in one request.
  • A client that builds the query string or the form body by string concatenation instead of encoding each name and value.

Response Example

HTTP/1.1 400 Bad Request
Content-Type: application/problem+json
{
  "type": "https://docs.ankatech.co/errors/invalid-request-parameters",
  "title": "Bad Request",
  "status": 400,
  "detail": "The request parameters could not be decoded.",
  "instance": "/api/v3/audit/platform/integrity/runs",
  "timestamp": 1790973380
}

The detail is fixed and never repeats the bytes that failed to decode. instance is the path you called. The body carries no correlation member; the X-Correlation-Id response header does.

How to Resolve

  1. Encode every parameter name and value with your HTTP client's URL encoder instead of building the string by hand.
  2. Encode a literal % as %25.
  3. Send text as UTF-8 before percent-encoding it.