Skip to main content

ListBucketsResponse

buckets object[]required
  • Array [
  • namestring

    Name of the bucket

    created_atstring<date-time>

    RFC3339 formatted timestamp of bucket creation

    Example: 2021-09-01T12:00:00Z
    sizeinteger<int64>

    Estimated size of the bucket in bytes

    object_countinteger<int64>

    Estimated number of objects in the bucket

    publicboolean

    If set to true, the bucket is publicly accessible

    storage_classStorageClass (string)

    Storage class for the bucket. Default is STANDARD.

    Possible values: [STANDARD, STANDARD_IA, GLACIER, GLACIER_IR]

    regionsRegions (string)

    Restricts the regions where bucket data is stored. Default is empty, which means no restrictions (global distribution).

    Accepted values:

    • Specific region(s): "iad", "sjc", "iad,sjc,lhr" (comma-separated)
    • No restrictions (global distribution): "global"

    If you want to remove existing region restrictions, you can set the value to "global".

    See https://www.tigrisdata.com/docs/objects/object_regions/ for more details.

    object_acl_enabledboolean

    If set to true, per object ACL is enabled

    website object
    domain_namestring

    Custom domain name for the bucket. Must be a valid fully-qualified domain name (FQDN) and have a CNAME record pointing to the bucket URL.

    Example: images.example.com
    object_notifications object

    Configuration for object event notifications via webhook. Receive HTTP callbacks when objects are created, updated, or deleted in your bucket.

    Update behavior (partial updates supported):

    • Omit field entirely: Keeps existing settings unchanged
    • Include only enabled: Toggles notifications on/off while preserving all other config
    • Include any field: Updates specified fields, preserves others (auth not re-required)
    • Remove completely: Send {"enabled": false} with no other fields

    Common operations:

    // Enable notifications (preserves webhook, filter, auth)
    {"enabled": true}

    // Disable temporarily (keeps all config for later)
    {"enabled": false, "webhook": "https://..."}

    // Update webhook only (preserves auth, filter)
    {"webhook": "https://new-endpoint.com"}

    // Change auth type (replaces entire auth object)
    {"auth": {"token": "new-token"}}

    // Remove all notifications
    {"enabled": false}

    Note: Auth credentials are masked in responses. You don't need to re-send them when updating other fields.

    enabledbooleanrequired

    Enable or disable notifications (webhook required when true)

    webhookstring<uri>

    HTTPS endpoint to receive notification events

    Example: https://webhook.example.com/tigris-events
    filterstring

    SQL WHERE clause to filter which objects trigger notifications (e.g., size comparisons)

    Example: size > 1000000
    auth object

    Authentication credentials for webhook endpoint

    basic_userstring

    Basic auth username

    basic_passstring<password>

    Basic auth password

    tokenstring<password>

    Bearer token for authorization

    lifecycle_rules object

    Lifecycle rules to automatically transition objects to different storage classes or permanently delete (expire) them.

    • Transitions: Automatically move objects to a cheaper storage class after a specified time or on a specific date. Use this for data that is accessed less frequently over time (e.g., logs, backups, archives).
    • Expiration: Automatically and permanently delete objects after a specified time or on a specific date. Use this for temporary data, logs with retention policies, or any data that should be cleaned up automatically.

    Example: Archive old logs and delete after 1 year

    {
    "rules": [
    {
    "id": "archive-and-cleanup-logs",
    "enabled": true,
    "transitions": [
    { "days": 90, "storage_class": "GLACIER" }
    ],
    "expiration": { "days": 365 }
    }
    ]
    }

    This rule transitions objects to GLACIER after 90 days, and permanently deletes them after 365 days.

    Update Behavior (Partial Updates Supported)

    • Omit field entirely: Keeps existing lifecycle rules unchanged
    • Include empty rules array []: Removes all lifecycle rules
    • Include rules: Replaces all lifecycle rules with the provided set

    Note: When updating rules, you must provide the complete rule configuration. To preserve existing rules while making changes, first retrieve the current bucket configuration, modify the desired fields, and submit the complete updated rules.

    rules object[]
  • Array [
  • idstringrequired

    Unique identifier for the rule (max 255 chars). Use a descriptive name like archive-old-logs or expire-temp-uploads.

    Possible values: <= 255 characters

    enabledbooleanrequired

    Whether the rule is currently active. Set to false to temporarily disable a rule without deleting it. When disabled, objects will not be transitioned or expired by this rule.

    expiration object

    Configuration for automatic object deletion (expiration).

    When the expiration condition is met, objects matching this rule are permanently deleted.

    Specify ONE Condition (Not Both)

    • days: Delete objects N days after their creation date
    • date: Delete all matching objects on a specific date
    daysinteger

    Number of days after object creation when the object will be deleted. The deletion happens at midnight UTC on the calculated expiration date.

    Example: If days: 30 and an object was created on Dec 1, it expires on Dec 31.

    datestring<date-time>

    Specific date (at midnight UTC) when all matching objects will be deleted, regardless of when they were created. Use this for one-time cleanup operations or compliance deadlines.

    Must be a future date in RFC3339 format with midnight UTC time.

    Example: 2025-01-01T00:00:00Z
    transitions object[]

    List of storage class transitions. Objects will transition through each defined step. Transitions must be in chronological order (earlier days/dates first).

  • Array [
  • daysinteger

    Number of days after object creation when the transition occurs. The transition happens at midnight UTC on the calculated date.

    Example: If days: 60 and an object was created on Jan 1, it transitions on Mar 2.

    datestring<date-time>

    Specific date (at midnight UTC) when all matching objects will be transitioned, regardless of when they were created. Use this for planned migrations or cost optimization deadlines.

    Must be a future date in RFC3339 format with midnight UTC time.

    Example: 2025-06-01T00:00:00Z
    storage_classStorageClass (string)required

    Storage class for the bucket. Default is STANDARD.

    Possible values: [STANDARD, STANDARD_IA, GLACIER, GLACIER_IR]

  • ]
  • ]
  • ]
  • ListBucketsResponse
    {
    "buckets": [
    {
    "name": "string",
    "created_at": "2021-09-01T12:00:00Z",
    "size": 0,
    "object_count": 0,
    "public": true,
    "storage_class": "STANDARD",
    "regions": "string",
    "object_acl_enabled": true,
    "website": {
    "domain_name": "images.example.com"
    },
    "object_notifications": {
    "enabled": true,
    "webhook": "https://webhook.example.com/tigris-events",
    "filter": "size > 1000000",
    "auth": {
    "basic_user": "string",
    "basic_pass": "string",
    "token": "string"
    }
    },
    "lifecycle_rules": {
    "rules": [
    {
    "id": "string",
    "enabled": true,
    "expiration": {
    "days": 0,
    "date": "2025-01-01T00:00:00Z"
    },
    "transitions": [
    {
    "days": 0,
    "date": "2025-06-01T00:00:00Z",
    "storage_class": "STANDARD"
    }
    ]
    }
    ]
    }
    }
    ]
    }