# GET /v1/workspaces/{workspace_id}/fs/{path} - Read file or list directory

Source: <https://everruns.com/docs/api/operations/get_path/>

GET

/v1/workspaces/{workspace\_id}/fs/{path}

Select code samplecURL (shell:curl)

```js
const url = 'https://app.everruns.com/api/v1/workspaces/example/fs/example';
const options = {method: 'GET'};


try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```sh
curl --request GET \
  --url https://app.everruns.com/api/v1/workspaces/example/fs/example
```

* Production APIapp.everruns.com/api/v1/workspaces/{workspace\_id}/fs/{path}

## Parameters

### Path Parameters

**workspace\_id**

required

string

Workspace ID (wsp\_<32-hex>)

**path**

required

string

File or directory path. Wildcard route: nested paths are literal `/`-separated segments, not a single URL-encoded value.

### Query Parameters

**recursive**

boolean

List recursively

## Responses

### 200

File content or directory listing

Media typeapplication/json

One of:

* object

  Complete file with content

  object

  **content**

  File content. Encoding is controlled by the `encoding` field: plain UTF-8 text for `text`, base64-encoded bytes for `base64`. `None` for directories and when this is a metadata-only listing.

  string | null

  **created\_at**

  required

  Timestamp when this entry was created (RFC 3339).

  string format: date-time

  **encoding**

  Content encoding for the `content` field: `text` (UTF-8) or `base64` (binary).

  string

  **id**

  required

  Internal database UUID for this file entry.

  string format: uuid

  **is\_directory**

  required

  `true` when this entry represents a directory; `false` for a regular file.

  boolean

  **is\_readonly**

  required

  Whether the entry was marked read-only at creation. Read-only entries cannot be edited or deleted by the session.

  boolean

  **name**

  required

  File or directory name (the last segment of `path`).

  string

  **path**

  required

  Absolute path within the session workspace (e.g. `/notes.md`).

  string

  **session\_id**

  required

  UUID of the owning session.

  string format: uuid

  **size\_bytes**

  required

  File size in bytes. `0` for directories.

  integer format: int64

  **updated\_at**

  required

  Timestamp when this entry was last updated (RFC 3339).

  string format: date-time

* object

  Response wrapper for list endpoints. All list endpoints return responses wrapped in a `data` field.

  object

  **data**

  required

  Array of items returned by the list operation.

  Array\<object>

  File metadata without content

  object

  **created\_at**

  required

  Timestamp when this entry was created (RFC 3339).

  string format: date-time

  **id**

  required

  Internal database UUID for this file entry.

  string format: uuid

  **is\_directory**

  required

  `true` when this entry represents a directory; `false` for a regular file.

  boolean

  **is\_readonly**

  required

  Whether the entry was marked read-only at creation. Read-only entries cannot be edited or deleted by the session.

  boolean

  **name**

  required

  File or directory name (the last segment of `path`).

  string

  **path**

  required

  Absolute path within the session workspace (e.g. `/notes.md`).

  string

  **session\_id**

  required

  UUID of the owning session.

  string format: uuid

  **size\_bytes**

  required

  File size in bytes. `0` for directories.

  integer format: int64

  **updated\_at**

  required

  Timestamp when this entry was last updated (RFC 3339).

  string format: date-time

##### Example

```json
{
  "data": [
    {
      "created_at": "2026-05-25T10:14:00Z",
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "is_directory": false,
      "is_readonly": false,
      "name": "notes.md",
      "path": "/notes.md",
      "session_id": "01933b5a-0000-7000-8000-000000000001",
      "size_bytes": 4096,
      "updated_at": "2026-05-25T10:15:30Z"
    }
  ]
}
```

### 404

Not found

### 500

Internal server error