# POST /v1/workspaces/{workspace_id}/fs/_/move - Move/rename a file or directory

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

POST

/v1/workspaces/{workspace\_id}/fs/\_/move

Select code samplecURL (shell:curl)

```js
const url = 'https://app.everruns.com/api/v1/workspaces/example/fs/_/move';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"dst_path":"docs/migration-plan.md","src_path":"drafts/migration-plan.md"}'
};


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

```sh
curl --request POST \
  --url https://app.everruns.com/api/v1/workspaces/example/fs/_/move \
  --header 'Content-Type: application/json' \
  --data '{ "dst_path": "docs/migration-plan.md", "src_path": "drafts/migration-plan.md" }'
```

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

## Parameters

### Path Parameters

**workspace\_id**

required

string

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

## Request Bodyrequired

Media typeapplication/json

Request to move/rename a file

object

**dst\_path**

required

Destination path (relative to the workspace filesystem root).

string

##### Example

```plaintext
docs/migration-plan.md
```

**src\_path**

required

Source path (relative to the workspace filesystem root).

string

##### Example

```plaintext
drafts/migration-plan.md
```

## Responses

### 200

Moved

Media typeapplication/json

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

##### Examplegenerated

```json
{
  "content": "example",
  "created_at": "2026-04-15T12:00:00Z",
  "encoding": "example",
  "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
  "is_directory": true,
  "is_readonly": true,
  "name": "example",
  "path": "example",
  "session_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
  "size_bytes": 1,
  "updated_at": "2026-04-15T12:00:00Z"
}
```

### 400

Invalid request

### 404

Source not found

### 409

Destination exists

### 500

Internal server error