Skip to content

Revision 1 reference

Revision 1 is defined by the central Rust request registry in s3lens-protocol. The catalog below is read from its committed deterministic JSON Schema during the docs build, so it stays aligned with the wire types.

Revision 1 defines 37 requests and 2 notification method.

Session

MethodSummaryParametersResultNotification
initializeNegotiates the protocol revision and connection capabilities.InitializeParamsInitializeResultNo
server/pingChecks that the initialized server can process a request.PingParamsPingResultYes

Providers

MethodSummaryParametersResultNotification
provider/listLists Providers configured in the current Workspace.ProviderListParamsProviderListResultNo

Buckets

MethodSummaryParametersResultNotification
bucket/createCreates one explicitly named Bucket through a Provider.BucketCreateParamsBucketCreateResultNo
bucket/deleteDeletes one explicitly named Bucket through a Provider.BucketDeleteParamsBucketDeleteResultNo
bucket/getGets one explicitly named Bucket from a Provider.BucketGetParamsBucketGetResultNo
bucket/listLists Buckets belonging to one Provider.BucketListParamsBucketListResultNo
bucket/policy/deleteDeletes the native S3 policy attached to one Bucket.BucketPolicyDeleteParamsBucketPolicyDeleteResultNo
bucket/policy/getGets the native S3 policy attached to one Bucket.BucketPolicyGetParamsBucketPolicyGetResultNo
bucket/policy/putReplaces the native S3 policy attached to one Bucket.BucketPolicyPutParamsBucketPolicyPutResultNo
bucket/policy/status/getGets the policy-derived public-access status of one Bucket.BucketPolicyStatusGetParamsBucketPolicyStatusGetResultNo

Objects

MethodSummaryParametersResultNotification
object/copyCopies the current Object to a key in any Bucket of any Provider.ObjectCopyParamsObjectCopyResultNo
object/deleteDeletes one exact Object key from a Provider Bucket.ObjectDeleteParamsObjectDeleteResultNo
object/delete-manyDeletes up to 1,000 exact Object keys from one Provider Bucket.ObjectDeleteManyParamsObjectDeleteManyResultNo
object/getGets one exact Object and its complete content.ObjectGetParamsObjectGetResultNo
object/listLists Objects in one Provider Bucket.ObjectListParamsObjectListResultNo
object/moveMoves the current Object to another key in the same Provider Bucket.ObjectMoveParamsObjectMoveResultNo
object/prefix/deleteDeletes every current Object under one non-empty prefix.ObjectPrefixDeleteParamsObjectPrefixDeleteResultNo
object/previewGets a bounded, inert preview of one exact Object.ObjectPreviewParamsObjectPreviewResultNo
object/putCreates or replaces one exact Object.ObjectPutParamsObjectPutResultNo
object/searchSearches complete Object keys across one Provider Bucket.ObjectSearchParamsObjectSearchResultNo
object/tags/deleteDeletes the complete tag set attached to one Object.ObjectTagsDeleteParamsObjectTagsDeleteResultNo
object/tags/getGets the complete tag set attached to one Object.ObjectTagsGetParamsObjectTagsGetResultNo
object/tags/putReplaces the complete tag set attached to one Object.ObjectTagsPutParamsObjectTagsPutResultNo
object/transfer/createCreates a single-use HTTP streaming transfer ticket for one exact Object.ObjectTransferCreateParamsObjectTransferCreateResultNo
object/version/deleteDeletes one exact Object version.ObjectVersionDeleteParamsObjectVersionDeleteResultNo
object/version/getGets one exact Object version and its complete content.ObjectVersionGetParamsObjectVersionGetResultNo
object/versions/listLists Object versions and delete markers in one Bucket.ObjectVersionsListParamsObjectVersionsListResultNo

Multipart uploads

MethodSummaryParametersResultNotification
multipart-upload/abortAborts one in-progress multipart upload.MultipartUploadAbortParamsMultipartUploadAbortResultNo
multipart-upload/listLists in-progress multipart uploads in one Bucket.MultipartUploadListParamsMultipartUploadListResultNo
multipart-upload/parts/listLists uploaded parts belonging to one multipart upload.MultipartUploadPartsListParamsMultipartUploadPartsListResultNo

The complete JSON Schema includes every request, notification, success response, error envelope, parameter type, result type, and shared data type:

Download the protocol revision 1 JSON Schema

The schema uses JSON Schema Draft 2020-12 and contains an x-s3lens-protocol extension with the revision number plus direct method-to-parameter/result mappings. Source generation is deterministic:

Terminal window
pnpm run generate:protocol
pnpm run generate:check

A new domain or method can remain within revision 1 when it is an additive wire change. A new protocol revision is reserved for genuine compatibility breaks. Clients must send their supported revision during initialize and treat the returned revision as authoritative.