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

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

# Event subscriptions operations

Subscribe to platform events.

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.

## `event_subscriptions.create`

Create a webhook subscription for the caller's organization.

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

**Request** — `CreateSubscriptionInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `event_type` | string | yes |  |
| `endpoint_url` | string | yes |  |
| `filter_config` | object | — |  |
| `headers` | object | — |  |
| `description` | string | — |  |

**Response** — `SubscriptionOutput`.

## `event_subscriptions.delete`

Delete a webhook subscription (org-scoped).

| | |
|---|---|
| **Scope** | `event_subscriptions:write` |
| **Side-effect** | destructive |
| **HTTP** | `POST /v1/op/event_subscriptions.delete`  ·  `POST /v1/event_subscriptions/delete` |
| **Python / TypeScript** | `client.event_subscriptions.delete(…)` |
| **CLI** | `geopera event-subscriptions delete …` |

**Request** — `DeleteSubscriptionInput`

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

**Response** — `DeleteSubscriptionOutput`.

## `event_subscriptions.get`

Get a single webhook subscription (org-scoped; secret redacted).

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

**Request** — `GetSubscriptionInput`

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

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

## `event_subscriptions.list`

List the caller's organization's webhook subscriptions (secret redacted).

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

**Request** — `ListSubscriptionsInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `event_type` | string | — |  |
| `active` | boolean | — |  |

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

## `event_subscriptions.test`

Send a test event to a webhook subscription and return the delivery result.

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

**Request** — `TestSubscriptionInput`

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

**Response** — `TestSubscriptionOutput`.

## `event_subscriptions.update`

Update a webhook subscription (org-scoped).

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

**Request** — `UpdateSubscriptionInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `subscription_id` | string | yes |  |
| `endpoint_url` | string | — |  |
| `filter_config` | object | — |  |
| `headers` | object | — |  |
| `active` | boolean | — |  |
| `description` | string | — |  |

**Response** — `SubscriptionOutput`.
