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

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

# Operations

The TypeScript SDK exposes every operation as a typed namespace method, `client.<resource>.<action>(body)` — the dotted operation id becomes a property path, with the body and return type inferred (see [Client reference](/api-reference/sdks/typescript/client-reference)):

```typescript
import { GeoperaClient } from '@geopera/sdk';

const client = new GeoperaClient({ token: 'gpra_...' });
const result = await client.catalog.search({ collections: ['sentinel-2-l2a'], limit: 5 });
```

The escape hatch for dynamic ids is `client.invoke('catalog.search', { ... })`. The tables below list every operation with its side-effect tier and required scope; the namespace path is the dotted id (e.g. `orders.archive.place` → `client.orders.archive.place`).

## Catalog & search

| Operation | Side-effect | Scope |
|---|---|---|
| `catalog.federated_search` | read | `catalog:read` |
| `catalog.granule_points` | read | `catalog:read` |
| `catalog.image.quicklook` | read | `catalog:read` |
| `catalog.image.thumbnail` | read | `catalog:read` |
| `catalog.info.landsat` | read | `tiles:read` |
| `catalog.info.naip` | read | `tiles:read` |
| `catalog.info.sample` | read | `tiles:read` |
| `catalog.info.sentinel` | read | `tiles:read` |
| `catalog.provider.samples` | read | `tiles:read` |
| `catalog.providers.list` | read | `tiles:read` |
| `catalog.search` | read | `catalog:read` |
| `catalog.search_stream` | read | `catalog:read` |
| `catalog.sources.list` | read | `catalog:read` |
| `catalog.tile.render` | read | `tiles:read` |
| `catalog.vendors.list` | read | `catalog:read` |
| `catalog.viz.landsat` | read | `tiles:read` |
| `catalog.viz.naip` | read | `tiles:read` |

## STAC

| Operation | Side-effect | Scope |
|---|---|---|
| `stac.collections.list` | read | `items:read` |
| `stac.search` | read | `items:read` |

## Orders & tasking

| Operation | Side-effect | Scope |
|---|---|---|
| `orders.archive.estimate` | read | `orders:read` |
| `orders.archive.place` | spend | `orders:write` |
| `orders.cancel` | spend | `orders:write` |
| `orders.coverage.get` | read | `orders:read` |
| `orders.coverage.groups.list` | read | `orders:read` |
| `orders.estimate` | read | `items:read` |
| `orders.get` | read | `orders:read` |
| `orders.get_schema` | read | `items:read` |
| `orders.list` | read | `orders:read` |
| `orders.list_assets` | read | `items:read` |
| `orders.place` | spend | `orders:write` |
| `orders.tasking.decisions.pending` | read | `orders:read` |
| `orders.tasking.estimate` | read | `orders:read` |
| `orders.tasking.feasibility_check` | read | `orders:read` |
| `orders.tasking.feasibility_decide` | spend | `orders:write` |
| `orders.tasking.feasibility_studies.list` | read | `orders:read` |
| `orders.tasking.opportunities_list` | read | `orders:read` |
| `orders.tasking.place` | spend | `orders:write` |
| `orders.tasking.quotation_decide` | spend | `orders:write` |
| `orders.tasking.quotations.list` | read | `orders:read` |
| `orders.tasking.sensors` | read | `orders:read` |
| `orders.tasking.templates.delete` | compute | `orders:write` |
| `orders.tasking.templates.list` | read | `orders:read` |
| `orders.tasking.templates.save` | compute | `orders:write` |
| `orders.update` | compute | `orders:write` |

## Items

| Operation | Side-effect | Scope |
|---|---|---|
| `items.asset.download` | export | `items:read` |
| `items.create` | compute | `items:write` |
| `items.delete` | destructive | `items:write` |
| `items.detect_asset_bands` | compute | `items:read` |
| `items.duplicate` | compute | `items:write` |
| `items.get` | read | `items:read` |
| `items.get_stac` | read | `items:read` |
| `items.lineage` | read | `items:read` |
| `items.list` | read | `items:read` |
| `items.list_assets` | read | `items:read` |
| `items.list_by_collection` | read | `items:read` |
| `items.search` | read | `items:read` |
| `items.search_org` | read | `items:read` |
| `items.set_asset_band_names` | compute | `items:write` |
| `items.tile.render` | read | `items:read` |
| `items.tile.statistics` | read | `items:read` |
| `items.tile.tilejson` | read | `items:read` |
| `items.tile.wmts_capabilities` | read | `items:read` |
| `items.tile.wmts_get_tile` | read | `items:read` |
| `items.update` | compute | `items:write` |

## Assets

| Operation | Side-effect | Scope |
|---|---|---|
| `assets.delete` | destructive | `items:write` |

## Collections

| Operation | Side-effect | Scope |
|---|---|---|
| `collections.create` | compute | `collections:write` |
| `collections.delete` | destructive | `collections:write` |
| `collections.get` | read | `collections:read` |
| `collections.list` | read | `collections:read` |
| `collections.update` | compute | `collections:write` |

## Uploads

| Operation | Side-effect | Scope |
|---|---|---|
| `uploads.complete` | compute | `uploads:write` |
| `uploads.fail` | compute | `uploads:write` |
| `uploads.initiate` | compute | `uploads:write` |
| `uploads.progress` | compute | `uploads:write` |
| `uploads.signed_url` | compute | `uploads:write` |

## Processing

| Operation | Side-effect | Scope |
|---|---|---|
| `processing.catalog.estimate` | read | `processing:read` |
| `processing.catalog.get` | read | `processing:read` |
| `processing.catalog.list` | read | `processing:read` |
| `processing.catalog.validate` | read | `processing:read` |
| `processing.create` | spend | `processing:process` |
| `processing.create_and_dispatch` | spend | `processing:process` |
| `processing.dispatch` | spend | `processing:process` |
| `processing.execute` | spend | `processing:process` |
| `processing.job_types.list` | read | `processing:read` |
| `processing.job.delete` | destructive | `clip:destroy` |
| `processing.job.get` | read | `processing:read` |
| `processing.job.register` | spend | `processing:process` |
| `processing.job.tile_info` | read | `clip:read` |
| `processing.jobs.list` | read | `processing:read` |
| `processing.project_job.get` | read | `processing:read` |
| `processing.project_jobs.list` | read | `processing:read` |

## Clipping

| Operation | Side-effect | Scope |
|---|---|---|
| `clip.area.metadata` | read | `clip:read` |
| `clip.area.mosaics` | read | `clip:read` |
| `clip.areas.list` | read | `clip:read` |
| `clip.create_from_area` | spend | `clip:write` |
| `clip.create_from_item` | spend | `processing:process` |
| `clip.job.delete` | destructive | `clip:destroy` |
| `clip.job.download` | read | `clip:read` |
| `clip.job.downloads` | read | `clip:read` |
| `clip.job.get` | read | `clip:read` |
| `clip.job.tile_info` | read | `clip:read` |
| `clip.jobs.list` | read | `clip:read` |

## COG & tiles

| Operation | Side-effect | Scope |
|---|---|---|
| `cog.colormaps` | read | `tiles:read` |
| `cog.formulas` | read | `tiles:read` |
| `cog.statistics` | read | `tiles:read` |
| `cog.thumbnail` | read | `tiles:read` |
| `cog.tile.render` | read | `tiles:read` |
| `cog.tile.terrain` | read | `tiles:read` |

## Visualization

| Operation | Side-effect | Scope |
|---|---|---|
| `visualization.list_for` | read | `tiles:read` |
| `visualization.profile.create` | compute | `items:write` |
| `visualization.profile.delete` | destructive | `items:write` |
| `visualization.profile.get` | read | `items:read` |
| `visualization.profile.set_default` | compute | `items:write` |
| `visualization.profile.update` | compute | `items:write` |
| `visualization.profiles.list` | read | `items:read` |

## Band formulas

| Operation | Side-effect | Scope |
|---|---|---|
| `band_formulas.create` | compute | `band_formulas:write` |
| `band_formulas.delete` | destructive | `band_formulas:write` |
| `band_formulas.get` | read | `band_formulas:read` |
| `band_formulas.list` | read | `band_formulas:read` |
| `band_formulas.update` | compute | `band_formulas:write` |

## Analytics

| Operation | Side-effect | Scope |
|---|---|---|
| `analytics.band_math` | compute | `analytics:process` |
| `analytics.calculate_index` | compute | `analytics:process` |
| `analytics.execute` | read | `analytics:process` |
| `analytics.index.get` | read | `analytics:read` |
| `analytics.indices.list` | read | `analytics:read` |
| `analytics.operations.get` | read | `analytics:read` |
| `analytics.operations.list` | read | `analytics:read` |
| `analytics.sensors.list` | read | `analytics:read` |
| `analytics.validate_formula` | read | `analytics:read` |

## Reports

| Operation | Side-effect | Scope |
|---|---|---|
| `reports.generate` | read | `reports:read` |

## Provenance

| Operation | Side-effect | Scope |
|---|---|---|
| `provenance.get` | read | `provenance:read` |

## Alerts

| Operation | Side-effect | Scope |
|---|---|---|
| `alerts.acknowledge_event` | compute | `alerts:write` |
| `alerts.create_rule` | compute | `alerts:write` |
| `alerts.delete_rule` | destructive | `alerts:write` |
| `alerts.events.list` | read | `alerts:read` |
| `alerts.rule.get` | read | `alerts:read` |
| `alerts.rules.list` | read | `alerts:read` |
| `alerts.test_rule` | read | `alerts:read` |
| `alerts.update_rule` | compute | `alerts:write` |

## Notifications

| Operation | Side-effect | Scope |
|---|---|---|
| `notifications.dismiss` | compute | `notifications:write` |
| `notifications.list` | read | `notifications:read` |
| `notifications.mark_all_read` | compute | `notifications:write` |
| `notifications.mark_read` | compute | `notifications:write` |
| `notifications.unread_count` | read | `notifications:read` |

## Event subscriptions

| Operation | Side-effect | Scope |
|---|---|---|
| `event_subscriptions.create` | compute | `event_subscriptions:write` |
| `event_subscriptions.delete` | destructive | `event_subscriptions:write` |
| `event_subscriptions.get` | read | `event_subscriptions:read` |
| `event_subscriptions.list` | read | `event_subscriptions:read` |
| `event_subscriptions.test` | compute | `event_subscriptions:write` |
| `event_subscriptions.update` | compute | `event_subscriptions:write` |

## Sharing

| Operation | Side-effect | Scope |
|---|---|---|
| `share.link.create` | export | `shares:write` |
| `share.link.revoke` | destructive | `shares:write` |
| `share.link.validate` | read | `shares:read` |
| `share.tile.render` | read | `shares:read` |
| `share.tilejson` | read | `shares:read` |

## Projects

| Operation | Side-effect | Scope |
|---|---|---|
| `projects.add_member` | compute | `projects:write` |
| `projects.archive` | compute | `projects:write` |
| `projects.create` | compute | `projects:write` |
| `projects.delete` | destructive | `projects:write` |
| `projects.remove_member` | destructive | `projects:write` |
| `projects.update` | compute | `projects:write` |
| `projects.update_member` | compute | `projects:write` |

## Organizations

| Operation | Side-effect | Scope |
|---|---|---|
| `organizations.commitments.list` | read | `orders:read` |
| `organizations.commitments.statement` | read | `billing:read` |
| `organizations.create` | compute | `organizations:write` |

## API keys

| Operation | Side-effect | Scope |
|---|---|---|
| `api_keys.create` | export | `api_keys:write` |
| `api_keys.list` | read | `api_keys:read` |
| `api_keys.revoke` | destructive | `api_keys:write` |

## EULAs

| Operation | Side-effect | Scope |
|---|---|---|
| `eulas.document.accept` | compute | `eulas:write` |
| `eulas.document.get` | read | `eulas:read` |
| `eulas.documents.list` | read | `eulas:read` |
| `eulas.get` | read | `eulas:read` |
| `eulas.list` | read | `eulas:read` |

## Glossary

| Operation | Side-effect | Scope |
|---|---|---|
| `glossary.collections.get` | read | `catalog:read` |
| `glossary.collections.list` | read | `catalog:read` |
| `glossary.data_products.get` | read | `catalog:read` |
| `glossary.data_products.list` | read | `catalog:read` |
| `glossary.providers.get` | read | `catalog:read` |
| `glossary.providers.list` | read | `catalog:read` |

## Usage

| Operation | Side-effect | Scope |
|---|---|---|
| `usage.current` | read | `usage:read` |
| `usage.history` | read | `usage:read` |
| `usage.recalculate_storage` | compute | `usage:write` |

## Billing

| Operation | Side-effect | Scope |
|---|---|---|
| `billing.approvals.approve` | spend | `billing:write` |
| `billing.approvals.get` | read | `billing:read` |
| `billing.approvals.list` | read | `billing:read` |
| `billing.approvals.reject` | compute | `billing:write` |
| `billing.approvals.request` | compute | `billing:write` |
| `billing.auto_topup.get` | read | `billing:read` |
| `billing.credits.balance` | read | `billing:read` |
| `billing.credits.transactions` | read | `billing:read` |
| `billing.invoices.list` | read | `billing:read` |
| `billing.plans.list` | read | `billing:read` |
| `billing.run_monthly_for_org` | spend | `billing:write` |
| `billing.set_auto_topup` | compute | `billing:write` |
| `billing.status.get` | read | `billing:read` |
| `billing.stripe_invoices.list` | read | `billing:read` |
| `billing.topup` | spend | `billing:write` |

## Payment methods

| Operation | Side-effect | Scope |
|---|---|---|
| `payment_methods.attach` | compute | `billing:write` |
| `payment_methods.create_setup_intent` | compute | `billing:write` |
| `payment_methods.detach` | destructive | `billing:write` |
| `payment_methods.list` | read | `billing:read` |
| `payment_methods.set_default` | compute | `billing:write` |
