VirtuousAI
Reference

Action runs

List Runs

GET
/api/v1/action-runs

Query Parameters

action_id?|
kind?|
status?|
parent_action_run_id?|
limit?integer
Default100
Range1 <= value <= 100
offset?integer
Default0
Range0 <= value

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/action-runs"
{
  "hasNext": true,
  "limit": 0,
  "offset": 0,
  "runs": [
    {
      "actionId": "string",
      "completedAt": "2019-08-24T14:15:22Z",
      "concurrencyKey": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "definition": {},
      "displayStatus": "string",
      "durationSeconds": 0,
      "error": {},
      "id": "string",
      "idempotencyKey": "string",
      "interruptCount": 0,
      "kind": "dlt_extract",
      "parentActionRunId": "string",
      "progress": {},
      "result": {},
      "retryCount": 0,
      "startedAt": "2019-08-24T14:15:22Z",
      "status": "pending",
      "triggerMethod": "ui",
      "triggerSourceId": "string",
      "triggerSourceType": "user",
      "updatedAt": "2019-08-24T14:15:22Z"
    }
  ],
  "total": 0,
  "users": {
    "property1": {
      "firstName": "string",
      "id": "string",
      "lastName": "string",
      "profilePictureUrl": "string"
    },
    "property2": {
      "firstName": "string",
      "id": "string",
      "lastName": "string",
      "profilePictureUrl": "string"
    }
  }
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Create Run

POST
/api/v1/action-runs

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Request Body

application/json

concurrencyKey?|
definition?
idempotencyKey?|
kind*string

Discriminator for action capabilities.

Determines which executor runs, what config shape is expected, and how the action is displayed in the UI.

Grouped by domain concern. Legacy values kept for DB compatibility.

Value in"dlt_extract" | "file_sync" | "duckdb_transform" | "http_request" | "call_agent" | "generate_query" | "explain_schema" | "agent_search" | "agent_fetch_page" | "create_flashboard" | "approval_gate" | "conditional_branch" | "call_automation" | "web_search" | "fetch_page"
parentActionRunId?|

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/action-runs" \  -H "Content-Type: application/json" \  -d '{    "kind": "dlt_extract"  }'
{
  "actionId": "string",
  "completedAt": "2019-08-24T14:15:22Z",
  "concurrencyKey": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "definition": {},
  "displayStatus": "string",
  "durationSeconds": 0,
  "error": {},
  "id": "string",
  "idempotencyKey": "string",
  "interruptCount": 0,
  "kind": "dlt_extract",
  "parentActionRunId": "string",
  "progress": {},
  "result": {},
  "retryCount": 0,
  "startedAt": "2019-08-24T14:15:22Z",
  "status": "pending",
  "triggerMethod": "ui",
  "triggerSourceId": "string",
  "triggerSourceType": "user",
  "updatedAt": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Get Run

GET
/api/v1/action-runs/{run_id}

Path Parameters

run_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/action-runs/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{
  "actionId": "string",
  "completedAt": "2019-08-24T14:15:22Z",
  "concurrencyKey": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "definition": {},
  "displayStatus": "string",
  "durationSeconds": 0,
  "error": {},
  "id": "string",
  "idempotencyKey": "string",
  "interruptCount": 0,
  "kind": "dlt_extract",
  "parentActionRunId": "string",
  "progress": {},
  "result": {},
  "retryCount": 0,
  "startedAt": "2019-08-24T14:15:22Z",
  "status": "pending",
  "triggerMethod": "ui",
  "triggerSourceId": "string",
  "triggerSourceType": "user",
  "updatedAt": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Delete Run

DELETE
/api/v1/action-runs/{run_id}

Path Parameters

run_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

curl -X DELETE "https://loading/api/v1/action-runs/497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Approve Run

POST
/api/v1/action-runs/{run_id}/approve

Path Parameters

run_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/action-runs/497f6eca-6276-4993-bfeb-53cbbbba6f08/approve"
{
  "actionId": "string",
  "completedAt": "2019-08-24T14:15:22Z",
  "concurrencyKey": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "definition": {},
  "displayStatus": "string",
  "durationSeconds": 0,
  "error": {},
  "id": "string",
  "idempotencyKey": "string",
  "interruptCount": 0,
  "kind": "dlt_extract",
  "parentActionRunId": "string",
  "progress": {},
  "result": {},
  "retryCount": 0,
  "startedAt": "2019-08-24T14:15:22Z",
  "status": "pending",
  "triggerMethod": "ui",
  "triggerSourceId": "string",
  "triggerSourceType": "user",
  "updatedAt": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Cancel Run

POST
/api/v1/action-runs/{run_id}/cancel

Path Parameters

run_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/action-runs/497f6eca-6276-4993-bfeb-53cbbbba6f08/cancel"
{
  "actionId": "string",
  "completedAt": "2019-08-24T14:15:22Z",
  "concurrencyKey": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "definition": {},
  "displayStatus": "string",
  "durationSeconds": 0,
  "error": {},
  "id": "string",
  "idempotencyKey": "string",
  "interruptCount": 0,
  "kind": "dlt_extract",
  "parentActionRunId": "string",
  "progress": {},
  "result": {},
  "retryCount": 0,
  "startedAt": "2019-08-24T14:15:22Z",
  "status": "pending",
  "triggerMethod": "ui",
  "triggerSourceId": "string",
  "triggerSourceType": "user",
  "updatedAt": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Execute Run

POST
/api/v1/action-runs/{run_id}/execute

Path Parameters

run_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/action-runs/497f6eca-6276-4993-bfeb-53cbbbba6f08/execute"
{
  "actionId": "string",
  "completedAt": "2019-08-24T14:15:22Z",
  "concurrencyKey": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "definition": {},
  "displayStatus": "string",
  "durationSeconds": 0,
  "error": {},
  "id": "string",
  "idempotencyKey": "string",
  "interruptCount": 0,
  "kind": "dlt_extract",
  "parentActionRunId": "string",
  "progress": {},
  "result": {},
  "retryCount": 0,
  "startedAt": "2019-08-24T14:15:22Z",
  "status": "pending",
  "triggerMethod": "ui",
  "triggerSourceId": "string",
  "triggerSourceType": "user",
  "updatedAt": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Get Run Logs

GET
/api/v1/action-runs/{run_id}/logs

Path Parameters

run_id*string
Formatuuid

Query Parameters

after?|

Cursor: return entries after this ID

limit?integer
Default100
Range1 <= value <= 500

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/action-runs/497f6eca-6276-4993-bfeb-53cbbbba6f08/logs"
{
  "entries": [
    {
      "attempt": 0,
      "data": {},
      "event": "string",
      "id": "string",
      "level": "info",
      "message": "string",
      "occurredAt": "2019-08-24T14:15:22Z",
      "workerId": "string"
    }
  ],
  "hasMore": true,
  "nextCursor": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Stream Run Logs

GET
/api/v1/action-runs/{run_id}/logs/stream

Path Parameters

run_id*string
Formatuuid

Query Parameters

after?|

Cursor: start streaming after this ID

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X GET "https://loading/api/v1/action-runs/497f6eca-6276-4993-bfeb-53cbbbba6f08/logs/stream"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Pause Run

POST
/api/v1/action-runs/{run_id}/pause

Path Parameters

run_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/action-runs/497f6eca-6276-4993-bfeb-53cbbbba6f08/pause"
{
  "actionId": "string",
  "completedAt": "2019-08-24T14:15:22Z",
  "concurrencyKey": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "definition": {},
  "displayStatus": "string",
  "durationSeconds": 0,
  "error": {},
  "id": "string",
  "idempotencyKey": "string",
  "interruptCount": 0,
  "kind": "dlt_extract",
  "parentActionRunId": "string",
  "progress": {},
  "result": {},
  "retryCount": 0,
  "startedAt": "2019-08-24T14:15:22Z",
  "status": "pending",
  "triggerMethod": "ui",
  "triggerSourceId": "string",
  "triggerSourceType": "user",
  "updatedAt": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Reject Run

POST
/api/v1/action-runs/{run_id}/reject

Path Parameters

run_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Request Body

application/json

reason?|

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/action-runs/497f6eca-6276-4993-bfeb-53cbbbba6f08/reject" \  -H "Content-Type: application/json" \  -d '{}'
{
  "actionId": "string",
  "completedAt": "2019-08-24T14:15:22Z",
  "concurrencyKey": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "definition": {},
  "displayStatus": "string",
  "durationSeconds": 0,
  "error": {},
  "id": "string",
  "idempotencyKey": "string",
  "interruptCount": 0,
  "kind": "dlt_extract",
  "parentActionRunId": "string",
  "progress": {},
  "result": {},
  "retryCount": 0,
  "startedAt": "2019-08-24T14:15:22Z",
  "status": "pending",
  "triggerMethod": "ui",
  "triggerSourceId": "string",
  "triggerSourceType": "user",
  "updatedAt": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Resume Run

POST
/api/v1/action-runs/{run_id}/resume

Path Parameters

run_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/action-runs/497f6eca-6276-4993-bfeb-53cbbbba6f08/resume"
{
  "actionId": "string",
  "completedAt": "2019-08-24T14:15:22Z",
  "concurrencyKey": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "definition": {},
  "displayStatus": "string",
  "durationSeconds": 0,
  "error": {},
  "id": "string",
  "idempotencyKey": "string",
  "interruptCount": 0,
  "kind": "dlt_extract",
  "parentActionRunId": "string",
  "progress": {},
  "result": {},
  "retryCount": 0,
  "startedAt": "2019-08-24T14:15:22Z",
  "status": "pending",
  "triggerMethod": "ui",
  "triggerSourceId": "string",
  "triggerSourceType": "user",
  "updatedAt": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Retry Run

POST
/api/v1/action-runs/{run_id}/retry

Path Parameters

run_id*string
Formatuuid

Header Parameters

authorization?|
X-API-Key?|
vai_token?|

Response Body

application/json

application/json

curl -X POST "https://loading/api/v1/action-runs/497f6eca-6276-4993-bfeb-53cbbbba6f08/retry"
{
  "actionId": "string",
  "completedAt": "2019-08-24T14:15:22Z",
  "concurrencyKey": "string",
  "createdAt": "2019-08-24T14:15:22Z",
  "definition": {},
  "displayStatus": "string",
  "durationSeconds": 0,
  "error": {},
  "id": "string",
  "idempotencyKey": "string",
  "interruptCount": 0,
  "kind": "dlt_extract",
  "parentActionRunId": "string",
  "progress": {},
  "result": {},
  "retryCount": 0,
  "startedAt": "2019-08-24T14:15:22Z",
  "status": "pending",
  "triggerMethod": "ui",
  "triggerSourceId": "string",
  "triggerSourceType": "user",
  "updatedAt": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}