Skip to main content
POST
Create a shareable asset

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Shareable asset creation request parameters

file_id
string<uuid>
required

The ID of the file the shareable asset will be created for

file_segment_id
string<uuid>

The ID of the file segment the shareable asset will be created for. When provided, the shareable asset will be created for the file segment.

title
string

The title of the shareable asset

description
string

The description of the shareable asset

metadata
object

The metadata of the shareable asset

visibility
enum<string>
default:public

Visibility of the shareable asset. Defaults to 'public'. 'private' restricts the share page to members of the owning account and serves a signed, token-gated stream. Cannot be changed after creation.

Available options:
public,
private

Rich link-preview metadata for unfurl bots. Only affects private shares: 'none' (default) keeps today's no-preview behavior; 'full' emits title, description, and thumbnail Open Graph tags; 'player' additionally lets the share play inline when unfurled by the Cloudglue Slack app — anyone who can see the Slack message can play it. Public shares always emit full metadata.

Available options:
none,
full,
player

Response

Shareable asset created successfully

id
string<uuid>
required

The unique identifier of the shareable asset

file_id
string<uuid>
required

The ID of the file the shareable asset belongs to

Controls rich link-preview (Open Graph) metadata for unfurl bots on private shares. 'none' (default) emits no preview metadata; 'full' emits title, description, and thumbnail; 'player' additionally lets the share play inline when its link is unfurled by the Cloudglue Slack app — anyone who can see the Slack message can play it. Public shares always emit full metadata (and unfurl playable where the Slack app is installed) regardless of this value.

Available options:
none,
full,
player
created_at
number
required

The timestamp of when the shareable asset was created

file_segment_id
string<uuid>

The ID of the file segment the shareable asset belongs to (optional)

title
string

The title of the shareable asset

description
string

The description of the shareable asset

metadata
object

The metadata of the shareable asset

visibility
enum<string>

The visibility of the shareable asset. 'public' assets are viewable by anyone with the link; 'private' assets are restricted to members of the owning account and stream via a signed, token-gated playback url.

Available options:
public,
private
preview_url
string

The thumbnail url of the shareable asset

media_download_url
string

The signed media download url of the shareable asset. For private assets this url is short-lived (a few minutes) and should be used promptly.

media_download_expires_at
number | null

The timestamp of when the media download url will expire

share_url
string

This is the url that can be used to share the shareable asset. For private assets the page requires sign-in and membership of the owning account.

stream_url
string

The HLS stream url of the shareable asset. Available when the stream has finished processing. For private assets this is a signed, token-gated url that should be treated as short-lived. When the asset was fetched with a clip window (clip_start/clip_end on GET /share/{id}), the stream plays only that window.

status
enum<string>

The status of the shareable asset

Available options:
pending,
processing,
completed,
failed
asset_type
enum<string>

The type of asset the shareable asset belongs to

Available options:
file,
file_segment
object
enum<string>

Object type, always 'share'

Available options:
share