01 · КАК ЭТО РАБОТАЕТ
Быстрый обзор
Отправьте текст или файл — API вернёт публичную ссылку и секретный edit_key. Храните ключ: он нужен для редактирования, удаления и замены файла.
СоздатьPOST /paste или /upload
ПолучитьGET /api/v1/pastes/:id
УправлятьPATCH / DELETE с X-Edit-Key
Не передавайте edit key другим. Это ключ управления публикацией, не пароль от аккаунта.
02 · СОЗДАНИЕ
Создать публикацию
Эндпоинт POST /paste принимает обычный текст. Укажите Accept: application/json, если хотите структурированный ответ вместо двух строк со ссылками.
POST/pasteтекст или Markdown
curl https://drop.eggsquad.top/paste \
-X POST \
-H "Accept: application/json" \
-H "X-Custom-Url: release-notes" \
--data-binary "# Release notes\n\nГотово!"
Для JSON, Markdown и кода используйте --data-binary @file.md. Сервис определит синтаксис автоматически; его можно задать параметром syntax.
03 · ЧТЕНИЕ
Получить данные
Вместо :id передайте идентификатор публикации из ссылки. Приватные или защищённые паролем публикации требуют соответствующий ключ или пароль.
GET/api/v1/pastes/:idполная публикация в JSON
GET/api/v1/pastes/:id/metaметаданные без содержимого
GET/api/v1/pastes/:id/rawоригинальный текст
GET/api/v1/pastes/:id/fileскачать вложение
# JSON-публикация
curl https://drop.eggsquad.top/api/v1/pastes/release-notes
# Защищённая публикация
curl -H "X-Paste-Password: secret" \
https://drop.eggsquad.top/api/v1/pastes/release-notes
# Сохранить raw-текст в файл
curl -o notes.md https://drop.eggsquad.top/api/v1/pastes/release-notes/raw
04 · УПРАВЛЕНИЕ
Редактировать и удалить
Передавайте ключ как X-Edit-Key или Authorization: Bearer EDIT_KEY. Ключ выдаётся только при создании — сохраните его сразу.
PATCH/api/v1/pastes/:idизменить поля публикации
POST/api/v1/pastes/:id/cloneсоздать копию
PUT/api/v1/pastes/:id/fileзаменить вложение
DELETE/api/v1/pastes/:idудалить без восстановления
curl https://drop.eggsquad.top/api/v1/pastes/release-notes \
-X PATCH \
-H "X-Edit-Key: YOUR_EDIT_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"Release notes v2","visibility":"unlisted","expiry":"7d"}'
curl -X DELETE -H "X-Edit-Key: YOUR_EDIT_KEY" \
https://drop.eggsquad.top/api/v1/pastes/release-notes
05 · ВЛОЖЕНИЯ И URL
Файлы и короткие адреса
POST /upload создаёт публикацию с файлом. Максимальный размер — 15 МБ. Передайте X-Custom-Url, чтобы задать красивый адрес.
POST/uploadmultipart/form-data
curl https://drop.eggsquad.top/upload \
-H "Accept: application/json" \
-H "X-Custom-Url: my-report" \
-F "[email protected]"
# заменить прикреплённый файл
curl -X PUT https://drop.eggsquad.top/api/v1/pastes/my-report/file \
-H "X-Edit-Key: YOUR_EDIT_KEY" \
-F "[email protected]"
Свой URL: 3–64 символа, буквы, цифры, точка, - и _. Если адрес занят, API вернёт 409.
06 · ПАРАМЕТРЫ
Что можно настроить
ПолеТип / значенияНазначение
titleстрока, до 180Заголовок публикации.
text / contentтекст, до 1 МБСодержимое публикации.
syntaxtext, markdown, javascript…Подсветка кода. По умолчанию определяется автоматически.
visibilitypublic · unlisted · privateПублично, по ссылке или только владельцу.
expirynever · 1h · 1d · 7d · 30dКогда удалить публикацию.
password4–128 символовЗащищает чтение паролем.
burn_after_readtrue / falseУдалить после первого успешного просмотра.
07 · ОТВЕТЫ И ПРОВЕРКА
JSON и состояние сервиса
Для создания добавьте Accept: application/json. Поле edit_key показывается только в ответе создания или ротации ключа.
{
"success": true,
"id": "my-report",
"url": "https://drop.eggsquad.top/my-report",
"edit_url": "https://drop.eggsquad.top/edit/my-report?key=…",
"edit_key": "…"
}
GET/api/v1список возможностей API
GET/api/v1/infoлимиты и поддерживаемые функции
GET/api/v1/healthпроверка доступности БД
POST/api/v1/pastes/:id/rotate-keyвыпустить новый edit key
08 · ЛИМИТЫ И БЕЗОПАСНОСТЬ
Правила использования
1 МБмаксимальный текст
15 МБмаксимальный файл
30 / 10 минDeveloper API с IP
10 / 10 минсоздание с IP
- Ключ редактирования эквивалентен праву управления публикацией — храните его как секрет.
- После нескольких неверных паролей включается временная защита для IP-адреса.
- Коды ответов:
201 создано, 400 неверные данные, 401 нужен пароль, 403 неверный ключ, 404 не найдено, 409 URL занят, 429 лимит.