HTTP Status Codes
Stay organized with collections
Save and categorize content based on your preferences.
HTTP status codes the server can generate in response to an HTTP POST
or
HTTP GET
request:
200 OK
: Successful request.
400 Bad Request
: Invalid argument (invalid request payload).
403 Forbidden
: Permission denied (e.g. invalid API key).
429 Resource Exhausted
: Either out of resource quota or reaching rate limiting.
500 Internal Server Error
: Internal server error (retry your request).
503 Service Unavailable
: Unavailable.
504 Gateway Timeout
: Deadline exceeded (retry your request).
Note: Clients that receive an unsuccessful HTTP response (that is, any HTTP
status code other than 200 OK
) must enter
back-off mode.
Possible reasons for receiving HTTP status code 400 Bad Request
:
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-09-18 UTC.
[null,null,["Last updated 2024-09-18 UTC."],[[["\u003cp\u003eThe server generates HTTP status codes like \u003ccode\u003e200 OK\u003c/code\u003e for success and various error codes (\u003ccode\u003e400\u003c/code\u003e, \u003ccode\u003e403\u003c/code\u003e, \u003ccode\u003e429\u003c/code\u003e, \u003ccode\u003e500\u003c/code\u003e, \u003ccode\u003e503\u003c/code\u003e, \u003ccode\u003e504\u003c/code\u003e) for different issues encountered during \u003ccode\u003ePOST\u003c/code\u003e or \u003ccode\u003eGET\u003c/code\u003e requests.\u003c/p\u003e\n"],["\u003cp\u003eClients receiving unsuccessful HTTP responses (any code other than \u003ccode\u003e200 OK\u003c/code\u003e) should enter back-off mode to avoid overwhelming the server.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003e400 Bad Request\u003c/code\u003e errors can arise from invalid arguments in requests to \u003ccode\u003efullHashes.find\u003c/code\u003e, \u003ccode\u003ethreatListUpdates.fetch\u003c/code\u003e, or \u003ccode\u003ethreatMatches.find\u003c/code\u003e methods, such as invalid hashes, empty update requests, or missing threat entry types.\u003c/p\u003e\n"]]],["The server responds to HTTP `POST` or `GET` requests with various status codes. `200 OK` indicates success. Errors include `400 Bad Request` for invalid input, `403 Forbidden` for permission issues, `429 Resource Exhausted` for quota/rate limits, `500` for internal errors, `503` for unavailability, and `504` for timeouts. A non-`200 OK` response requires clients to enter back-off mode. `400` errors may occur due to invalid hashes, empty update requests, or missing threat information.\n"],null,["# HTTP Status Codes\n\nHTTP status codes the server can generate in response to an HTTP `POST` or\nHTTP `GET` request:\n\n- `200 OK`: Successful request.\n- `400 Bad Request`: Invalid argument (invalid request payload).\n- `403 Forbidden`: Permission denied (e.g. invalid API key).\n- `429 Resource Exhausted`: Either out of resource quota or reaching rate limiting.\n- `500 Internal Server Error`: Internal server error (retry your request).\n- `503 Service Unavailable`: Unavailable.\n- `504 Gateway Timeout`: Deadline exceeded (retry your request).\n\n**Note** : Clients that receive an unsuccessful HTTP response (that is, any HTTP\nstatus code other than `200 OK`) must enter\n[back-off mode](/safe-browsing/v4/request-frequency#back-off-mode).\n\n\nPossible reasons for receiving HTTP status code `400 Bad Request`:\n\n- [fullHashes.find](/safe-browsing/reference/rest/v4/fullHashes/find): Invalid hash.\n- [threatListUpdates.fetch](/safe-browsing/reference/rest/v4/threatListUpdates/fetch): Empty update request, or invalid list configuration, or list does not exist for the requested configuration.\n- [threatMatches.find](/safe-browsing/reference/rest/v4/threatMatches/find): Threat entry type not set in threat info section of request."]]