Skip to content

Bad Request

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

When you see this

No ANKASecure service emits this type today. It is reserved by one Admin API mapping: the handler that turns a Spring ResponseStatusException into a problem builds the type suffix from the status name, so a ResponseStatusException carrying 400 would surface as bad-request. The Admin API raises none: its page-request refusals are Invalid Input, and a handler parameter that fails its constraint is Validation Error whether or not the controller is @Validated. The Core API answers an unclassified 4xx with client-error instead.

It is not the validation failure that a request body produces, nor a path or query parameter that is missing, cannot be converted to its type, or fails its constraint: on the Admin API all of those are Validation Error. A page request outside a paginated list's bounds (size, page, a sort field off the allow-list) is Invalid Input.

Common Causes

  • None at present. Refusals that might be expected here carry a named type: the page-request refusals on GET /api/v3/admin/exchanges (size outside 1..50, a negative page, a sortBy outside the allow-list) are Invalid Input, and a constrained path or query parameter on a controller without @Validated (a roleName or locale that fails its pattern) is Validation Error.

Response Shape

The body is an RFC 9457 problem document (Content-Type: application/problem+json) whose type is https://docs.ankatech.co/errors/bad-request, title is Bad Request and status is 400. This is an Admin API body, so the correlation identifier is extensions.requestId; see Error Index & Overview.

How to Resolve

  1. Read detail — it states why the request was refused.
  2. Correct the request and re-send. Nothing was changed, so there is no partial result to clean up.

For full schema definitions, examples, and interactive testing, see the Developer Hub Reference.