Get capabilities
Returns a summary of supported features and limits.
Authorizations
Section titled “Authorizations ”Responses
Section titled “ Responses ”Capability document
The API groups, features, and limits advertised by a deployment.
object
The advertised group/version API groups, each with every required operation implemented.
Named features and whether this deployment supports them. An absent key means unsupported. Known keys are listed below; deployments may advertise additional keys. The response example is illustrative, not a guarantee of support.
object
Create namespaces.
Fork namespaces.
Permanently delete and retire namespaces.
Create, list, extend, delete, and read from leased snapshots.
Send small file contents directly in a commit.
Upload an object through one presigned request.
Upload an object through presigned multipart requests.
Download an object through a presigned request.
Search file contents with grep.
Advisory numeric limits clients may use to pre-validate requests. Known keys are listed below; deployments may advertise additional keys. Values vary by deployment: use the returned values rather than assuming the illustrative response example is universal.
object
Largest service-proxied upload body, in bytes.
Largest object accepted through one presigned direct_put request, in bytes. Provider-dependent; advertised only when known.
Largest upload-completion JSON body, in bytes.
Largest service-proxied content read, in bytes.
Maximum concurrent proxied uploads.
Maximum concurrent proxied content reads.
Maximum snapshot TTL per creation or extension, in milliseconds.
Maximum snapshot lifetime from creation, in milliseconds.
Maximum live snapshots per namespace.
Maximum filesystem operations per commit.
Maximum request-level preconditions per commit.
Maximum decoded bytes per inline file value.
Maximum content-preparation tokens per commit.
Maximum distinct external content references per commit.
Maximum commit message size in UTF-8 bytes.
Maximum principal IDs in one request’s subject context.
Minimum garbage-collection grace window, in milliseconds.
Page size used when a standard paged request omits limit.
Maximum standard page size.
Grep match limit when omitted. Advertised when grep is supported.
Maximum grep match limit. Advertised when grep is supported.
Maximum files scanned by a plan-less allow_scan query. Advertised when grep is supported.
Maximum unindexed revisions scanned before reporting index lag. Advertised when grep is supported.
The protocol version, v0.
Example
{ "protocol_version": "v0", "api_groups": [ "filesystem/v0", "query/v0" ], "features": { "filesystem.namespaces.create": true, "filesystem.namespaces.fork": true, "filesystem.namespaces.delete": true, "filesystem.snapshots": true, "filesystem.commits.inline_content": true, "filesystem.uploads.direct_put": true, "filesystem.uploads.direct_multipart": true, "filesystem.downloads.direct_get": true, "query.grep": true }, "limits": { "upload.service_proxied.max_content_bytes": 268435456, "upload.direct_put.max_content_bytes": 5368709120, "upload.complete.max_request_body_bytes": 8388608, "download.service_proxied.max_content_bytes": 268435456, "upload.service_proxied.max_concurrent_requests": 8, "download.service_proxied.max_concurrent_requests": 16, "snapshot.max_ttl_ms": 86400000, "snapshot.max_lifetime_ms": 604800000, "snapshot.max_live_per_namespace": 16, "commit.max_operations": 4096, "commit.max_preconditions": 1024, "commit.max_inline_content_bytes_per_operation": 65536, "commit.max_content_tokens": 4096, "commit.max_external_content_refs": 4096, "commit.max_message_bytes": 4096, "access.max_principals_per_request": 64, "maintenance.gc.min_grace_window_ms": 1335000, "pagination.default_limit": 1000, "pagination.max_limit": 1000, "query.grep.default_limit": 1000, "query.grep.max_limit": 1000, "query.grep.scan_budget_files": 4096, "query.grep.tail_budget_files": 512 }}Unknown query parameter
HTTP error body used by LoonFS APIs.
object
The stable machine-readable error code as a string.
The optional machine-readable context for the error code.
object
The Unix-millisecond time when the current writer acquired its epoch, when available.
Epoch that currently owns the namespace.
The writer ID recorded for the current epoch, when available.
Access revision that is actually current for the inode.
Attribute revision that is actually current for the inode.
Current binding token; absent for the root, which has no binding.
Deletion sequence actually active for the inode.
The actual namespace head sequence.
The path actually contained this inode.
Example
ino_123Revision that is actually current; absent when the inode has none.
Change-feed cursor the request asked to resume after.
Idempotency key of the commit the error concerns.
Example
c_f3a9c2d4b6e8417a90c5d2f8e1b7a6c0The fingerprint of the mutation that landed under commit_id, present with committed_seq.
The sequence where this commit ID already landed, when recorded by a durable receipt.
Access revision the request expected to be current.
Attribute revision the request expected to be current.
Opaque binding token supplied by the request.
Deletion sequence the undelete expected to be active.
The head sequence required by the request.
The request expected the path to contain this inode.
Example
ino_123Revision the request expected to be current.
Epoch the failing writer session held when it was displaced.
Inode the failed precondition or operation targeted.
Example
ino_123Maximum writer sessions admitted by the node.
The deleted namespace that caused the operation to fail.
Example
demoThe index of the failed operation in the request.
Zero-based position of the failed request precondition.
Oldest sequence still promised for incremental replay.
The capability feature key for a not_supported error.
Human-readable error message.
The invalid JSON Pointer, parameter name, CLI flag, or CLI argument.
The request correlation ID also sent in the x-request-id response header.
Unauthorized
HTTP error body used by LoonFS APIs.
object
The stable machine-readable error code as a string.
The optional machine-readable context for the error code.
object
The Unix-millisecond time when the current writer acquired its epoch, when available.
Epoch that currently owns the namespace.
The writer ID recorded for the current epoch, when available.
Access revision that is actually current for the inode.
Attribute revision that is actually current for the inode.
Current binding token; absent for the root, which has no binding.
Deletion sequence actually active for the inode.
The actual namespace head sequence.
The path actually contained this inode.
Example
ino_123Revision that is actually current; absent when the inode has none.
Change-feed cursor the request asked to resume after.
Idempotency key of the commit the error concerns.
Example
c_f3a9c2d4b6e8417a90c5d2f8e1b7a6c0The fingerprint of the mutation that landed under commit_id, present with committed_seq.
The sequence where this commit ID already landed, when recorded by a durable receipt.
Access revision the request expected to be current.
Attribute revision the request expected to be current.
Opaque binding token supplied by the request.
Deletion sequence the undelete expected to be active.
The head sequence required by the request.
The request expected the path to contain this inode.
Example
ino_123Revision the request expected to be current.
Epoch the failing writer session held when it was displaced.
Inode the failed precondition or operation targeted.
Example
ino_123Maximum writer sessions admitted by the node.
The deleted namespace that caused the operation to fail.
Example
demoThe index of the failed operation in the request.
Zero-based position of the failed request precondition.
Oldest sequence still promised for incremental replay.
The capability feature key for a not_supported error.
Human-readable error message.
The invalid JSON Pointer, parameter name, CLI flag, or CLI argument.
The request correlation ID also sent in the x-request-id response header.
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
The stable machine-readable error code as a string.
The optional machine-readable context for the error code.
object
The Unix-millisecond time when the current writer acquired its epoch, when available.
Epoch that currently owns the namespace.
The writer ID recorded for the current epoch, when available.
Access revision that is actually current for the inode.
Attribute revision that is actually current for the inode.
Current binding token; absent for the root, which has no binding.
Deletion sequence actually active for the inode.
The actual namespace head sequence.
The path actually contained this inode.
Example
ino_123Revision that is actually current; absent when the inode has none.
Change-feed cursor the request asked to resume after.
Idempotency key of the commit the error concerns.
Example
c_f3a9c2d4b6e8417a90c5d2f8e1b7a6c0The fingerprint of the mutation that landed under commit_id, present with committed_seq.
The sequence where this commit ID already landed, when recorded by a durable receipt.
Access revision the request expected to be current.
Attribute revision the request expected to be current.
Opaque binding token supplied by the request.
Deletion sequence the undelete expected to be active.
The head sequence required by the request.
The request expected the path to contain this inode.
Example
ino_123Revision the request expected to be current.
Epoch the failing writer session held when it was displaced.
Inode the failed precondition or operation targeted.
Example
ino_123Maximum writer sessions admitted by the node.
The deleted namespace that caused the operation to fail.
Example
demoThe index of the failed operation in the request.
Zero-based position of the failed request precondition.
Oldest sequence still promised for incremental replay.
The capability feature key for a not_supported error.
Human-readable error message.
The invalid JSON Pointer, parameter name, CLI flag, or CLI argument.
The request correlation ID also sent in the x-request-id response header.