---
title: "Update file by storage ID and path"
method: PUT
path: "/v1/storages/{storage_id}/files/"
---

# Update file by storage ID and path

`PUT /v1/storages/{storage_id}/files/`

## Request

- Base URL: `https://app.iconik.io/API/files`
- URL: `https://app.iconik.io/API/files/v1/storages/{storage_id}/files/`
- Auth: none declared. Required headers: `App-ID`, `Auth-Token`
- TypeScript: <https://skmtc.dev/iconik/apis/iconik-files/docs/v1/storages/:storage_id/files/put.ts> (a function with typed inputs; its response is checked against the schema)

Required roles:
 - can_write_files

## Path parameters

- `storage_id` string, required

## Headers

- `App-ID` string, required
- `Auth-Token` string, required

## Request body

- FileBaseSchema
  - `asset_id` string, uuid
  - `checksum` string, nullable
  - `date_created` string, date-time
  - `date_modified` string, date-time
  - `directory_path` string, required
  - `file_date_created` string, date-time
  - `file_date_modified` string, date-time
  - `file_set_id` string, uuid
  - `format_id` string, uuid
  - `id` string, uuid
  - `name` string: If not specified, name will be autogenerated based on `id` and `original_name`
  - `original_name` string, required
  - `parent_id` string, uuid, nullable
  - `size` integer
  - `status` 'OPEN' | 'GROWING' | 'AWAITED' | 'CLOSED' | 'FAILED' | 'ARCHIVED' | 'MISSING' | 'REDISCOVERED' | 'DELETED'
  - `storage_id` string, uuid
  - `template` string
  - `template_engine` 'SIMPLE' | 'JINJA2' | 'null', nullable
  - `type` 'FILE' | 'DIRECTORY' | 'SYMLINK' | 'SEQUENCE', required
  - `user_id` string, uuid, nullable
  - `version_id` string, uuid

## Response `200`

Returns updated file

- FileBaseSchema
  - `asset_id` string, uuid
  - `checksum` string, nullable
  - `date_created` string, date-time
  - `date_modified` string, date-time
  - `directory_path` string, required
  - `file_date_created` string, date-time
  - `file_date_modified` string, date-time
  - `file_set_id` string, uuid
  - `format_id` string, uuid
  - `id` string, uuid
  - `name` string: If not specified, name will be autogenerated based on `id` and `original_name`
  - `original_name` string, required
  - `parent_id` string, uuid, nullable
  - `size` integer
  - `status` 'OPEN' | 'GROWING' | 'AWAITED' | 'CLOSED' | 'FAILED' | 'ARCHIVED' | 'MISSING' | 'REDISCOVERED' | 'DELETED'
  - `storage_id` string, uuid
  - `template` string
  - `template_engine` 'SIMPLE' | 'JINJA2' | 'null', nullable
  - `type` 'FILE' | 'DIRECTORY' | 'SYMLINK' | 'SEQUENCE', required
  - `user_id` string, uuid, nullable
  - `version_id` string, uuid

## Other responses

- `400`: Bad request
- `401`: Token is invalid
- `403`: Asset access denied
- `404`: No file found
- `default`: Error response

---

[API](https://skmtc.dev/iconik/apis/iconik-files.md) - [All operations](https://skmtc.dev/iconik/apis/iconik-files/llms.txt) - [OpenAPI document](https://skmtc.dev/iconik/apis/iconik-files/revisions/ed57d13791a2?raw)
