Все запросы к API отправляются на этот базовый URL. В ответах всегда возвращается JSON
с заголовком Content-Type: application/json.
Большинство эндпоинтов требуют аутентификации. Получить API-ключ можно в профиле после регистрации. Ключ передаётся в заголовке запроса:
X-API-Key: ваш_секретный_ключ
GET /api/v1/user/pastes?api_key=ваш_секретный_ключ
X-API-Key, а не через query-параметр, чтобы он не попадал в логи сервера.
Для защиты сервиса действует ограничение на количество запросов. При превышении лимита вернётся ошибка 429 Too Many Requests.
POST /api/v1/paste
Создаёт новую запись. Аутентификация необязательна — записи можно создавать как гость, но без ключа запись нельзя сделать постоянной или приватной.
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
| content | string | да | Содержимое записи. Максимум 512 КБ. |
| title | string | нет | Заголовок записи. Максимум 255 символов. |
| syntax | string | нет | Подсветка синтаксиса. По умолчанию: text. Все значения ↓ |
| visibility | string | нет | public / unlisted / private. По умолчанию: public. Приватные — только для авторизованных. |
| password | string | нет | Пароль для защиты записи. |
| expiry_days | integer | нет | Срок хранения в днях. По умолчанию: 30. Значение 0 — хранить навсегда (только для авторизованных). |
curl -X POST https://fillmeup.ru/api/v1/paste \
-H "Content-Type: application/json" \
-H "X-API-Key: ваш_ключ" \
-d '{
"title": "Hello World",
"content": "console.log(\"Hello, World!\");",
"syntax": "javascript",
"visibility": "public",
"expiry_days": 30
}'
const response = await fetch('https://fillmeup.ru/api/v1/paste', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'ваш_ключ',
},
body: JSON.stringify({
title: 'Hello World',
content: 'console.log("Hello, World!");',
syntax: 'javascript',
expiry_days: 30,
}),
});
const data = await response.json();
console.log(data.url); // https://fillmeup.ru/abc1234
import requests
response = requests.post(
'https://fillmeup.ru/api/v1/paste',
headers={'X-API-Key': 'ваш_ключ'},
json={
'title': 'Hello World',
'content': 'print("Hello, World!")',
'syntax': 'python',
'expiry_days': 30,
}
)
data = response.json()
print(data['url']) # https://fillmeup.ru/abc1234
HTTP/1.1 201 Created
{
"success": true,
"slug": "abc1234",
"url": "https://fillmeup.ru/abc1234",
"raw_url": "https://fillmeup.ru/abc1234/raw"
}
Возвращает данные записи по её идентификатору. Публичные записи доступны без аутентификации. Для приватных записей необходим API-ключ владельца. Для записей с паролем — передайте пароль в заголовке.
| Параметр | Тип | Описание |
|---|---|---|
| slug | string | Идентификатор записи (3 или 8 символов) |
| Заголовок | Описание |
|---|---|
| X-API-Key | Требуется для доступа к приватным записям |
| X-Paste-Password | Пароль для записей, защищённых паролем |
curl https://fillmeup.ru/api/v1/paste/abc1234 \
-H "X-API-Key: ваш_ключ"
curl https://fillmeup.ru/api/v1/paste/abc1234 \
-H "X-API-Key: ваш_ключ" \
-H "X-Paste-Password: секретный_пароль"
HTTP/1.1 200 OK
{
"slug": "abc1234",
"title": "Hello World",
"content": "console.log(\"Hello, World!\");",
"syntax": "javascript",
"visibility": "public",
"author": "username",
"views": 42,
"has_password": false,
"is_permanent": false,
"expires_at": "2026-03-25T12:00:00+00:00",
"created_at": "2026-02-23T12:00:00+00:00",
"updated_at": "2026-02-23T12:00:00+00:00",
"url": "https://fillmeup.ru/abc1234",
"raw_url": "https://fillmeup.ru/abc1234/raw"
}
Удаляет запись. Требует аутентификации — удалить можно только свою запись.
X-API-Key. Удаление чужих записей вернёт ошибку 403 Forbidden.
curl -X DELETE https://fillmeup.ru/api/v1/paste/abc1234 \
-H "X-API-Key: ваш_ключ"
HTTP/1.1 200 OK
{
"success": true,
"message": "Запись удалена."
}
Возвращает список записей авторизованного пользователя с пагинацией.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
| page | integer | 1 |
Номер страницы |
curl "https://fillmeup.ru/api/v1/user/pastes?page=1" \
-H "X-API-Key: ваш_ключ"
HTTP/1.1 200 OK
{
"items": [
{
"slug": "abc1234",
"title": "Hello World",
"syntax": "javascript",
"visibility": "public",
"views": 42,
"has_password": false,
"expires_at": "2026-03-25T12:00:00+00:00",
"created_at": "2026-02-23T12:00:00+00:00",
"url": "https://fillmeup.ru/abc1234"
}
],
"total": 1,
"page": 1,
"pages": 1
}
При ошибке API возвращает JSON с полем error и соответствующим HTTP-кодом.
{
"error": "Описание ошибки на русском языке."
}
content)
slug не найдена или удалена
Значения для поля syntax при создании записи: