API v1

Ссылка из терминала — одной командой.

Простой text/plain для ежедневной работы и JSON-контракт для полного управления доступом.

01 / text/plain

Быстрая вставка

Тело запроса становится безопасной unlisted-вставкой. Название, формат, язык, срок и одноразовое чтение принимаются заголовками X-Pastly-*; language, expires, title, kind и burn_after_read также работают в query. Регистрация не нужна.

curl --data-binary @main.go 'https://pastly.maralys.com/api/v1/snippets' \ -H 'Content-Type: text/plain' \ -H 'X-Pastly-Title: worker.go' \ -H 'X-Pastly-Language: go' \ -H 'X-Pastly-Expires-In: 1d'

02 / application/json

Полный контракт

JSON позволяет выбрать формат, видимость, пароль, одноразовое чтение и E2E-поля.

curl 'https://pastly.maralys.com/api/v1/snippets' \ -H 'Content-Type: application/json' \ --data '{"content":"console.log(42)","kind":"code","language":"javascript","visibility":"unlisted","access":"open","expires_in":"1h","burn_after_read":false}'

03 / Ответ

Короткий адрес и срок

HTTP/2 201
Location: https://pastly.maralys.com/4n8Kx2RjQ7Wa
X-Pastly-Slug: 4n8Kx2RjQ7Wa
X-Pastly-Raw-URL: https://pastly.maralys.com/4n8Kx2RjQ7Wa/raw
ETag: "1"

{
  "slug": "4n8Kx2RjQ7Wa",
  "url": "https://pastly.maralys.com/4n8Kx2RjQ7Wa",
  "expires_at": "2026-07-14T12:00:00Z",
  "revision": 1,
  "manage_token": "shown-once-for-guests"
}

Гостевой manage_token показывается только при создании. Pastly хранит лишь его HMAC, поэтому потерянный ключ восстановить нельзя.

04 / Endpoint’ы

Публичный REST API

POST/api/v1/snippets

Создать вставку

GET/api/v1/snippets/{slug}

Получить метаданные и доступное содержимое

HEAD/api/v1/snippets/{slug}

Проверить статус без payload и счётчика просмотра

GET/api/v1/snippets/{slug}/meta

Публичные SEO-метаданные без содержимого

POST/api/v1/snippets/{slug}/reveal

Явно показать парольную или одноразовую вставку

GET/api/v1/snippets/{slug}/raw

Безопасная text/plain-выдача

PATCH/api/v1/snippets/{slug}

Обновить с текущей revision

DELETE/api/v1/snippets/{slug}

Удалить вставку

GET/api/v1/catalog

Публичный каталог

GET/api/v1/languages

143 языка, aliases и расширения файлов

05 / Изменения

Без потерянных обновлений

Передайте X-Pastly-Manage-Token для гостевой вставки и текущую revision либо If-Match. Если документ уже изменился, API вернёт 409 Conflict. История версий не хранится.

06 / Автоматизация

Проверка без чтения

HEAD возвращает revision, язык, формат, видимость, режим доступа, burn-флаг и срок в заголовках. Payload не выдаётся, просмотр не засчитывается, одноразовая вставка не сгорает.

curl -I 'https://pastly.maralys.com/api/v1/snippets/4n8Kx2RjQ7Wa'

07 / Share

Когда одной вставки мало

Pastly создан для кода, логов и текста. Если скрипту нужны зависимости, требуется архив или нужно передать весь проект, используйте Maralys Share — он предназначен для файлов.