MD2 API
REST API для работы с Markdown-документами. Все ответы возвращаются в формате JSON.
slug.
Ограничения на загрузку: 30 файлов/час, 100 в сутки. Email: 5 писем/час.
Загрузить .md-файл. Возвращает slug для доступа к документу. Файл хранится бессрочно.
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| file | File | Да | Markdown-файл (.md, .markdown, .txt и др.), не более 5 МБ |
curl -X POST https://md2.pro/api/v1/upload \
-F "file=@document.md"
{
"ok": true,
"data": {
"slug": "abc123def456",
"title": "My Document",
"url": "https://md2.pro/abc123def456",
"file_size": 2048,
"created_at": "2024-01-15T12:00:00Z"
}
}
Создать новый документ из текста. Подходит для программного создания.
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| content | string | Да | Markdown-текст |
| title | string | Нет | Заголовок документа |
curl -X POST https://md2.pro/api/v1/documents \
-H "Content-Type: application/json" \
-d '{"content": "# Hello\n\nMarkdown content here.", "title": "My Doc"}'
{
"ok": true,
"data": {
"slug": "abc123def456",
"title": "My Doc",
"url": "https://md2.pro/abc123def456",
"created_at": "2024-01-15T12:00:00Z"
}
}
Получить метаданные и содержимое документа по slug.
curl https://md2.pro/api/v1/documents/abc123def456
{
"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"
}
}
Обновить содержимое документа. Предыдущая версия сохраняется автоматически (до 10 версий).
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| content | string | Да | Новое содержимое |
| title | string | Нет | Новый заголовок |
curl -X PUT https://md2.pro/api/v1/documents/abc123def456 \
-H "Content-Type: application/json" \
-d '{"content": "# Updated\n\nNew content."}'
{
"ok": true,
"data": {
"slug": "abc123def456",
"updated_at": "2024-01-16T09:00:00Z"
}
}
Удалить документ и все его версии. Операция необратима.
curl -X DELETE https://md2.pro/api/v1/documents/abc123def456
{
"ok": true
}
Отправить ссылку на документ по email. Лимит: 5 писем в час.
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| slug | string | Да | Slug документа |
| string | Да | Email получателя | |
| message | string | Нет | Сопроводительное сообщение |
curl -X POST https://md2.pro/api/v1/share/email \
-H "Content-Type: application/json" \
-d '{"slug": "abc123def456", "email": "user@example.com", "message": "Посмотри этот документ"}'
{
"ok": true
}
Конвертировать Markdown в HTML на стороне сервера (Parsedown). Удобно для превью без сохранения.
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| content | string | Да | Markdown-текст для рендера |
curl -X POST https://md2.pro/api/v1/render \
-H "Content-Type: application/json" \
-d '{"content": "# Hello\n\n**Bold** text."}'
{
"ok": true,
"data": {
"html": "<h1>Hello</h1>\n<p><strong>Bold</strong> text.</p>"
}
}
Загрузить Markdown по URL и создать документ. Поддерживаются только публичные HTTP/HTTPS ресурсы.
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| url | string | Да | URL Markdown-файла (https://...) |
| title | string | Нет | Заголовок документа |
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"}'
{
"ok": true,
"data": {
"slug": "abc123def456",
"url": "https://md2.pro/abc123def456"
}
}
{
"ok": false,
"error": {
"code": 400,
"message": "Failed to fetch URL or content is not valid Markdown"
}
}