Files

Put a file at a specific path (object-storage style)

S3/blob-style put-object: store the raw request body at the given key. The key is relative to the session's uploads mount (/mnt/user-data/uploads/ inside the sandbox) and may be nested, e.g. data/2024/report.pdf; an explicit uploads/ prefix is accepted and normalized away. Parent directories are created automatically and existing keys are overwritten. The response is the same FileMetadata as POST /v1/files, so the returned id can be used with the other file endpoints.

put/v1/files/{file_id}

Path parameters

file_idstring required

Query parameters

scope_idstring required

Session / container identifier.

Example:session-abc123

Session / container identifier.

namespacestring

Namespace for the file. Defaults to 'session'.

Example:session

Namespace for the file. Defaults to 'session'.

Request body

string binary required

Raw file bytes stored at the key (S3/blob-style put-object). The media type is taken from the request Content-Type header.

Response

Successful Response

idstring required

Relative path of the file within the session, e.g. 'uploads/data.csv' or 'outputs/result.png'. Use this value as file_id in subsequent requests.

created_atstring date-time required

ISO-8601 timestamp when the file was created or last modified.

filenamestring required

Filename derived from the path.

mime_typestring required

MIME type detected from the file content.

size_bytesinteger required

File size in bytes.

type'file'

Object type discriminator, always 'file'.

downloadableboolean required

True for sandbox output files; False for uploaded input files.

etagstring nullable

Content checksum (MD5 hex or S3 ETag). Present after stat; None if unavailable.

namespacestring

Namespace this file belongs to (e.g. 'session', 'skills', or a custom namespace).

Example response

{
  "created_at": "2024-01-15T10:30:00Z",
  "downloadable": false,
  "filename": "data.csv",
  "id": "uploads/data.csv",
  "mime_type": "text/csv",
  "scope": {
    "id": "session-abc123",
    "type": "session"
  },
  "size_bytes": 4096,
  "type": "file"
}

Changes

Changed in 1 of the 11 revisions of this API.1