# STRG Docs > STRG is S3-compatible object storage for businesses, individuals and AI agents, billed for stored data only. ## Guides - [What is STRG?](https://docs.strg.com/overview.md): STRG is S3-compatible object storage for businesses, individuals and AI agents, billed for stored data only. - [Getting started](https://docs.strg.com/getting-started.md): Signposts the four ways into STRG - the dashboard, an AI agent through the MCP server, the S3-compatible API and the REST API for access keys - and who each one suits. - [Getting started with the dashboard](https://docs.strg.com/getting-started-interactive.md): Walks through a first ten minutes with STRG in the dashboard - signing up, adding a card, creating a bucket and an access key - and then using them from the AWS CLI, rclone and the AWS SDKs. - [Connecting an AI agent over MCP](https://docs.strg.com/getting-started-mcp.md): How Claude, Codex, Cursor, Zed and other MCP clients connect to STRG, so that an agent can manage your buckets, objects and access keys. - [Ask our AI Assistant](https://docs.strg.com/assistant.md): The STRG dashboard's chat window, which works with your buckets, objects and access keys in plain words. - [Access keys](https://docs.strg.com/access-keys.md): Explains what a STRG access key is, how it can be limited to some buckets and an object prefix, and every permission it can carry. - [CORS rules](https://docs.strg.com/cors-rules.md): CORS rules decide which websites' pages may talk to a STRG bucket straight from the browser - what they are, their format and limits, and how they are set from the dashboard or the S3 API. - [Lifecycle policies](https://docs.strg.com/lifecycle-policies.md): Lifecycle rules expire objects, delete previous versions and abort abandoned multipart uploads automatically, by key prefix, from the dashboard or the S3 API. - [Object Lock](https://docs.strg.com/object-locks.md): Explains Object Lock, which keeps object versions from being deleted or overwritten for a fixed period or until a legal hold is lifted - with governance mode, compliance mode, legal holds and a bucket's default retention. - [Billing](https://docs.strg.com/billing.md): How paying for STRG works - what is billed, why a card is required, and how invoices are issued, taxed and paid. - [Account settings](https://docs.strg.com/account-settings.md): Covers changing an account's email address, turning two-factor authentication on or off, and closing a STRG account. ## S3 API - [S3 API overview](https://docs.strg.com/s3-api/overview.md): What every request to STRG's S3-compatible API has in common - endpoints, addressing, signing and each difference from Amazon S3 - and which operations it answers. - [AbortMultipartUpload](https://docs.strg.com/s3-api/AbortMultipartUpload.md): Cancels a multipart upload and deletes the parts already uploaded for it, so they no longer count as stored data. - [CompleteMultipartUpload](https://docs.strg.com/s3-api/CompleteMultipartUpload.md): Joins the uploaded parts of a multipart upload into one object - the final step of every large or resumable upload. - [CopyObject](https://docs.strg.com/s3-api/CopyObject.md): Copies an object that is already stored to a new key, in the same bucket or another bucket in the same region - which is how an object is renamed, given new metadata or restored to an earlier version. - [CreateBucket](https://docs.strg.com/s3-api/CreateBucket.md): Creates a bucket in the region of the endpoint the request is sent to, ready to hold objects. - [CreateMultipartUpload](https://docs.strg.com/s3-api/CreateMultipartUpload.md): Starts a multipart upload and returns the upload ID its parts are uploaded under, which is how large objects reach a bucket. - [DeleteBucket](https://docs.strg.com/s3-api/DeleteBucket.md): Deletes an empty bucket for good, which is how a bucket that is no longer needed is tidied away once everything in it has been removed. - [DeleteBucketCors](https://docs.strg.com/s3-api/DeleteBucketCors.md): Removes every CORS rule from a bucket at once, which ends cross-origin access to it from web pages in the browser. - [DeleteBucketLifecycle](https://docs.strg.com/s3-api/DeleteBucketLifecycle.md): Removes every lifecycle rule from a bucket at once, so that nothing in it is expired or cleaned up automatically any more. - [DeleteBucketTagging](https://docs.strg.com/s3-api/DeleteBucketTagging.md): Removes a bucket's tag set - on STRG, where buckets carry no tags, a successful request that leaves the bucket as it was. - [DeleteObject](https://docs.strg.com/s3-api/DeleteObject.md): Hides an object behind a delete marker, or permanently deletes one version of it, which is how an object leaves a bucket and, with a version ID, stops counting as stored data. - [DeleteObjects](https://docs.strg.com/s3-api/DeleteObjects.md): Deletes up to 1,000 objects or object versions from a bucket in one request, which is how a batch of files or old versions is cleared away without a request per object. - [DeleteObjectTagging](https://docs.strg.com/s3-api/DeleteObjectTagging.md): Removes an object's tag set - on STRG, where objects carry no tags, a successful request that leaves the object as it was. - [GetBucketAccelerateConfiguration](https://docs.strg.com/s3-api/GetBucketAccelerateConfiguration.md): Reports a bucket's transfer acceleration state - on STRG always the never-configured answer, so tools that ask about it carry on as usual. - [GetBucketAcl](https://docs.strg.com/s3-api/GetBucketAcl.md): Reads a bucket's access control list, which on STRG says whether the bucket is private or readable by anyone. - [GetBucketCors](https://docs.strg.com/s3-api/GetBucketCors.md): Returns a bucket's CORS rules, which decide which websites may reach the bucket from a browser. - [GetBucketEncryption](https://docs.strg.com/s3-api/GetBucketEncryption.md): Returns a bucket's default server-side encryption, which is how a tool or an audit confirms what protects new objects at rest. - [GetBucketLifecycle](https://docs.strg.com/s3-api/GetBucketLifecycle.md): Reads a bucket's lifecycle rules through the deprecated GetBucketLifecycle operation, for older tools and scripts that still call it. - [GetBucketLifecycleConfiguration](https://docs.strg.com/s3-api/GetBucketLifecycleConfiguration.md): Returns a bucket's lifecycle rules - the same ones the dashboard shows - so a script or tool can see how expired objects, old versions and abandoned uploads are cleaned up. - [GetBucketLocation](https://docs.strg.com/s3-api/GetBucketLocation.md): Reads the region a bucket is in, which on STRG is always the region of the endpoint the request was sent to. - [GetBucketNotification](https://docs.strg.com/s3-api/GetBucketNotification.md): Reports a bucket's event notification configuration through the deprecated form of the operation - on STRG always empty, so tools that ask about it carry on as usual. - [GetBucketNotificationConfiguration](https://docs.strg.com/s3-api/GetBucketNotificationConfiguration.md): Reports a bucket's event notification configuration - on STRG always the empty answer, so tools that read it while describing a bucket work unchanged. - [GetBucketOwnershipControls](https://docs.strg.com/s3-api/GetBucketOwnershipControls.md): Reads a bucket's Object Ownership setting - on STRG, where buckets have none, always answered as not configured. - [GetBucketPolicy](https://docs.strg.com/s3-api/GetBucketPolicy.md): Reads a bucket's policy - on STRG always answered with NoSuchBucketPolicy, because access is set by access keys and Bucket Protection rather than a policy document. - [GetBucketRequestPayment](https://docs.strg.com/s3-api/GetBucketRequestPayment.md): Reports who pays for requests and downloads on a bucket - on STRG always the bucket owner, so tools that ask about it carry on as usual. - [GetBucketTagging](https://docs.strg.com/s3-api/GetBucketTagging.md): Returns a bucket's tag set - on STRG, where buckets carry no tags, always a 404 NoSuchTagSet, which tools read as "no tags". - [GetBucketVersioning](https://docs.strg.com/s3-api/GetBucketVersioning.md): Returns a bucket's versioning state, which on STRG is always Enabled, so a tool can confirm that earlier versions of its objects are kept. - [GetObject](https://docs.strg.com/s3-api/GetObject.md): Downloads an object - whole, a byte range, a single part or an earlier version - which is the read behind every download, presigned link and public file. - [GetObjectAcl](https://docs.strg.com/s3-api/GetObjectAcl.md): Reads an object's access control list, which on STRG is always its bucket's and says whether the object is private or readable by anyone. - [GetObjectLegalHold](https://docs.strg.com/s3-api/GetObjectLegalHold.md): Reads whether an object version is under a legal hold, which is how code finds out that a version is being kept before it plans to delete or replace it. - [GetObjectLockConfiguration](https://docs.strg.com/s3-api/GetObjectLockConfiguration.md): Reads whether a bucket has Object Lock enabled and the default retention applied to new objects, which is how a tool or an audit confirms what protects a bucket's data. - [GetObjectRetention](https://docs.strg.com/s3-api/GetObjectRetention.md): Reads the retention mode and retain-until date of an object version, which is how a backup check or an audit confirms that a version is locked, and until when. - [GetObjectTagging](https://docs.strg.com/s3-api/GetObjectTagging.md): Reads an object's tag set - on STRG, where objects carry no tags, always an empty one, so tools that read tags carry on as usual. - [GetPublicAccessBlock](https://docs.strg.com/s3-api/GetPublicAccessBlock.md): Reads a bucket's Block Public Access configuration - on STRG always answered with NoSuchPublicAccessBlockConfiguration, because whether a bucket is public is its Bucket Protection setting instead. - [HeadBucket](https://docs.strg.com/s3-api/HeadBucket.md): Checks that a bucket exists in the endpoint's region and that an access key can reach it, the quick existence check most S3 clients make before using a bucket. - [HeadObject](https://docs.strg.com/s3-api/HeadObject.md): Reads an object's metadata - size, ETag, content type, user metadata and version - without downloading it, which is how a client checks that an object exists or has changed. - [ListBuckets](https://docs.strg.com/s3-api/ListBuckets.md): Lists the buckets of an account in the region of the endpoint the request is sent to, which is how S3 tools see what there is to work with. - [ListMultipartUploads](https://docs.strg.com/s3-api/ListMultipartUploads.md): Lists the multipart uploads in a bucket that were started but not yet completed or aborted, which is how unfinished uploads are found and tidied away. - [ListObjects](https://docs.strg.com/s3-api/ListObjects.md): Lists up to 1,000 objects in a bucket per request, filtered by prefix and grouped by delimiter - the original listing API, still used by older tools and scripts. - [ListObjectsV2](https://docs.strg.com/s3-api/ListObjectsV2.md): Lists the objects in a bucket, up to 1,000 per page, optionally narrowed to a prefix and grouped into folders by a delimiter. - [ListObjectVersions](https://docs.strg.com/s3-api/ListObjectVersions.md): Lists every version and delete marker of the objects in a bucket, which is how an earlier version of an object, or one that was deleted, is found again. - [ListParts](https://docs.strg.com/s3-api/ListParts.md): Lists the parts already uploaded for an unfinished multipart upload, which is how an interrupted upload picks up where it left off. - [PutBucketAcl](https://docs.strg.com/s3-api/PutBucketAcl.md): Sets a bucket's canned ACL, which on STRG makes the bucket private or lets anyone read its objects. - [PutBucketCors](https://docs.strg.com/s3-api/PutBucketCors.md): Replaces a bucket's CORS rules, which is how a browser app gets permission to talk to your bucket. - [PutBucketEncryption](https://docs.strg.com/s3-api/PutBucketEncryption.md): Sets a bucket's default server-side encryption, so that new objects are stored encrypted without each upload having to ask for it. - [PutBucketLifecycle](https://docs.strg.com/s3-api/PutBucketLifecycle.md): The deprecated way to replace a bucket's lifecycle rules, which STRG answers with 501 NotImplemented while PutBucketLifecycleConfiguration sets the same rules. - [PutBucketLifecycleConfiguration](https://docs.strg.com/s3-api/PutBucketLifecycleConfiguration.md): Replaces a bucket's lifecycle rules, which is how expired objects, old versions and abandoned multipart uploads get cleaned up automatically. - [PutBucketVersioning](https://docs.strg.com/s3-api/PutBucketVersioning.md): Confirms that a bucket keeps every version of its objects - on STRG it always does - so tools that turn versioning on during setup carry on as usual. - [PutObject](https://docs.strg.com/s3-api/PutObject.md): Uploads an object of up to 5 GiB in a single request, with its metadata, checksum, encryption and Object Lock settings - the everyday way a file reaches a bucket. - [PutObjectAcl](https://docs.strg.com/s3-api/PutObjectAcl.md): Sets an object's canned ACL, which on STRG is always its bucket's, so tools that set an object's ACL after an upload keep working. - [PutObjectLegalHold](https://docs.strg.com/s3-api/PutObjectLegalHold.md): Places a legal hold on an object version or lifts it, which is how a version is kept exactly as it is for as long as a matter needs, with no end date set in advance. - [PutObjectLockConfiguration](https://docs.strg.com/s3-api/PutObjectLockConfiguration.md): Enables Object Lock on a bucket and sets, changes or removes the default retention for new objects, which is how backups and records are kept safe from deletion for a fixed time. - [PutObjectRetention](https://docs.strg.com/s3-api/PutObjectRetention.md): Locks an object version until a date, in governance or compliance mode, or extends an existing lock, which is how a backup or a record is kept safe from deletion for as long as it needs to be. - [UploadPart](https://docs.strg.com/s3-api/UploadPart.md): Uploads one part of a multipart upload started with CreateMultipartUpload, which is how a large object reaches a bucket a piece at a time. - [UploadPartCopy](https://docs.strg.com/s3-api/UploadPartCopy.md): Adds a part to a multipart upload by copying all or a byte range of an object that is already stored, which is how a large object is copied or a new one is assembled from existing ones. ## REST API - [REST API overview](https://docs.strg.com/rest-api/overview.md): Explains how scripts, CI pipelines and tools manage STRG access keys through the REST API - the endpoint, authentication, errors, paging and idempotency. - [Create an access key](https://docs.strg.com/rest-api/create-access-key.md): Creates a new access key through the REST API, within the permissions, buckets and object prefix of the key making the call. - [Delete an access key](https://docs.strg.com/rest-api/delete-access-key.md): Deletes one of your access keys by its id, so that nothing can use it any more - through the S3 API, the MCP server or this API. - [Get an access key](https://docs.strg.com/rest-api/get-access-key.md): Looks up one access key of a STRG account by its id - its name, buckets, prefix, permissions and the regions it is ready in, never its secret. - [List access keys](https://docs.strg.com/rest-api/list-access-keys.md): Lists the access keys of a STRG account, newest first, one page at a time - the way a script or an audit sees every key in use. ## Optional - [Everything in one file](https://docs.strg.com/llms-full.txt)