← chatweb.ai

API リファレンス

Base URL: https://chatweb.ai — 認証: Bearer token or session cookie

目次 Chat(チャット・ストリーミング) Agents(エージェント管理) Auth(認証) Memory(長期記憶) Schedule(定期実行) Deploy(サイト公開) A2A(エージェント間通信) Google Workspace Billing(課金・クレジット) Files(ファイル・RAG) Teams(チーム) External API(v1) Webhooks

Chat

POST /chat/stream/{session_id} Auth SSEストリーミングチャット(メイン)
{
  "message": "競合分析してレポートをメールで送って",
  "session_id": "cw_xxx",
  "image_data": "",           // base64画像(任意)
  "preferred_agents": [],     // プリセットフィルタ
  "preset_instruction": ""    // プリセット固有プロンプト
}

SSEイベント: routed token tool plan_created plan_step plan_done cost memories_loaded hitl_required error

POST /chat/loop/{session_id} Auth エージェントループ実行([[CONTINUE]]/[[DONE]])
POST /chat/suggest フォローアップ質問の提案生成
GET /history/{session_id} セッションの会話履歴取得
GET /sessions セッション一覧
GET /search/messages 会話横断検索

Agents

GET /agents 全エージェント一覧(LLMマッピング付き)
POST /agents/{agent_id}/fork Auth ビルトインエージェントのフォーク(カスタム版作成)
POST /agents/custom カスタムエージェント新規作成
GET /agents/custom カスタムエージェント一覧
PATCH /agents/{agent_id} エージェントのプロンプト・設定を更新
POST /agents/{agent_id}/model エージェントのLLMモデルを変更
DELETE /agents/custom/{id} カスタムエージェント削除

Auth

GET /auth/me ログイン状態・クレジット残高・LINE/TG連携状態・AI名前
GET /auth/google Google OAuth開始(リダイレクト)
POST /auth/register メールでMagic Link送信
{ "email": "user@example.com" }
GET /auth/verify?token=xxx Magic Link認証
POST /auth/logout ログアウト
GET /link/code Auth LINE/Telegram連携コード生成(10分有効)
POST /link/verify 連携コード検証・アカウント紐付け

Memory

GET /memory/list 記憶一覧(importance順)
GET /memory/search?q=xxx 記憶のキーワード検索
POST /memory/add 記憶を追加
{ "content": "ユーザーはPython好き" }
DELETE /memory/{memory_id} 記憶を削除

Schedule

POST /schedule/tasks 定期実行タスク作成
{
  "cron": "0 9 * * *",
  "agent_id": "research",
  "message": "AIニュースをまとめてLINEに送って",
  "enabled": true
}
GET /schedule/tasks 定期タスク一覧
DELETE /schedule/tasks/{task_id} 定期タスク削除

Deploy(サイト公開)

POST /deploy/site HTMLをxxx.chatweb.aiに公開
{
  "html": "<!DOCTYPE html>...完全なHTML...",
  "subdomain": "my-app",
  "title": "My App"
}

レスポンス: {"url": "https://my-app.chatweb.ai", "ok": true}

GET /deploy/sites 公開済みサイト一覧
PUT /deploy/site/{subdomain} サイト更新
DELETE /deploy/site/{subdomain} サイト削除

A2A Protocol

GET /.well-known/agent-card.json Public A2Aエージェントカード(capabilities宣言)
POST /a2a/tasks/send A2Aタスク送信(外部エージェントからの委譲)

Google Workspace

全てGoogle OAuth認証済みの場合のみ利用可能。未認証時は /auth/google にリダイレクト。

GET /auth/google/status Auth Google連携状態確認

Google操作はエージェント経由(gmail, calendar, drive, sheets, docs, contacts, tasks)で実行されます。直接APIエンドポイントではなく、チャットで「メールを送って」「予定を確認して」と指示します。

Billing

GET /billing/plans 利用可能なプラン一覧
POST /billing/create-checkout Auth Stripeチェックアウトセッション作成
POST /billing/webhook Stripe Webhook受信
GET /usage/{session_id} セッション使用量・コスト

Files & RAG

POST /upload ファイルアップロード(PDF/Excel/CSV/画像)
GET /upload/{file_id} アップロード済みファイル取得
POST /rag/index ドキュメントをRAGインデックスに登録
GET /rag/search?q=xxx RAGベクトル検索
POST /sql/query SQLクエリ実行(SELECT only)
POST /sql/csv_to_db CSVをSQLiteテーブルにインポート

Teams

POST /teams Auth チーム作成
GET /teams Auth 参加チーム一覧
POST /teams/{team_id}/invite チームメンバー招待
POST /teams/{team_id}/broadcast チーム全員にメッセージ送信

External API (v1)

外部アプリからchatweb.aiのエージェントを呼び出すAPI。APIキー認証。

POST /api/v1/chat API Key 外部APIからのチャット(SSEストリーミング)
Headers: X-API-Key: your_api_key
Body: { "message": "...", "session_id": "...", "agent_id": "research" }
GET /api/v1/agents API Key エージェント一覧(外部API用)
POST /api/keys Auth APIキー発行
GET /api/keys Auth APIキー一覧

Webhooks

POST /webhook/{agent_id} Webhook経由でエージェント実行
POST /webhook/github GitHub Webhook受信
POST /telegram/webhook Telegram Bot Webhook
POST /line/webhook LINE Messaging API Webhook
POST /slack/events Slack Events API
POST /zapier/trigger Zapier Webhook統合

その他

GET /health Public ヘルスチェック
GET /metrics Prometheusメトリクス
GET /dashboard ダッシュボード統計JSON
POST /tts テキスト→音声変換(TTS)
POST /transcribe 音声→テキスト変換(STT)
POST /vision/analyze 画像解析(Claude Vision)
POST /image/generate AI画像生成
POST /send-to-messenger Auth LINE/Telegramにメッセージ転送
POST /share/{session_id} 会話を公開リンクで共有
GET /export/{session_id} 会話をMarkdown/JSONでエクスポート

認証方式

Web Session

Google OAuth or Magic Linkでログイン後、session Cookieが発行されます。以降のリクエストはCookieで自動認証。

API Key

/api/v1/* エンドポイントは X-API-Key ヘッダーで認証。設定画面からAPIキーを発行できます。

curl -X POST https://chatweb.ai/api/v1/chat \
  -H "X-API-Key: your_key" \
  -H "Content-Type: application/json" \
  -d '{"message": "東京の天気は?", "agent_id": "research"}'

レート制限

/chat /api /a2a30リクエスト/60秒(IP単位)。超過時は 429 Too Many Requests

SSEストリーミング形式

data: {"type": "routed", "agent_id": "research", "confidence": 0.95}
data: {"type": "token", "text": "東京の"}
data: {"type": "token", "text": "天気は"}
data: {"type": "tool", "tool": "web_search", "status": "calling"}
data: {"type": "tool", "tool": "web_search", "status": "done"}
data: {"type": "cost", "cost_usd": 0.001, "input_tokens": 500, "output_tokens": 200}
data: [DONE]