API v1

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

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

01 / text/plain

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

Тело запроса становится unlisted-вставкой. Язык и срок можно передать в query-параметрах. Регистрация не нужна.

curl --data-binary @main.go 'https://paste.maralys.com/api/v1/pastes?language=go&expires=1d'

02 / application/json

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

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

curl 'https://paste.maralys.com/api/v1/pastes' \ -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 / Ответ

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

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

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

04 / Endpoint’ы

Публичный REST API

POST/api/v1/pastes

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

GET/api/v1/pastes/{slug}

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

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

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

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

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

PATCH/api/v1/pastes/{slug}

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

DELETE/api/v1/pastes/{slug}

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

GET/api/v1/catalog

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

05 / Изменения

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

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