Download OpenAPI specification:
A high-performance S3-compatible object storage API with management console.
Uses AWS Signature Version 4 for S3 API endpoints and API keys for management endpoints.
Returns some or all of the objects in a bucket
| bucket required | string [ 3 .. 63 ] characters ^[a-z0-9\-\.]+$ Example: my-bucket Name of the S3 bucket |
| prefix | string <= 255 characters Example: prefix=photos/ Limits the response to keys that begin with the specified prefix |
| marker | string <= 255 characters Example: marker=photos/2023/ Specifies the key to start with when listing objects |
| max-keys | integer [ 1 .. 1000 ] Default: 1000 Example: max-keys=100 Maximum number of keys to return |
| delimiter | string <= 1 characters Example: delimiter=/ Character used to group keys |
| uploads | string Value: "" List multipart uploads when present |
Retrieves metadata from an object without returning the object itself
| bucket required | string [ 3 .. 63 ] characters ^[a-z0-9\-\.]+$ Example: my-bucket Name of the S3 bucket |
| key required | string <= 255 characters Example: folder/file.txt Object key (file path) within the bucket |
Retrieves objects from Amazon S3
| bucket required | string [ 3 .. 63 ] characters ^[a-z0-9\-\.]+$ Example: my-bucket Name of the S3 bucket |
| key required | string <= 255 characters Example: folder/file.txt Object key (file path) within the bucket |
| uploadId | string List parts when present with upload ID |
Adds an object to a bucket
| bucket required | string [ 3 .. 63 ] characters ^[a-z0-9\-\.]+$ Example: my-bucket Name of the S3 bucket |
| key required | string <= 255 characters Example: folder/file.txt Object key (file path) within the bucket |
| partNumber | integer [ 1 .. 10000 ] Part number for multipart upload |
| uploadId | string Upload ID for multipart upload part |
Object data
Removes the null version of an object and inserts a delete marker
| bucket required | string [ 3 .. 63 ] characters ^[a-z0-9\-\.]+$ Example: my-bucket Name of the S3 bucket |
| key required | string <= 255 characters Example: folder/file.txt Object key (file path) within the bucket |
| uploadId | string Abort multipart upload when present |
Initiates a multipart upload or completes a multipart upload by assembling uploaded parts
| bucket required | string [ 3 .. 63 ] characters ^[a-z0-9\-\.]+$ Example: my-bucket Name of the S3 bucket |
| key required | string <= 255 characters Example: folder/file.txt Object key (file path) within the bucket |
| uploads | string Value: "" Initiate multipart upload when present |
| uploadId | string Complete multipart upload with this upload ID |
Complete multipart upload request
Array of objects |
Returns overall system statistics including storage usage, object counts, etc.
{- "credentials": 5,
- "buckets": 12,
- "objects": 1250,
- "total_storage": 1073741824,
- "total_storage_human": "1.0 GB",
- "active_multipart_uploads": 3,
- "active_presigned_urls": 15
}Creates a new access credential
| user_name | string Optional user name |
| access_key | string Optional custom access key (auto-generated if not provided) |
| secret_key | string Optional custom secret key (auto-generated if not provided) |
{- "user_name": "john-doe",
- "access_key": "AKIAIOSFODNN7EXAMPLE",
- "secret_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
}{- "id": 1,
- "access_key": "AKIAIOSFODNN7EXAMPLE",
- "secret_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
- "user_name": "john-doe",
- "is_active": true,
- "created_at": "2023-01-15T10:30:00Z"
}Returns detailed information about a specific credential
| id required | integer >= 1 Example: 1 Unique identifier for the credential |
{- "id": 1,
- "access_key": "AKIAIOSFODNN7EXAMPLE",
- "user_name": "john-doe",
- "is_active": true,
- "created_at": "2023-01-15T10:30:00Z",
- "bucket_count": 3,
- "buckets": [
- {
- "name": "my-bucket",
- "region": "us-east-1",
- "owner": "john-doe",
- "created_at": "2023-01-15T10:30:00Z",
- "object_count": 150,
- "total_size": 1073741824,
- "total_size_human": "1.0 GB"
}
]
}Updates an existing credential
| id required | integer >= 1 Example: 1 Unique identifier for the credential |
| user_name | string |
| is_active | boolean |
{- "user_name": "john-doe",
- "is_active": true
}{- "message": "Operation completed successfully"
}Returns a list of all buckets with detailed information
{- "buckets": [
- {
- "name": "my-bucket",
- "region": "us-east-1",
- "owner": "john-doe",
- "created_at": "2023-01-15T10:30:00Z",
- "object_count": 150,
- "total_size": 1073741824,
- "total_size_human": "1.0 GB"
}
]
}Creates a new bucket via management API
| name required | string^[a-z0-9\-\.]+$ |
| owner_id required | integer |
| region | string Default: "us-east-1" |
{- "name": "my-new-bucket",
- "owner_id": 1,
- "region": "us-east-1"
}{- "name": "my-bucket",
- "region": "us-east-1",
- "owner": "john-doe",
- "created_at": "2023-01-15T10:30:00Z",
- "object_count": 150,
- "total_size": 1073741824,
- "total_size_human": "1.0 GB",
- "objects": [
- {
- "key": "photos/vacation.jpg",
- "size": 1024000,
- "size_human": "1.0 MB",
- "content_type": "image/jpeg",
- "etag": "9bb58f26192e4ba00f01e2e7b136bbd8",
- "is_multipart": false,
- "created_at": "2023-01-15T10:30:00Z"
}
]
}Returns detailed information about a specific bucket including objects
| bucket required | string [ 3 .. 63 ] characters ^[a-z0-9\-\.]+$ Example: my-bucket Name of the S3 bucket |
{- "name": "my-bucket",
- "region": "us-east-1",
- "owner": "john-doe",
- "created_at": "2023-01-15T10:30:00Z",
- "object_count": 150,
- "total_size": 1073741824,
- "total_size_human": "1.0 GB",
- "objects": [
- {
- "key": "photos/vacation.jpg",
- "size": 1024000,
- "size_human": "1.0 MB",
- "content_type": "image/jpeg",
- "etag": "9bb58f26192e4ba00f01e2e7b136bbd8",
- "is_multipart": false,
- "created_at": "2023-01-15T10:30:00Z"
}
]
}Returns a list of objects in the specified bucket
| bucket required | string [ 3 .. 63 ] characters ^[a-z0-9\-\.]+$ Example: my-bucket Name of the S3 bucket |
| prefix | string <= 255 characters Example: prefix=photos/ Limits the response to keys that begin with the specified prefix |
{- "objects": [
- {
- "key": "photos/vacation.jpg",
- "size": 1024000,
- "size_human": "1.0 MB",
- "content_type": "image/jpeg",
- "etag": "9bb58f26192e4ba00f01e2e7b136bbd8",
- "is_multipart": false,
- "created_at": "2023-01-15T10:30:00Z"
}
]
}Deletes multiple objects from a bucket
| bucket required | string [ 3 .. 63 ] characters ^[a-z0-9\-\.]+$ Example: my-bucket Name of the S3 bucket |
| keys required | Array of strings |
{- "keys": [
- "file1.txt",
- "file2.txt",
- "folder/file3.txt"
]
}{- "deleted": [
- "file1.txt",
- "file2.txt"
]
}Returns detailed information about a specific object
| bucket required | string [ 3 .. 63 ] characters ^[a-z0-9\-\.]+$ Example: my-bucket Name of the S3 bucket |
| key required | string <= 255 characters Example: folder/file.txt Object key (file path) within the bucket |
{- "key": "photos/vacation.jpg",
- "size": 1024000,
- "size_human": "1.0 MB",
- "content_type": "image/jpeg",
- "etag": "9bb58f26192e4ba00f01e2e7b136bbd8",
- "is_multipart": false,
- "created_at": "2023-01-15T10:30:00Z",
- "part_count": 0,
- "metadata": {
- "user-id": "12345",
- "category": "photos"
}, - "storage_path": "my-bucket/objects/ab/cd/abcdef123456...",
- "updated_at": "2023-01-15T10:30:00Z"
}Deletes a specific object
| bucket required | string [ 3 .. 63 ] characters ^[a-z0-9\-\.]+$ Example: my-bucket Name of the S3 bucket |
| key required | string <= 255 characters Example: folder/file.txt Object key (file path) within the bucket |
{- "message": "Operation completed successfully"
}Returns active multipart uploads for a bucket
| bucket required | string [ 3 .. 63 ] characters ^[a-z0-9\-\.]+$ Example: my-bucket Name of the S3 bucket |
{- "uploads": [
- {
- "upload_id": "upload_12345_abcdef",
- "object_key": "large-file.zip",
- "initiated_by": "john-doe",
- "content_type": "application/zip",
- "initiated_at": "2023-01-15T10:30:00Z",
- "part_count": 5,
- "total_size": 26214400,
- "total_size_human": "25.0 MB"
}
]
}{- "urls": [
- {
- "bucket_name": "my-bucket",
- "object_key": "file.txt",
- "method": "GET",
- "access_key": "AKIAIOSFODNN7EXAMPLE",
- "expires_at": "2023-01-15T11:30:00Z",
- "created_at": "2023-01-15T10:30:00Z"
}
]
}Generates a new presigned URL
| bucket_name required | string |
| object_key required | string |
| method | string Default: "GET" Enum: "GET" "PUT" "POST" "DELETE" |
| expires_in | integer [ 1 .. 604800 ] Default: 3600 Expiration time in seconds (max 7 days) |
| access_key required | string |
{- "bucket_name": "my-bucket",
- "object_key": "file.txt",
- "method": "GET",
- "expires_in": 3600,
- "access_key": "AKIAIOSFODNN7EXAMPLE"
}{- "url": "/my-bucket/file.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIOSFODNN7EXAMPLE%2F20230115%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230115T103000Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=abc123&hash=def456"
}