← chatweb.ai
API リファレンス
Base URL: https://chatweb.ai — 認証: Bearer token or session cookie
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 /a2a — 30リクエスト/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]