## Update `client.vals.files.update(stringvalId, FileUpdateParamsparams, RequestOptionsoptions?): FileUpdateResponse` **put** `/v2/vals/{val_id}/files` Update a file's content ### Parameters - **valId:** `string` - **params:** `FileUpdateParams` - **path:** `string` Query param: Path to a file or directory (e.g. 'dir/subdir/file.ts'). Pass in an empty string to represent the root directory. - **branch\_id:** `string` Query param: The specified branch of the resource. Defaults to main if not provided. - **content:** `string` Body param: File and val content. An empty string will create an empty file. When creating a directory, the content should be null or undefined. - **name:** `string` Body param: - **parent\_path:** `string | null` Body param: Path to the directory you'd like to move this file to (e.g. 'folder1/folder2') - **type:** `"file" | "interval" | "http" | 2 more` Body param: - `"file"` - `"interval"` - `"http"` - `"email"` - `"script"` ### Returns - `FileUpdateResponse` A File or Directory's Metadata - **id:** `string` The id of the resource - **links:** `Links` - **html:** `string` The URL of this resource on Val Town - **module:** `string` The URL of this resource's source code as a module - **self:** `string` The URL of this resource on this API - **endpoint:** `string` This resource's web endpoint, where it serves a website or API - **name:** `string` - **path:** `string` - **type:** `"directory" | "file" | "interval" | 3 more` - `"directory"` - `"file"` - `"interval"` - `"http"` - `"email"` - `"script"` - **updatedAt:** `string` - **version:** `number` ### Example ```node import ValTown from '@valtown/sdk'; const client = new ValTown(); const file = await client.vals.files.update('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { path: 'path' }); console.log(file.id); ```