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

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

# Processing operations

Run processing jobs over imagery.

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.

## `processing.catalog.estimate`

Estimate the cost of running a process with the given inputs.

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

**Request** — `ProcessRunInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `process_id` | string | yes |  |
| `inputs` | object | — |  |

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

## `processing.catalog.get`

Get one process description (public).

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

**Request** — `ProcessGetInput`

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

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

## `processing.catalog.list`

List available processes (OGC process catalog, public).

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

**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.

## `processing.catalog.validate`

Validate process inputs (provider returns empty body on success).

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

**Request** — `ProcessRunInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `process_id` | string | yes |  |
| `inputs` | object | — |  |

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

## `processing.create`

Invoke Processing Create.

| | |
|---|---|
| **Scope** | `processing:process` |
| **Side-effect** | spend — accepts an `Idempotency-Key` header |
| **HTTP** | `POST /v1/op/processing.create`  ·  `POST /v1/processing/create` |
| **Python / TypeScript** | `client.processing.create(…)` |
| **CLI** | `geopera processing create …` |

**Request** — a free-form JSON object.

## `processing.create_and_dispatch`

Invoke Create And Dispatch.

| | |
|---|---|
| **Scope** | `processing:process` |
| **Side-effect** | spend — accepts an `Idempotency-Key` header |
| **HTTP** | `POST /v1/op/processing.create_and_dispatch`  ·  `POST /v1/processing/create_and_dispatch` |
| **Python / TypeScript** | `client.processing.create_and_dispatch(…)` |
| **CLI** | `geopera processing create-and-dispatch …` |

**Request** — a free-form JSON object.

## `processing.dispatch`

Dispatch an existing pending processing job to its registered worker.

| | |
|---|---|
| **Scope** | `processing:process` |
| **Side-effect** | spend — accepts an `Idempotency-Key` header |
| **HTTP** | `POST /v1/op/processing.dispatch`  ·  `POST /v1/processing/dispatch` |
| **Python / TypeScript** | `client.processing.dispatch(…)` |
| **CLI** | `geopera processing dispatch …` |

**Request** — `ProcessingDispatchInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `job_id` | string | yes |  |
| `version` | string | — |  |

**Response** — `ProcessingDispatchOutput`.

## `processing.execute`

Execute a process (reserve credits + dispatch a job).

| | |
|---|---|
| **Scope** | `processing:process` |
| **Side-effect** | spend — accepts an `Idempotency-Key` header |
| **HTTP** | `POST /v1/op/processing.execute`  ·  `POST /v1/processing/execute` |
| **Python / TypeScript** | `client.processing.execute(…)` |
| **CLI** | `geopera processing execute …` |

**Request** — `ProcessExecuteInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `process_id` | string | yes |  |
| `workspaceId` | string | yes |  |
| `inputs` | object | — |  |

**Response** — `ProcessExecuteOutput`.

## `processing.job_types.list`

List available processing job types (optionally by category).

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

**Request** — `JobTypesInput`

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

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

## `processing.job.delete`

Delete any processing job by id (org-scoped).

| | |
|---|---|
| **Scope** | `clip:destroy` |
| **Side-effect** | destructive |
| **HTTP** | `POST /v1/op/processing.job.delete`  ·  `POST /v1/processing/job/delete` |
| **Python / TypeScript** | `client.processing.job.delete(…)` |
| **CLI** | `geopera processing job delete …` |

**Request** — `ProcessingJobInput`

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

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

## `processing.job.get`

Get a processing job by id (provider facade, org-scoped).

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

**Request** — `JobGetInput`

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

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

## `processing.job.register`

Register a completed job's outputs + settle its credit reservation.

| | |
|---|---|
| **Scope** | `processing:process` |
| **Side-effect** | spend — accepts an `Idempotency-Key` header |
| **HTTP** | `POST /v1/op/processing.job.register`  ·  `POST /v1/processing/job/register` |
| **Python / TypeScript** | `client.processing.job.register(…)` |
| **CLI** | `geopera processing job register …` |

**Request** — `JobRegisterInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `job_id` | string | yes |  |
| `outputs` | array of any | — |  |

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

## `processing.job.tile_info`

Tile rendering info for any completed processing job (clip/bathy outputs).

| | |
|---|---|
| **Scope** | `clip:read` |
| **Side-effect** | read |
| **HTTP** | `POST /v1/op/processing.job.tile_info`  ·  `POST /v1/processing/job/tile_info` |
| **Python / TypeScript** | `client.processing.job.tile_info(…)` |
| **CLI** | `geopera processing job tile-info …` |

**Request** — `ProcessingJobInput`

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

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

## `processing.jobs.list`

List the org's processing jobs (provider facade, org-scoped).

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

**Request** — `JobsListInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `workspaceId` | string | — |  |
| `processId` | string | — |  |
| `status` | string | — |  |
| `ids` | string | — |  |
| `page` | integer | — |  |
| `limit` | integer | — |  |
| `sort` | string | — |  |

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

## `processing.project_job.get`

Get a processing job by id (org match + project access).

| | |
|---|---|
| **Scope** | `processing:read` |
| **Side-effect** | read |
| **HTTP** | `POST /v1/op/processing.project_job.get`  ·  `POST /v1/processing/project_job/get` |
| **Python / TypeScript** | `client.processing.project_job.get(…)` |
| **CLI** | `geopera processing project-job get …` |

**Request** — `ProjectJobGetInput`

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

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

## `processing.project_jobs.list`

List a project's processing jobs (project member access).

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

**Request** — `ProjectJobsInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `project_id` | string | yes |  |
| `status` | string | — |  |
| `job_type_name` | string | — |  |
| `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.
