# Consents and expiration

The first time an Item connects, a Consent is created with an expiration date. The Consent shows which financial products an item is authorized to recover for a given period. You can use the Consents API to get all consents given to an item.

> **Default expiration**
>
> By default, Open Finance Consents have no expiration. However, the user can revoke them from their connected Bank's app whenever necessary.

```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
}
```

| Property | Description | Required |
|---|---|---|
| `id` | Consent primary identifier | Yes |
| `itemId` | Primary identifier of the item associated to the consent | Yes |
| `products` | Products to be collected in the connection | Yes |
| `openFinancePermissionsGranted` | Products consented by the user to be collected. Only available for Open Finance connectors. | |
| `createdAt` | Date when the consent was given | Yes |
| `expiresAt` | Date when the consent expires. Null if the consent doesn't expire | |
| `revokedAt` | Date when the consent was revoked. | |

See [Consent Management Docs](/reference/consent/consents-list) for more information.

## Consent expiration / revocation

When a consent expires (for example, old Open Finance items) or is revoked by the user from the app, all its data endpoints (accounts, transactions, etc) will return empty data.

To continue using the Item after expiration (indicated by the field `consentExpiresAt`) you will need to run an update on the item (`PATCH` on the Item), asking the user to connect again. The user will go through the consent flow once again, renewing the consent.

Once this is completed successfully, the item will go back to execution status `SUCCESS`, and data endpoints will now be available again, with a new `consentExpiresAt` date on the Item.

There is no need to create a new item to renew a consent; expired items work the same as login error ones. Updates will require a successful login to start syncing daily.

> **Expirations**
>
> By default, we request non-expiring consents, while the user is able to readjust as he wants this setting. If null, there isn't any expiration for that connection.
>
> There are some connectors like Inter PJ that have a default consent expiration of one year.