> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apostra.com/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.apostra.com/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>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.