[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-04 UTC."],[],[],null,["# HTTP status codes\n=================\n\nHTTP status codes the server can generate in response to HTTP requests:\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 status code other than `200 OK`) must enter [back-off mode](/web-risk/docs/request-frequency#back-off-mode).\n\nPossible reasons for receiving HTTP status code `400 Bad Request`:\n\n- [`hashes.search`](/web-risk/docs/reference/rest/v1/hashes/search): Invalid hash.\n- [`threatLists.computeDiff`](/web-risk/docs/reference/rest/v1/threatLists/computeDiff): Empty update request, or invalid configuration."]]