﻿# BAD_REQUEST — malformed or invalid request

Fired when the server cannot parse or structurally process the incoming request. Common triggers include invalid JSON, missing required fields, unsupporte…

<em>cyoda-go version <a href="https://github.com/Cyoda-platform/cyoda-go/releases/tag/v0.6.2">0.6.2</a></em>

# errors.BAD_REQUEST

## NAME

BAD_REQUEST — the request body, query parameter, or header is malformed or structurally invalid.

## SYNOPSIS

HTTP: `400` `Bad Request`. Retryable: `no`.

## DESCRIPTION

Fired when the server cannot parse or structurally process the incoming request. Common triggers include invalid JSON, missing required fields, unsupported format specifiers, or mutually exclusive parameters being set simultaneously.

Not retryable. The same request produces the same error.

## SEE ALSO

- errors
- errors.VALIDATION_FAILED

## See also

- [`cyoda help errors`](/help/errors/) — Every error response from the Cyoda REST API carries a structured `errorCode` in the `properties` object. Multiple codes may share the same HTTP status. Programmatic handling keys on `errorCode`, not HTTP status.
- [`cyoda help errors VALIDATION_FAILED`](/help/errors/validation_failed/) — Unlike `BAD_REQUEST` (which covers parse failures), this error is returned when the payload is parseable but violates the registered model schema — for example, a required field is missing, a value is out of the allowed range, or a workflow guard condition is not satisfied. The error detail includes the specific validation failure.

## Raw formats

- [`/help/errors/bad_request.json`](/help/errors/bad_request.json) — full descriptor (matches `GET /help/{topic}` envelope)
- [`/help/errors/bad_request.md`](/help/errors/bad_request.md) — body only