HTTP 410 ā Gone
HTTP 410 is 404 with a memory: the resource existed, was deliberately removed, and is not coming back. Crawlers treat it as an instruction to de-index faster than an ambiguous 404.
When 410 shows up
- Retired API versions after a published deprecation window.
- Delisted content where the removal is final by policy.
Mocking a 410 response
A response with this status can be faked end to end with a local mock rule ā no backend changes needed. The configuration below mirrors the rule fields the ApiSimul editor uses (method, path, status, delay in milliseconds, response body):
{
"method": "GET",
"path": "/api/v1/legacy-endpoint",
"status": 410,
"delay": 150,
"enabled": true,
"body": {
"error": "gone",
"deprecation": "v1 endpoints were retired."
}
}Dynamic placeholders such as {{random.name}}, {{string.uuid}} or {{number.int 1 100}} can appear inside the body to vary each response, which keeps client-side list rendering and retry logic honest during development.
Frequently asked questions
What does HTTP 410 mean?
The resource is permanently gone. Unlike 404, retrying is pointless and clients should drop the URL from rotation.
How can I test a 410 response without a real backend?
Define a mock rule with the method and path your client requests and set the status to 410. The example configuration above returns this response after the listed delay, so the client exercises its 410 handling exactly as it would against a live server.
Related status codes
Need the response in your own project? Spin up rules for any status with the ApiSimul mock server, or browse every status code page.