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

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

# Sharing operations

Share data via links.

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.

## `share.link.create`

Create a password-protected share link for an item or collection.

| | |
|---|---|
| **Scope** | `shares:write` |
| **Side-effect** | export |
| **HTTP** | `POST /v1/op/share.link.create`  ·  `POST /v1/share/link/create` |
| **Python / TypeScript** | `client.share.link.create(…)` |
| **CLI** | `geopera share link create …` |

**Request** — `ShareLinkCreate`

| Field | Type | Required | Description |
|---|---|---|---|
| `target_type` | ShareTargetType | yes |  |
| `target_id` | string | yes |  |
| `permission` | SharePermission | — |  |
| `password` | string | yes | Plaintext password (will be bcrypt-hashed) |
| `expires_at` | string (date-time) | yes |  |

**Response** — `ShareLinkCreateOutput`.

## `share.link.revoke`

Revoke a share link (editor/admin on the shared target's project).

| | |
|---|---|
| **Scope** | `shares:write` |
| **Side-effect** | destructive |
| **HTTP** | `POST /v1/op/share.link.revoke`  ·  `POST /v1/share/link/revoke` |
| **Python / TypeScript** | `client.share.link.revoke(…)` |
| **CLI** | `geopera share link revoke …` |

**Request** — `ShareLinkRevokeInput`

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

**Response** — `ShareLinkRevokeOutput`.

## `share.link.validate`

Validate a share link (token + password) and return the shared target.

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

**Request** — `ShareLinkValidateInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `token` | string | yes |  |
| `password` | string | — |  |

**Response** — `ShareLinkValidateOutput`.

## `share.tile.render`

Render a map tile for a publicly-shared item (sharer-billed).

| | |
|---|---|
| **Scope** | `shares:read` |
| **Side-effect** | read |
| **HTTP** | `POST /v1/op/share.tile.render`  ·  `POST /v1/share/tile/render` |
| **Python / TypeScript** | `client.share.tile.render(…)` |
| **CLI** | `geopera share tile render …` |

**Request** — `ShareTileInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `token` | string | yes |  |
| `password` | string | — |  |
| `z` | integer | yes |  |
| `x` | integer | yes |  |
| `y` | integer | yes |  |
| `format` | string | — |  |
| `profile` | string | — |  |

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

## `share.tilejson`

TileJSON for a publicly-shared item (token + password).

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

**Request** — `ShareTilejsonInput`

| Field | Type | Required | Description |
|---|---|---|---|
| `token` | string | yes |  |
| `password` | string | — |  |
| `profile` | string | — |  |

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