Listar Files

Listar os files do workspace com busca, ordenação, filtro por pasta e paginação por cursor opaco. O padrão são os files ativos; passe scope=archived para paginar pelos que foram excluídos de forma reversível. Uma árvore de pastas do workspace com mais de 10.000 pastas é um 413.

GET/api/v2/files
X-API-Key<token>

Sua 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

workspaceId*string

Workspace cujos files devem ser listados.

Tamanho1 <= length <= 128
folderPath?Folder path input

Restrict files to this folder, including subfolders when recursive is true. Unknown folder paths contribute no matches.

Tamanholength <= 4096
recursive?string

Include subfolders in the folder filter. Defaults to true when searching and false otherwise. Ignored without a folder filter.

Valor em"true" | "1" | "yes" | "on" | "y" | "enabled" | "false" | "0" | "no" | "off" | "n" | "disabled"
scope?string

Which lifecycle set to list: active (default) for live files, archived for files a delete soft-deleted. folderPath resolves against active folders only, so pairing it with scope=archived returns an empty page when the containing folder was archived too.

Padrão"active"
Valor em"active" | "archived"
search?string

Correspondência de substring com o nome do file, sem diferenciar maiúsculas de minúsculas.

Tamanho1 <= length <= 200
sortBy?string

Campo usado para ordenar o resultado. A ordenação por name diferencia maiúsculas de minúsculas e segue a collation do armazenamento, então não conte com uma ordem que ignore maiúsculas e minúsculas.

Padrão"uploadedAt"
Valor em"name" | "size" | "uploadedAt" | "updatedAt"
sortOrder?string

Direção da ordenação.

Padrão"asc"
Valor em"asc" | "desc"
limit?integer

Máximo de files 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.

Padrão100
cursor?string

Cursor 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.

Tamanho1 <= length

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/files?workspaceId=string" \  -H "X-API-Key: YOUR_API_KEY"
{
  "data": [
    {
      "id": "wf_V1StGXR8z5jdHi6BmyT91",
      "webUrl": "https://agent-studio.seeyu.ai/workspace/a91c4b2e-6d3f-4e8a-b5c7-0d9e2f1a8c64/files/wf_V1StGXR8z5jdHi6BmyT91",
      "name": "data.csv",
      "size": 1024,
      "type": "text/csv",
      "key": "workspace/example/data.csv",
      "folderPath": "/Engineering",
      "uploadedByEmail": "jane@example.com",
      "uploadedAt": "2026-01-15T10:30:00Z",
      "updatedAt": "2026-01-15T10:30:00Z",
      "deletedAt": null
    }
  ],
  "nextCursor": null
}
{
  "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"
  }
}