---
title: "List workspace files"
method: GET
path: "/v1/workspaces/{id}/files"
tags: ["Workspaces"]
---

# List workspace files

`GET /v1/workspaces/{id}/files`

## Request

- Base URL: `https://console.nace.ai`
- URL: `https://console.nace.ai/v1/workspaces/{id}/files`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/nace/apis/drex-api/docs/v1/workspaces/:id/files/get.ts> (a function with typed inputs; its response is checked against the schema)

One page of the workspace's files. Free.

## Path parameters

- `id` string, required

## Query parameters

- `path_prefix` string
- `ingestion_status` string[]
- `categories` string[]
- `file_types` string[]
- `modified_after` string, date-time
- `modified_before` string, date-time
- `limit` integer
- `cursor` string

## Response `200`

One page of files.

- WorkspaceFileList
  - `items` WorkspaceFile[], required
    - `file_id` string, required
    - `workspace_id` string, required
    - `path` string, required
    - `file_name` string
    - `file_type` string
    - `size_bytes` integer
    - `version` integer
    - `observed_hash` string, nullable
    - `ingested_hash` string, nullable
    - `ingestion_status` 'discovered' | 'queued' | 'ingesting' | 'ingested' | 'stale' | 'expired' | 'failed' | 'not_required'
    - `ingested_at` string, date-time, nullable
    - `category` string, nullable
    - `access_label` string, nullable
    - `access_label_source` string, nullable
    - `graph_inclusion` 'auto' | 'include' | 'exclude'
    - `expires_at` string, date-time, nullable
    - `labels` object
    - `created_at` string, date-time
    - `updated_at` string, date-time
  - `next_cursor` string, nullable, required
  - `total_count` integer, nullable
  - `coverage` object: What the listing could not show because of access labels.

## Other responses

- `401`: Missing or invalid API key (`authentication_error`, code `invalid_api_key`).
- `404`: No workspace with this id that the key may use (`not_found_error`, code `workspace_not_found`), or Workspaces are off on this deployment (`not_found`).
- `422`: The body or a parameter is invalid, or the document service refused it (`invalid_request_error`).
- `429`: Over the account's requests per minute for document routes, or the document service is throttling this account (`rate_limit_error`).
- `500`: Something failed on Drex's side (`internal_error`).
- `502`: The document service refused Drex's own request (`upstream_error`, code `ndi_refused_drex`). Retry later.
- `503`: The document service is unavailable (`service_unavailable`).

---

[API](https://skmtc.dev/nace/apis/drex-api.md) - [All operations](https://skmtc.dev/nace/apis/drex-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nace/apis/drex-api/revisions/a0e62d925a61?raw)
