ListBuckets
Pagination and LocationConstraint echo.
The Triton Cloud REST API is the surface behind the console, the CLI, and the Terraform provider. Everything they do, they do through these routes.
Authenticate every request with a bearer API token in the request header.
Core object and Bucket operations work with standard S3 clients and SDKs. This matrix lists the behavior you will actually observe, including configurations accepted but not yet enforced.
Implemented and exercised by tests, including the error shapes clients use.
The common path works; the named exclusion may affect some integrations.
The configuration round-trips, but the requested behavior does not take effect.
Returns an explicit error so clients do not mistake an absent capability for success.
No handler. The request returns 501 NotImplemented.
Pagination and LocationConstraint echo.
Canned ACL on create, idempotent same-owner create, and Object Lock initialization.
404 when absent and 403 across tenants.
Returns BucketNotEmpty while objects remain.
Echoes the configured region.
Enabled, Suspended, and null-version handling.
Origin matching, preflight OPTIONS, and request-method-aware rules.
Round-trips sorted by key; more than 50 tags is rejected.
All four flags are enforced.
Policy evaluation works; tag-based condition keys are not evaluated.
Canned ACLs round-trip; email-addressed grants are not supported.
Returns OwnershipControlsNotFoundError; buckets use the earlier ACL model.
No default encryption configuration.
No server-side request logging into a bucket.
No same-region or cross-region replication.
No object event destinations.
No static website hosting or redirect rules.
No scheduled CSV manifests.
AWS-specific analytics, acceleration, tiering, and requester-pays surfaces are absent.
SigV4, streaming, Content-MD5, conditional writes, versioning, retention, tags, and ACLs.
Ranges, conditionals, versionId, and response-header overrides.
Tag count, retention, legal hold, and part count.
Version-aware delete markers, Object Lock, and conditional headers.
Up to 1,000 keys; retention is applied to every entry.
Metadata directive, copy-source conditionals, and versioned sources.
Tags on write and tag count on read.
Canned ACLs round-trip; email- and user-id-addressed grants are absent.
There is no archive tier to restore from.
Returns NoSuchKey; AWS deprecated BitTorrent delivery.
Use HeadObject and ListParts for the same information.
Continuation tokens, start-after, prefixes, and delimiters.
The v1 marker and delimiter form, including NextMarker.
Versions and delete markers share one ordered, paged result.
Paginated and honors max-uploads.
Lists in-flight parts; per-part metadata is not retained after completion.
Initiates with tags, retention, content type, and user metadata.
5 MiB minimum except the last part, with MD5 verification.
Range header and versioned source.
Up to 10,000 parts with the multipart ETag shape clients expect.
Releases parts and their counted usage.
Bucket default retention round-trips.
GOVERNANCE and COMPLIANCE modes, including governed bypass.
ON and OFF; a legal hold is never bypassable.
Prefix-filtered expiry driven by a background worker.
Expires noncurrent versions after N days.
New buckets receive a default seven-day cleanup rule.
Invalid status, duplicate or long IDs, and non-positive day counts are rejected.
Emitted on PUT, HEAD, and GET when a rule matches.
Refused because retain-newest-N needs unavailable per-key version counting.
Stored and returned, but no objects move between storage classes.
Stored and returned; the worker acts on Days, not an absolute date.
Stored and returned; no reaper removes orphaned delete markers.
Stored and returned; enforcement still scopes on prefix only.
Header and presigned forms, including aws-chunked signing.
GET and PUT with a lifetime from one second to seven days.
Public reads require both the ACL and public access block to allow them.
Workspace request limits can be overridden per bucket.
Users and scoped keys work; inline user policies are not evaluated.
GetSessionToken works; AssumeRole and GetCallerIdentity have cross-tenant gaps.
The legacy signature is explicitly refused.
Signed browser form uploads are absent; use a presigned PUT.
Malformed or contradictory headers fail before bytes are written.
Returns 501 instead of accepting encryption headers while storing plaintext.
PutBucketEncryption is not implemented.
Present on every response for support correlation.
Present in 4xx and 5xx bodies where boto3 reads it.
Emitted under the same conditions as S3.
Correct in the HTTP header and most XML; quoting differs in one response shape.
This state is limited to lifecycle configuration. Transition rules, absolute expiration dates, delete-marker cleanup, and tag or size filters can round-trip without taking effect. We name that here so a successful write is not mistaken for successful enforcement.