Listar os logs de execução de workflow de um workspace, com filtros, nível de detalhe selecionável e paginação por cursor opaco. As execuções são excluídas definitivamente assim que ultrapassam a janela de retenção de logs do pagador, então uma execução mais antiga simplesmente não aparece, em vez de ser reportada como removida. A janela é de 30 dias a partir do início da execução no plano Free, ilimitada no Pro e no Team, e definida por organização no Enterprise, com uma sobrescrita opcional por workspace.
/api/v2/logsSua API key do Studio, pessoal ou com escopo de workspace. Gere uma em Settings e depois API Keys. As operações que rejeitam API keys de workspace dizem isso na própria descrição.
Em: header
Parâmetros de query
Workspace cujos logs de execução devem ser retornados.
1 <= length <= 128Comma-separated workflow identifiers to include. An empty entry is rejected. At most 200 entries.
Comma-separated, lowercase trigger types or webhook provider IDs. Matching is exact and case-sensitive; unknown values select no runs. An empty entry is rejected. The sentinel all disables this filter, even when listed with other values. At most 100 entries.
Nível de severidade a incluir.
"info" | "error"Incluir apenas as execuções iniciadas neste timestamp UTC ISO 8601 ou depois dele, por exemplo 2026-08-06T00:00:00Z. São rejeitados uma data sem hora, um timestamp que traga um offset UTC em vez de Z e o ano 0000, que não nomeia nenhum instante armazenável.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$date-timeIncluir apenas as execuções iniciadas neste timestamp UTC ISO 8601 ou antes dele, por exemplo 2026-08-06T00:00:00Z. São rejeitados uma data sem hora, um timestamp que traga um offset UTC em vez de Z e o ano 0000, que não nomeia nenhum instante armazenável.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$date-timeDuração total mínima de execução em milissegundos. Milissegundos inteiros de 0 a 2147483647; a duração armazenada é um inteiro de 32 bits, então um limite fracionário ou fora do intervalo é rejeitado.
0 <= value <= 2147483647Duração total máxima de execução em milissegundos. Milissegundos inteiros de 0 a 2147483647; a duração armazenada é um inteiro de 32 bits, então um limite fracionário ou fora do intervalo é rejeitado.
0 <= value <= 2147483647Custo mínimo de execução em USD, de 0 a 1000000. Uma execução nunca é cobrada com um valor negativo, então um limite negativo é rejeitado em vez de tratado como um filtro que corresponde a todas as execuções.
0 <= value <= 1000000Custo máximo de execução em USD, de 0 a 1000000. Uma execução nunca é cobrada com um valor negativo, então um limite negativo é rejeitado em vez de tratado como um filtro que corresponde a todas as execuções.
0 <= value <= 1000000Modelo de IA usado durante a execução.
Response detail level. full adds the workflow summary to every workflow run; a job run never carries one, whatever this is set to. includeTraceSpans=true and includeFinalOutput=true each imply full, so either one adds workflow even when details=basic is sent explicitly.
"basic""basic" | "full"Se deve incluir os trace spans em nível de block. Implica details=full. Os spans são removidos conforme o próprio cronograma de retenção, então uma execução cujos spans expiraram retorna traceSpans: [] em vez de um erro.
Se deve incluir a saída final do workflow. Implica details=full, então o resumo workflow está presente independentemente do valor de details.
Máximo de entradas de log por página. Valores fora de 1–1000 são truncados e ajustados para dentro desse intervalo em vez de rejeitados. O padrão é 100.
100Cursor opaco da página anterior. Devolva-o com a mesma ordenação e os mesmos filtros; apenas limit pode mudar. Altere qualquer outra coisa e a paginação precisa recomeçar sem cursor.
1 <= lengthComma-separated execution statuses to include, from pending | running | paused | redacting | completed | failed | cancelled. An empty entry is rejected. ANDed with level, which reports severity rather than lifecycle.
Case-insensitive substring match against the run's workflow name. Runs whose workflow has been deleted match nothing, because the name is no longer joinable.
1 <= length <= 200Include Chat and Studio-agent jobs alongside workflow runs. Jobs use kind: "job" and have no workflow or cost ledger. Workflow, folder, model, or status filters exclude jobs. This option is valid only when sorting by startedAt.
Identificador exato da execução a corresponder.
^[A-Za-z0-9._:-]+$1 <= length <= 128Field used to sort the result. durationMs and cost are null until a run settles; those runs sort before recorded values in ascending order and after them in descending order. Only startedAt can order Chat and Studio-agent job runs, so any other value is rejected when job runs are included.
"startedAt""startedAt" | "durationMs" | "cost" | "status"Direção da ordenação.
"desc""asc" | "desc"Comma-separated workflow folder paths, including descendants. Up to 100 paths. Unknown folder paths contribute no matches.
Corpo da resposta
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://agent-studio.seeyu.ai/api/v2/logs?workspaceId=string" \ -H "X-API-Key: YOUR_API_KEY"{
"data": [
{
"kind": "workflow",
"runId": "e4f8d2b6-9a1c-4e3d-8b7f-5c0a2d9e6f13",
"workflowId": "3b1f7c92-8d4e-4a6b-9c0d-5e2f8a714b36",
"deploymentVersionId": "dep_2c4e6a8b0d1f",
"status": "completed",
"level": "info",
"trigger": "api",
"startedAt": "2026-01-15T10:30:00.000Z",
"endedAt": "2026-01-15T10:30:01.250Z",
"totalDurationMs": 1250,
"cost": {
"total": 0.0032
},
"files": [
{
"id": "f1c3a7d0-4b52-4a8e-9f61-2d7c8b3e5a04",
"name": "summary.pdf",
"size": 18422,
"type": "application/pdf",
"downloadPath": "/api/v2/workflows/3b1f7c92-8d4e-4a6b-9c0d-5e2f8a714b36/runs/e4f8d2b6-9a1c-4e3d-8b7f-5c0a2d9e6f13/files/f1c3a7d0-4b52-4a8e-9f61-2d7c8b3e5a04"
}
]
}
],
"nextCursor": "eyJzdGFydGVkQXQiOiIyMDI2LTAxLTE1VDEwOjMwOjAwMFoifQ=="
}{
"error": {
"code": "BAD_REQUEST",
"message": "Invalid request"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication required"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Insufficient workspace permissions",
"details": {
"code": "INSUFFICIENT_WORKSPACE_ROLE"
}
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Not found"
}
}{
"error": {
"code": "PAYLOAD_TOO_LARGE",
"message": "Request body is too large"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "API rate limit exceeded",
"details": {
"retryAfter": "2026-01-01T00:00:30.000Z"
}
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error"
}
}{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "Service temporarily unavailable"
}
}