Qaynaq LABS · TOOLS

HTTP · 4xx Client Error

410 Gone

The requested resource is permanently unavailable and has no forwarding address.

When you see this status

  • Resource deleted with no replacement
  • URL intentionally removed from service
  • Content permanently relocated without forwarding

Common causes

  • Resource cleanup after migration
  • Manual deletion of obsolete endpoints
  • API versioning with deprecated paths

How to debug it

  1. Verify resource existence in storage
  2. Check for permanent redirects (301/308)
  3. Review application logs for deletion events

Return this code in your framework

Express (Node.js)
res.status(410).send('Resource permanently removed');
FastAPI (Python)
return JSONResponse(status_code=410, content={'detail': 'Gone'});
NestJS
@Get() @HttpCode(410) gone() { return { message: 'Gone' }; }
Go (net/http)
w.WriteHeader(http.StatusGone); w.Write([]byte("Gone"));

About HTTP 410

HTTP status code 410 Gone is part of the 4xx Client Error family. The requested resource is permanently unavailable and has no forwarding address. Understanding it is essential for backend engineers, API designers, and anyone debugging integrations between services.

The Qaynaq Labs HTTP Status Code Explainer covers all standard codes with practical guidance: what triggers them, how to debug them in production, and exactly how to return them from common frameworks. Each code page is hand-curated and verified.

Frequently asked

Should 410 be used for soft-deleted resources?

No, 410 implies permanent removal. Use 404 for soft-deleted resources.

Does 410 affect SEO rankings?

Yes, search engines treat 410 as a strong signal to remove URLs from index.

Can 410 be cached?

Yes, 410 responses are cacheable by default per RFC 7234.