Документация API
Используйте API PasteBox, чтобы программно создавать и получать вставки.
Базовый URL
https://pastebox.io/api/paste.php
Аутентификация
Ключ API (рекомендуется для скриптов)
Зарегистрированные пользователи могут создавать ключи API в разделе Профиль → Ключи API. Ключ аутентифицирует запрос от вашего имени, без cookie сеанса и CSRF-токена. Передавайте его в заголовке Authorization (или в заголовке X-API-Key):
Authorization: Bearer pb_your_api_key
Ключи привязаны к аккаунту, и для каждого ключа действует свой лимит запросов. Вы можете приостановить или удалить ключ в любой момент; администратор может отключить отдельные ключи или весь API.
Сеанс браузера (CSRF-токен)
Запросы из браузерного сеанса вошедшего пользователя вместо этого используют CSRF-токен, который берётся из тега на каждой странице и передаётся в заголовке:
X-CSRF-Token: your_csrf_token
Эндпоинты только для чтения (получение вставки и её исходного текста) не требуют ключа или аккаунта. Например, так можно получить любую публичную вставку как простой текст:
curl -s -H "Authorization: Bearer pb_your_api_key" \
-d '{"content":"hello","syntax":"text"}' \
https://pastebox.io/api/paste.php?action=create
Создать вставку
/api/paste.php?action=create
Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| content | string | Да | Содержимое вставки |
| title | string | Нет | Заголовок вставки (по умолчанию: "Untitled") |
| syntax | string | Нет | Slug языка синтаксиса (по умолчанию: "plaintext") |
| expiration | string | Нет | Срок действия: 5min, 10min, 1hour, 1day, 1week, 2weeks, 1month, 6months, 1year, never |
| visibility | string | Нет | public, unlisted или private (по умолчанию: "public") |
| slug | string | Нет | Slug собственного URL (только для вошедших пользователей и только если администратор включил собственные URL): 3–64 символа, строчные буквы/цифры/дефисы. Игнорируется для гостей, если функция отключена или slug занят/недопустим; в этом случае используется случайный slug. |
| password | string | Нет | Пароль для защиты вставки |
| burn_after_read | boolean | Нет | Удалить вставку после первого просмотра |
| encrypt | boolean | Нет | Включить шифрование на стороне сервера |
Пример запроса
curl -X POST https://pastebox.io/api/paste.php?action=create \
-H "Content-Type: application/json" \
-H "X-CSRF-Token: YOUR_TOKEN" \
-d '{
"content": "console.log(\"Hello World\");",
"title": "Hello World",
"syntax": "javascript",
"expiration": "1week",
"visibility": "public"
}'
Пример ответа
{
"success": true,
"message": "Paste created successfully.",
"url": "https://pastebox.io/paste/abc123",
"slug": "abc123"
}
Получить исходный текст вставки
/api/paste.php?action=raw&slug={slug}
Возвращает исходный текст вставки. Для вставок, защищённых паролем, передайте пароль в параметре запроса.
Пример
curl https://pastebox.io/api/paste.php?action=raw&slug=abc123
Скачать вставку
/api/paste.php?action=download&slug={slug}
Скачивает вставку в виде файла с расширением, соответствующим языку синтаксиса.
Удалить вставку
/api/paste.php?action=delete
Удаление вставки. Доступно только владельцу вставки или администраторам.
Пример запроса
curl -X POST https://pastebox.io/api/paste.php?action=delete \
-H "Content-Type: application/json" \
-H "X-CSRF-Token: YOUR_TOKEN" \
-d '{"slug": "abc123"}'
Ограничения частоты запросов
- Запросы с ключом API: 1000 в час на ключ (устанавливается администратором сайта; при превышении возвращается код 429).
- Создание вставок гостями (без ключа/сеанса): 10 вставок в час с одного IP. Для вошедших пользователей лимит по IP при создании не действует.
- Попытки ввода пароля: 10 за 10 минут на одну вставку.
- Жалобы: 5 в час с одного IP.
- Для эндпоинтов только для чтения (view / raw / download) ограничения частоты запросов не действуют.
При превышении лимита запрос отклоняется; подождите, прежде чем повторить попытку.
Ответы с ошибками
Все ответы с ошибками имеют следующий формат:
{
"success": false,
"message": "Error description here."
}