すべてのエンドポイントは次のベース URL から始まります:
https://tomy634.com
すべての API は API キー が必要です。
?api_key=YOUR_KEYX-API-Key: YOUR_KEY例(クエリパラメータ):
curl "https://tomy634.com/api/v1/ping?api_key=YOUR_PUBLIC_KEY"
例(ヘッダ):
curl "https://tomy634.com/api/v1/ping" \
-H "X-API-Key: YOUR_PUBLIC_KEY"
現在の public キーの標準設定(例):
実際の残り回数は GET /api/v1/ping のレスポンス中
rate フィールドで確認できます。
/api/v1/ping
API キーが有効か、現在のレート状況がどうなっているかを確認するためのエンドポイントです。
パラメータ
api_key(必須):クエリまたはヘッダレスポンス例
{
"ok": true,
"api_key_name": "sample-public",
"is_admin": false,
"rate": {
"per_second_limit": 8,
"per_day_limit": 100,
"remaining_this_second": 7,
"remaining_today": 54
},
"server_time": "2025-11-16T13:39:09.137520+00:00"
}
curl 例
curl "https://tomy634.com/api/v1/ping?api_key=YOUR_PUBLIC_KEY"
/api/v1/boxes
新しい一時メールアドレス(ボックス)を作成します。
生成された box_id と email を使ってメール受信を監視します。
リクエストボディ(JSON)
ttl_days(任意): 保存日数。1, 3, 7 など。max_messages(任意): そのボックスに保存する最大メール件数。delete_on_first(任意): true にすると「1通でも届いたらボックスごと削除」モード(0 特殊パターン)。※未指定の場合は、サーバ側のデフォルト値(例:ttl_days=1, max_messages=5)が適用されます。
レスポンス例
{
"box_id": "sii3jux2ipw4",
"email": "pwhnbzy0@tomy634.com",
"created_at": "2025-11-16T14:24:59.175025+00:00",
"ttl_days": 1,
"max_messages": 5,
"delete_on_first": false,
"expires_at": "2025-11-17T14:24:59.291505+00:00"
}
curl 例(1日 / 5通)
curl -X POST "https://tomy634.com/api/v1/boxes?api_key=YOUR_PUBLIC_KEY" \
-H "Content-Type: application/json" \
-d '{
"ttl_days": 1,
"max_messages": 5
}'
curl 例(delete_on_first = true : 1通でも来たら自動破棄)
curl -X POST "https://tomy634.com/api/v1/boxes?api_key=YOUR_PUBLIC_KEY" \
-H "Content-Type: application/json" \
-d '{
"ttl_days": 0,
"delete_on_first": true
}'
/api/v1/boxes/{box_id}/messages
指定したボックスに届いているメールの一覧を取得します。
クエリパラメータ
api_key(必須):API キーlimit(任意):取得件数(最大 50〜100 程度。実装に依存)レスポンス例
{
"box_id": "sii3jux2ipw4",
"messages": [
{
"id": 1,
"box_id": "sii3jux2ipw4",
"from": "sender1@example.com",
"subject": "テストメール 1",
"date": "2025-11-16T14:32:26.720602+00:00",
"snippet": "これは API テスト用のダミー本文 1 です。"
},
{
"id": 2,
"box_id": "sii3jux2ipw4",
"from": "sender2@example.com",
"subject": "テストメール 2",
"date": "2025-11-16T14:32:26.720602+00:00",
"snippet": "これは API テスト用のダミー本文 2 です。"
}
]
}
curl 例
curl "https://tomy634.com/api/v1/boxes/BOX_ID/messages?api_key=YOUR_PUBLIC_KEY&limit=20"
/api/v1/messages/{message_id}
1件分のメール詳細を JSON で取得します。
件名・送信元・受信日時・本文テキスト(body_text)などが含まれます。
レスポンス例
{
"id": 1,
"box_id": "sii3jux2ipw4",
"email": "pwhnbzy0@tomy634.com",
"from": "sender1@example.com",
"subject": "テストメール 1",
"date": "2025-11-16T14:32:26.720602+00:00",
"snippet": "これは API テスト用のダミー本文 1 です。",
"body_text": "これは API テスト用のダミー本文 1 です。"
}
curl 例
curl "https://tomy634.com/api/v1/messages/1?api_key=YOUR_PUBLIC_KEY"
/api/v1/messages/{message_id}/text
メール本文を「プレーンテキストのみ」で欲しい場合はこちらを使います。
レスポンスの Content-Type は text/plain; charset=utf-8 になります。
curl 例
curl "https://tomy634.com/api/v1/messages/1/text?api_key=YOUR_PUBLIC_KEY"
レスポンス例
これは API テスト用のダミー本文 1 です。
import requests
API_KEY = "YOUR_PUBLIC_KEY"
BASE = "https://tomy634.com"
# 1) ボックス作成(1日 / 最大5通)
r = requests.post(
f"{BASE}/api/v1/boxes",
params={"api_key": API_KEY},
json={"ttl_days": 1, "max_messages": 5},
timeout=10,
)
r.raise_for_status()
box = r.json()
box_id = box["box_id"]
email = box["email"]
print("発行されたアドレス:", email)
# 2) メール一覧を取得
r = requests.get(
f"{BASE}/api/v1/boxes/{box_id}/messages",
params={"api_key": API_KEY, "limit": 20},
timeout=10,
)
r.raise_for_status()
data = r.json()
for m in data.get("messages", []):
print(m["id"], m["from"], m["subject"])
const API_KEY = "YOUR_PUBLIC_KEY";
const BASE = "https://tomy634.com";
async function listMessages(boxId) {
const url = new URL(`/api/v1/boxes/${boxId}/messages`, BASE);
url.searchParams.set("api_key", API_KEY);
url.searchParams.set("limit", "20");
const res = await fetch(url);
if (!res.ok) {
console.error("error:", res.status, await res.text());
return;
}
const data = await res.json();
console.log("messages:", data.messages);
}