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キーはProプランユーザーに提供されます。
ヘッダー形式
X-API-Key: pm_your_api_keyAPIキーは 設定
エンドポイント一覧
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} | スラッグでドキュメントを取得 |
| 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使用量の取得 |
ドキュメント
/api/v1/documents新しいMarkdownドキュメントを作成
リクエストボディ
| フィールド | タイプ | 必須 | 説明 |
|---|---|---|---|
content | string | はい | Markdownコンテンツ(最大500,000文字) |
title | string | いいえ | ドキュメントタイトル(最大200文字、未指定時はコンテンツから抽出) |
expiration | string | いいえ | 有効期限: 1h, 1d, 7d, 30d, または never |
password | string | いいえ | 共有リンクのパスワード保護 |
project_id | string | いいえ | ドキュメントを紐付けるプロジェクトID(UUID) |
is_public | boolean | いいえ | 検索エンジンにドキュメントを公開 |
show_ai_chat | boolean | いいえ | ビューアーでAIチャットを表示(Pro) |
show_toc | boolean | いいえ | ビューアーで目次を表示(Pro) |
show_notes | boolean | いいえ | ビューアーでメモを表示(Pro) |
show_comments | boolean | いいえ | ビューアーでコメント/フィードバックを表示(Pro) |
show_summary | boolean | いいえ | ビューアーで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件)。
/api/v1/documentsドキュメント一覧の取得(ページネーション)
クエリパラメータ
| フィールド | タイプ | 必須 | 説明 |
|---|---|---|---|
page | integer | いいえ | ページ番号(デフォルト: 1) |
page_size | integer | いいえ | ページあたりの件数、最大100(デフォルト: 20) |
project_id | string | いいえ | プロジェクト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
}/api/v1/documents/{id}ID(UUID)でドキュメントを取得
コンテンツを含む完全なドキュメントレスポンスを返します。自分のドキュメントのみアクセス可能です。
/api/v1/documents/slug/{slug}スラッグでドキュメントを取得
クエリパラメータ
| フィールド | タイプ | 必須 | 説明 |
|---|---|---|---|
password | string | いいえ | パスワード保護されたドキュメントのパスワード |
/api/v1/documents/{id}ドキュメントの更新(部分更新)
リクエストボディ
すべてのフィールドはオプションです。指定されたフィールドのみ更新されます。
| フィールド | タイプ | 必須 | 説明 |
|---|---|---|---|
content | string | いいえ | Markdownコンテンツ(最大500,000文字) |
title | string | いいえ | ドキュメントタイトル(最大200文字、未指定時はコンテンツから抽出) |
expiration | string | いいえ | 有効期限。'never'で有効期限を削除 |
password | string | いいえ | パスワード。空文字列 '' でパスワードを削除 |
project_id | string | いいえ | プロジェクトID。空文字列 '' でプロジェクトから切断 |
is_public | boolean | いいえ | 検索エンジンにドキュメントを公開 |
show_ai_chat | boolean | いいえ | ビューアーでAIチャットを表示(Pro) |
show_toc | boolean | いいえ | ビューアーで目次を表示(Pro) |
show_notes | boolean | いいえ | ビューアーでメモを表示(Pro) |
show_comments | boolean | いいえ | ビューアーでコメント/フィードバックを表示(Pro) |
show_summary | boolean | いいえ | ビューアーでAI要約を表示(Pro) |
/api/v1/documents/{id}ドキュメントの削除
ドキュメントを完全に削除します。成功時は204 No Contentを返します。
プロジェクト
/api/v1/projects新しいプロジェクトを作成
リクエストボディ
| フィールド | タイプ | 必須 | 説明 |
|---|---|---|---|
name | string | はい | プロジェクト名(最大100文字) |
description | string | いいえ | プロジェクトの説明(最大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"
}/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
}/api/v1/projects/{id}プロジェクト詳細とドキュメント一覧の取得
ドキュメント一覧を含むプロジェクト詳細を返します。オーナーとメンバーのみアクセス可能です。
/api/v1/projects/{id}プロジェクトの更新(オーナーのみ)
リクエストボディ
| フィールド | タイプ | 必須 | 説明 |
|---|---|---|---|
name | string | いいえ | プロジェクト名(最大100文字) |
description | string | いいえ | プロジェクトの説明。空文字列 '' で説明を削除 |
プロジェクトオーナーのみ設定を変更できます。
/api/v1/projects/{id}プロジェクトの削除(オーナーのみ)
プロジェクトを削除します。所属ドキュメントは削除されず切断されます。204 No Contentを返します。
使用量とプロフィール
/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"
}/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キーを作成しましょう。