V2 Flow 用の Direct Execution API
統合が UI、エージェント、スケジュールではなく、API 経由でワークフローを直接呼び出している場合 — 特に既存の V1 ワークフローの移行時には —、V2 Flow を正しく呼び出すためのリファレンスをここに示します。
概要
V1 ワークフローは以下で実行されます:
POST /actions/execute/direct
V2 Flow の場合は以下を使用します:
POST /tools/execute-workflow
V2 エンドポイントはペイロードの単純な置き換えではありません。V2 Flow ID は tool_id として送信され、Flow の入力は inputs の下にプレーンなランタイム値として送信されます。
認証
EKB API 資格情報をリクエストヘッダーとして提供します:
X-API-KEY: <api-key>
X-API-SECRET: <api-secret>
Content-Type: application/json
ドキュメント、ソース管理、チケット、チャットメッセージに本物の資格情報を含めないでください。漏えいした資格情報は失効させて再生成してください。
リクエストボディ
{
"project_id": "<project-id>",
"tool_id": "<v2-flow-id>",
"inputs": {
"<flow-input-name>": "<runtime-value>"
},
"execution_mode": "workflow",
"mode": "manual"
}
入力名は大文字小文字を区別します — V2 Flow で構成された入力名を使用してください。例えば New Input 1 という名前の入力は次のように送信する必要があります:
{
"inputs": {
"New Input 1": "I am Gaurav"
}
}
Flow 入力の完全な定義をランタイム値として送信しないでください:
{
"inputs": {
"New Input 1": {
"id": "new_input_1",
"type": "string",
"value": "I am Gaurav",
"required": true
}
}
}
id、type、description、required フィールドは保存された Flow 構成に属します — 実行リクエストには値のみを含める必要があります。
例
curl --location 'https://api.getodin.ai/tools/execute-workflow' \
--header 'X-API-KEY: <api-key>' \
--header 'X-API-SECRET: <api-secret>' \
--header 'Content-Type: application/json' \
--data '{
"project_id": "<project-id>",
"tool_id": "<v2-flow-id>",
"inputs": {
"New Input 1": "I am Gaurav"
},
"execution_mode": "workflow",
"mode": "manual"
}'
公開版の実行
Flow が公開またはプロモートされたら、以下を追加します:
{
"environment": "live"
}
これは live 環境にデプロイされたバージョンを選択します。Flow が公開される前の初期テスト中は、environment を省略してください。
このエンドポイントはデフォルトで完全な実行結果を待ちます。必要に応じて明示的に指定できます:
{
"return_response": true
}
レスポンス
成功したリクエストは実行結果を返します:
{
"success": true,
"message": "Workflow executed successfully",
"node_results": {},
"execution_time_ms": 1250,
"execution_id": "<execution-id>",
"error": null
}
node_results の内容は Flow が使用するノードに依存します。
一般的なエラー
| ステータス | 意味 |
|---|---|
401 Unauthorized | API キーまたはシークレットが欠落、無効、または失効 |
402 Payment Required | 関連するチームのクレジットが不足 |
403 Forbidden | API ユーザーがプロジェクトメンバーでないか、Flow を実行する権限がない |
404 Not Found | tool_id が存在しないか、指定されたプロジェクトに属していない |
422 Unprocessable Entity | 必須のリクエストフィールドが欠落しているか型が無効 |
200 で "success": false | リクエストは受理されたが Flow ノードが失敗 — error、node_results、execution_id を確認 |
トラブルシューティングでは、HTTP ステータスと完全なレスポンスボディを記録してください。共有する前に資格情報と機密の入力データを削除してください。
V1 エンドポイントからの移行
| V1 | V2 |
|---|---|
エンドポイント:/actions/execute/direct | エンドポイント:/tools/execute-workflow |
flow_id | tool_id |
ui_form | inputs |
| 入力定義を含む | 含まない — 構成済みの Flow 入力名をキーとしたプレーンなランタイム値のみ |
エンドポイント /v2/actions/execute/direct はレガシー Automator/Activepieces の実行用であり、移行済みの V2 Flow の実行には使用しないでください。
プラットフォーム内の移行ツールを使って既存の V1 ワークフローを V2 へ移行します。