# Consentimentos e expiração

A primeira vez que um Item se conecta, um Consentimento é criado com uma data de expiração. O Consentimento mostra quais produtos financeiros um item está autorizado a recuperar por um determinado período. Você pode usar a API de Consentimentos para obter todos os consentimentos dados a um item.

> **Expiração padrão**
>
> Por padrão, os Consentimentos de Open Finance não têm expiração. No entanto, o usuário pode revogá-los a partir do aplicativo do seu Banco conectado sempre que necessário.

```json
{
  "id": "a182a0ae-16b3-4790-9396-3724aa0bc14b",
  "itemId": "ed893a30-5fab-45d8-917c-e71a313dbe5e",
  "products": [
    "ACCOUNTS",
    "CREDIT_CARDS",
    "TRANSACTIONS",
    "INVESTMENTS",
    "IDENTITY",
    "INVESTMENTS_TRANSACTIONS",
    "PAYMENT_DATA",
    "LOANS"
  ],
  "openFinancePermissionsGranted": [
    "REGISTRATION_ALL",
    "ACCOUNTS_ALL",
    "CREDIT_CARDS_ALL",
    "CREDIT_OPERATIONS_ALL",
    "INVESTMENTS_ALL"
  ],
  "createdAt": "2024-06-11T15:10:45.362Z",
  "expiresAt": null,
  "revokedAt": null
}
```

| Propriedade | Descrição | Obrigatório |
|---|---|---|
| `id` | Identificador principal do consentimento | Sim |
| `itemId` | Identificador principal do item associado ao consentimento | Sim |
| `products` | Produtos a serem coletados na conexão | Sim |
| `openFinancePermissionsGranted` | Produtos consentidos pelo usuário a serem coletados. Disponível apenas para conectores de Open Finance. | |
| `createdAt` | Data em que o consentimento foi dado | Sim |
| `expiresAt` | Data em que o consentimento expira. Nulo se o consentimento não expira | |
| `revokedAt` | Data em que o consentimento foi revogado. | |

Veja [Documentos de Gestão de Consentimento](/reference/consent/consents-list) para mais informações.

## Expiração / revogação de consentimento

Quando um consentimento expira (por exemplo, itens antigos de Open Finance) ou é revogado pelo usuário a partir do aplicativo, todos os seus endpoints de dados (contas, transações, etc) retornarão dados vazios.

Para continuar usando o Item após a expiração (indicada pelo campo `consentExpiresAt`), você precisará executar uma atualização no item (`PATCH` no Item), pedindo ao usuário para se conectar novamente. O usuário passará pelo fluxo de consentimento mais uma vez, renovando o consentimento.

Uma vez que isso seja concluído com sucesso, o item voltará ao status de execução `SUCCESS`, e os endpoints de dados estarão disponíveis novamente, com uma nova data `consentExpiresAt` no Item.

Não há necessidade de criar um novo item para renovar um consentimento; itens expirados funcionam da mesma forma que os de erro de login. Atualizações exigirão um login bem-sucedido para começar a sincronizar diariamente.

> **Expirações**
>
> Por padrão, solicitamos consentimentos que não expiram, enquanto o usuário pode reajustar essa configuração como desejar. Se nulo, não há nenhuma expiração para essa conexão.
>
> Existem alguns conectores como Inter PJ que têm uma expiração de consentimento padrão de um ano.