> ## Documentation Index
> Fetch the complete documentation index at: https://docs.interchange.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get notification preferences

> Read the authenticated user's notification opt-ins

`GET /api/v2/notification-preferences`

Returns the notification opt-in preferences for the authenticated user — the set of event types and channels they currently receive.

## Request

```bash curl theme={null}
curl https://api.interchange.io/api/v2/notification-preferences \
  -H "Authorization: Bearer $SCOPE3_API_KEY"
```

## Parameters

None. Preferences are scoped to the authenticated user.

## Response

```json theme={null}
{
  "optIns": [
    { "notificationType": "campaign.unhealthy", "channel": "email" },
    { "notificationType": "creative.rejected", "channel": "in_app" }
  ]
}
```

| Field                       | Type   | Notes                                                                         |
| --------------------------- | ------ | ----------------------------------------------------------------------------- |
| `optIns`                    | array  | Active opt-ins for this user                                                  |
| `optIns[].notificationType` | string | Event type the user receives (e.g. `campaign.unhealthy`, `creative.rejected`) |
| `optIns[].channel`          | enum   | `email` or `in_app`                                                           |

## Errors

* `401 UNAUTHORIZED` — missing or invalid bearer token.

See [Errors](/v2/reference/errors) for the full error contract.

## Related

<CardGroup cols={2}>
  <Card title="Account tasks" href="/v2/buyer/account/tasks" icon="list-check">
    All account operations
  </Card>

  <Card title="Update notification preferences" href="/v2/buyer/account/tasks/update-notification-preferences" icon="bell-concierge">
    Replace your opt-ins
  </Card>
</CardGroup>
