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

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

# Visualization operations

Visualization profiles and rendered layers.

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.

## `visualization.list_for`

The visualizations available for an item — RGB/index/elevation — backend-owned + resolved.

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

**Request** — `VisualizationListInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `band_roles` | object | — |  |
| `data_type` | string | — |  |
| `render_params` | object | — |  |
| `asset` | string | — |  |

**Response** — `VisualizationListOutput`.

## `visualization.profile.create`

Create a visualization profile for an item (editor/admin).

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

**Request** — `ProfileCreateInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `name` | string | yes |  |
| `layer` | ProfileLayer | — |  |
| `type` | ProfileType | yes |  |
| `is_default` | boolean | — |  |
| `sort_order` | integer | — |  |
| `config` | object | yes | Render configuration. |
| `asset_key` | string | — |  |
| `item_id` | string | yes |  |

**Response** — `ProfileResponse`.

## `visualization.profile.delete`

Delete a visualization profile (editor/admin).

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

**Request** — `ProfileRef`

| Field | Type | Required | Description |
|---|---|---|---|
| `item_id` | string | yes |  |
| `profile_id` | string | yes |  |

**Response** — `OkOutput`.

## `visualization.profile.get`

Get a single visualization profile for an item.

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

**Request** — `ProfileGetInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `item_id` | string | yes |  |
| `profile_id` | string | yes |  |

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

## `visualization.profile.set_default`

Set a profile as the item's default (editor/admin).

| | |
|---|---|
| **Scope** | `items:write` |
| **Side-effect** | compute |
| **HTTP** | `POST /v1/op/visualization.profile.set_default`  ·  `POST /v1/visualization/profile/set_default` |
| **Python / TypeScript** | `client.visualization.profile.set_default(…)` |
| **CLI** | `geopera visualization profile set-default …` |

**Request** — `ProfileRef`

| Field | Type | Required | Description |
|---|---|---|---|
| `item_id` | string | yes |  |
| `profile_id` | string | yes |  |

**Response** — `ProfileResponse`.

## `visualization.profile.update`

Update a visualization profile (editor/admin).

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

**Request** — `ProfileUpdateInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `name` | string | — |  |
| `type` | ProfileType | — |  |
| `is_default` | boolean | — |  |
| `sort_order` | integer | — |  |
| `config` | object | — |  |
| `asset_key` | string | — |  |
| `item_id` | string | yes |  |
| `profile_id` | string | yes |  |

**Response** — `ProfileResponse`.

## `visualization.profiles.list`

List all visualization profiles for an item (ordered by sort_order, created_at).

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

**Request** — `ProfilesListInput`

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

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