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_key

APIキーは 設定

エンドポイント一覧

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使用量の取得

ドキュメント

POST/api/v1/documents

新しいMarkdownドキュメントを作成

リクエストボディ

フィールドタイプ必須説明
contentstringはいMarkdownコンテンツ(最大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}

スラッグでドキュメントを取得

クエリパラメータ

フィールドタイプ必須説明
passwordstringいいえパスワード保護されたドキュメントのパスワード
PATCH/api/v1/documents/{id}

ドキュメントの更新(部分更新)

リクエストボディ

すべてのフィールドはオプションです。指定されたフィールドのみ更新されます。

フィールドタイプ必須説明
contentstringいいえMarkdownコンテンツ(最大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キーを作成しましょう。