RAISELIFE / API

公開 REST API

外部 AI (ChatGPT / Claude / Zapier / Siri Shortcuts / curl 等) から RaiseLife のタスクを操作するための REST API です。 ユーザーごとに発行する API Key で認証します。

クイックスタート (3 分)

  1. アプリ を開いて Google でログイン
  2. 右上の 「API Key」 ボタンをクリック
  3. 名前 (例: ChatGPT) を入力して 「新規発行」
  4. 発行された rl_... の 64 文字を安全な場所にコピー保存 (再表示できません)
  5. 以下の curl 例で動作確認、または ChatGPT Custom GPT のアクション作成に進む

認証

全エンドポイントは HTTP ヘッダに以下を付けて認証します:

Authorization: Bearer rl_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

エンドポイント

GET/api/state

相棒の現在の状態 + タスク一覧 + 進化段階を取得

RESPONSE

{
  "ok": true,
  "state": {
    "eggKey": "chi",
    "buddyName": "クロベエ",
    "currentStage": 3,
    "tokuPt": 237,
    "branches": {
      "growth": "B",
      "mature": "B1"
    },
    "equipment": [
      "古時計",
      "詠み札"
    ],
    "skills": [
      "あくび",
      "静かに読む"
    ],
    "titles": [
      "はじまりの子",
      "柔らかな者"
    ],
    "streak": 7,
    "tasks": [
      "..."
    ]
  }
}
POST/api/tasks

タスクを追加 (= 嫌度と分類を指定)

  • category: habit (毎日の習慣) / daily (今日の日課) / todo (1 回限り)
  • hardness: 1〜5 の整数、嫌度が高いほど徳 pt が多い (1=1pt, 2=3pt, 3=6pt, 4=10pt, 5=15pt)

REQUEST BODY

{
  "name": "3ヶ月放置の経費精算",
  "category": "todo",
  "hardness": 5
}

RESPONSE

{
  "ok": true,
  "task": {
    "id": "t-1793250000-abcde",
    "name": "3ヶ月放置の経費精算",
    "category": "todo",
    "hardness": 5,
    "createdAt": "2026-10-29T06:00:00.000Z"
  },
  "state": "... (更新後の GameState)"
}
GET/api/tasks

タスク一覧のみを返す (state の tasks と同じ内容)

POST/api/tasks/{id}/complete

タスクを完了として記録 → 徳 pt が加算され、閾値を超えれば進化イベント

  • 進化は決定論的 (徳 pt 累積 100/500/2,000/8,000/20,000 で発動)
  • 分岐進化は 3 軸: 平均嫌度 / タスク傾向 / 連続日数

RESPONSE

{
  "ok": true,
  "earned": 15,
  "evolved": true,
  "previousStage": 2,
  "newStage": 3,
  "state": ".."
}

curl 例

1. タスクを追加

curl -X POST https://raise-life.pages.dev/api/tasks \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"3ヶ月放置の経費精算","category":"todo","hardness":5}'

2. 現在の状態を取得

curl -H "Authorization: Bearer $API_KEY" \
  https://raise-life.pages.dev/api/state

3. タスクを完了

TASK_ID="t-..."
curl -X POST "https://raise-life.pages.dev/api/tasks/${TASK_ID}/complete" \
  -H "Authorization: Bearer $API_KEY"

🤖 ChatGPT Custom GPT (Actions) 連携

ChatGPT Plus の Custom GPT で RaiseLife を直接操作できます。 ChatGPT に「経費精算が溜まってる」と話すだけで自動登録 → 相棒の状態報告まで走ります。

  1. ChatGPT で GPTs → 新規作成 → Configure タブ
  2. Actions → Create new action
  3. Authentication → API Key → Auth Type: Bearer → RaiseLife で発行した rl_... を貼り付け
  4. Schema に openapi.yaml の中身を貼り付け (または URL をインポート)
  5. Instructions に以下を貼り付け:
あなたは RaiseLife (徳を積むほど相棒が育つ habit tracker) の AI コーチです。
ユーザーのメモや相談から、以下のルールでタスクを登録してください:

- 「嫌・面倒・不快」な行動のみ登録 (楽しいことは登録しない)
- 嫌度は 1(軽い) 〜 5(重い) で見積もる
- カテゴリは habit(毎日の習慣)/daily(今日やる日課)/todo(1 回限り) から選ぶ
- 登録後、ユーザーに「相棒の現在のレベルと次の進化までの残り pt」を伝える

ユーザーから「経費精算が溜まってる」のような相談があったら:
→ addTask で category:"todo" hardness:5 で登録
→ getState で相棒の状態を取得して報告

Claude の MCP として使いたい場合は、今後 raise-life MCP サーバーとして公開予定 (Phase 2)。 Zapier / Make / n8n / iOS ショートカットも HTTP アクションでそのまま使えます。

エラーコード

本文は { "error": "..." } で返ります。

セキュリティメモ

質問・要望は Linear Project へ · OpenAPI 仕様: /openapi.yaml