# grant.expired

Source: https://developer.nylas.com/docs/reference/notifications/grants/grant-expired/

Sent when a grant's credentials expire, typically due to a change in the user's password on the provider, OAuth token expiration without successful refresh, the provider revoking access, or an admin revoking app permissions.

**Recommended action:** Prompt the user to re-authenticate by initiating a new auth flow for this grant.

> The grant_updated_at timestamp indicates the last time the grant was successfully refreshed before expiration.

## data.object fields

- `code` (integer) - Nylas notification code.
- `grant_id` (string) - Unique identifier for the expired grant.
- `integration_id` (string) - Identifier for the connector (integration) associated with this grant.
- `provider` (string) (google, microsoft, imap, yahoo, icloud, ews, eas) - Email provider for this grant.
- `email` (string) - Email address associated with the expired grant.
- `grant_updated_at` (integer) - Unix timestamp of the last successful grant update before expiration.

## Example payload

```json
{
  "specversion": "1.0",
  "type": "grant.expired",
  "source": "/nylas/system",
  "id": "<WEBHOOK_ID>",
  "time": 1739223251,
  "webhook_delivery_attempt": 1,
  "data": {
    "application_id": "<NYLAS_APPLICATION_ID>",
    "object": {
      "code": 25009,
      "grant_id": "<NYLAS_GRANT_ID>",
      "integration_id": "<NYLAS_INTEGRATION_ID>",
      "provider": "google",
      "email": "user@example.com",
      "grant_updated_at": 1734200000
    }
  }
}
```
