Skip to content

Get upload session

GET
/v0/namespaces/{namespace_id}/uploads/{upload_id}

Returns an upload session. An open direct_put session includes freshly signed access. A completed session includes a new content token so the client can retry the commit without uploading the content again.

namespace_id
required
string

Namespace id

upload_id
required
string

Upload session id

Upload session state

One of: discriminator: status
open

Accepting content until its lease passes.

object
access
One of: discriminator: kind
presigned_url

Short-lived URL plus required headers for one object-store write.

object
expires_at_ms
required

Expiration timestamp in Unix milliseconds.

integer format: int64
headers

Headers that are covered by the signature and must be sent.

object
key
additional properties
string
kind
required
string
Allowed values: presigned_url
method
required

HTTP method the client must use.

string
url
required

Full presigned URL.

string
checksum_algorithm

Present for direct_put and direct_multipart sessions.

string
Allowed values: sha256 crc64nvme crc32c
content_ref

Present after content is staged in a service_proxied session.

object
checksum
required

Mandatory checksum over the complete object.

object
algorithm
required

Algorithm that produced value.

string
Allowed values: sha256 crc64nvme crc32c
value
required

The canonical lowercase hexadecimal checksum without a prefix.

string
content_id
required

Immutable identity of the content; with the owner, it determines the object key.

string
/^con_[0-9a-f]{32}$/
Example
con_9f2a6c0e4b7d4a90b13f0d8c5e6a2b41
kind
required

Content strategy used by the referenced content.

string
Allowed values: blob_v1
owner_namespace_id
required

Namespace that originally wrote the bytes.

string
/^[a-z0-9][a-z0-9._-]{0,127}$/
Example
demo
size_bytes
required

Complete byte length of the referenced content.

integer format: int64
expires_at_ms
required

The Unix-millisecond time after which cleanup may abort the session.

integer format: int64
mode
required

Transport selected when the session began.

string
Allowed values: service_proxied direct_put direct_multipart
namespace_id
required

Namespace that owns the session.

string
/^[a-z0-9][a-z0-9._-]{0,127}$/
Example
demo
part_size_bytes

Present for direct_multipart sessions.

integer format: int64
status
required

Whether the upload session is open, completed, or aborted.

string
Allowed values: open
upload_id
required

Session represented by this view.

string
/^upl_[0-9a-f]{32}$/
Example
upl_4d8f2c91a7b34e0f9c6d1a2b3e5f708c

Invalid upload id

HTTP error body used by LoonFS APIs.

object
code
required

The stable machine-readable error code as a string.

string
details

The optional machine-readable context for the error code.

object
active_acquired_at_ms

The Unix-millisecond time when the current writer acquired its epoch, when available.

integer format: int64
active_writer_epoch

Epoch that currently owns the namespace.

integer format: int64
<= 9007199254740991
active_writer_id

The writer ID recorded for the current epoch, when available.

string
actual_access_revision_no

Access revision that is actually current for the inode.

integer format: int64
<= 9007199254740991
actual_attributes_revision_no

Attribute revision that is actually current for the inode.

integer format: int64
<= 9007199254740991
actual_binding_version

Current binding token; absent for the root, which has no binding.

string
/^[0-9a-f]+$/
actual_deletion_seq

Deletion sequence actually active for the inode.

integer format: int64
<= 9007199254740991
actual_head_seq

The actual namespace head sequence.

integer format: int64
<= 9007199254740991
actual_inode_id

The path actually contained this inode.

string
/^ino_[1-9][0-9]*$/
Example
ino_123
actual_revision_no

Revision that is actually current; absent when the inode has none.

integer format: int64
<= 9007199254740991
after_seq

Change-feed cursor the request asked to resume after.

integer format: int64
<= 9007199254740991
commit_id

Idempotency key of the commit the error concerns.

string
/^[a-z0-9][a-z0-9._-]{0,127}$/
Example
c_f3a9c2d4b6e8417a90c5d2f8e1b7a6c0
committed_fingerprint

The fingerprint of the mutation that landed under commit_id, present with committed_seq.

string
committed_seq

The sequence where this commit ID already landed, when recorded by a durable receipt.

integer format: int64
<= 9007199254740991
expected_access_revision_no

Access revision the request expected to be current.

integer format: int64
<= 9007199254740991
expected_attributes_revision_no

Attribute revision the request expected to be current.

integer format: int64
<= 9007199254740991
expected_binding_version

Opaque binding token supplied by the request.

string
/^[0-9a-f]+$/
expected_deletion_seq

Deletion sequence the undelete expected to be active.

integer format: int64
<= 9007199254740991
expected_head_seq

The head sequence required by the request.

integer format: int64
<= 9007199254740991
expected_inode_id

The request expected the path to contain this inode.

string
/^ino_[1-9][0-9]*$/
Example
ino_123
expected_revision_no

Revision the request expected to be current.

integer format: int64
<= 9007199254740991
fenced_writer_epoch

Epoch the failing writer session held when it was displaced.

integer format: int64
<= 9007199254740991
inode_id

Inode the failed precondition or operation targeted.

string
/^ino_[1-9][0-9]*$/
Example
ino_123
max_writer_sessions

Maximum writer sessions admitted by the node.

integer
namespace_id

The deleted namespace that caused the operation to fail.

string
/^[a-z0-9][a-z0-9._-]{0,127}$/
Example
demo
operation_index

The index of the failed operation in the request.

integer format: int32
precondition_index

Zero-based position of the failed request precondition.

integer format: int32
retention_floor_seq

Oldest sequence still promised for incremental replay.

integer format: int64
<= 9007199254740991
feature

The capability feature key for a not_supported error.

string
message
required

Human-readable error message.

string
param

The invalid JSON Pointer, parameter name, CLI flag, or CLI argument.

string
request_id

The request correlation ID also sent in the x-request-id response header.

string

Unauthorized

HTTP error body used by LoonFS APIs.

object
code
required

The stable machine-readable error code as a string.

string
details

The optional machine-readable context for the error code.

object
active_acquired_at_ms

The Unix-millisecond time when the current writer acquired its epoch, when available.

integer format: int64
active_writer_epoch

Epoch that currently owns the namespace.

integer format: int64
<= 9007199254740991
active_writer_id

The writer ID recorded for the current epoch, when available.

string
actual_access_revision_no

Access revision that is actually current for the inode.

integer format: int64
<= 9007199254740991
actual_attributes_revision_no

Attribute revision that is actually current for the inode.

integer format: int64
<= 9007199254740991
actual_binding_version

Current binding token; absent for the root, which has no binding.

string
/^[0-9a-f]+$/
actual_deletion_seq

Deletion sequence actually active for the inode.

integer format: int64
<= 9007199254740991
actual_head_seq

The actual namespace head sequence.

integer format: int64
<= 9007199254740991
actual_inode_id

The path actually contained this inode.

string
/^ino_[1-9][0-9]*$/
Example
ino_123
actual_revision_no

Revision that is actually current; absent when the inode has none.

integer format: int64
<= 9007199254740991
after_seq

Change-feed cursor the request asked to resume after.

integer format: int64
<= 9007199254740991
commit_id

Idempotency key of the commit the error concerns.

string
/^[a-z0-9][a-z0-9._-]{0,127}$/
Example
c_f3a9c2d4b6e8417a90c5d2f8e1b7a6c0
committed_fingerprint

The fingerprint of the mutation that landed under commit_id, present with committed_seq.

string
committed_seq

The sequence where this commit ID already landed, when recorded by a durable receipt.

integer format: int64
<= 9007199254740991
expected_access_revision_no

Access revision the request expected to be current.

integer format: int64
<= 9007199254740991
expected_attributes_revision_no

Attribute revision the request expected to be current.

integer format: int64
<= 9007199254740991
expected_binding_version

Opaque binding token supplied by the request.

string
/^[0-9a-f]+$/
expected_deletion_seq

Deletion sequence the undelete expected to be active.

integer format: int64
<= 9007199254740991
expected_head_seq

The head sequence required by the request.

integer format: int64
<= 9007199254740991
expected_inode_id

The request expected the path to contain this inode.

string
/^ino_[1-9][0-9]*$/
Example
ino_123
expected_revision_no

Revision the request expected to be current.

integer format: int64
<= 9007199254740991
fenced_writer_epoch

Epoch the failing writer session held when it was displaced.

integer format: int64
<= 9007199254740991
inode_id

Inode the failed precondition or operation targeted.

string
/^ino_[1-9][0-9]*$/
Example
ino_123
max_writer_sessions

Maximum writer sessions admitted by the node.

integer
namespace_id

The deleted namespace that caused the operation to fail.

string
/^[a-z0-9][a-z0-9._-]{0,127}$/
Example
demo
operation_index

The index of the failed operation in the request.

integer format: int32
precondition_index

Zero-based position of the failed request precondition.

integer format: int32
retention_floor_seq

Oldest sequence still promised for incremental replay.

integer format: int64
<= 9007199254740991
feature

The capability feature key for a not_supported error.

string
message
required

Human-readable error message.

string
param

The invalid JSON Pointer, parameter name, CLI flag, or CLI argument.

string
request_id

The request correlation ID also sent in the x-request-id response header.

string

Namespace or upload not found

HTTP error body used by LoonFS APIs.

object
code
required

The stable machine-readable error code as a string.

string
details

The optional machine-readable context for the error code.

object
active_acquired_at_ms

The Unix-millisecond time when the current writer acquired its epoch, when available.

integer format: int64
active_writer_epoch

Epoch that currently owns the namespace.

integer format: int64
<= 9007199254740991
active_writer_id

The writer ID recorded for the current epoch, when available.

string
actual_access_revision_no

Access revision that is actually current for the inode.

integer format: int64
<= 9007199254740991
actual_attributes_revision_no

Attribute revision that is actually current for the inode.

integer format: int64
<= 9007199254740991
actual_binding_version

Current binding token; absent for the root, which has no binding.

string
/^[0-9a-f]+$/
actual_deletion_seq

Deletion sequence actually active for the inode.

integer format: int64
<= 9007199254740991
actual_head_seq

The actual namespace head sequence.

integer format: int64
<= 9007199254740991
actual_inode_id

The path actually contained this inode.

string
/^ino_[1-9][0-9]*$/
Example
ino_123
actual_revision_no

Revision that is actually current; absent when the inode has none.

integer format: int64
<= 9007199254740991
after_seq

Change-feed cursor the request asked to resume after.

integer format: int64
<= 9007199254740991
commit_id

Idempotency key of the commit the error concerns.

string
/^[a-z0-9][a-z0-9._-]{0,127}$/
Example
c_f3a9c2d4b6e8417a90c5d2f8e1b7a6c0
committed_fingerprint

The fingerprint of the mutation that landed under commit_id, present with committed_seq.

string
committed_seq

The sequence where this commit ID already landed, when recorded by a durable receipt.

integer format: int64
<= 9007199254740991
expected_access_revision_no

Access revision the request expected to be current.

integer format: int64
<= 9007199254740991
expected_attributes_revision_no

Attribute revision the request expected to be current.

integer format: int64
<= 9007199254740991
expected_binding_version

Opaque binding token supplied by the request.

string
/^[0-9a-f]+$/
expected_deletion_seq

Deletion sequence the undelete expected to be active.

integer format: int64
<= 9007199254740991
expected_head_seq

The head sequence required by the request.

integer format: int64
<= 9007199254740991
expected_inode_id

The request expected the path to contain this inode.

string
/^ino_[1-9][0-9]*$/
Example
ino_123
expected_revision_no

Revision the request expected to be current.

integer format: int64
<= 9007199254740991
fenced_writer_epoch

Epoch the failing writer session held when it was displaced.

integer format: int64
<= 9007199254740991
inode_id

Inode the failed precondition or operation targeted.

string
/^ino_[1-9][0-9]*$/
Example
ino_123
max_writer_sessions

Maximum writer sessions admitted by the node.

integer
namespace_id

The deleted namespace that caused the operation to fail.

string
/^[a-z0-9][a-z0-9._-]{0,127}$/
Example
demo
operation_index

The index of the failed operation in the request.

integer format: int32
precondition_index

Zero-based position of the failed request precondition.

integer format: int32
retention_floor_seq

Oldest sequence still promised for incremental replay.

integer format: int64
<= 9007199254740991
feature

The capability feature key for a not_supported error.

string
message
required

Human-readable error message.

string
param

The invalid JSON Pointer, parameter name, CLI flag, or CLI argument.

string
request_id

The request correlation ID also sent in the x-request-id response header.

string

Namespace deleted

HTTP error body used by LoonFS APIs.

object
code
required

The stable machine-readable error code as a string.

string
details

The optional machine-readable context for the error code.

object
active_acquired_at_ms

The Unix-millisecond time when the current writer acquired its epoch, when available.

integer format: int64
active_writer_epoch

Epoch that currently owns the namespace.

integer format: int64
<= 9007199254740991
active_writer_id

The writer ID recorded for the current epoch, when available.

string
actual_access_revision_no

Access revision that is actually current for the inode.

integer format: int64
<= 9007199254740991
actual_attributes_revision_no

Attribute revision that is actually current for the inode.

integer format: int64
<= 9007199254740991
actual_binding_version

Current binding token; absent for the root, which has no binding.

string
/^[0-9a-f]+$/
actual_deletion_seq

Deletion sequence actually active for the inode.

integer format: int64
<= 9007199254740991
actual_head_seq

The actual namespace head sequence.

integer format: int64
<= 9007199254740991
actual_inode_id

The path actually contained this inode.

string
/^ino_[1-9][0-9]*$/
Example
ino_123
actual_revision_no

Revision that is actually current; absent when the inode has none.

integer format: int64
<= 9007199254740991
after_seq

Change-feed cursor the request asked to resume after.

integer format: int64
<= 9007199254740991
commit_id

Idempotency key of the commit the error concerns.

string
/^[a-z0-9][a-z0-9._-]{0,127}$/
Example
c_f3a9c2d4b6e8417a90c5d2f8e1b7a6c0
committed_fingerprint

The fingerprint of the mutation that landed under commit_id, present with committed_seq.

string
committed_seq

The sequence where this commit ID already landed, when recorded by a durable receipt.

integer format: int64
<= 9007199254740991
expected_access_revision_no

Access revision the request expected to be current.

integer format: int64
<= 9007199254740991
expected_attributes_revision_no

Attribute revision the request expected to be current.

integer format: int64
<= 9007199254740991
expected_binding_version

Opaque binding token supplied by the request.

string
/^[0-9a-f]+$/
expected_deletion_seq

Deletion sequence the undelete expected to be active.

integer format: int64
<= 9007199254740991
expected_head_seq

The head sequence required by the request.

integer format: int64
<= 9007199254740991
expected_inode_id

The request expected the path to contain this inode.

string
/^ino_[1-9][0-9]*$/
Example
ino_123
expected_revision_no

Revision the request expected to be current.

integer format: int64
<= 9007199254740991
fenced_writer_epoch

Epoch the failing writer session held when it was displaced.

integer format: int64
<= 9007199254740991
inode_id

Inode the failed precondition or operation targeted.

string
/^ino_[1-9][0-9]*$/
Example
ino_123
max_writer_sessions

Maximum writer sessions admitted by the node.

integer
namespace_id

The deleted namespace that caused the operation to fail.

string
/^[a-z0-9][a-z0-9._-]{0,127}$/
Example
demo
operation_index

The index of the failed operation in the request.

integer format: int32
precondition_index

Zero-based position of the failed request precondition.

integer format: int32
retention_floor_seq

Oldest sequence still promised for incremental replay.

integer format: int64
<= 9007199254740991
feature

The capability feature key for a not_supported error.

string
message
required

Human-readable error message.

string
param

The invalid JSON Pointer, parameter name, CLI flag, or CLI argument.

string
request_id

The request correlation ID also sent in the x-request-id response header.

string

The server cannot complete the request now. Inspect code to determine whether the cause is a deadline, shutdown, load, writer-session admission, required maintenance, or invalid storage credentials. A mutation may still complete after a deadline or lost acknowledgment, so determine its outcome before retrying.

HTTP error body used by LoonFS APIs.

object
code
required

The stable machine-readable error code as a string.

string
details

The optional machine-readable context for the error code.

object
active_acquired_at_ms

The Unix-millisecond time when the current writer acquired its epoch, when available.

integer format: int64
active_writer_epoch

Epoch that currently owns the namespace.

integer format: int64
<= 9007199254740991
active_writer_id

The writer ID recorded for the current epoch, when available.

string
actual_access_revision_no

Access revision that is actually current for the inode.

integer format: int64
<= 9007199254740991
actual_attributes_revision_no

Attribute revision that is actually current for the inode.

integer format: int64
<= 9007199254740991
actual_binding_version

Current binding token; absent for the root, which has no binding.

string
/^[0-9a-f]+$/
actual_deletion_seq

Deletion sequence actually active for the inode.

integer format: int64
<= 9007199254740991
actual_head_seq

The actual namespace head sequence.

integer format: int64
<= 9007199254740991
actual_inode_id

The path actually contained this inode.

string
/^ino_[1-9][0-9]*$/
Example
ino_123
actual_revision_no

Revision that is actually current; absent when the inode has none.

integer format: int64
<= 9007199254740991
after_seq

Change-feed cursor the request asked to resume after.

integer format: int64
<= 9007199254740991
commit_id

Idempotency key of the commit the error concerns.

string
/^[a-z0-9][a-z0-9._-]{0,127}$/
Example
c_f3a9c2d4b6e8417a90c5d2f8e1b7a6c0
committed_fingerprint

The fingerprint of the mutation that landed under commit_id, present with committed_seq.

string
committed_seq

The sequence where this commit ID already landed, when recorded by a durable receipt.

integer format: int64
<= 9007199254740991
expected_access_revision_no

Access revision the request expected to be current.

integer format: int64
<= 9007199254740991
expected_attributes_revision_no

Attribute revision the request expected to be current.

integer format: int64
<= 9007199254740991
expected_binding_version

Opaque binding token supplied by the request.

string
/^[0-9a-f]+$/
expected_deletion_seq

Deletion sequence the undelete expected to be active.

integer format: int64
<= 9007199254740991
expected_head_seq

The head sequence required by the request.

integer format: int64
<= 9007199254740991
expected_inode_id

The request expected the path to contain this inode.

string
/^ino_[1-9][0-9]*$/
Example
ino_123
expected_revision_no

Revision the request expected to be current.

integer format: int64
<= 9007199254740991
fenced_writer_epoch

Epoch the failing writer session held when it was displaced.

integer format: int64
<= 9007199254740991
inode_id

Inode the failed precondition or operation targeted.

string
/^ino_[1-9][0-9]*$/
Example
ino_123
max_writer_sessions

Maximum writer sessions admitted by the node.

integer
namespace_id

The deleted namespace that caused the operation to fail.

string
/^[a-z0-9][a-z0-9._-]{0,127}$/
Example
demo
operation_index

The index of the failed operation in the request.

integer format: int32
precondition_index

Zero-based position of the failed request precondition.

integer format: int32
retention_floor_seq

Oldest sequence still promised for incremental replay.

integer format: int64
<= 9007199254740991
feature

The capability feature key for a not_supported error.

string
message
required

Human-readable error message.

string
param

The invalid JSON Pointer, parameter name, CLI flag, or CLI argument.

string
request_id

The request correlation ID also sent in the x-request-id response header.

string