メインコンテンツへスキップ
本ガイドでは、ゼロから分析実行までの流れを、いくつかの curl コマンドで示します。
REST を直接叩くより CLI が好みであれば、lymo をインストールして lymo setup && lymo summary latest を実行してください。同じ API を、ブラウザ認証・名前付きプロファイル・MCP 連携込みで利用できます。

1. API キーを取得する

Lymo Web アプリで 設定 → Platform を開き、Create key をクリックします。生成されたキー(lymo_ で始まる)をコピーしてください。キーが表示されるのは作成時の一度だけです。
export LYMO_KEY=lymo_xxxxxxxxxxxxxxxx
export LYMO_BASE=https://platform.lymo.jp
LYMO_BASE はホスト名だけにしてあります。これにより、バージョンなしの /health と、バージョン付きの /v1/* のどちらも同じ変数から組み立てられます。

2. 接続を確認する

まず認証不要のヘルスチェックで API への到達性を確認します。
curl "$LYMO_BASE/health"
# → { "data": { "status": "ok" }, "meta": { "request_id": "req_..." } }
次にキーが受け付けられることを確認します。
curl "$LYMO_BASE/v1/members/me" \
  -H "Authorization: Bearer $LYMO_KEY"
/health は成功するのに /v1/members/me が失敗する場合は、認証側の問題です(キーの誤り、失効、スコープ不足など)。/health 自体が失敗する場合は、ネットワークかベース URL の問題です。

3. 動画の一覧を取得する

curl "$LYMO_BASE/v1/videos?limit=5" \
  -H "Authorization: Bearer $LYMO_KEY"
レスポンスから動画 ID を 1 件選んで保存します。ID は UUID であり、リソースごとのプレフィックスは付きません。
export VIDEO=a1b2c3d4-5e6f-7890-abcd-ef0123456789

4. 分析を起動する

分析は非同期処理です。POST はリソースを作成してすぐに 201status: "processing" を返します。完了はポーリングまたは Webhook で取得してください。
RESPONSE=$(curl -s -X POST "$LYMO_BASE/v1/videos/$VIDEO/analyses" \
  -H "Authorization: Bearer $LYMO_KEY")

echo "$RESPONSE" | jq .
# {
#   "data": {
#     "id": "b2c3d4e5-...",
#     "status": "processing",
#     "video_id": "a1b2c3d4-...",
#     "started_at": null,
#     "finished_at": null,
#     "created_at": "2026-04-24T12:34:56.000Z",
#     "updated_at": "2026-04-24T12:34:56.000Z"
#   },
#   "meta": { "request_id": "req_..." }
# }

ANALYSIS=$(echo "$RESPONSE" | jq -r .data.id)
echo "Started analysis $ANALYSIS"
結果をポーリングします。
curl "$LYMO_BASE/v1/videos/$VIDEO/analyses/$ANALYSIS" \
  -H "Authorization: Bearer $LYMO_KEY"
# → { "data": { "status": "processing" | "completed" | "failed", "result": {...}? }, "meta": {...} }
statuscompleted になると、同じリソース上に分析結果を含む result オブジェクトが追加されます。完全なポーリングループ、冪等性、Webhook への切り替え方は 非同期パターン を参照してください。

エラー処理

すべてのエラーは共通の形状を持ちます。セットアップ時に遭遇しやすいのは unauthorized(401)、forbidden(403)、not_found(404)、validation_failed(422)、rate_limited(429)です。コード一覧・推奨対応・クロステナント 404 の挙動など、完全なリファレンスは エラー ガイドを参照してください。

冪等性

POST リクエストでは Idempotency-Key ヘッダーを受け付けます。ネットワーク再試行で重複処理が発生しうる場面(例: 分析作成 POST のタイムアウト直後の再送)では、必ず設定してください。
curl -X POST "$LYMO_BASE/v1/videos/$VIDEO/analyses" \
  -H "Authorization: Bearer $LYMO_KEY" \
  -H "Idempotency-Key: $(openssl rand -hex 16)"
キャッシュの挙動、TTL、同じキーで新しいリクエストを強制する方法は、非同期パターン → 冪等性 に詳細があります。