---
title: "GET /v1/notification-preferences"
method: GET
path: "/v1/notification-preferences"
tags: ["Notifications"]
---

# GET /v1/notification-preferences

`GET /v1/notification-preferences`

## Request

- Base URL: `https://api.arbital.xyz` (the document declares no server; this is the origin it was published from)
- URL: `https://api.arbital.xyz/v1/notification-preferences`
- Auth: HTTP bearer

Read current global/category push settings, message/financial preview policy, three default-off source opt-ins and implemented capability scope. Private, no-store. Capability scope is not an activation/deployment attestation.

## Response `200`

Authorized notification response

- NotificationPreferencesV2
  - `version` string, required
  - `push_enabled` boolean, required
  - `categories` object, required: Push-only category controls; all default true. Required inbox history/read state remain independent. Optional source opt-ins are configured separately under subscriptions.
    - `direct_messages` object, required
      - `push_enabled` boolean, required
    - `group_messages` object, required
      - `push_enabled` boolean, required
    - `group_invitations` object, required
      - `push_enabled` boolean, required
    - `direct_replies` object, required
      - `push_enabled` boolean, required
    - `mentions` object, required
      - `push_enabled` boolean, required
    - `message_reactions` object, required
      - `push_enabled` boolean, required
    - `content_reactions` object, required
      - `push_enabled` boolean, required
    - `watched_trades` object, required
      - `push_enabled` boolean, required
    - `financial_outcomes` object, required
      - `push_enabled` boolean, required
    - `invitation_acceptance` object, required
      - `push_enabled` boolean, required
    - `new_watchers` object, required
      - `push_enabled` boolean, required
    - `selected_posts` object, required
      - `push_enabled` boolean, required
  - `previews` object, required
    - `message` 'show' | 'hide', required
    - `financial` 'show' | 'hide', required
  - `subscriptions` object, required: Independent optional source opt-ins, all false by default. Enable before the original event; re-enabling starts a fresh episode and does not backfill delayed or historical events. Opt-out cancels the optional reason and its queued push, preserving authorized history and independent reasons. selected_posts applies to separately typed native and imported trader selections.
    - `invitation_acceptance` boolean, required
    - `new_watchers` boolean, required
    - `selected_posts` boolean, required
  - `supported_categories` string[], required
  - `supported_subscriptions` string[], required: Implemented opt-in source controls; activation and current source policy still apply.
  - `capabilities` object, required: Implemented source contract scope, not a deployment or activation attestation. Financial proof admits only a single direct finalized Solana mainnet USDC transfer in legacy or static-account version-0 transaction format between existing token accounts. Loaded-address version-0 transactions, associated-account creation/closure, CPI, additional token transfers, compound action steps, deposit failures, bridges and cross-chain outcomes remain unavailable. Successful fixtures are synthetic; compatibility with actual Privy output is unproven, and its transfer API gives no Solana message-version guarantee. Imported publication alerts use owner-proved original identity, current author/removal/visibility and prospective follow/subscription episodes. Current owner proofs use bounded batches under one deadline; capacity or dependency failure returns 503 without partial counts. Large imported-history admission remains open. Version-0 proof requires explicitly empty address lookup descriptors and loaded address arrays; all accounts must be static.
    - `mentions` object, required
      - `state` 'supported', required
    - `message_reactions` object, required
      - `state` 'supported', required
      - `command_contract` 2, required
    - `membership_generations` object, required
      - `state` 'supported', required
    - `deposit_completion` object, required
      - `state` 'limited', required
      - `scope` 'finalized_direct_solana_usdc', required
    - `terminal_failure` object, required
      - `state` 'limited', required
      - `scope` 'finalized_single_transaction_solana_withdrawal', required
    - `verified_withdrawal_completion` object, required
      - `state` 'limited', required
      - `scope` 'finalized_direct_solana_usdc', required
    - `imported_trade_target` object, required
      - `state` 'supported', required
      - `requires` 'current_social_query', required
    - `optional_subscriptions` object, required
      - `state` 'opt_in', required
      - `selected_posts_scope` 'native_and_imported_authors', required

## Other responses

- `400`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `401`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `404`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `409`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `410`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `413`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `503`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.

---

[API](https://skmtc.dev/arbital/apis/arbital-api.md) - [All operations](https://skmtc.dev/arbital/apis/arbital-api/llms.txt) - [OpenAPI document](https://skmtc.dev/arbital/apis/arbital-api/revisions/bb0185edf43a?raw)
