{"openapi":"3.1.0","info":{"title":"Numspot Public Object Storage API","description":"Numspot Public Object Storage API","termsOfService":"https://numspot.com/","contact":{"name":"Numspot","url":"https://numspot.com/contact/","email":"support@numspot.eu"},"license":{"name":"BSD 3 Clause","url":"https://opensource.org/licenses/BSD-3-Clause"},"version":"2026-06-11T17:49:25Z"},"paths":{"/spaces/{spaceId}":{"get":{"operationId":"ListBuckets","description":"Returns a list of all buckets owned by the authenticated sender of the request.","parameters":[{"$ref":"#/components/parameters/SpaceId"}],"responses":{"200":{"$ref":"#/components/responses/ListBuckets200Response"}},"security":[{"AwsSigV4":[]}],"tags":["Object Storage"]}},"/spaces/{spaceId}/{bucket}":{"get":{"operationId":"ListObjects","description":"Returns some or all (up to 1,000) of the objects in a bucket with each request.","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/BucketName"},{"$ref":"#/components/parameters/Delimiter"},{"$ref":"#/components/parameters/EncodingType"},{"$ref":"#/components/parameters/Marker"},{"$ref":"#/components/parameters/MaxKeys"},{"$ref":"#/components/parameters/Prefix"},{"$ref":"#/components/parameters/ContinuationToken"}],"responses":{"200":{"$ref":"#/components/responses/ListObjects200Response"},"404":{"description":"NoSuchBucket","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/NoSuchBucket"}}}}},"security":[{"AwsSigV4":[]}],"tags":["Object Storage"]},"put":{"operationId":"CreateBucket","description":"Creates a new bucket.","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/BucketName"}],"responses":{"201":{"$ref":"#/components/responses/CreateBucket201Response"},"404":{"description":"BucketAlreadyExists","content":{"text/problem+xml":{"schema":{"$ref":"#/components/schemas/BucketAlreadyExists"}}}},"409":{"description":"BucketAlreadyOwnedByYou","content":{"text/problem+xml":{"schema":{"$ref":"#/components/schemas/BucketAlreadyOwnedByYou"}}}}},"security":[{"AwsSigV4":[]}],"tags":["Object Storage"]},"delete":{"operationId":"DeleteBucket","description":"Deletes a bucket.","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/BucketName"}],"responses":{"204":{"description":"Success"}},"security":[{"AwsSigV4":[]}],"tags":["Object Storage"]},"head":{"security":[{"AwsSigV4":[]}],"tags":["Object Storage"],"operationId":"HeadBucket","description":"Determine if a bucket exists and if you have permission to access it.","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/BucketName"}],"responses":{"200":{"description":"Success"},"400":{"description":"BadRequest","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/BadRequest"}}}},"403":{"description":"Forbidden","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/Forbidden"}}}},"404":{"description":"NoSuchBucket","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/NoSuchBucket"}}}}}}},"/spaces/{spaceId}/{bucket}/{key...}":{"get":{"operationId":"GetObject","description":"Retrieves an object or corresponding presigned URL","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/BucketName"},{"$ref":"#/components/parameters/ObjectKeyPath"},{"$ref":"#/components/parameters/VersionId"},{"$ref":"#/components/parameters/PresignedAlgorithm"},{"$ref":"#/components/parameters/PresignedCredential"},{"$ref":"#/components/parameters/PresignedDate"},{"$ref":"#/components/parameters/PresignedExpires"},{"$ref":"#/components/parameters/PresignedSignedHeaders"},{"$ref":"#/components/parameters/PresignedSignature"}],"responses":{"200":{"$ref":"#/components/responses/GetObject200Response"},"404":{"description":"NoSuchKey","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/NoSuchKey"}}}}},"tags":["Object Storage"]},"head":{"security":[{"AwsSigV4":[]}],"tags":["Object Storage"],"operationId":"HeadObject","description":"Get an object metadata from a bucket","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/BucketName"},{"$ref":"#/components/parameters/ObjectKeyPath"},{"$ref":"#/components/parameters/IfModifiedSince"},{"$ref":"#/components/parameters/Range"}],"responses":{"200":{"$ref":"#/components/responses/HeadObject200Response"},"304":{"description":"NotModified","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/NotModified"}}}},"400":{"description":"BadRequest","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/BadRequest"}}}},"404":{"description":"NoSuchKey","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/NoSuchKey"}}}},"405":{"description":"MethodNotAllowed","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/MethodNotAllowed"}}}}}},"put":{"operationId":"PutObject","description":"Adds an object to a bucket.","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/BucketName"},{"$ref":"#/components/parameters/ObjectKeyPath"},{"$ref":"#/components/parameters/ContentType"},{"$ref":"#/components/parameters/ContentLength"},{"$ref":"#/components/parameters/UploadId"},{"$ref":"#/components/parameters/PartNumber"},{"$ref":"#/components/parameters/ExpectHeader"},{"$ref":"#/components/parameters/VersionId"},{"$ref":"#/components/parameters/PresignedAlgorithm"},{"$ref":"#/components/parameters/PresignedCredential"},{"$ref":"#/components/parameters/PresignedDate"},{"$ref":"#/components/parameters/PresignedExpires"},{"$ref":"#/components/parameters/PresignedSignedHeaders"},{"$ref":"#/components/parameters/PresignedSignature"}],"responses":{"200":{"$ref":"#/components/responses/PutObject200Response"},"400":{"description":"BadRequest","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/BadRequest"}}}},"403":{"description":"Forbidden","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/Forbidden"}}}},"404":{"description":"NoSuchKey","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/NoSuchKey"}}}},"413":{"description":"PayloadTooLarge","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/PayloadTooLarge"}}}}},"tags":["Object Storage"]},"delete":{"operationId":"DeleteObject","description":"Removes an object from a bucket.","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/BucketName"},{"$ref":"#/components/parameters/ObjectKeyPath"},{"$ref":"#/components/parameters/VersionId"},{"$ref":"#/components/parameters/PresignedAlgorithm"},{"$ref":"#/components/parameters/PresignedCredential"},{"$ref":"#/components/parameters/PresignedDate"},{"$ref":"#/components/parameters/PresignedExpires"},{"$ref":"#/components/parameters/PresignedSignedHeaders"},{"$ref":"#/components/parameters/PresignedSignature"}],"responses":{"204":{"$ref":"#/components/responses/DeleteObject204Response"}},"tags":["Object Storage"]}},"/spaces/{spaceId}/{bucket}/{multipartKey...}":{"post":{"operationId":"CreateMultipartUpload","description":"This action initiates a multipart upload and returns an upload ID.","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/BucketName"},{"$ref":"#/components/parameters/ObjectKeyPath"},{"$ref":"#/components/parameters/MultipartKeyPath"},{"$ref":"#/components/parameters/UploadsQueryParam"}],"responses":{"201":{"$ref":"#/components/responses/CreateMultipartUpload201Response"}},"security":[{"AwsSigV4":[]}],"tags":["Object Storage"]}}},"components":{"schemas":{"NotModified":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"NotModified"},"MetadataValue":{"type":"string","$schema":"https://json-schema.org/draft/2020-12/schema","title":"MetadataValue"},"CreateBucketOutput":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","examples":[{"Object":{"Location":"/examplebucket"}}],"title":"CreateBucketOutput"},"BucketAlreadyExists":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"BucketAlreadyExists"},"BucketAlreadyOwnedByYou":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"BucketAlreadyOwnedByYou"},"CreateMultipartUploadOutput":{"type":"object","properties":{"bucket":{"$ref":"#/components/schemas/BucketName"},"key":{"$ref":"#/components/schemas/ObjectKey"},"uploadId":{"$ref":"#/components/schemas/MultipartUploadId"}},"$schema":"https://json-schema.org/draft/2020-12/schema","examples":[{"Object":{"Bucket":"examplebucket","Key":"largeobject","UploadId":"ibZBv_75gd9r8lH_gqXatLdxMVpAlj6ZQjEs.OwyF3953YdwbcQnMA2BLGn8Lx12fQNICtMw5KyteFeHw.Sjng--"}}],"title":"CreateMultipartUploadOutput"},"DeleteObjectOutput":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","examples":[{}],"title":"DeleteObjectOutput"},"GetObjectOutput":{"type":"object","properties":{"body":{"$ref":"#/components/schemas/Body"},"metadata":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"xml":{"name":"x-amz-meta-"}}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","examples":[{"Object":{"AcceptRanges":"bytes","ContentLength":"3191","ContentType":"image/jpeg","ETag":"\"6805f2cfc46c0f04559748bb039d69ae\"","LastModified":"Thu, 15 Dec 2016 01:19:41 GMT","Metadata":{},"TagCount":2,"VersionId":"null"}}],"title":"GetObjectOutput"},"BadRequest":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"BadRequest"},"Forbidden":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Forbidden"},"NoSuchKey":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"NoSuchKey"},"MethodNotAllowed":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"MethodNotAllowed"},"PayloadTooLarge":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"PayloadTooLarge"},"NoSuchBucket":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"NoSuchBucket"},"ListBucketsOutput":{"type":"object","properties":{"buckets":{"$ref":"#/components/schemas/Buckets"}},"$schema":"https://json-schema.org/draft/2020-12/schema","examples":[{"Buckets":[{"CreationDate":"2012-02-15T21:03:02.000Z","Name":"examplebucket"},{"CreationDate":"2011-07-24T19:33:50.000Z","Name":"examplebucket2"},{"CreationDate":"2010-12-17T00:56:49.000Z","Name":"examplebucket3"}]}],"title":"ListBucketsOutput"},"ListObjectsOutput":{"type":"object","properties":{"isTruncated":{"$ref":"#/components/schemas/IsTruncated"},"marker":{"$ref":"#/components/schemas/Marker"},"nextMarker":{"$ref":"#/components/schemas/NextMarker"},"contents":{"$ref":"#/components/schemas/ObjectList"},"name":{"$ref":"#/components/schemas/BucketName"},"prefix":{"$ref":"#/components/schemas/Prefix"},"delimiter":{"$ref":"#/components/schemas/Delimiter"},"maxKeys":{"$ref":"#/components/schemas/MaxKeys"},"commonPrefixes":{"$ref":"#/components/schemas/CommonPrefixList"},"encodingType":{"$ref":"#/components/schemas/EncodingType"}},"$schema":"https://json-schema.org/draft/2020-12/schema","title":"ListObjectOutput"},"HeadObjectOutput":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","title":"HeadObjectOutput"},"PutObjectOutput":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","examples":[{"Object":null,"ETag":"\"6805f2cfc46c0f04559748bb039d69ae\"","VersionId":"Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr"}],"title":"PutObjectOutput"},"ObjectKey":{"type":"string","$schema":"https://json-schema.org/draft/2020-12/schema","minLength":1,"title":"ObjectKey"},"MultipartUploadId":{"type":"string","$schema":"https://json-schema.org/draft/2020-12/schema","title":"MultipartUploadId"},"Prefix":{"type":"string","$schema":"https://json-schema.org/draft/2020-12/schema","title":"Prefix"},"Body":{"type":"string","$schema":"https://json-schema.org/draft/2020-12/schema","title":"Body"},"CreationDate":{"type":"string","format":"date-time","$schema":"https://json-schema.org/draft/2020-12/schema","title":"CreationDate"},"Bucket":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/BucketName"},"creationDate":{"$ref":"#/components/schemas/CreationDate"}},"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Bucket"},"Buckets":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/Bucket"},{"xml":{"name":"Bucket"}}]},"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Buckets"},"ChecksumAlgorithm":{"type":"string","$schema":"https://json-schema.org/draft/2020-12/schema","enum":["CRC32","CRC32C","SHA1","SHA256"],"title":"ChecksumAlgorithm"},"ChecksumAlgorithmList":{"type":"array","items":{"$ref":"#/components/schemas/ChecksumAlgorithm"},"$schema":"https://json-schema.org/draft/2020-12/schema","title":"ChecksumAlgorithmList","xml":{}},"CommonPrefix":{"type":"object","properties":{"prefix":{"$ref":"#/components/schemas/Prefix"}},"$schema":"https://json-schema.org/draft/2020-12/schema","title":"CommonPrefix"},"CommonPrefixList":{"type":"array","items":{"$ref":"#/components/schemas/CommonPrefix"},"$schema":"https://json-schema.org/draft/2020-12/schema","title":"CommonPrefixList","xml":{}},"ETag":{"type":"string","$schema":"https://json-schema.org/draft/2020-12/schema","title":"ETag"},"Metadata":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{"$ref":"#/components/schemas/MetadataValue"},"title":"Metadata"},"LastModified":{"type":"string","format":"date-time","$schema":"https://json-schema.org/draft/2020-12/schema","title":"LastModified"},"Delimiter":{"type":"string","$schema":"https://json-schema.org/draft/2020-12/schema","title":"Delimiter"},"EncodingType":{"type":"string","$schema":"https://json-schema.org/draft/2020-12/schema","enum":["url"],"title":"EncodingType"},"IsTruncated":{"type":"boolean","$schema":"https://json-schema.org/draft/2020-12/schema","title":"IsTruncated"},"IsRestoreInProgress":{"type":"boolean","$schema":"https://json-schema.org/draft/2020-12/schema","title":"IsRestoreInProgress"},"MaxKeys":{"type":"integer","$schema":"https://json-schema.org/draft/2020-12/schema","title":"MaxKeys"},"Marker":{"type":"string","$schema":"https://json-schema.org/draft/2020-12/schema","title":"Marker"},"NextMarker":{"type":"string","$schema":"https://json-schema.org/draft/2020-12/schema","title":"NextMarker"},"ObjectList":{"type":"array","items":{"$ref":"#/components/schemas/Object"},"$schema":"https://json-schema.org/draft/2020-12/schema","title":"ObjectList","xml":{}},"Size":{"type":"integer","$schema":"https://json-schema.org/draft/2020-12/schema","title":"Size"},"ObjectStorageClass":{"type":"string","$schema":"https://json-schema.org/draft/2020-12/schema","enum":["STANDARD","REDUCED_REDUNDANCY","GLACIER","STANDARD_IA","ONEZONE_IA","INTELLIGENT_TIERING","DEEP_ARCHIVE","OUTPOSTS","GLACIER_IR","SNOW"],"title":"ObjectStorageClass"},"RestoreStatus":{"type":"object","properties":{"isRestoreInProgress":{"$ref":"#/components/schemas/IsRestoreInProgress"},"restoreExpiryDate":{"$ref":"#/components/schemas/RestoreExpiryDate"}},"$schema":"https://json-schema.org/draft/2020-12/schema","title":"RestoreStatus"},"Object":{"type":"object","properties":{"key":{"$ref":"#/components/schemas/ObjectKey"},"lastModified":{"$ref":"#/components/schemas/LastModified"},"eTag":{"$ref":"#/components/schemas/ETag"},"checksumAlgorithm":{"$ref":"#/components/schemas/ChecksumAlgorithmList"},"size":{"$ref":"#/components/schemas/Size"},"storageClass":{"$ref":"#/components/schemas/ObjectStorageClass"},"restoreStatus":{"$ref":"#/components/schemas/RestoreStatus"}},"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Object"},"RestoreExpiryDate":{"type":"string","format":"date-time","$schema":"https://json-schema.org/draft/2020-12/schema","title":"RestoreExpiryDate"},"BucketName":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"BucketName","description":"A generic S3-like bucket name. Must be 3-63 characters long; consist of lowercase letters, numbers, dots (.), and hyphens (-); start and end with a letter or number; not be an IP address; and not have adjacent periods.","type":"string","minLength":3,"maxLength":63,"pattern":"^(?!(\\d{1,3}\\.){3}\\d{1,3}$)(?!.*\\.\\.)[a-z0-9](?:[a-z0-9.-]*[a-z0-9])?$","examples":["my-awesome-bucket","0123-bucket.with.dots-4567","abc","a1-b2.c3"]},"HttpDate":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"HttpDate","description":"A timestamp formatted according to RFC 7231","type":"string","pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} GMT$","examples":["Fri, 21 Mar 2025 00:00:00 GMT","Mon, 01 Jan 2024 12:34:56 GMT"]}},"responses":{"ListBuckets200Response":{"description":"Success","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/ListBucketsOutput"}}}},"CreateBucket201Response":{"description":"Success","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/CreateBucketOutput"}}}},"ListObjects200Response":{"description":"Success","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/ListObjectsOutput"}}}},"DeleteObject204Response":{"description":"Success","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/DeleteObjectOutput"}}}},"GetObject200Response":{"description":"Success","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/GetObjectOutput"}}}},"HeadObject200Response":{"description":"Success","headers":{"ETag":{"$ref":"#/components/headers/ETag"},"Content-Length":{"$ref":"#/components/headers/ContentLength"},"Accept-Ranges":{"$ref":"#/components/headers/AcceptRanges"},"Content-Type":{"$ref":"#/components/headers/ContentType"},"Last-Modified":{"$ref":"#/components/headers/LastModified"}},"content":{"text/xml":{"schema":{"$ref":"#/components/schemas/HeadObjectOutput"}}}},"PutObject200Response":{"description":"Success","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/PutObjectOutput"}}}},"CreateMultipartUpload201Response":{"description":"Success","content":{"text/xml":{"schema":{"$ref":"#/components/schemas/CreateMultipartUploadOutput"}}}}},"parameters":{"ContentLength":{"name":"Content-Length","in":"header","required":true,"description":"The exact size of the object or part being uploaded in bytes. Required for all upload operations, it must match the actual payload size.","schema":{"type":"integer","format":"int64","maximum":5497558138880,"minimum":1},"examples":{"smallFile":{"value":1048576,"summary":"1MB file upload"},"largeFile":{"value":5368709120,"summary":"5GB multipart chunk"}}},"ContentType":{"name":"Content-Type","in":"header","required":false,"description":"The MIME type of the object data.\n- Recommended for proper content handling\n- Defaults to 'application/octet-stream' if omitted\n","schema":{"type":"string","pattern":"^[a-z]+/[a-z0-9.+-]+$"},"examples":{"jpegImage":{"value":"image/jpeg"},"jsonData":{"value":"application/json"},"binaryDefault":{"value":"application/octet-stream"}}},"ContinuationToken":{"name":"continuation-token","in":"query","schema":{"type":"string"},"description":"Pagination token for v2 API"},"Delimiter":{"name":"delimiter","in":"query","schema":{"type":"string"},"description":"Character used to group keys (e.g., '/' for folder grouping)"},"EncodingType":{"name":"encoding-type","in":"query","schema":{"type":"string","enum":["url"]},"description":"Encoding type for keys (typically 'url')"},"ExpectHeader":{"name":"Expect","in":"header","required":false,"description":"Enables optimisation for large payloads. Client may wait for `100 Continue` response before sending body.","schema":{"type":"string","enum":["100-continue"]}},"IfModifiedSince":{"name":"If-Modified-Since","in":"header","required":false,"description":"Return 304 if object unchanged since this timestamp (RFC 7232)","schema":{"$ref":"#/components/schemas/HttpDate"}},"Marker":{"name":"marker","in":"query","schema":{"type":"string"},"description":"Pagination token for v2 API"},"MaxKeys":{"name":"max-keys","in":"query","schema":{"type":"integer","default":1000,"maximum":1000,"minimum":1},"description":"Maximum objects to return (1-1000)"},"MultipartKeyPath":{"name":"multipartKey...","in":"path","required":true,"description":"The object key for multipart upload operations, supporting path segments. The trailing ellipsis (...) indicates this key may contain slashes (/) to represent nested paths (e.g., 'large-files/backup.tar.gz').","schema":{"type":"string","example":"projects/annual-report.pdf","maxLength":1024,"minLength":1,"pattern":"^[^\\x00-\\x1F\\x7F]+$"}},"ObjectKeyPath":{"name":"key...","in":"path","required":true,"description":"The object key (name) with support for path segments. The trailing ellipsis (...) indicates the key may contain slashes (/)to represen t nested paths (e.g., 'folder/subfolder/file.txt').","schema":{"type":"string","example":"reports/2023/Q1/sales.pdf","maxLength":1024,"minLength":1,"pattern":"^[^\\x00-\\x1F\\x7F]+$"}},"PartNumber":{"name":"partNumber","in":"query","schema":{"type":"integer","maximum":10000,"minimum":1},"description":"Part number in multipart upload (1-10000)"},"Prefix":{"name":"prefix","in":"query","schema":{"type":"string"},"description":"Filters results to keys beginning with prefix"},"Range":{"name":"Range","in":"header","required":false,"description":"Check byte range availability (RFC 7233)","schema":{"type":"string","example":"bytes=0-499","pattern":"^bytes=\\d+-\\d*$"}},"UploadId":{"name":"uploadId","in":"query","required":false,"schema":{"type":"string"},"description":"Multipart upload ID"},"UploadsQueryParam":{"name":"uploads","in":"query","required":false,"description":"Initiates a multipart upload when present.","schema":{"type":"string","example":"","enum":["","true","initiate"]}},"VersionId":{"name":"versionId","in":"query","required":false,"description":"Object version ID for versioned buckets","schema":{"type":"string","example":"3L4kqtJl40Nr8X8gdRQBfuiopreWMME","maxLength":1024,"minLength":1,"pattern":"^[A-Za-z0-9\\-_]+$"}},"PresignedAlgorithm":{"name":"X-Amz-Algorithm","in":"query","description":"The algorithm used for signing (only for presigned URL requests).","required":false,"schema":{"type":"string","example":"AWS4-HMAC-SHA256"}},"PresignedCredential":{"name":"X-Amz-Credential","in":"query","description":"The access key and the associated policy (only for presigned URL requests).","required":false,"schema":{"type":"string","example":"AKIAIOSFODNN7EXAMPLE/20260421/eu-west-1/s3/aws4_request"}},"PresignedDate":{"name":"X-Amz-Date","in":"query","description":"The timestamp of the request (only for presigned URL requests).","required":false,"schema":{"type":"string","pattern":"^[0-9]{8}T[0-9]{6}Z$","example":"20260421T163349Z"}},"PresignedExpires":{"name":"X-Amz-Expires","in":"query","description":"The expiration time for the presigned URL (only for presigned URL requests).","required":false,"schema":{"type":"integer"}},"PresignedSignedHeaders":{"name":"X-Amz-SignedHeaders","in":"query","description":"The headers included in the signature (only for presigned URL requests).","required":false,"schema":{"type":"string","example":"host;x-amz-content-sha256"}},"PresignedSignature":{"name":"X-Amz-Signature","in":"query","description":"The signature (only for presigned URL requests).","required":false,"schema":{"type":"string","example":"aeeb918a4b68d84c455fd85e75fdd47e8c3a8a4e3d3e3e3e3e3e3e3e3e3e3e3e"}},"SpaceId":{"name":"spaceId","description":"Identifier of the Space","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},"BucketName":{"name":"bucket","in":"path","required":true,"schema":{"type":"string","minLength":3,"maxLength":63,"pattern":"^(?!(\\d{1,3}\\.){3}\\d{1,3}$)(?!.*\\.\\.)[a-z0-9](?:[a-z0-9.-]*[a-z0-9])?$"}}},"headers":{"ETag":{"description":"Entity tag for the object (RFC 7232)","required":true,"schema":{"type":"string","example":"\"33a64df551425fcc55e4d42a148795d9f25f89d4\"","pattern":"^\"[^\"]+\"$"},"example":"\"33a64df551425fcc55e4d42a148795d9f25f89d4\""},"AcceptRanges":{"description":"Indicates range request support (RFC 7233)","schema":{"type":"string","example":"bytes","enum":["bytes","none"]},"example":"bytes"},"ContentType":{"description":"MIME type of the object","schema":{"type":"string","example":"application/json","pattern":"^[a-z]+/[a-z0-9.+-]+$"},"example":"application/json"},"ContentLength":{"description":"Size of the object in bytes","required":true,"schema":{"type":"integer","format":"int64","example":512,"minimum":0},"example":512},"LastModified":{"description":"Last modification timestamp (RFC 7231)","schema":{"$ref":"#/components/schemas/HttpDate"}}},"securitySchemes":{"AwsSigV4":{"type":"apiKey","in":"header","name":"Authorization","description":"AWS V4 signature authorization header"}}},"tags":[{"name":"Object Storage","description":"Object Storage public API"}]}