> 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 string `bestImageToken` e o `transactionId` associada ao serviço de identidade, executado previamente 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 de transação associado à solicitação processada pela API. |
| `imageBuffer`   | string | Imagem decodificada no formato **Base64**.                              |

#### Exemplo de resposta

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

#### `400` Bad Request

```json
{
  "status": 400,
  "title": "Requisição inválida",
  "detail": "Solicitação inválida.",
  "type": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400",
  "errors": []
}
```

#### `401` Não autorizado

```json
{
  "message": "Não autorizado"
}
```

#### `403` Proibido

```json
{
  "Message": "O usuário não está autorizado a acessar este recurso com uma negação explícita"
}
```

#### `502` Bad Gateway

```json
{
  "status": 502,
  "title": "Gateway inválido",
  "detail": "O servidor recebeu uma resposta inválida.",
  "type": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/502"
}
```

#### `504` Gateway Timeout

```json
{
  "message": "A requisição do Endpoint excedeu o tempo limite"
}
```
