---
title: Logs
description: Query workflow runs and fetch run details
---

import { BlockInfoCard } from "@/components/ui/block-info-card"

<BlockInfoCard 
  type="logs_v2"
  color="#EAB308"
/>

## Usage Instructions

Query workflow run logs in the current workspace with the same filters as the Logs page, returning matching run IDs. Fetch full details for a single run, including its trace spans.



## Actions

### `logs_query_runs`

Query workflow run logs in the current workspace with the full Logs-page filter set. Returns matching run IDs.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `workflowIds` | string | No | Comma-separated workflow IDs to filter by |
| `folderIds` | string | No | Comma-separated folder IDs to filter by \(descendants included\) |
| `level` | string | No | Comma-separated statuses: 'info', 'error', 'running', 'pending', 'cancelled'. Omit for all. |
| `triggers` | string | No | Comma-separated trigger types \(api, webhook, schedule, manual, chat, mcp, a2a, workflow, sim, …\) |
| `startDate` | string | No | ISO 8601 timestamp; only runs at or after this time |
| `endDate` | string | No | ISO 8601 timestamp; only runs at or before this time |
| `search` | string | No | Free-text search across log fields |
| `costOperator` | string | No | Cost comparison operator: '=', '&gt;', '&lt;', '&gt;=', '&lt;=', '!=' |
| `costValue` | number | No | Cost threshold in credits, compared using costOperator |
| `durationOperator` | string | No | Duration comparison operator: '=', '&gt;', '&lt;', '&gt;=', '&lt;=', '!=' |
| `durationValue` | number | No | Duration threshold in milliseconds, compared using durationOperator |
| `limit` | number | No | Max run IDs to return \(default 100, max 200\) |
| `sortBy` | string | No | Sort field: 'date' \(default\), 'duration', 'cost', 'status' |
| `sortOrder` | string | No | Sort order: 'desc' \(default\) or 'asc' |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `runIds` | array | IDs of the runs matching the filters |

### `logs_get_run_details`

Fetch details for a single workflow run by its run ID, including the full trace spans.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `runId` | string | Yes | The run ID to fetch details for |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `runId` | string | The run ID |
| `workflowId` | string | Workflow ID this run belongs to |
| `workflowName` | string | Workflow name |
| `status` | string | Run status |
| `trigger` | string | How the run was triggered |
| `startedAt` | string | Run start time \(ISO 8601\) |
| `durationMs` | number | Run duration in milliseconds |
| `cost` | number | Run cost in credits |
| `traceSpans` | array | Full trace spans for the run |
| `finalOutput` | json | Final output of the run |


