API · s5w

Временные ссылки

Подписанный адрес /t/… на один файл: открывается без токена, но только до срока и, если нужно, ограниченное число раз.

Доступ FULLСрок до 30 днейСкачиваний до 1000

Два вида ссылок

по умолчанию
Подписанная

Ничего не хранится в базе: срок зашит в подпись. Отозвать по одной нельзя — только все ссылки бакета разом. Заметка note не сохраняется.

revocable · maxDownloads
Учитываемая

Хранится в базе, отзывается по одной, видна в списках. Скачивания считает только при maxDownloads.

Учитываемой ссылка становится, если указать revocable: true или maxDownloads.

  • У ссылки с одним revocable счётчик downloads всегда 0 — скачивания считаются только при maxDownloads.
  • У ссылки с maxDownloads не работает Range: файл отдаётся только целиком.

POST /v1/files/{id}/link

json
{
  "ttl": 86400,
  "disposition": 1,
  "maxDownloads": 5,
  "revocable": true,
  "note": "для подрядчика"
}
Поле По умолчанию Описание
ttl 3600 Срок жизни, секунды: до 2592000 (30 дней). Необязательно.
disposition 0 0 (INLINE) — открыть в браузере, если тип это позволяет (как у /o); 1 (ATTACHMENT) — скачать.
maxDownloads — Лимит скачиваний, 1–1000. Делает ссылку учитываемой.
revocable false Можно отозвать по одной. Делает ссылку учитываемой.
note "" Заметка для себя, до 255 символов. Сохраняется только у учитываемой ссылки.

Возвращает 201:

json
{
  "id": 17,
  "url": "https://s5.example.com/t/…",
  "expiresAt": "2026-11-08T17:10:44+00:00",
  "revocable": true,
  "maxDownloads": 5,
  "downloads": 0,
  "revoked": false,
  "disposition": { "id": 1, "name": "ATTACHMENT" },
  "note": "для подрядчика"
}

У подписанной ссылки id — null, revocable — false.

Длинная неотзываемая ссылка

Подписанную ссылку на неделю и дольше без лимита скачиваний не отозвать по одной: если она утечёт, останется только отозвать все ссылки бакета.

Последние 20 учитываемых ссылок файла, новые первыми, — массивом, без пагинации. В том числе истёкшие, отозванные и исчерпанные: ссылка хранится до 7 дней после своего expiresAt.

Учитываемые ссылки всего бакета, постранично, новые первыми — тоже включая истёкшие, отозванные и исчерпанные, пока не прошло 7 дней после expiresAt.

DELETE /v1/links/{id}

Отзывает одну учитываемую ссылку. Возвращает 204.

Отзывает все ссылки бакета, в том числе подписанные, — меняет «эпоху» подписи. Возвращает { "epoch": 3 }. Новые ссылки после этого выдаются как обычно.

Ссылка перестаёт работать и вместе с файлом: удалили файл — ссылки на него мертвы.