Object Storage API — Agentuity Documentation

Object Storage API

Store and manage files and binary objects in buckets

Store and manage files and binary objects in buckets.

https://catalyst-usw.agentuity.cloud

Authentication

All requests require a Bearer token. Pass your SDK key in the Authorization header.

HeaderValue
AuthorizationBearer YOUR_SDK_KEY

You can find your SDK key in the Agentuity Console under your project settings.


List Objects

List objects in a bucket with optional prefix and pagination.

GET/storage/objects/{bucket}
https://catalyst-usw.agentuity.cloud/storage/objects/{bucket}

Parameters

path
NameTypeRequiredDescription
bucketstringYesBucket name
query
NameTypeRequiredDescription
prefixstringNoOnly return keys with this prefix
limitnumberNoMaximum objects to return
offsetnumberNoOffset for pagination

Response

Paginated object listing.

StatusDescription
200Object list returned
401Unauthorized

Response Fields

FieldTypeDescription
objectsobject[]List of objects
objects[].bucket_namestringThe bucket this object belongs to
objects[].keystringObject key (path)
objects[].sizenumberObject size in bytes
objects[].etagstringObject ETag (optional)
objects[].content_typestringObject content type (optional)
objects[].last_modifiedstringLast modified timestamp (ISO8601) (optional)
totalnumberTotal count matching the query
prefixstringPrefix filter applied
limitnumberPage size
offsetnumberPage offset

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/storage/objects/my-bucket?prefix=images/&limit=50' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Delete Objects

Delete objects by key or by prefix. key and prefix are mutually exclusive query parameters.

DELETE/storage/objects/{bucket}
https://catalyst-usw.agentuity.cloud/storage/objects/{bucket}

Parameters

path
NameTypeRequiredDescription
bucketstringYesBucket name
query
NameTypeRequiredDescription
keystringNoDelete a single object key
prefixstringNoDelete all objects matching prefix

Response

JSON response with deleted object count.

StatusDescription
200Delete operation completed
401Unauthorized

Response Fields

FieldTypeDescription
deleted_countnumberNumber of objects deleted

Example

curl -X DELETE 'https://catalyst-usw.agentuity.cloud/storage/objects/my-bucket?key=images/photo.jpg' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Generate Presigned URL

Generate a time-limited URL for uploading or downloading an object.

GET/storage/presign/{bucket}
https://catalyst-usw.agentuity.cloud/storage/presign/{bucket}

Parameters

path
NameTypeRequiredDescription
bucketstringYesBucket name
query
NameTypeRequiredDescription
keystringYesObject key to access
operationstringNoOperation type: `download` or `upload` (default: `download`)

Response

JSON response containing presigned URL and expiry.

StatusDescription
200Presigned URL generated
401Unauthorized

Response Fields

FieldTypeDescription
presigned_urlstringThe presigned URL
expiry_secondsnumberURL expiry time in seconds

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/storage/presign/my-bucket?key=images/photo.jpg&operation=download' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Get Bucket Stats

Get object count and total size for a bucket.

GET/storage/stats/{bucket}
https://catalyst-usw.agentuity.cloud/storage/stats/{bucket}

Parameters

path
NameTypeRequiredDescription
bucketstringYesBucket name

Response

Bucket-level usage and activity statistics.

StatusDescription
200Bucket stats returned
401Unauthorized

Response Fields

FieldTypeDescription
bucket_namestringThe bucket name
object_countnumberNumber of objects
total_sizenumberTotal size in bytes
last_event_atstringLast event timestamp (ISO8601) (optional)

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/storage/stats/my-bucket' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Get Storage Analytics

Get aggregated analytics across buckets and daily snapshots.

GET/storage/analytics
https://catalyst-usw.agentuity.cloud/storage/analytics

Parameters

query
NameTypeRequiredDescription
daysnumberNoDays of history to include (default: 180)

Response

Analytics summary, per-bucket breakdown, and daily trend data.

StatusDescription
200Analytics returned
401Unauthorized

Response Fields

FieldTypeDescription
summaryobjectOrg-wide totals
summary.total_object_countnumberTotal objects across all buckets
summary.total_sizenumberTotal size in bytes across all buckets
summary.estimated_monthly_costnumberEstimated monthly cost in USD
summary.cost_per_gb_monthnumberCost rate per GB per month in USD
bucketsobject[]Per-bucket breakdown
buckets[].bucket_namestringThe bucket name
buckets[].object_countnumberNumber of objects in this bucket
buckets[].total_sizenumberTotal size in bytes for this bucket
buckets[].last_event_atstringLast event timestamp (ISO8601) (optional)
buckets[].estimated_monthly_costnumberEstimated monthly cost for this bucket in USD
dailyobject[]Daily snapshots for sparklines
daily[].datestringSnapshot date (YYYY-MM-DD)
daily[].total_object_countnumberTotal objects on this date
daily[].total_sizenumberTotal size in bytes on this date
daily[].estimated_costnumberEstimated monthly cost at this snapshot in USD
daysnumberNumber of days requested

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/storage/analytics?days=30' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Get Bucket Config

Retrieve effective configuration for a bucket.

GET/bucket/config/{bucket}
https://catalyst-usw.agentuity.cloud/bucket/config/{bucket}

Parameters

path
NameTypeRequiredDescription
bucketstringYesBucket name

Response

Bucket configuration settings and location metadata.

StatusDescription
200Bucket config returned
401Unauthorized

Response Fields

FieldTypeDescription
bucket_namestringThe name of the storage bucket
storage_tierstring | nullStorage tier: `STANDARD`, `INFREQUENT_ACCESS`, or `ARCHIVE` (optional)
ttlnumber | nullObject TTL in seconds (optional)
publicboolean | nullWhether the bucket is publicly accessible (optional)
cache_controlstring | nullDefault Cache-Control header for objects (optional)
corsobject | nullCustom CORS configuration (optional)
additional_headersobject | nullAdditional response headers as key-value pairs (optional)
bucket_locationstring | nullBucket location or region override (optional)

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/bucket/config/my-bucket' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Update Bucket Config

Update bucket configuration fields. Omitted fields remain unchanged.

PUT/bucket/config/{bucket}
https://catalyst-usw.agentuity.cloud/bucket/config/{bucket}

Parameters

path
NameTypeRequiredDescription
bucketstringYesBucket name

Request Body

Partial bucket config update payload.

FieldTypeDescription
storage_tierstring | nullStorage tier: `STANDARD`, `INFREQUENT_ACCESS`, or `ARCHIVE` (optional)
ttlnumber | nullObject TTL in seconds (0 to clear) (optional)
publicboolean | nullWhether the bucket is publicly accessible (optional)
cache_controlstring | nullDefault Cache-Control header for objects (optional)
corsobject | nullCustom CORS configuration (optional)
additional_headersobject | nullAdditional response headers as key-value pairs (optional)

Response

Updated bucket configuration object.

StatusDescription
200Bucket config updated
401Unauthorized

Response Fields

FieldTypeDescription
bucket_namestringThe name of the storage bucket
storage_tierstring | nullStorage tier: `STANDARD`, `INFREQUENT_ACCESS`, or `ARCHIVE` (optional)
ttlnumber | nullObject TTL in seconds (optional)
publicboolean | nullWhether the bucket is publicly accessible (optional)
cache_controlstring | nullDefault Cache-Control header for objects (optional)
corsobject | nullCustom CORS configuration (optional)
additional_headersobject | nullAdditional response headers as key-value pairs (optional)
bucket_locationstring | nullBucket location or region override (optional)

Example

curl -X PUT 'https://catalyst-usw.agentuity.cloud/bucket/config/my-bucket' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "ttl": 86400,
  "public": true,
  "cache_control": "max-age=3600"
}'

Delete Bucket Config

Delete custom bucket config and reset to defaults.

DELETE/bucket/config/{bucket}
https://catalyst-usw.agentuity.cloud/bucket/config/{bucket}

Parameters

path
NameTypeRequiredDescription
bucketstringYesBucket name

Response

Empty response on success.

StatusDescription
200Bucket config deleted/reset
401Unauthorized

Example

curl -X DELETE 'https://catalyst-usw.agentuity.cloud/bucket/config/my-bucket' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'