HTTP status codes — Guide

The list of all HTTP status codes, their name, and their meaning.

What it is and when to use it

The complete list of HTTP status codes with their official name and a plain-language meaning for each — from 200 OK through the redirect class (3xx), client errors (4xx) and server errors (5xx). A quick reference when reading logs, writing an API client or explaining a failure to a teammate.

A reference for the meaning of every HTTP status code, for when you hit an unfamiliar one.

How to use it

  1. Find the code by category or search
  2. Read its official name and the usual scenario

A worked example

Fill in a sample query

404

Copy this into the tool, or open HTTP status codes

Questions people ask

401 vs 403 — which one do I return?
401 means "who are you?" — authentication is missing or invalid. 403 means "I know who you are and you still cannot do this." If re-login could fix it, use 401; otherwise 403.
301, 302, 307 — what is the practical difference?
301 is permanent and clients may cache it forever; 302 is temporary but legacy clients may switch method to GET; 307 is temporary with the method preserved. For a temporary POST redirect, 307 is the safe modern answer.
Is a 4xx my fault or the client's?
Convention: 4xx means the request was bad (bad URL, bad credentials, rate limited) and the client must change something; 5xx means the server failed despite a valid request.

Next steps

Open the HTTP status codes tool

Spotted something wrong on this page? Tell us via Contact Us