APIドキュメント
PasteBox API を使って、プログラムからペーストを作成・取得できます。
ベースURL
https://pastebox.io/api/paste.php
認証
APIキー(スクリプトにおすすめ)
登録ユーザーは プロフィール → APIキー からAPIキーを発行できます。キーを使うとリクエストがあなたとして認証されるため、セッションCookieやCSRFトークンは不要です。Authorization ヘッダー(または X-API-Key ヘッダー)で送信してください:
Authorization: Bearer pb_your_api_key
キーはアカウント単位で発行され、キーごとにレート制限があります。キーはいつでも一時停止または削除できます。管理者は個々のキーやAPI全体を無効にできます。
ブラウザセッション(CSRFトークン)
ログイン中のブラウザセッションからのリクエストでは、代わりにCSRFトークンを使用します。トークンは各ページの タグから読み取り、次のヘッダーとして送信します:
X-CSRF-Token: your_csrf_token
読み取り専用のエンドポイント(ペーストとその生データの取得)には、キーもアカウントも不要です。たとえば、任意の公開ペーストをプレーンテキストとして取得できます:
curl -s -H "Authorization: Bearer pb_your_api_key" \
-d '{"content":"hello","syntax":"text"}' \
https://pastebox.io/api/paste.php?action=create
ペーストを作成
/api/paste.php?action=create
パラメーター
| パラメーター | 種類 | 必須 | 説明 |
|---|---|---|---|
| content | string | はい | ペーストの内容 |
| title | string | いいえ | ペーストのタイトル(デフォルト:"Untitled") |
| syntax | string | いいえ | 構文の言語スラッグ(デフォルト:"plaintext") |
| expiration | string | いいえ | 有効期限:5min, 10min, 1hour, 1day, 1week, 2weeks, 1month, 6months, 1year, never |
| visibility | string | いいえ | public(公開)、unlisted(非公開)、private(プライベート)のいずれか(デフォルト:"public") |
| slug | string | いいえ | カスタムURLのスラッグ(ログインユーザーのみ、かつ管理者がカスタムURLを有効にしている場合のみ):3〜64文字の英小文字・数字・ハイフン。ゲストの場合、機能が無効な場合、使用済みまたは無効な場合は無視され、代わりにランダムなスラッグが使用されます。 |
| password | string | いいえ | ペーストを保護するパスワード |
| burn_after_read | boolean | いいえ | 初回閲覧後にペーストを削除 |
| encrypt | boolean | いいえ | サーバー側暗号化を有効にする |
リクエスト例
curl -X POST https://pastebox.io/api/paste.php?action=create \
-H "Content-Type: application/json" \
-H "X-CSRF-Token: YOUR_TOKEN" \
-d '{
"content": "console.log(\"Hello World\");",
"title": "Hello World",
"syntax": "javascript",
"expiration": "1week",
"visibility": "public"
}'
レスポンス例
{
"success": true,
"message": "Paste created successfully.",
"url": "https://pastebox.io/paste/abc123",
"slug": "abc123"
}
ペーストの生データを取得
/api/paste.php?action=raw&slug={slug}
ペーストの生のテキスト内容を返します。パスワード保護されたペーストの場合は、パスワードをクエリパラメーターとして渡してください。
例
curl https://pastebox.io/api/paste.php?action=raw&slug=abc123
ペーストをダウンロード
/api/paste.php?action=download&slug={slug}
構文の言語に応じた適切な拡張子のファイルとしてペーストをダウンロードします。
ペーストを削除
/api/paste.php?action=delete
ペーストを削除します。ペーストの所有者または管理者のみ利用できます。
リクエスト例
curl -X POST https://pastebox.io/api/paste.php?action=delete \
-H "Content-Type: application/json" \
-H "X-CSRF-Token: YOUR_TOKEN" \
-d '{"slug": "abc123"}'
レート制限
- APIキーによるリクエスト:キーごとに1時間あたり 1000 回(サイト管理者が設定。超過すると 429 が返されます)。
- ゲストによるペースト作成(キー・セッションなし):IPごとに1時間あたり10件。ログインユーザーによる作成には、IPベースのレート制限は適用されません。
- パスワードによるロック解除の試行:ペーストごとに10分あたり10回。
- 報告:IPごとに1時間あたり5件。
- 読み取り専用のエンドポイント(表示 / 生データ / ダウンロード)にはレート制限はありません。
制限を超えるとリクエストは拒否されます。しばらく待ってから再試行してください。
エラーレスポンス
すべてのエラーレスポンスは次の形式に従います:
{
"success": false,
"message": "Error description here."
}