A 400 Bad Request means the server cannot or will not process a request because it perceives a problem with that request. Start by identifying the exact URL and action that produced the response. A typo, malformed address, unexpected request header, or message the server cannot parse may be involved, but the number 400 alone does not identify which one.

For a simple page visit, checking the address and trying the intended link again may be enough. If the error appears while submitting a form or using an API, record the request method and the response details before changing anything.

Confirm Which Request Returned 400

If your browser or client can show individual network requests, find the one that returned 400. A page can load several resources, and one failing image or API call does not mean the document request returned 400. Note the requested host, path, method, time, and whether the response came directly from the application or from an intermediary. The visible error page may omit these details.

Try to reproduce the failure with the same account and a harmless request. If a link works until you edit its URL, compare the original and edited addresses. If the response appears only for a particular action, identify the input or metadata that changes for that action. For a failure that cannot be reproduced, the owner may need logs to identify the rejected request.

Check the URL and Request Metadata

Look for an accidental space, a missing slash, a broken percent-encoded character, or a copied address that was cut off. A question mark begins the query, and its characters can affect how the server interprets the request. Do not repeatedly alter a signed or transaction URL and assume its parameters are disposable. Return to the original page or ask the owner for a fresh legitimate link if an address was generated for a specific session.

Check API Headers and Body Data

An API client sends more than a URL. Its method, headers, declared content type, body format, and authentication metadata can differ from a browser request. A server may reject malformed request syntax or framing before the application can interpret the intended data. Compare the request with the service's documented requirements, including which fields are required and how the body is encoded.

If the service expects JSON, verify that property names and string values use double quotation marks and that no comma follows the final member or array element. Use a JSON serializer to create the body, and set Content-Type to match the format actually sent. Then check required fields and value types against the API documentation; valid JSON syntax alone does not make the data acceptable.

Check Request Size Limits

Request size also matters, but a large upload is not automatically a 400. The server might use another status, such as 413 Content Too Large, or a gateway may apply a different limit. If the failing request includes a large body or unusually long header, compare its size with the published limits and the server's actual logs.

Compare Client and Server Behavior

When one browser fails but another succeeds, compare the exact URL, account state, extensions, and request details. A stale page or cookie can sometimes lead to a request the server no longer accepts. First use the site's normal navigation to obtain a fresh page and see whether the same safe action works.

If the error details point to a stale cookie or an oversized Cookie header, remove cookies for the affected site through the browser's privacy or site-data settings. Select that site specifically, then reopen it through normal navigation and sign in again if needed. This can reset login state and saved preferences, so record the original error first and retest only a harmless action.

When different clients send requests for the same action and all receive 400, the owner should inspect the server and gateway logs for a common rejection. A deployment or a change to validation or gateway settings may cause requests that previously worked to be rejected. The server may use 400 for an application-specific validation choice, so its documented response body may add useful context.

A browser's GET for a page and an API client's POST with JSON are different requests even if they share a host and path. The account, method, content type, and body must match before a difference in status points to a client-specific cause. A successful request from an administrator account also does not prove that a public request meets the same requirements.

Retest One Safe Change

Change only the suspected cause and retry a harmless request. If an address was mistyped, correct it and use a normal navigation request. If an API body was malformed, make the smallest documented correction in a test environment or with a read-only operation when possible. Record the before and after status and the request property that changed. A successful retry suggests that the change addressed the problem in that request.

For orders, payments, uploads, or other actions that might have succeeded despite an error display, check the application's transaction record before retrying. A browser error can be a poor indicator of whether a backend write happened. If the service supports an idempotency key or another way to prevent duplicates, follow its retry instructions. If the result is still unclear, ask the service owner to check what happened to the original request.

After a server change, confirm that expected invalid requests still receive an appropriate error. Broadly relaxing validation or disabling security rules to make a single 400 disappear can create a different problem.

Report the Failed Request to the Service Owner

If you cannot change the server, send the owner the time with a time zone, the affected route, the method, a redacted request example, and the response status. Explain whether the issue occurs on one device or across clients, and which safe checks have been tried. Remove passwords, session cookies, authorization headers, personal data, and complete payment details before sharing evidence. A request ID from the response can help the owner locate the matching log entry.