# Get a fresh preview URL for a previously-uploaded opt-in image (/docs/api/routing/toll-free-verification/previewTfvOptInImage)

> For the complete documentation index, see [llms.txt](https://docs.tandemcx.ai/llms.txt). Any page on this site can be fetched as Markdown by appending `.md` to its URL.

`POST /v1/sms-registration/opt-in-images/preview`

Get a fresh preview URL for a previously-uploaded opt-in image

Sign a new 1-hour URL for a key already stored in optIn.images — used when reopening a form with a previously saved profile, whose earlier preview URL has likely expired. Never returns the 90-day submission URL. key must belong to the caller's organization (its own prefix); any other key answers 404.

## Request

**Base URL:** `https://api.tandemcx.ai`

**Authentication:** `Authorization: Bearer <token>` — A Tandem bearer token. Requests are scoped to the organization the token belongs to; no organization header is required.

### Body (`application/json`) — required

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `key` | string | Yes | — |

## Responses

### 200 — A fresh 1-hour preview URL.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `previewUrl` | string | Yes | — |

### 400 — The request was malformed.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | object | No | — |
| `error.code` | string | No | — |
| `error.message` | string | No | — |

### 401 — Missing, malformed, or expired bearer token.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | object | No | — |
| `error.code` | string | No | — |
| `error.message` | string | No | — |

### 404 — The resource does not exist.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | object | No | — |
| `error.code` | string | No | — |
| `error.message` | string | No | — |
