API リファレンス
REST API でプログラムから PDF を生成する。
クイックスタート
API ベース URL
https://api.jobundo.jp
認証
各 API 呼び出しには HTTP ヘッダー Authorization: Bearer <APIキー> を付与してください。API キーは lf_live_… 形式で、 ダッシュボード「API キー」セクションで発行します。発行時に 一度だけ表示されるトークンを安全に保管してください。
POST /v1/format (非同期 PDF 生成)
Markdown を渡してジョブを enqueue します。202 で job_id が返り、 実際の生成は worker が非同期に処理します。Markdown 自体の書き方は Markdown 記法リファレンス を参照してください。
curl -X POST https://api.jobundo.jp/v1/format \
-H "Authorization: Bearer lf_live_xxx_yyy" \
-H "Content-Type: application/json" \
-d '{
"markdown": "---\ntitle: テスト規程\ndoc_type: regulation\n---\n# 第 1 章 総則\n### 第 1 条(目的)\n1. 本規程は、…",
"config": {
"doc_type": "regulation",
"numbering": {"paragraph": "fullwidth_arabic", "item": "kanji", "subitem": "katakana"}
}
}'レスポンス:
{
"job_id": "job_xxxxxxxxxxxx",
"status": "pending",
"status_url": "/v1/jobs/job_xxxxxxxxxxxx",
"created_at": "2026-06-03T10:00:00Z"
}GET /v1/jobs/{job_id} (状態取得)
ジョブの状態と、完了している場合は 15 分有効の署名 URL を返します。status が done になるまで 1〜2 秒間隔で polling してください。
curl https://api.jobundo.jp/v1/jobs/job_xxxxxxxxxxxx \
-H "Authorization: Bearer lf_live_xxx_yyy"
# status=done のレスポンス例
{
"id": "job_xxxxxxxxxxxx",
"status": "done",
"created_at": "...",
"completed_at": "...",
"pages": 3,
"pdf_url": "https://jobundo-pdf-....s3.amazonaws.com/...?X-Amz-...",
"pdf_url_expires_at": "...",
"warnings": []
}POST /v1/validate (PDF 生成なしの構文チェック)
Markdown を解析し、欠番・参照切れなどの warnings を返します。 PDF は生成せず、課金されません。
curl -X POST https://api.jobundo.jp/v1/validate \
-H "Authorization: Bearer lf_live_xxx_yyy" \
-H "Content-Type: application/json" \
-d '{"markdown": "..."}'レート制限とクォータ
- フリープラン: 月 20 ページまで。生成 PDF に「SAMPLE」ウォーターマーク。 超過時は
402 Payment Required - 従量プラン: ¥10/ページ、ウォーターマークなし、上限なし
- Playground (/playground): 認証不要。 入力 5 KB / 1 分 3 回 / 1 日 10 回まで
- サーバが過負荷の場合:
503 Service Unavailable+Retry-Afterヘッダ
エラーの形
{
"detail": "Monthly free-plan page quota exhausted. Upgrade to paid plan.",
"plan": "free",
"quota": 20,
"used": 20
}サポート
不明な挙動・要望は jobundo-support@jobundo.jp までご連絡ください。