---
title: "Turn a playlist public link on or off"
method: PUT
path: "/stacks/{public_id}/public-link"
tags: ["REST API"]
---

# Turn a playlist public link on or off

`PUT /stacks/{public_id}/public-link`

## Request

- Base URL: `https://api.supercut.ai/v1`
- URL: `https://api.supercut.ai/v1/stacks/{public_id}/public-link`
- Auth: HTTP bearer

Works with: Personal token

With the public link on, anyone with the link can see the title and thumbnail of every recording in the playlist, though each recording still plays only for viewers its own sharing allows. Confirm with the user before enabling it. Note: Stacks have been renamed to Playlists across Supercut. The endpoint paths and payloads remain \`stacks\` for backwards compatibility.

## Path parameters

- `public_id` string, required

## Request body

- object
  - `enabled` boolean, required

## Response `200`

200

- object
  - `data` object, required
    - `public_id` string, required
    - `link` string, required: The playlist's page in the Supercut app that served the response, for the workspace members who can see it. `public_link` is its public page.
    - `name` string, required
    - `description` string, nullable, required
    - `created_at` string, required
    - `updated_at` string, required
    - `is_public` boolean, required: Deprecated: use `public_link`. Whether the stack has a public link.
    - `public_link` string, nullable, required
    - `workspace_access` 'VIEWER' | 'EDITOR', nullable, required
    - `sort` 'added_desc' | 'added_asc' | 'recorded_desc' | 'recorded_asc' | 'manual', required
    - `workspace_safename` string, required
    - `permission` 'VIEWER' | 'EDITOR' | 'ADMIN' | 'OWNER', required
    - `recording_count` number, required
    - `teams` object[], required
      - `team` object, required
        - `public_id` string, required
        - `name` string, required
      - `access` 'VIEWER' | 'EDITOR' | 'ADMIN', required
    - `users` object[]: Left out when the caller's workspace role can't list workspace members, since each entry carries an email.
      - `user` object, required
        - `public_id` string, required: Public user id, the same for this person everywhere.
        - `name` string, required
        - `avatar_url` string, nullable, required
        - `email` string, required
      - `access` 'VIEWER' | 'EDITOR' | 'ADMIN', required

## Other responses

- `400`: 400
- `401`: 401
- `402`: 402
- `403`: 403
- `404`: 404
- `409`: 409
- `429`: 429
- `500`: 500

---

[API](https://skmtc.dev/supercut/apis/supercut-platform-api.md) · [All operations](https://skmtc.dev/supercut/apis/supercut-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/supercut/apis/supercut-platform-api/revisions/66033895a858?raw)
