# Refresh Token

Obtain a new JWT access token using a refresh token.

**Endpoint**: `POST /api/auth/refresh`
**Auth**: Not required (uses refresh token)
**Content-Type**: `application/json`

## Request Body

| Field         | Type   | Required | Description                |
| ------------- | ------ | -------- | -------------------------- |
| refresh_token | string | Yes      | Valid refresh token (UUID) |

### Example Request

```json
{
  "refresh_token": "d4f5g6h7..."
}
```

## Response (200 OK)

```json
{
  "access_token": "new-jwt-token",
  "token_type": "Bearer",
  "expires_in": 604800
}
```

**Session Duration**: 7 days (604800 seconds)

The new access token is valid for 7 days from the time of refresh.

## Error Responses

| Code | Description                             |
| ---- | --------------------------------------- |
| 401  | Invalid or expired refresh token        |
| 400  | Missing refresh token or invalid format |
