# 410 Gone

> https://http-status.org/docs/410

**Family:** 4xx Client Error

## Rationale

Resource deliberately removed and is not expected to return.

## In Plain Terms

This used to exist here, but it's been permanently removed and won't be coming back.

## Description

The HTTP 410 Gone status code indicates that the target resource is no longer available at the origin server and that this condition is likely to be permanent.

## Server Perspective

### Usage
- Return 410 for intentionally removed content, retired endpoints, or permanent takedowns
- Use it when communicating permanence is useful to clients, crawlers, or automation
- Deliberately deleted resources
- Discontinued API endpoints
- Expired or archived content
- Resources removed due to policy changes

### Implementation
- Include a short explanation or replacement path when that helps clients recover
- Prefer 404 instead when you are unsure whether the absence is permanent

### Common Headers
- No status-specific header is required; still send normal HTTP metadata such as Content-Type, caching, or tracing headers when they help the client.

### Body
- A short body can explain why the resource was removed or where clients should go next

### Pitfalls
- Do not use 410 if the resource might return later
- Do not use 410 when you deliberately want to avoid confirming the resource once existed
- Resource never existed (use 404 Not Found)
- Temporary unavailability (use 503 Service Unavailable)
- Unauthorized access (use 403 Forbidden)

## Client Perspective

### Pitfalls
- Do not treat 410 like a transient outage

## Examples

### Deleted user account

User account was deleted and will not return

**Request:**
```
GET https://api.example.test/api/users/123
```

**Response:**
```
410 Gone
Content-Type: application/json

{
  "error": "gone"
}
```

## Related Codes

- [404 Not Found](/docs/404.md)
- [403 Forbidden](/docs/403.md)

