<!-- Source: https://docs.geopera.com/api-reference/operations/notifications · Markdown for LLMs -->

<!-- AUTO-GENERATED by scripts/generate-api-reference.cjs from the committed OpenAPI spec. Do not edit by hand. -->

# Notifications operations

In-product notifications.

Each operation below is reachable at `POST /v1/op/{operation_id}` or the resource path `POST /v1/{resource}/{action}`, with a Bearer token (a `gpra_` API key or a session token). Back to the [Operations Reference](/api-reference/operations) index.

## `notifications.dismiss`

Dismiss one of the caller's notifications (hide it from the list).

| | |
|---|---|
| **Scope** | `notifications:write` |
| **Side-effect** | compute |
| **HTTP** | `POST /v1/op/notifications.dismiss`  ·  `POST /v1/notifications/dismiss` |
| **Python / TypeScript** | `client.notifications.dismiss(…)` |
| **CLI** | `geopera notifications dismiss …` |

**Request** — `NotificationRef`

| Field | Type | Required | Description |
|---|---|---|---|
| `notification_id` | string | yes |  |

**Response** — `NotificationOutput`.

## `notifications.list`

List the caller's notifications, newest first (user-scoped inbox).

| | |
|---|---|
| **Scope** | `notifications:read` |
| **Side-effect** | read |
| **HTTP** | `POST /v1/op/notifications.list`  ·  `POST /v1/notifications/list` |
| **Python / TypeScript** | `client.notifications.list(…)` |
| **CLI** | `geopera notifications list …` |

**Request** — `NotificationsListInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `unread_only` | boolean | — |  |
| `limit` | integer | — |  |
| `offset` | integer | — |  |

**Response** — a streaming or binary payload (NDJSON / file / tile). Call the HTTP endpoint directly; the JSON SDK return does not apply.

## `notifications.mark_all_read`

Mark all of the caller's unread notifications as read.

| | |
|---|---|
| **Scope** | `notifications:write` |
| **Side-effect** | compute |
| **HTTP** | `POST /v1/op/notifications.mark_all_read`  ·  `POST /v1/notifications/mark_all_read` |
| **Python / TypeScript** | `client.notifications.mark_all_read(…)` |
| **CLI** | `geopera notifications mark-all-read …` |

**Request** — `_Empty` _(see the OpenAPI schema for fields)_.

**Response** — `MarkAllReadOutput`.

## `notifications.mark_read`

Mark one of the caller's notifications as read.

| | |
|---|---|
| **Scope** | `notifications:write` |
| **Side-effect** | compute |
| **HTTP** | `POST /v1/op/notifications.mark_read`  ·  `POST /v1/notifications/mark_read` |
| **Python / TypeScript** | `client.notifications.mark_read(…)` |
| **CLI** | `geopera notifications mark-read …` |

**Request** — `NotificationRef`

| Field | Type | Required | Description |
|---|---|---|---|
| `notification_id` | string | yes |  |

**Response** — `NotificationOutput`.

## `notifications.unread_count`

Count the caller's unread, undismissed notifications (lightweight poll).

| | |
|---|---|
| **Scope** | `notifications:read` |
| **Side-effect** | read |
| **HTTP** | `POST /v1/op/notifications.unread_count`  ·  `POST /v1/notifications/unread_count` |
| **Python / TypeScript** | `client.notifications.unread_count(…)` |
| **CLI** | `geopera notifications unread-count …` |

**Request** — `_Empty` _(see the OpenAPI schema for fields)_.

**Response** — a streaming or binary payload (NDJSON / file / tile). Call the HTTP endpoint directly; the JSON SDK return does not apply.
