Skip to content

Create file or directory

POST
/v1/workspaces/{workspace_id}/fs/{path}
curl --request POST \
--url https://app.everruns.com/api/v1/workspaces/example/fs/example \
--header 'Content-Type: application/json' \
--data '{ "content": "# Project notes\n\nDraft outline of the migration plan.\n", "encoding": "text", "is_directory": false, "is_readonly": false }'
workspace_id
required
string

Workspace ID (wsp_<32-hex>)

path
required
string

File or directory path

Media type application/json

Request to create a file

object
content

File content (text or base64-encoded). Must match encoding.

string | null
Example
# Project notes
Draft outline of the migration plan.
encoding

Content encoding: “text” or “base64”. Defaults to text.

string | null
Example
text
is_directory

Whether to create a directory instead of a file (ignores content/encoding).

boolean | null
Example
false
is_readonly

Whether file is read-only

boolean | null
Example
false

Created

Media type application/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
Example generated
{
"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"
}

Invalid request

Already exists

Internal server error