> 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/midapi-v2/storage/save-asset.md).

# Salvar asset

Serviço que armazena um asset em um contexto de uma operação e devolve a chave com a qual ele é referenciado depois.

### Endpoint

```
POST /storage
```

### Cabeçalhos

| Nome              | Tipo   | Obrigatório | Descrição                                                                                                                   |
| ----------------- | ------ | ----------- | --------------------------------------------------------------------------------------------------------------------------- |
| **Authorization** | string | **Sim**     | Token de consumer no formato `Bearer <token>`. Ver [Autenticação](/docs.facephi-pt-br/api-rest/midapi-v2/autenticacion.md). |
| **consumer-id**   | string | **Sim**     | Identificador do consumer.                                                                                                  |

### Corpo da solicitação

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

#### Parâmetros

| Parâmetro       | Tipo   | Obrigatório | Descrição                                                                                                                                                            |
| --------------- | ------ | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `operationId`   | string | **Sim**     | Identificador da operação à qual o asset pertence, conforme foi devolvido [Create Operation](/docs.facephi-pt-br/api-rest/midapi-v2/operations/create-operation.md). |
| `asset`         | object | **Sim**     | Asset a armazenar.                                                                                                                                                   |
| `asset.context` | string | **Sim**     | Contexto do asset. Veja [Contextos de asset](/docs.facephi-pt-br/api-rest/midapi-v2/storage.md#contextos-de-asset).                                                  |
| `asset.file`    | string | **Sim**     | Conteúdo do asset codificado em **Base64**, com o formato exigido pelo seu contexto.                                                                                 |

{% hint style="warning" %}
Os quatro contextos de imagem exigem o buffer tokenizado gerado pelo SDK de captura. Uma imagem JPEG ou PNG em Base64 é rejeitada com `400`. O único contexto que aceita um binário livre é `TOKEN_BIN_IAD`.
{% endhint %}

O tamanho máximo por asset é de **10 MiB**, aplicado ao conteúdo codificado.

#### Exemplo de solicitação

```json
{
  "operationId": "0192a3f4-7b21-7c44-9e1a-3f5b8c2d1e04",
  "asset": {
    "context": "TOKEN_FRONT_DOCUMENT",
    "file": "<base64>"
  }
}
```

### Respostas

#### `200` Sucesso

#### Parâmetros de resposta

| Parâmetro   | Tipo   | Descrição                                                                                                   |
| ----------- | ------ | ----------------------------------------------------------------------------------------------------------- |
| `fileKey`   | string | Chave do asset, no formato `{operationId}/{CONTEXTO}`. É reenviada sem modificações ao referenciar o asset. |
| `timestamp` | string | Carimbo de data e hora da resposta no formato **ISO 8601**.                                                 |

#### Exemplo de resposta

```json
{
  "fileKey": "0192a3f4-7b21-7c44-9e1a-3f5b8c2d1e04/TOKEN_FRONT_DOCUMENT",
  "timestamp": "2026-06-26T12:00:03.000Z"
}
```

#### Contextos derivados

Ao armazenar um asset `TOKEN_BIN_IAD` também fica disponível o contexto `TOKEN_BEST_IMAGE` da mesma operação, com a melhor imagem dessa captura. Pode ser armazenado um `TOKEN_BEST_IMAGE` próprio depois; se já houver um armazenado, esse é mantido.

Consulte [Get File Keys](/docs.facephi-pt-br/api-rest/midapi-v2/operations/get-file-keys.md) para confirmar quais contextos estão disponíveis na operação.

#### Outras respostas

| Código | Descrição                                                                                                                                                                                 |
| ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `400`  | O `operationId` não tem o formato esperado, o conteúdo não corresponde ao contexto declarado, ou o asset está vazio ou excede o tamanho máximo.                                           |
| `403`  | O consumer não está provisionado com o serviço `STORAGE`.                                                                                                                                 |
| `404`  | A operação não existe ou pertence a outro consumer.                                                                                                                                       |
| `409`  | Já existe um asset desse contexto na operação.                                                                                                                                            |
| `410`  | A operação expirou.                                                                                                                                                                       |
| `429`  | O consumer ultrapassou seu limite de taxa de requisições. A resposta inclui `Retry-After` com os segundos de espera, e `X-RateLimit-Limit` e `X-RateLimit-Burst` com os limites vigentes. |

O corpo de uma resposta de erro tem o formato descrito em [MIDAPI v2](/docs.facephi-pt-br/api-rest/midapi-v2.md#respuestas-de-error).
