ドキュメント

API リファレンス

REST API でプログラムから PDF を生成する。

クイックスタート

  1. サインインして ダッシュボードから API キーを発行
  2. 下記の curl サンプルを叩いてジョブ ID を取得
  3. ジョブ状態を polling し、完了したら署名 URL から 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 を返します。statusdone になるまで 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 までご連絡ください。