---
title: "Create a share link"
method: POST
path: "/api/uploads/{uploadId}/links"
---

# Create a share link

`POST /api/uploads/{uploadId}/links`

## Request

- Base URL: `https://powerpoint-sucks.com`
- URL: `https://powerpoint-sucks.com/api/uploads/{uploadId}/links`
- Auth: HTTP bearer

TTL is capped at 168 hours (7 days).

## Path parameters

- `uploadId` string, required

## Request body

- CreateLink
  - `ttlHours` integer, required
  - `password` string
  - `tinyUrl` boolean

## Response `201`

Link created; share URL is /s/{token} on the app origin

- object
  - `link` Link, required
    - `token` string, required
    - `uploadId` string, required
    - `expiresAt` integer, required
    - `hasPassword` boolean, required
    - `tinyUrl` string, nullable, required
    - `createdAt` string, required
    - `expired` boolean, required

## Other responses

- `400`: Invalid request body
- `401`: Missing or invalid token
- `403`: Token lacks the decks/write scope
- `404`: Upload not found

---

[API](https://skmtc.dev/powerpoint-sucks/apis/powerpoint-sucks-api.md) · [All operations](https://skmtc.dev/powerpoint-sucks/apis/powerpoint-sucks-api/llms.txt) · [OpenAPI document](https://skmtc.dev/powerpoint-sucks/apis/powerpoint-sucks-api/revisions/5455798dae1c?raw)
