Skip to main content

List Objects

Sprint 3

List objects in a bucket. Users can only access files under their own folder.

Endpoint

GET /api/v1/storage/buckets/{bucket_name}/objects

Headers

HeaderRequiredDescription
AuthorizationYesBearer <access_token>

Path Parameters

ParameterTypeRequiredDescription
bucket_namestringYesName of the bucket

Query Parameters

ParameterTypeRequiredDescription
prefixstringNoObject name prefix to filter by (must be within user's folder: organizations/{org_id}/files/{user_id}/)
recursivebooleanNoWhether to list recursively (default: true)

Response

Success (200)

{
"success": true,
"data": {
"objects": [
{
"name": "organizations/1/files/123/report_20241203_101500_abc123.csv",
"size": 1024000,
"last_modified": "2024-12-03T10:15:00Z",
"etag": "\"d41d8cd98f00b204e9800998ecf8427e\""
}
],
"bucket": "rivergen-storage",
"prefix": "organizations/1/files/123/",
"user_folder": "organizations/1/files/123/"
},
"message": "Objects retrieved successfully"
}

Error Codes

StatusCodeDescription
401UNAUTHORIZEDInvalid or missing authentication token
403FORBIDDENAccess denied - prefix must be within user's folder or bucket access denied
500INTERNAL_SERVER_ERRORFailed to list objects

Security

  • Users can only access files under their own folder: organizations/{org_id}/files/{user_id}/
  • If prefix is provided, it must start with the user's allowed path
  • If prefix is not provided, defaults to user's folder
  • Results are filtered to ensure all objects are within user's allowed path
  • Bucket name must match the configured bucket

Features

  • Recursive listing option
  • Prefix filtering (restricted to user's folder)
  • Automatic filtering to user's allowed path
  • Returns user folder path for reference

Example

curl -X GET "https://api.rivergen.com/api/v1/storage/buckets/rivergen-storage/objects?prefix=organizations/1/files/123/&recursive=true" \
-H "Authorization: Bearer <access_token>"