---
title: "Create a share"
method: PUT
path: "/shares"
tags: ["Shares"]
---

# Create a share

`PUT /shares`

Create a public url that can be used by anyone to stream media. Takes the file id with optional description and expires parameters.

## Query parameters

- `filter` string
- `type` 'album' | 'artist' | 'playlist' | 'podcast' | 'podcast_episode' | 'song' | 'video'
- `description` string
- `expires` integer

## Request body

- ShareCreateSharesRequest
  - `filter` string, required — Object id
  - `type` 'album' | 'artist' | 'playlist' | 'podcast' | 'podcast_episode' | 'song' | 'video', required
  - `description` string — Filled in for you if empty
  - `expires` integer — Days to keep active

## Response `200`

Share created

- ShareObject
  - `id` string, required
  - `name` string, required
  - `owner` string, required
  - `allow_stream` boolean, required
  - `allow_download` boolean, required
  - `creation_date` integer, required
  - `lastvisit_date` integer, required
  - `object_type` string, nullable, required — The kind of object referenced, as a bare string. The set is intentionally open so a new media type is not a breaking change; values seen today include `song`, `album`, `artist`, `playlist`, `podcast`, `podcast_episode` and `video`.
  - `object_id` string, required
  - `expire_days` integer, required
  - `max_counter` integer, required
  - `counter` integer, required
  - `secret` string, nullable, required
  - `public_url` string, nullable, required
  - `description` string, nullable, required

## Other responses

- `400` — HTTP 400 Bad Request (errors 4705, 4710).
- `401` — HTTP 401 Unauthorized (error 4701).
- `403` — HTTP 403 Forbidden (errors 4700, 4703, 4742).
- `404` — HTTP 404 Not Found (error 4704).
- `500` — HTTP 500 Internal Server Error (error 4702).

## Changes

- **2026-07-22** `e8e6b266ea29` — 8 info
  - api operation id `shareCreate` was added
  - added optional request body
  - the `query` request parameter `filter` became optional
  - the `query` request parameter `type` became optional
  - …4 more
- **2026-07-21** `2ff18e50dcc1` — 15 info
  - added the required property `allow_download` to the response with the `200` status
  - added the required property `allow_stream` to the response with the `200` status
  - added the required property `counter` to the response with the `200` status
  - added the required property `creation_date` to the response with the `200` status
  - …11 more
- **2026-07-17** `9abb9bf6d3bf` — 1 breaking
  - api removed without deprecation
- **2026-07-11** `2db906b9afb1` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/ampache/apis/ampache-rest-api/changes/shares/put.md)

---

[API](https://skmtc.dev/ampache/apis/ampache-rest-api.md) · [All operations](https://skmtc.dev/ampache/apis/ampache-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ampache/ampache-rest-api/revisions/42d304fb6867/schema)
