> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stateset.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List files in a sandbox directory

> List files in a sandbox directory

### Path parameters

<ParamField path="id" type="string (uuid)" required>
  Sandbox identifier
</ParamField>

### Query parameters

<ParamField query="path" type="string">
  Directory path (default /workspace)
</ParamField>

<ParamField query="recursive" type="string">
  Recurse into subdirectories (true/false)
</ParamField>

### Response

`FileListResponse`

<ResponseField name="files" type="FileListEntry[]">
  <Expandable title="FileListEntry">
    <ResponseField name="name" type="string">
      File or directory name
    </ResponseField>

    <ResponseField name="path" type="string">
      Full path within the sandbox
    </ResponseField>

    <ResponseField name="type" type="string">
      Whether this entry is a file or directory
    </ResponseField>

    <ResponseField name="size" type="integer">
      File size in bytes (0 for directories)
    </ResponseField>

    <ResponseField name="modified_at" type="string (date-time)">
      Last modification timestamp
    </ResponseField>
  </Expandable>
</ResponseField>

### Status codes

| Code  | Meaning      |
| ----- | ------------ |
| `200` | File listing |

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url 'https://api.sandbox.stateset.app/api/v1/sandbox/{id}/files' \
    --header "Authorization: Bearer $STATESET_SANDBOX_API_KEY"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "files": [
      {
        "name": "Two-Person Tent",
        "path": "string",
        "type": "file",
        "size": 1,
        "modified_at": "2026-08-31T14:22:05Z"
      }
    ]
  }
  ```
</ResponseExample>
