FillMeUp REST API
Простой и мощный API для программного создания, получения и управления записями. Используйте его в скриптах, ботах, IDE-плагинах — везде, где нужно быстро поделиться текстом или кодом.
📦 REST JSON 🔑 API Key Auth 🔢 Версия: v1
Base URL https://fillmeup.ru/api/v1

Все запросы к 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.

60/мин Создание записей Лимит для эндпоинта POST /api/v1/paste
🔗
Эндпоинты
POST Создать запись
https://fillmeup.ru/api/v1/paste

Создаёт новую запись. Аутентификация необязательна — записи можно создавать как гость, но без ключа запись нельзя сделать постоянной или приватной.

Тело запроса (JSON)
Поле Тип Обязательно Описание
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"
}
GET Получить запись
https://fillmeup.ru/api/v1/paste/{slug}

Возвращает данные записи по её идентификатору. Публичные записи доступны без аутентификации. Для приватных записей необходим 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"
}
DELETE Удалить запись
https://fillmeup.ru/api/v1/paste/{slug}

Удаляет запись. Требует аутентификации — удалить можно только свою запись.

🔒 Требует заголовок 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": "Запись удалена."
}
GET Мои записи
https://fillmeup.ru/api/v1/user/pastes

Возвращает список записей авторизованного пользователя с пагинацией.

Query-параметры
ПараметрТипПо умолчаниюОписание
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": "Описание ошибки на русском языке."
}
400 Bad Request Неверные данные запроса (например, отсутствует обязательное поле content)
401 Unauthorized API-ключ не указан или недействителен
403 Forbidden Нет прав на выполнение действия (чужая запись, неверный пароль)
404 Not Found Запись с указанным slug не найдена или удалена
429 Too Many Requests Превышен лимит запросов. Подождите и повторите попытку
🎨
Поддерживаемые синтаксисы

Значения для поля syntax при создании записи:

text php javascript typescript python java csharp cpp c go rust ruby swift kotlin sql html css xml json yaml markdown bash powershell dockerfile nginx apache ini lua perl r scala dart