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

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

# STAC operations

STAC-compliant item and search endpoints.

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.

## `stac.collections.list`

List STAC Collections owned by the caller's organization (provider-compatible).

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

**Request** — `src__operations__stac__reads__CollectionsListInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `base_url` | string | — |  |

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

## `stac.search`

Cross-collection STAC search (CQL2-JSON / bbox / intersects), org-scoped.

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

**Request** — `SearchInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `base_url` | string | — |  |
| `collections` | array of string | — |  |
| `ids` | array of string | — |  |
| `datetime` | string | — |  |
| `sortby` | array of SortClause | — |  |
| `limit` | integer | — |  |
| `page` | integer | — |  |
| `filter` | object | — |  |
| `filter-lang` | string | — |  |
| `bbox` | array of number | — |  |
| `intersects` | object | — |  |

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