The server cannot process the request due to malformed syntax, invalid parameters, or bad encoding.
const body = JSON.stringify({ name: 'test' });
const res = await fetch('/api/data', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body,
});Ensure Content-Type matches the body format and all required fields are present.
ObserveOne monitors API request patterns and alerts on spikes in 400 errors.
Start Monitoring FreeThe server refuses the request because the Content-Type is not supported.
The request was well-formed but the server cannot process it due to semantic errors (e.g., validation failures).
The request requires authentication. The client must provide valid credentials.
The server understood the request but refuses to authorize it. Authentication won't help — the user lacks permissions.
The server cannot find the requested resource. The URL may be wrong, the resource may have been deleted, or the route doesn't exist.