> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/api-rest/identity-api/identity-api-reference/security-compliance/detokenize-image.md).

# Detokenize Image

Servicio expuesto para detokenizar la mejor imagen cifrada generada por el **widget Selphi**. El servicio debe recibir la cadena `bestImageToken` y el `transactionId` asociado al servicio de identidad, previamente ejecutado en el flujo de Onboarding.

### Endpoint

```
POST /services/detokenize
```

### Headers

| Nombre        | Tipo   | Requerido | Descripción                        |
| ------------- | ------ | --------- | ---------------------------------- |
| **x-api-key** | string | **Sí**    | API key de autorización de acceso. |

### Cuerpo de la solicitud

**Content-Type:** `application/json`

#### Parámetros

| Parámetro        | Tipo   | Requerido | Descripción                                                                                                                    |
| ---------------- | ------ | --------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `bestImageToken` | string | **Sí**    | Imagen tokenizada enviada en el parámetro `bestImage` del endpoint `/identity`.                                                |
| `transactionId`  | string | No        | ID de transacción asociado a la operación/validación del módulo de Liveness obtenido en la respuesta del endpoint `/identity`. |

#### Ejemplo de solicitud

```json
{
  "bestImageToken": "{BEST_IMAGE_TOKEN}",
  "transactionId": "{TRANSACTION_ID}"
}
```

### Respuestas

#### `200` Éxito

#### Parámetros de respuesta

| Parámetro       | Tipo   | Descripción                                                                |
| --------------- | ------ | -------------------------------------------------------------------------- |
| `timestamp`     | string | Fecha y hora de la solicitud en formato **ISO 8601**.                      |
| `transactionId` | string | Identificador de transacción asociado a la solicitud procesada por la API. |
| `imageBuffer`   | string | Imagen decodificada en formato **Base64**.                                 |

#### Ejemplo de respuesta

```json
{
  "timestamp": "2024-03-19T12:34:28Z",
  "transactionId": "238ee483-60d9-45ea-85bd-a6bc686d70b7",
  "imageBuffer": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCA..."
}
```

#### `400` Bad Request

```json
{
  "status": 400,
  "title": "Bad Request",
  "detail": "Invalid request.",
  "type": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400",
  "errors": []
}
```

#### `401` Unauthorized

```json
{
  "message": "Unauthorized"
}
```

#### `403` Forbidden

```json
{
  "Message": "User is not authorized to access this resource with an explicit deny"
}
```

#### `502` Bad Gateway

```json
{
  "status": 502,
  "title": "Bad Gateway",
  "detail": "Server got an invalid response.",
  "type": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/502"
}
```

#### `504` Gateway Timeout

```json
{
  "message": "Endpoint request timed out"
}
```
