HTTP Status Code Mock API
Get the HTTP response you need to test your application.
A free HTTP service that returns the status code you choose. Use it to test how your application handles successful responses, authentication errors, missing resources, rate limits, and server failures—without building or configuring a backend.
Use cases:
Use this service to test how your application handles different HTTP responses. Verify successful requests with 200 and 201, empty responses with 204, sign-in prompts with 401, access-denied messages with 403, and missing resources with 404. Return 400, 422, or 409 to check validation feedback and conflict handling without having to reproduce those conditions in a real backend. Scope: A returned status code simulates the HTTP response itself. A 401 does not perform real authentication, and a 429 does not necessarily enforce a request-rate threshold. Those behaviors require additional simulation.
/status/200N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 200,
"message": "OK",
"insight": "The request succeeded. For a GET request, the response normally contains the requested resource."
}/status/201N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 201,
"message": "Created",
"insight": "The request succeeded and created a resource. This simulation returns the status only; no resource is actually created."
}/status/202N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 202,
"message": "Accepted",
"insight": "The request was accepted, but processing may still be unfinished. Acceptance does not guarantee that the operation will eventually succeed."
}/status/204N/A
N/A
[
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]N/A
/status/206N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 206,
"message": "Partial Content",
"insight": "The server is returning part of a resource, commonly for downloads or media seeking. This route simulates the status without implementing byte-range delivery."
}/status/301N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 301,
"message": "Moved Permanently",
"insight": "The resource has moved permanently. This simulation omits Location, so it returns the status without sending the client to another URL."
}/status/302N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 302,
"message": "Found",
"insight": "The resource is temporarily available elsewhere. Some clients change POST to GET when following a 302; use 307 when the method must be preserved."
}/status/303N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 303,
"message": "See Other",
"insight": "The result can be retrieved at another URL using GET or HEAD. This is often used after form submissions to avoid resubmitting the original request."
}/status/304N/A
N/A
[
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]N/A
/status/307N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 307,
"message": "Temporary Redirect",
"insight": "The resource is temporarily available elsewhere. When following this redirect, clients preserve the original request method and body."
}/status/308N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 308,
"message": "Permanent Redirect",
"insight": "The resource has moved permanently. Unlike 301, this redirect explicitly preserves the original request method and body."
}/status/400N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 400,
"message": "Bad Request",
"insight": "The server cannot process the request because of a client-side problem. Check the request syntax, parameters, and payload before retrying."
}/status/401N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 401,
"message": "Unauthorized",
"insight": "The request lacks valid authentication credentials. Despite its name, 401 usually means you need to authenticate; 403 means access is refused."
}/status/402N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 402,
"message": "Payment Required",
"insight": "This status is reserved for future use in HTTP. Some APIs use it for billing or payment problems, so its exact meaning depends on the service."
}/status/403N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 403,
"message": "Forbidden",
"insight": "The server understood the request but refuses to fulfill it. Check permissions; repeating the same request with the same credentials usually will not help."
}/status/404N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 404,
"message": "Not Found",
"insight": "The server could not find the requested resource, or is unwilling to disclose that it exists. Check the URL and resource ID before retrying."
}/status/405N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 405,
"message": "Method Not Allowed",
"insight": "The resource does not support the request method. A real response uses the Allow header to identify supported methods."
}/status/408N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 408,
"message": "Request Timeout",
"insight": "The server did not receive a complete request within the time it was prepared to wait. This differs from 504, where a gateway times out waiting for an upstream server."
}/status/409N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 409,
"message": "Conflict",
"insight": "The request conflicts with the resource's current state. Refresh the resource and resolve conflicts, such as a duplicate identifier or concurrent update."
}/status/410N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 410,
"message": "Gone",
"insight": "The resource is no longer available and the condition is likely permanent. Unlike 404, 410 indicates that its disappearance is expected to persist."
}/status/413N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 413,
"message": "Content Too Large",
"insight": "The request content is larger than the server is willing or able to process. Reduce the payload size or use a supported upload strategy."
}/status/414N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 414,
"message": "URI Too Long",
"insight": "The request URI is longer than the server is willing to interpret. Shorten the URL or move large inputs into a request body when the API supports it."
}/status/415N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 415,
"message": "Unsupported Media Type",
"insight": "The server does not support the request content's format or encoding. Check Content-Type and ensure the payload matches a supported format."
}/status/422N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 422,
"message": "Unprocessable Content",
"insight": "The server understands the content type and syntax, but cannot process the instructions. Check validation errors and business constraints in the payload."
}/status/429N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 429,
"message": "Too Many Requests",
"insight": "The client has sent too many requests within a period of time. Slow down and honor Retry-After when the service provides it."
}/status/500N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 500,
"message": "Internal Server Error",
"insight": "The server encountered an unexpected condition that prevented it from fulfilling the request. Check server logs; retrying may not resolve a persistent fault."
}/status/501N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 501,
"message": "Not Implemented",
"insight": "The server does not support the functionality needed to fulfill the request. Unlike 405, this can mean the server does not recognize or implement the method at all."
}/status/502N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 502,
"message": "Bad Gateway",
"insight": "A gateway or proxy received an invalid response from an upstream server. Investigate the upstream service and the connection between it and the gateway."
}/status/503N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 503,
"message": "Service Unavailable",
"insight": "The server is temporarily unable to handle the request, often because of overload or maintenance. Retry with backoff and honor Retry-After when supplied."
}/status/504N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 504,
"message": "Gateway Timeout",
"insight": "A gateway or proxy did not receive a timely response from an upstream server. Check upstream latency and timeout settings before retrying."
}/status/505N/A
N/A
[
{
"key": "Content-Type",
"value": "application/json; charset=utf-8",
"templated": false
},
{
"key": "Cache-Control",
"value": "no-store",
"templated": false
}
]{
"status": 505,
"message": "HTTP Version Not Supported",
"insight": "The server does not support, or refuses to support, the major HTTP version used in the request. This route simulates the status without changing protocol support."
}