---
title: "Share Call"
method: POST
path: "/gtm-internal/calls/{call_id}/share"
tags: ["gtm-internal"]
---

# Share Call

`POST /gtm-internal/calls/{call_id}/share`

## Request

- Base URL: `https://api-v1.unusual.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api-v1.unusual.ai/gtm-internal/calls/{call_id}/share`
- Auth: OAuth 2
  - Password
  - Token URL: `/auth/login`

Mint a STABLE, revocable public link to this call's recording.

Mirrors the ``get_recording_share_link`` MCP tool exactly — same shared
``mint_recording_share`` layer, same attendee guard (someone from the
call's own account must have been on it, unless deliberately skipped),
same gates, same call's-own-anchors stamping — minus the per-scope
authorization: this is the staff surface, and minting is admin-only to
match the External Links revoke. Guard refusal is a 409 whose detail the
UI shows verbatim. Unanchored (unattributed/internal) calls are refused
even with the skip — resolve first, so every live share stays
attributable and scope-revocable. The minted link appears on
/external-links.

## Path parameters

- `call_id` string, uuid, required

## Request body

- ShareCallRequest: Mint a stable external share for a call's archived media — the same lane as the ``get_recording_share_link`` MCP tool, exposed on the kind's own staff surface. ``extra="forbid"``: unknown keys rejected loudly.
  - `media` 'video' | 'audio'
  - `gate` 'open' | 'email' | 'email_domains'
  - `allowed_domains` string[], nullable
  - `expires_days` integer, nullable
  - `label` string, nullable
  - `skip_attendee_check` boolean

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/unusual/apis/dashboard-server.md) - [All operations](https://skmtc.dev/unusual/apis/dashboard-server/llms.txt) - [OpenAPI document](https://skmtc.dev/unusual/apis/dashboard-server/revisions/89f716930ead?raw)
