path plus the raw file bytes.
writeMode defaults to overwrite.
This is the single-file write surface. Use Get Upload URL only for whole-filesystem archive uploads.
There is no dedicated tu fs CLI subcommand for single-file upload today.
Required Inputs
path: Relative file path (for examplesrc/app.py).- Request body: Raw bytes (
Content-Type: application/octet-stream).
Version Fields
| Field | Meaning | Required when |
|---|---|---|
writeMode | Write strategy: overwrite or conditional | Optional (overwrite is default) |
baseVersion | Expected current archive version | writeMode=conditional |
expectedVersion | Expected current file version at path | writeMode=conditional replace flow |
createOnly | Create only if file does not exist ("*" only) | writeMode=conditional create flow |
baseVersion and expectedVersion come from previous reads/writes:
baseVersion: previousarchive_versionresponse field (or current filesystem archive checksum).expectedVersion: previousfile_versionresponse field (or current file checksum).
Status Codes and Retry Guidance
| Status | Meaning | What to do |
|---|---|---|
200 | Existing file replaced | Success |
201 | New file created | Success |
400 | Invalid path or digest (or malformed request) | Fix request; do not retry unchanged |
404 | Filesystem not found or not authorized | Verify ID and access |
409 | Conflict (stale baseVersion or idempotency key reused with different request) | Refresh state or use new idempotency key |
412 | expectedVersion precondition failed | Refresh file version and retry |
428 | Missing/invalid conditional preconditions | Add required conditional fields |
Advanced: Conditional mode
Advanced: Conditional mode
Use
writeMode=conditional when you need optimistic concurrency:- Replace flow: send
baseVersion+expectedVersion. - Create flow: send
baseVersion+createOnly="*".
Advanced: Idempotent retries
Advanced: Idempotent retries
Use
Idempotency-Key for safe retries:- Same key + same request -> original response is replayed.
- Same key + different request ->
409conflict.