BASE REST API

ChatGPT や外部 AI サービス、自作アプリから
BASE のナレッジを参照・編集できます。

REST API とは

外部サービスからBASEのデータにアクセスする仕組みです。

エンドポイント

読み取り5本と書き込み3本、計8本のエンドポイントを紹介します。

トークン発行

API接続用のトークンを発行します。

ChatGPT GPTs 連携

ChatGPTのGPTsからBASEを使う設定手順です。

動作確認

curlコマンドでAPIの動作を確認します。

よくある質問

トラブル時の対処法やよくある疑問にお答えします。

REST API とは

BASE REST API を使うと、ChatGPT などの外部 AI サービスや自作アプリケーションから BASE のナレッジデータにアクセスできます。

REST API(このページ)

ChatGPT GPTs、Gemini、外部アプリなど幅広い AI サービスから接続できます。標準的な HTTP リクエストで、参照・編集の両方に対応しています。

MCP 接続(別ガイド

Claude Desktop / claude.ai 向けの接続方式です。Claude をお使いの場合はこちらがおすすめです(参照のほか、write スコープを付ければ編集も可能)。

REST API は参照・編集の両方に対応しています。読み取りだけ使う場合は read スコープ、編集も行う場合は read + write スコープのトークンを発行してください。
OAuth ネイティブ接続にも対応しています。OAuth に対応したクライアント(Claude の Connectors 等)は、トークンを手動発行せず、接続先 https://base.kodama.com/mcp を指定してブラウザで認可するだけで接続できます(Base ID は認可画面で入力)。ChatGPT GPTs の Actions では、下記の API Key 方式が最も簡単です。Claude をお使いの場合は MCP 接続ガイドもご覧ください。
機密情報を含む Base の接続にご注意ください
API 連携を行うと、Base に記録された内容が外部 AI サービスに送信されます。 パスワード、API キー、個人識別番号などの機密情報を含む Base は接続しないでください

エンドポイント

読み取り 5 本、書き込み 3 本のエンドポイントを提供しています。ベースURL: https://base.kodama.com/api/v1

読み取り(read スコープ)

GET /bases/{base_id}/info

Base の概要情報(名前、公開設定、総ページ数)を取得します。

GET /bases/{base_id}/pages

Base 内の全ページ一覧を表示順で取得します。

GET /bases/{base_id}/pages/{content_id}

指定ページの本文(Markdown)とメタ情報を取得します。

GET /bases/{base_id}/search?q={keywords}

キーワードでページのタイトル・本文を検索し、スコア順で返します。

GET /bases/{base_id}/tree

ページの階層構造をネストされたツリー形式で取得します。

書き込み(read + write スコープ、Base の owner 限定)

POST /bases/{base_id}/pages

ページを新規作成します。ツリー末尾に level=0 で追加され、作成後のページ詳細が返ります。階層調整は作成後に PATCHlevel を更新してください。

PATCH /bases/{base_id}/pages/{content_id}

ページを部分更新します。title / body / content_type / content_lang / view / level のうち送信したフィールドのみ更新されます(最低 1 つ必須)。

DELETE /bases/{base_id}/pages/{content_id}

ページをゴミ箱へ移動します(ソフト削除)。物理削除ではなく、Web UI のゴミ箱画面から復元できます。

OpenAPI スキーマは https://base.kodama.com/api/openapi.yaml で公開しています。ChatGPT GPTs Actions に直接インポートできます。
LLM 向けマニュアルも公開しています。Claude / ChatGPT / Cursor 等にそのまま読み込ませる用途に最適化された Markdown 版です。

API トークンを発行する

API にアクセスするための「鍵」を発行します。この鍵をAPI トークンと呼びます。

  1. トークン発行ページを開く

    BASE にログインした状態で、マイページの「API Token」リンクをクリックしてトークン発行ページを開きます。

  2. トークンを作成する

    以下の設定で新しいトークンを作成します:

    スコープ 用途に応じて選択:
    read のみ(参照だけ。ChatGPT 連携など読み取り中心の用途はこちら)
    read + write(参照に加えてページ作成・編集・削除も可能)
    許可する Base 接続したい Base の ID を入力(必ず設定してください
    有効期限 お好みで選択(迷ったら「90日」がおすすめ)
    「許可する Base」は必須項目です。トークンは指定した Base にのみアクセスできます。他の Base のデータが AI に送信されることはありません。
    write スコープは慎重に。このスコープを持つトークンが漏洩すると、第三者から Base のページを編集・削除される可能性があります。読み取りで足りる場合は read のみで発行することをおすすめします。書き込みを行うアカウント自体が owner である Base にのみ作用します。
  3. トークンをコピーして保存する

    作成されたトークンが表示されます。kid_ で始まる長い文字列です。 この画面を閉じると二度と表示されません。必ずコピーして安全な場所に保存してください。

トークンはパスワードと同じです。他の人に教えたり、メールやチャットに貼り付けたりしないでください。漏洩した場合は、トークン発行ページから該当トークンを削除して新しいものを発行してください。

ChatGPT GPTs を設定する

ChatGPT の GPTs(カスタム GPT)に BASE を接続します。

  1. GPT を作成する

    ChatGPT で「GPT を作成」(または「Explore GPTs」→「Create」)を開きます。

  2. Instructions を設定する

    GPT の「Instructions」に、Base の用途と ID を記載します。

    Instructions の記載例:

    • 「Base ID my-knowledge のナレッジベースから情報を検索・取得して回答してください。」
    • 「ユーザーの質問に関連するページを searchPages で検索し、必要に応じて getPage で本文を取得してから回答してください。」
  3. Actions を追加する

    「Configure」タブで「Actions」→「Create new action」を選択します。

  4. OpenAPI スキーマをインポートする

    「Import from URL」をクリックし、以下の URL を入力します:

    https://base.kodama.com/api/openapi.yaml

    インポートが完了すると、5つのエンドポイントが Actions として登録されます。

  5. 認証を設定する

    Actions の認証設定で以下を入力します:

    Authentication 「API Key」を選択
    API Key 発行した KID トークン(kid_xxx...)を入力
    Auth Type 「Bearer」を選択
  6. 保存して使う

    「Save」で保存したら、GPT に話しかけてみましょう。BASE のナレッジを参照した回答が得られます。

    おすすめのプロンプト:

    • 「BASE にどんなページがありますか?」
    • 「セキュリティに関するページを検索して」
    • 「認証機構のページの内容を要約して」
GPTs Actions では、ChatGPT がユーザーの質問に応じて自動的に適切な API を呼び出します。ユーザーが API を意識する必要はありません。
GPTs から書き込みを使う場合の注意: ChatGPT に書き込み可能なトークン(write スコープ付き)を渡すと、会話の流れで意図せずページの作成・編集・削除が行われる可能性があります。GPTs 連携は read のみのトークンで運用し、書き込みは自作スクリプトや専用ツールから利用することを推奨します。

動作確認(curl)

ターミナルから curl コマンドで API の動作を確認できます。

読み取り

  1. Base 情報を取得する
    curl -H "Authorization: Bearer あなたのAPIトークン" \ https://base.kodama.com/api/v1/bases/your-base-id/info
  2. ページ一覧を取得する
    curl -H "Authorization: Bearer あなたのAPIトークン" \ https://base.kodama.com/api/v1/bases/your-base-id/pages
  3. キーワードで検索する
    curl -H "Authorization: Bearer あなたのAPIトークン" \ https://base.kodama.com/api/v1/bases/your-base-id/search?q=検索ワード
  4. 成功時のレスポンス例
    // GET /api/v1/bases/my-knowledge/info { "base_id": "my-knowledge", "description": "社内ナレッジベース", "view": "L", "total_pages": 42 }

書き込み(write スコープが必要)

  1. ページを新規作成する
    curl -X POST \ -H "Authorization: Bearer あなたのAPIトークン" \ -H "Content-Type: application/json" \ https://base.kodama.com/api/v1/bases/your-base-id/pages \ -d '{ "title": "新規ページ", "body": "# 本文\n\nMarkdownで記述します。", "content_type": "M", "content_lang": "ja" }'

    レスポンスは 201 Created。作成されたページの詳細(content_id を含む)が返ります。

  2. ページのタイトルだけを更新する
    curl -X PATCH \ -H "Authorization: Bearer あなたのAPIトークン" \ -H "Content-Type: application/json" \ https://base.kodama.com/api/v1/bases/your-base-id/pages/content_id \ -d '{"title": "更新後のタイトル"}'

    送信したフィールドだけが更新されます。同様に body / content_type / content_lang / view / level も指定可能です。

  3. ページをゴミ箱へ移動する(ソフト削除)
    curl -X DELETE \ -H "Authorization: Bearer あなたのAPIトークン" \ https://base.kodama.com/api/v1/bases/your-base-id/pages/content_id

    レスポンスは 204 No Content(本文なし)。ゴミ箱に入ったページは Web UI から復元できます。

検索キーワードに日本語を含む場合は、URL エンコードが必要です。多くのターミナルでは自動的にエンコードされますが、問題がある場合は --data-urlencode オプションを使用してください。

よくある質問

お困りの際はこちらをご確認ください。

「UNAUTHORIZED」エラーが返る
API トークンが無効または期限切れです。トークン発行ページで新しいトークンを作成してください。 Authorization: Bearer のスペルが正しいかも確認してください。
「FORBIDDEN」エラーが返る
指定した Base に対するアクセス権がありません。API を使えるのは Base の owner 本人だけです(reader/writer として参加しているだけでは利用できません)。書き込み操作の場合はトークンに write スコープが付いているかも確認してください。Base ID のスペルが正しいかも確認してください。
ChatGPT が API を呼んでくれない
GPTs の Instructions に Base ID を明記し、「BASE の API を使って情報を検索してから回答してください」と指示を追加してみてください。 Actions の認証設定(Bearer トークン)が正しく保存されているかも確認してください。
Claude Desktop で使いたい場合は?
Claude Desktop には REST API ではなく、専用の MCP 接続がおすすめです。 MCP 接続ガイドをご覧ください。
API で記事を編集できますか?
はい、可能です。トークンに write スコープを付け、そのトークンを発行したアカウントが対象 Base の owner 本人である必要があります(reader/writer では利用できません)。 ページの作成(POST)、部分更新(PATCH)、ゴミ箱への移動(DELETE)が利用可能です。完全削除はサポートしておらず、ゴミ箱からの復元は Web UI から行います。
OpenAPI スキーマはどこにありますか?
https://base.kodama.com/api/openapi.yaml で公開しています。 ChatGPT GPTs の Actions に「Import from URL」で直接インポートできます。
LLM に直接マニュアルを読ませたいのですが?
LLM 向けに最適化した Markdown マニュアルを https://base.kodama.com/api/manual.md で公開しています。 Claude / ChatGPT / Cursor 等に URL を貼り付けるか、ダウンロードして context に読み込ませてください。 同じ内容は https://base.kodama.com/llms-full.txt でも配信しており、https://base.kodama.com/llms.txtllmstxt.org 規格のサイトインデックス)から辿れます。