Workflows
ベースパス: /api/v1/workflows
ワークフローはプラットフォームのコア自動化単位です。各ワークフローには定義(ステップ、入力、環境変数、スケジュール)があり、複数の公開バージョンとアクティブな下書きを持てます。
すべてのエンドポイントには JWT 認証と x-active-org ヘッダーが必要です。
注記: Developer Settings から生成した カスタム API キー を使用する場合、x-source: external ヘッダーも含める必要があります。
エンドポイント概要
| Method | Path | Auth | Description |
|---|
| GET | /api/v1/workflows | JWT | ワークフローを一覧 |
| GET | /api/v1/workflows/:workflowId | JWT | ワークフロー詳細を取得 |
| GET | /api/v1/workflows/:workflowId/versions | JWT | ワークフローバージョンを一覧 |
| POST | /api/v1/workflows/:workflowId/versions/:versionId/default | JWT | デフォルトバージョンを設定 |
| DELETE | /api/v1/workflows/:workflowId | JWT | ワークフローを削除 |
| POST | /api/v1/workflows/:workflowId/envs | JWT | 環境変数を保存 |
| PATCH | /api/v1/workflows/:workflowId/sharing | JWT | チーム共有を更新 |
| GET | /api/v1/workflows/:workflowId/upcoming-runs | JWT | 今後のスケジュール実行を取得 |
| PUT | /api/v1/workflows/:workflowId/schedule | JWT | スケジュールを一時停止/再開 |
| POST | /api/v1/workflows/:workflowId/schedule/parse | JWT | 自然言語スケジュールをパース |
| DELETE | /api/v1/workflows/:workflowId/schedule | JWT | スケジュールを削除 |
Workflow オブジェクト
レスポンスの workflow フィールドは プランナー形式(人間が読みやすい形式)です。
GET /api/v1/workflows
アクティブな組織内で認証済みユーザーが所有するワークフローを一覧します。
クエリパラメータ
| Parameter | Type | Default | Description |
|---|
page | number | 1 | ページ番号(最小: 1) |
limit | number | 20 | 1 ページあたり件数(最小: 1、最大: 100) |
isDraft | boolean | false | true の場合、下書きあり(未公開)のワークフローを一覧 |
search | string | – | ワークフロー名で検索(大文字小文字を区別しない部分一致) |
レスポンス 200 OK
ワークフロー一覧アイテムフィールド:
| Field | Type | Description |
|---|
id | string (UUID) | ワークフロー ID |
name | string | ワークフロー名 |
description | string | null | 説明 |
services | string[] | ワークフローステップで使用するサービス slug の一覧 |
createdAt | string (ISO 8601) | 作成日時 |
updatedAt | string (ISO 8601) | 最終更新日時 |
scheduleStatus | boolean | null | true = 一時停止、false = アクティブ、null = スケジュールなし |
sharedTeamKeys | string[] | このワークフローを共有しているチーム |
GET /api/v1/workflows/:workflowId
現在の公開定義を含む特定ワークフローの詳細を返します。
パスパラメータ
| Parameter | Type | Description |
|---|
workflowId | string (UUID) | ワークフロー ID |
レスポンス 200 OK
| Field | Type | Description |
|---|
id | string (UUID) | ワークフロー ID |
name | string | デフォルトバージョンからの名前 |
description | string | null | デフォルトバージョンからの説明 |
sharedTeamKeys | string[] | このワークフローを共有しているチーム |
isPaused | boolean | null | スケジュール一時停止状態;スケジュールなしは null |
version | string | null | デフォルトバージョン番号(文字列) |
isPublic | boolean | ワークフローが公開可視か |
isDraft | boolean | 未公開の下書きが存在するか |
createdAt | string (ISO 8601) | 作成日時 |
updatedAt | string (ISO 8601) | 最終更新日時 |
workflow | object | null | プランナー形式の完全なワークフロー定義 |
GET /api/v1/workflows/:workflowId/versions
ワークフローの公開バージョンを新しい順に一覧します。
パスパラメータ
| Parameter | Type | Description |
|---|
workflowId | string (UUID) | ワークフロー ID |
クエリパラメータ
| Parameter | Type | Default | Description |
|---|
limit | number | 20 | 返す最大バージョン数(最小: 1、最大: 100) |
includeAll | boolean | false | true の場合、全バージョンを返す(limit を無視) |
レスポンス 200 OK
| Field | Type | Description |
|---|
versions | array | バージョンオブジェクトの一覧 |
total | number | バージョン総数 |
truncated | boolean | limit により結果が切り詰められたか |
バージョンオブジェクト:
| Field | Type | Description |
|---|
versionId | string (UUID) | バージョン ID |
workflowId | string (UUID) | 親ワークフロー ID |
versionNumber | number | 連番バージョン番号(1 始まり) |
isDefault | boolean | アクティブ/デフォルトバージョンか |
createdAt | string (ISO 8601) | このバージョンの作成日時 |
POST /api/v1/workflows/:workflowId/versions/:versionId/default
特定バージョンをワークフローのデフォルト(アクティブ)バージョンに設定します。ワークフローオーナーまたは書き込み権限が必要です。
パスパラメータ
| Parameter | Type | Description |
|---|
workflowId | string (UUID) | ワークフロー ID |
versionId | string (UUID) | デフォルトにするバージョン ID |
リクエスト
リクエストボディは不要です。
レスポンス 200 OK
DELETE /api/v1/workflows/:workflowId
ワークフローをソフト削除します。削除できるのはワークフローオーナーのみです。
パスパラメータ
| Parameter | Type | Description |
|---|
workflowId | string (UUID) | ワークフロー ID |
レスポンス 200 OK
POST /api/v1/workflows/:workflowId/envs
ワークフローのデフォルト公開バージョンの環境変数を保存(upsert)します。ワークフローに公開バージョンがある場合のみ動作します。
パスパラメータ
| Parameter | Type | Description |
|---|
workflowId | string (UUID) | ワークフロー ID |
リクエストボディ(JSON)
| Field | Type | Required | Description |
|---|
envs | array | Yes | 環境変数オブジェクトの一覧 |
環境変数オブジェクト:
| Field | Type | Required | Description |
|---|
name | string | Yes | 変数名(最小長: 1) |
value | string | Yes | 変数値 |
description | string | No | 人間が読める説明 |
レスポンス 200 OK
PATCH /api/v1/workflows/:workflowId/sharing
ワークフローのチーム共有設定を置き換えます。
パスパラメータ
| Parameter | Type | Description |
|---|
workflowId | string (UUID) | ワークフロー ID |
リクエストボディ(JSON)
| Field | Type | Required | Default | Description |
|---|
shareWithTeamKeys | string[] | Yes | [] | 共有するチームキー。[] で全共有を取り消し。 |
レスポンス 200 OK
更新された共有結果を返します。
GET /api/v1/workflows/:workflowId/upcoming-runs
ワークフローの Temporal スケジュールにおける次回実行予定時刻を返します。
パスパラメータ
| Parameter | Type | Description |
|---|
workflowId | string (UUID) | ワークフロー ID |
レスポンス 200 OK
スケジュールが未設定の場合は空配列を返します。
PUT /api/v1/workflows/:workflowId/schedule
ワークフローの Temporal スケジュールを一時停止または再開します。
パスパラメータ
| Parameter | Type | Description |
|---|
workflowId | string (UUID) | ワークフロー ID |
リクエストボディ(JSON)
| Field | Type | Required | Description |
|---|
paused | boolean | Yes | true で一時停止、false で再開 |
レスポンス 200 OK
エラー
| Status | Reason |
|---|
404 Not Found | このワークフローにスケジュールが存在しない |
POST /api/v1/workflows/:workflowId/schedule/parse
自然言語のスケジュール記述をパースし、Temporal スケジュールを作成/更新し、人間が読める説明を返します。
パスパラメータ
| Parameter | Type | Description |
|---|
workflowId | string (UUID) | ワークフロー ID |
リクエストボディ(JSON)
| Field | Type | Required | Description |
|---|
input | string | Yes | 自然言語スケジュール(例: "every Monday at 9am"、"first day of month at midnight") |
レスポンス 200 OK
| Field | Type | Description |
|---|
success | boolean | 成功時は常に true |
message | string | ステータスメッセージ |
schedule | string | null | パースされたスケジュールの人間が読める説明 |
エラー
| Status | Reason |
|---|
400 Bad Request | 入力から有効なスケジュールをパースできなかった |
404 Not Found | ワークフローが見つからない、またはデフォルトバージョンがない |
DELETE /api/v1/workflows/:workflowId/schedule
ワークフローのスケジュールを削除します(Temporal とデータベースから削除)。
パスパラメータ
| Parameter | Type | Description |
|---|
workflowId | string (UUID) | ワークフロー ID |
レスポンス 200 OK
エラー
| Status | Reason |
|---|
404 Not Found | このワークフローにスケジュールが見つからない |