typressAn editorial workshop.

REST API

公開 REST API はデフォルトで無効化されています。設定で publicApi: true にすると、認証なしで読み取り専用のエンドポイントが開きます。書き込みエンドポイントは存在しません。

有効化

管理画面の「設定」→「公開 API」を on にしてください。コメントの POST もこのフラグで gate されています (ADR-005 で同フラグの傘下にまとめました)。

エンドポイント

GET /api/posts                # 公開済み投稿の一覧 (limit/offset)
GET /api/posts/:slug          # 1 件と承認済みコメント
GET /api/pages/:slug          # 固定ページ 1 件
POST /api/comments            # コメント投稿 (rate limited)

レスポンス例

{
  "posts": [
    {
      "id": 1,
      "slug": "hello",
      "title": "Hello",
      "excerpt": "...",
      "publishedAt": "2026-01-01T00:00:00.000Z",
      "thumbnail": {
        "mediaId": 12,
        "url": "https://your-site.example/media/12",
        "mime": "image/png",
        "width": 1280,
        "height": 720
      },
      "terms": [{ "id": 3, "taxonomy": "category", "slug": "news", "name": "News" }]
    }
  ]
}

認証 / レート制限

公開 API は認証を要求しませんが、コメントエンドポイントは送信元 IP ごとにトークンバケットで絞られます (capacity 5、補充 0.1/sec)。投稿の読み取りは現在レート制限なしですが、必要に応じて nginx 側で limit_req を被せてください。