Tigris website screenshot

Tigris

Tigris is a globally distributed, multi-cloud, S3-compatible object storage service. Data is automatically placed close to where it is read for low latency worldwide, with no egress fees. The storage API speaks the AWS S3 protocol at https://t3.storage.dev (formerly fly.storage.tigris.dev) so existing boto3, AWS SDK, and S3 clients work unchanged, with companion IAM and CloudFront-compatible APIs for access keys and public-key signing.

6 APIs 0 Features
Object StorageS3 CompatibleStorageMulti-CloudGlobally Distributed

APIs

Tigris Object Storage (S3-Compatible) API

AWS S3-compatible object operations - PutObject, GetObject, HeadObject, CopyObject, DeleteObject, DeleteObjects, ListObjectsV2, object tagging, ranged and conditional reads, and...

Tigris Bucket Management API

S3-compatible bucket lifecycle and configuration - CreateBucket, ListBuckets, HeadBucket, DeleteBucket, plus CORS, lifecycle, tagging, ownership controls, notification configura...

Tigris Multipart Upload API

S3-compatible multipart upload flow for large objects - CreateMultipartUpload, UploadPart, UploadPartCopy, ListParts, ListMultipartUploads, CompleteMultipartUpload, and AbortMul...

Tigris Presigned URLs API

SigV4 presigned URLs for time-limited, credential-free object access - PresignGetObject, PresignPutObject, PresignHeadObject, PresignDeleteObject, and PresignUploadPart.

Tigris IAM and Access Keys API

AWS IAM-compatible API served at https://iam.storage.dev for managing access keys and policies - CreateAccessKey, ListAccessKeys, UpdateAccessKey, DeleteAccessKey, CreatePolicy,...

Tigris Object Tiering API

Storage-class tiering using S3-compatible classes - STANDARD, STANDARD_IA (Infrequent Access), GLACIER (Archive), and GLACIER_IR (Archive Instant Retrieval) - set per bucket def...

Collections

Pricing Plans

Rate Limits

Tigris Data Rate Limits

3 limits

RATE LIMITS

FinOps

Resources

🔗
TrustCenter
TrustCenter
🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
📰
Blog
Blog

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Tigris Object Storage (S3-Compatible) API
  version: '2026-06-20'
request:
  auth:
    type: awsv4
    awsv4:
      service: s3
      region: auto
      accessKey: '{{accessKey}}'
      secretKey: '{{secretKey}}'
items:
- info:
    name: Buckets
    type: folder
  items:
  - info:
      name: ListBuckets
      type: http
    http:
      method: GET
      url: https://t3.storage.dev/
    docs: List all buckets owned by the authenticated account.
  - info:
      name: CreateBucket
      type: http
    http:
      method: PUT
      url: https://t3.storage.dev/{{bucket}}
    docs: Create a bucket.
  - info:
      name: ListObjectsV2
      type: http
    http:
      method: GET
      url: https://t3.storage.dev/{{bucket}}?list-type=2
    docs: List objects in a bucket.
  - info:
      name: HeadBucket
      type: http
    http:
      method: HEAD
      url: https://t3.storage.dev/{{bucket}}
    docs: Check that a bucket exists and is accessible.
  - info:
      name: DeleteBucket
      type: http
    http:
      method: DELETE
      url: https://t3.storage.dev/{{bucket}}
    docs: Delete an empty bucket.
- info:
    name: Objects
    type: folder
  items:
  - info:
      name: PutObject
      type: http
    http:
      method: PUT
      url: https://t3.storage.dev/{{bucket}}/{{key}}
      body:
        type: binary
        data: ''
    docs: Upload an object. Use the x-amz-storage-class header to choose a tier (STANDARD, STANDARD_IA, GLACIER, GLACIER_IR).
  - info:
      name: GetObject
      type: http
    http:
      method: GET
      url: https://t3.storage.dev/{{bucket}}/{{key}}
    docs: Download an object. Add a Range header for partial reads.
  - info:
      name: HeadObject
      type: http
    http:
      method: HEAD
      url: https://t3.storage.dev/{{bucket}}/{{key}}
    docs: Retrieve object metadata without the body.
  - info:
      name: CopyObject
      type: http
    http:
      method: PUT
      url: https://t3.storage.dev/{{bucket}}/{{key}}
    docs: Server-side copy using the x-amz-copy-source header.
  - info:
      name: DeleteObject
      type: http
    http:
      method: DELETE
      url: https://t3.storage.dev/{{bucket}}/{{key}}
    docs: Delete an object.
  - info:
      name: DeleteObjects
      type: http
    http:
      method: POST
      url: https://t3.storage.dev/{{bucket}}?delete
      body:
        type: xml
        data: <Delete><Object><Key>a.txt</Key></Object></Delete>
    docs: Delete multiple objects in a single request.
  - info:
      name: PutObjectTagging
      type: http
    http:
      method: PUT
      url: https://t3.storage.dev/{{bucket}}/{{key}}?tagging
      body:
        type: xml
        data: <Tagging><TagSet><Tag><Key>env</Key><Value>prod</Value></Tag></TagSet></Tagging>
    docs: Set the tag set on an object.
  - info:
      name: RestoreObject
      type: http
    http:
      method: POST
      url: https://t3.storage.dev/{{bucket}}/{{key}}?restore
    docs: Restore an object stored in the Archive (GLACIER) tier.
- info:
    name: Multipart
    type: folder
  items:
  - info:
      name: CreateMultipartUpload
      type: http
    http:
      method: POST
      url: https://t3.storage.dev/{{bucket}}/{{key}}?uploads
    docs: Initiate a multipart upload; returns an UploadId.
  - info:
      name: UploadPart
      type: http
    http:
      method: PUT
      url: https://t3.storage.dev/{{bucket}}/{{key}}?partNumber=1&uploadId={{uploadId}}
      body:
        type: binary
        data: ''
    docs: Upload one part of a multipart upload.
  - info:
      name: CompleteMultipartUpload
      type: http
    http:
      method: POST
      url: https://t3.storage.dev/{{bucket}}/{{key}}?uploadId={{uploadId}}
      body:
        type: xml
        data: <CompleteMultipartUpload><Part><PartNumber>1</PartNumber><ETag>"etag"</ETag></Part></CompleteMultipartUpload>
    docs: Complete a multipart upload, assembling the parts into one object.
  - info:
      name: ListParts
      type: http
    http:
      method: GET
      url: https://t3.storage.dev/{{bucket}}/{{key}}?uploadId={{uploadId}}
    docs: List the uploaded parts of a multipart upload.
  - info:
      name: AbortMultipartUpload
      type: http
    http:
      method: DELETE
      url: https://t3.storage.dev/{{bucket}}/{{key}}?uploadId={{uploadId}}
    docs: Abort a multipart upload and discard its parts.
  - info:
      name: ListMultipartUploads
      type: http
    http:
      method: GET
      url: https://t3.storage.dev/{{bucket}}?uploads
    docs: List in-progress multipart uploads in a bucket.