> 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/docs.facephi-pt-br/api-rest/identity-api/identity-api-reference/security-compliance/detokenize-image.md).

# Destokenizar imagem

Serviço exposto para detokenizar a melhor imagem cifrada gerada pelo **Widget Selphi**. O serviço deve receber a cadeia `bestImageToken` e o `transactionId` associado ao serviço de identidade, previamente executado no Fluxo de Onboarding.

### Endpoint

```
POST /services/detokenize
```

### Cabeçalhos

| Nome          | Tipo   | Obrigatório | Descrição                         |
| ------------- | ------ | ----------- | --------------------------------- |
| **x-api-key** | string | **Sim**     | API Key de autorização de acesso. |

### Corpo da solicitação

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

#### Parâmetros

| Parâmetro        | Tipo   | Obrigatório | Descrição                                                                                                        |
| ---------------- | ------ | ----------- | ---------------------------------------------------------------------------------------------------------------- |
| `bestImageToken` | string | **Sim**     | Imagem tokenizada enviada no parâmetro `bestImage` do Endpoint `/identity`.                                      |
| `transactionId`  | string | Não         | ID de transação associado à operação/validação do módulo de Liveness obtido na resposta do Endpoint `/identity`. |

#### Exemplo de solicitação

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

### Respostas

#### `200` Sucesso

#### Parâmetros de resposta

| Parâmetro       | Tipo   | Descrição                                                               |
| --------------- | ------ | ----------------------------------------------------------------------- |
| `timestamp`     | string | Data e hora da solicitação no formato **ISO 8601**.                     |
| `transactionId` | string | Identificador da transação associado à solicitação processada pela API. |
| `imageBuffer`   | string | Imagem decodificada em formato **Base64**.                              |

#### Exemplo de resposta

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

#### `400` Requisição inválida

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

#### `401` Não autorizado

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

#### `403` Acesso negado

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

#### `502` Gateway inválido

```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` Tempo limite do gateway

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