Вход

MD2 API

REST API для работы с Markdown-документами. Все ответы возвращаются в формате JSON.

Base URLhttps://md2.pro/api/v1
Аутентификация не требуется. Документы идентифицируются по slug. Ограничения на загрузку: 30 файлов/час, 100 в сутки. Email: 5 писем/час.

POST Загрузить файл
/api/v1/upload

Загрузить .md-файл. Возвращает slug для доступа к документу. Файл хранится бессрочно.

Тело запроса (multipart/form-data)
ПолеТипОбязательноеОписание
file File Да Markdown-файл (.md, .markdown, .txt и др.), не более 5 МБ
Пример запроса
cURL
curl -X POST https://md2.pro/api/v1/upload \
  -F "file=@document.md"
Ответ 200
JSON
{
  "ok": true,
  "data": {
    "slug": "abc123def456",
    "title": "My Document",
    "url": "https://md2.pro/abc123def456",
    "file_size": 2048,
    "created_at": "2024-01-15T12:00:00Z"
  }
}

POST Создать документ
/api/v1/documents

Создать новый документ из текста. Подходит для программного создания.

Тело запроса (application/json)
ПолеТипОбязательноеОписание
content string Да Markdown-текст
title string Нет Заголовок документа
Пример запроса
cURL
curl -X POST https://md2.pro/api/v1/documents \
  -H "Content-Type: application/json" \
  -d '{"content": "# Hello\n\nMarkdown content here.", "title": "My Doc"}'
Ответ 200
JSON
{
  "ok": true,
  "data": {
    "slug": "abc123def456",
    "title": "My Doc",
    "url": "https://md2.pro/abc123def456",
    "created_at": "2024-01-15T12:00:00Z"
  }
}

GET Получить документ
/api/v1/documents/{slug}

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

Пример запроса
cURL
curl https://md2.pro/api/v1/documents/abc123def456
Ответ 200
JSON
{
  "ok": true,
  "data": {
    "slug": "abc123def456",
    "title": "My Doc",
    "content": "# Hello\n\nMarkdown content here.",
    "file_size": 512,
    "view_count": 42,
    "created_at": "2024-01-15T12:00:00Z",
    "updated_at": "2024-01-16T08:00:00Z"
  }
}

PUT Обновить документ
/api/v1/documents/{slug}

Обновить содержимое документа. Предыдущая версия сохраняется автоматически (до 10 версий).

Тело запроса (application/json)
ПолеТипОбязательноеОписание
content string Да Новое содержимое
title string Нет Новый заголовок
Пример запроса
cURL
curl -X PUT https://md2.pro/api/v1/documents/abc123def456 \
  -H "Content-Type: application/json" \
  -d '{"content": "# Updated\n\nNew content."}'
Ответ 200
JSON
{
  "ok": true,
  "data": {
    "slug": "abc123def456",
    "updated_at": "2024-01-16T09:00:00Z"
  }
}

DELETE Удалить документ
/api/v1/documents/{slug}

Удалить документ и все его версии. Операция необратима.

Пример запроса
cURL
curl -X DELETE https://md2.pro/api/v1/documents/abc123def456
Ответ 200
JSON
{
  "ok": true
}

POST Отправить на email
/api/v1/share/email

Отправить ссылку на документ по email. Лимит: 5 писем в час.

Тело запроса (application/json)
ПолеТипОбязательноеОписание
slug string Да Slug документа
email string Да Email получателя
message string Нет Сопроводительное сообщение
Пример запроса
cURL
curl -X POST https://md2.pro/api/v1/share/email \
  -H "Content-Type: application/json" \
  -d '{"slug": "abc123def456", "email": "user@example.com", "message": "Посмотри этот документ"}'
Ответ 200
JSON
{
  "ok": true
}

POST Рендер Markdown
/api/v1/render

Конвертировать Markdown в HTML на стороне сервера (Parsedown). Удобно для превью без сохранения.

Тело запроса (application/json)
ПолеТипОбязательноеОписание
content string Да Markdown-текст для рендера
Пример запроса
cURL
curl -X POST https://md2.pro/api/v1/render \
  -H "Content-Type: application/json" \
  -d '{"content": "# Hello\n\n**Bold** text."}'
Ответ 200
JSON
{
  "ok": true,
  "data": {
    "html": "<h1>Hello</h1>\n<p><strong>Bold</strong> text.</p>"
  }
}

POST Импорт по URL
/api/v1/import

Загрузить Markdown по URL и создать документ. Поддерживаются только публичные HTTP/HTTPS ресурсы.

Тело запроса (application/json)
ПолеТипОбязательноеОписание
url string Да URL Markdown-файла (https://...)
title string Нет Заголовок документа
Пример запроса
cURL
curl -X POST https://md2.pro/api/v1/import \
  -H "Content-Type: application/json" \
  -d '{"url": "https://raw.githubusercontent.com/user/repo/main/README.md"}'
Ответ 200
JSON
{
  "ok": true,
  "data": {
    "slug": "abc123def456",
    "url": "https://md2.pro/abc123def456"
  }
}
Ошибки
JSON
{
  "ok": false,
  "error": {
    "code": 400,
    "message": "Failed to fetch URL or content is not valid Markdown"
  }
}