PasteMD API

程序化创建和共享Markdown文档。通过REST API管理文档、项目等。

快速开始

通过简单的API调用创建文档。

curl -X POST https://api.pastemd.io/api/v1/documents \
  -H "X-API-Key: pm_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"content": "# Hello World\n\nYour markdown content here."}'

认证

所有API请求需要在X-API-Key头中提供API密钥。API密钥仅供Pro计划用户使用。

请求头格式

X-API-Key: pm_your_api_key

您可以在 设置

端点概览

API提供3个类别共13个端点。

方法路径描述
文档
POST/api/v1/documents创建新的Markdown文档
GET/api/v1/documents获取文档列表(分页)
GET/api/v1/documents/{id}通过ID(UUID)获取文档
GET/api/v1/documents/slug/{slug}通过slug获取文档
PATCH/api/v1/documents/{id}更新文档(部分更新)
DELETE/api/v1/documents/{id}删除文档
项目
POST/api/v1/projects创建新项目
GET/api/v1/projects获取项目列表
GET/api/v1/projects/{id}获取项目详情和文档列表
PATCH/api/v1/projects/{id}更新项目(仅所有者)
DELETE/api/v1/projects/{id}删除项目(仅所有者)
使用量与个人信息
GET/api/v1/me获取个人信息
GET/api/v1/usage获取本月API使用量

文档

POST/api/v1/documents

创建新的Markdown文档

请求体

字段类型必填描述
contentstringMarkdown内容(最大500,000字符)
titlestring文档标题(最大200字符,未填写时从内容中提取)
expirationstring过期时间: 1h, 1d, 7d, 30d, 或 never
passwordstring共享链接密码保护
project_idstring关联的项目ID(UUID)
is_publicboolean允许搜索引擎索引文档
show_ai_chatboolean在阅读器中显示AI聊天(Pro)
show_tocboolean在阅读器中显示目录(Pro)
show_notesboolean在阅读器中显示笔记(Pro)
show_commentsboolean在阅读器中显示评论/反馈(Pro)
show_summaryboolean在阅读器中显示AI摘要(Pro)

响应

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "slug": "abc123",
  "title": "Hello World",
  "content": "# Hello World\n\nYour markdown content here.",
  "url": "https://pastemd.io/s/abc123",
  "edit_url": "https://pastemd.io/e/550e8400-e29b-41d4-a716-446655440000",
  "view_count": 0,
  "created_at": "2025-01-04T12:00:00Z",
  "updated_at": "2025-01-04T12:00:00Z",
  "is_password_protected": false,
  "is_public": false,
  "project_id": null
}

此端点计入每月文档创建配额(每月100个)。

GET/api/v1/documents

获取文档列表(分页)

查询参数

字段类型必填描述
pageinteger页码(默认: 1)
page_sizeinteger每页数量,最大100(默认: 20)
project_idstring按项目ID筛选

响应

{
  "items": [
    {
      "id": "550e8400-...",
      "slug": "abc123",
      "title": "Hello World",
      "url": "https://pastemd.io/s/abc123",
      "view_count": 42,
      "created_at": "2025-01-04T12:00:00Z",
      "updated_at": "2025-01-04T12:00:00Z",
      "is_password_protected": false,
      "is_public": false,
      "project_id": null
    }
  ],
  "total": 15,
  "page": 1,
  "page_size": 20,
  "has_next": false
}
GET/api/v1/documents/{id}

通过ID(UUID)获取文档

返回包含内容的完整文档响应。仅可访问自己的文档。

GET/api/v1/documents/slug/{slug}

通过slug获取文档

查询参数

字段类型必填描述
passwordstring受密码保护文档的密码
PATCH/api/v1/documents/{id}

更新文档(部分更新)

请求体

所有字段均为可选。仅更新提供的字段。

字段类型必填描述
contentstringMarkdown内容(最大500,000字符)
titlestring文档标题(最大200字符,未填写时从内容中提取)
expirationstring过期时间。使用 'never' 移除过期设置
passwordstring密码。使用空字符串 '' 移除密码
project_idstring项目ID。使用空字符串 '' 从项目中分离
is_publicboolean允许搜索引擎索引文档
show_ai_chatboolean在阅读器中显示AI聊天(Pro)
show_tocboolean在阅读器中显示目录(Pro)
show_notesboolean在阅读器中显示笔记(Pro)
show_commentsboolean在阅读器中显示评论/反馈(Pro)
show_summaryboolean在阅读器中显示AI摘要(Pro)
DELETE/api/v1/documents/{id}

删除文档

永久删除文档。成功时返回204 No Content。

项目

POST/api/v1/projects

创建新项目

请求体

字段类型必填描述
namestring项目名称(最大100字符)
descriptionstring项目描述(最大500字符)

响应

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "My Project",
  "description": "Project description",
  "document_count": 0,
  "member_count": 1,
  "documents": [],
  "created_at": "2025-01-04T12:00:00Z",
  "updated_at": "2025-01-04T12:00:00Z"
}
GET/api/v1/projects

获取项目列表

响应

{
  "items": [
    {
      "id": "550e8400-...",
      "name": "My Project",
      "description": "Project description",
      "document_count": 5,
      "member_count": 3,
      "created_at": "2025-01-04T12:00:00Z",
      "updated_at": "2025-01-04T12:00:00Z"
    }
  ],
  "total": 2
}
GET/api/v1/projects/{id}

获取项目详情和文档列表

返回包含文档列表的项目详情。仅所有者和成员可访问。

PATCH/api/v1/projects/{id}

更新项目(仅所有者)

请求体

字段类型必填描述
namestring项目名称(最大100字符)
descriptionstring项目描述。使用空字符串 '' 移除描述

仅项目所有者可更改设置。

DELETE/api/v1/projects/{id}

删除项目(仅所有者)

删除项目。关联文档不会被删除,而是从项目中分离。返回204 No Content。

使用量与个人信息

GET/api/v1/me

获取个人信息

响应

{
  "id": 12345,
  "email": "user@example.com",
  "display_name": "John Doe",
  "plan": "pro",
  "is_pro": true,
  "created_at": "2025-01-01T00:00:00Z"
}
GET/api/v1/usage

获取本月API使用量

响应

{
  "month": "2025-01",
  "docs_created": 23,
  "docs_limit": 100,
  "remaining": 77
}

错误码

所有错误以包含错误码和消息的统一JSON格式返回。

状态码描述
401无效或缺少API密钥
403权限不足(例如:不是项目所有者)
404资源未找到或不属于您
422无效的请求体或参数
429已达每月文档创建限制

速率限制

仅文档创建计入每月配额。其他所有操作不受限制。

操作限制
文档创建(POST)每月100个
查询 / 更新 / 删除无限制
AI聊天(每文档)50个问题

准备开始了吗?立即创建您的API密钥。