Wiki API リファレンス
Wiki ページの作成・閲覧・更新・削除、階層移動、リビジョン履歴、復元、検索の API です。
認証・エラー形式・ロールは REST API リファレンスの共通仕様 を参照してください。このページの auth 列は、読む = 全 project member、書く = owner / admin / member、admin = owner / admin を表します。
前提
- project で Wiki 機能が有効であること。無効な project への呼び出しは
404です。 {projectId}と{pageId}は UUID、{revision}は 1 始まりの整数です。- 階層は最大 5 階層です。自分自身や子孫の下へは移動できません。
- Free は project ごとに 20 ページまでです。上限到達後の作成は
402 plan_limitです。Pro のページ数に上限はありません。 - ページの更新と復元は新しいリビジョンを作ります。階層移動ではリビジョンを作りません。
ページ
/api/projects/{projectId}/wiki/pages読むproject の全ページを、ツリー構築用の parentId と position を含む一覧で返します。
{
"pages": [
{
"id": "page-uuid",
"parentId": null,
"title": "運用ガイド",
"position": 0,
"updatedBy": { "id": "user-uuid", "displayName": "山田" },
"updatedAt": "2026-08-31T01:23:45.678Z"
}
]
}
/api/projects/{projectId}/wiki/pages書くWiki ページを作成します。作成時にリビジョン 1 が記録されます。
{
"title": "運用ガイド",
"body": "# はじめに\n\n運用手順です。",
"parentId": null,
"attachmentIds": []
}
| field | 条件 |
|---|---|
title | 必須、1〜200 文字 |
body | 任意、100,000 文字まで |
parentId | 同じ project の親ページ UUID または null |
attachmentIds | upload 完了済みの添付 UUID、20 件まで |
| status | 意味 |
|---|---|
201 | { "page": WikiPageDetail } |
400 | 入力、親ページ、添付が不正 |
402 | Free のページ数上限を超過 |
422 | 5 階層を超過 |
/api/projects/{projectId}/wiki/pages/{pageId}読む本文・作成者・添付を含むページ詳細を返します。
/api/projects/{projectId}/wiki/pages/{pageId}書くタイトル、本文、添付を更新します。1 項目以上を指定してください。タイトルまたは本文が変わると新しいリビジョンが記録されます。
{
"title": "運用ガイド(更新版)",
"body": "更新後の本文",
"attachmentIds": ["attachment-uuid"]
}
/api/projects/{projectId}/wiki/pages/{pageId}adminページとリビジョンを削除します。子ページがある場合は削除せず 409 wiki_page_has_children を返します。
| status | 意味 |
|---|---|
204 | 削除済み |
403 | owner / admin ではない |
404 | ページが見つからない |
409 | 子ページが存在する |
階層移動
/api/projects/{projectId}/wiki/pages/{pageId}/move書くページを別の親・兄弟位置へ移動します。position は移動先の兄弟内で 0 始まりです。
{
"parentId": "parent-page-uuid",
"position": 1
}
parentId: null はルート階層です。循環は 422 wiki_page_cycle、深さ超過は 422 wiki_page_depth です。
リビジョン
/api/projects/{projectId}/wiki/pages/{pageId}/revisions読むリビジョンを新しい順で返します。
{
"revisions": [
{
"revision": 2,
"title": "運用ガイド(更新版)",
"editedBy": { "id": "user-uuid", "displayName": "山田" },
"createdAt": "2026-08-31T02:00:00.000Z"
}
]
}
/api/projects/{projectId}/wiki/pages/{pageId}/revisions/{revision}読む指定リビジョンのメタ情報と body スナップショットを返します。
/api/projects/{projectId}/wiki/pages/{pageId}/revisions/{revision}/restore書く指定リビジョンのタイトルと本文を復元します。既存履歴は変更せず、復元内容を新しいリビジョンとして追加します。
| status | 意味 |
|---|---|
200 | { "page": WikiPageDetail } |
400 | リビジョン番号が不正 |
403 | 更新権限がない |
404 | ページまたはリビジョンが見つからない |
検索
/api/projects/{projectId}/wiki/search?q={query}読むタイトルと本文を大文字小文字を区別せず部分一致で検索し、更新が新しい順に最大 50 件返します。
q は必須で、1〜100 文字です。snippet は一致位置周辺の本文を最大 120 文字で返します。
{
"results": [
{
"id": "page-uuid",
"title": "運用ガイド",
"snippet": "…日々の運用手順を確認します…",
"updatedAt": "2026-08-31T02:00:00.000Z"
}
]
}
型
| 型 | フィールド |
|---|---|
WikiPageMeta | id、parentId、title、position、updatedBy、updatedAt |
WikiPageDetail | WikiPageMeta + body、createdBy、attachments |
WikiRevisionMeta | revision、title、editedBy、createdAt |
WikiRevisionDetail | WikiRevisionMeta + body |
WikiSearchResult | id、title、snippet、updatedAt |