HTTP API

Blob Storage Admin

GET/admin/blobs
GET
/admin/blobs

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Query Parameters

user_id?string

Filter by user ID (if not specified, lists all users' blobs)

prefix?string

Prefix to filter blobs by

page_size?integer

Number of items per page (default 50, max 1000)

Formatint32
Range0 <= value
cursor?string

Cursor for pagination (from previous response)

Response Body

application/json

curl -X GET "https://example.com/admin/blobs"
{  "blobs": [    {      "content_type": "string",      "expires_at": 0,      "last_modified": 0,      "path": "string",      "size": 0    }  ],  "cursor": "string",  "has_more": true,  "page_size": 0,  "prefix": "string"}
GET/admin/blobs/quotas
GET
/admin/blobs/quotas

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Query Parameters

page_size?integer

Number of items per page (default 50, max 100)

Formatint32
Range0 <= value
cursor?string

Cursor for pagination

unlimited_only?boolean

Filter to only show unlimited quotas

Response Body

application/json

curl -X GET "https://example.com/admin/blobs/quotas"
{  "cursor": "string",  "has_more": true,  "page_size": 0,  "quotas": [    {      "created_at": 0,      "max_bytes": 0,      "max_files": 0,      "notes": "string",      "unlimited": true,      "updated_at": 0,      "user_id": "string"    }  ]}
POST/admin/blobs/quotas
POST
/admin/blobs/quotas

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Request to set or update a user's storage quota (admin only)

Response Body

application/json

curl -X POST "https://example.com/admin/blobs/quotas" \  -H "Content-Type: application/json" \  -d '{    "user_id": "string"  }'
{  "created_at": 0,  "max_bytes": 0,  "max_files": 0,  "notes": "string",  "unlimited": true,  "updated_at": 0,  "user_id": "string"}
GET/admin/blobs/quotas/{user_id}
GET
/admin/blobs/quotas/{user_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

user_id*string

User ID to get quota for

Response Body

application/json

curl -X GET "https://example.com/admin/blobs/quotas/string"
{  "created_at": 0,  "max_bytes": 0,  "max_files": 0,  "notes": "string",  "unlimited": true,  "updated_at": 0,  "user_id": "string"}
DELETE/admin/blobs/quotas/{user_id}
DELETE
/admin/blobs/quotas/{user_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

user_id*string

User ID to delete quota for

Response Body

curl -X DELETE "https://example.com/admin/blobs/quotas/string"
Empty
GET/admin/blobs/stats
GET
/admin/blobs/stats

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Response Body

application/json

curl -X GET "https://example.com/admin/blobs/stats"
{  "default_max_bytes": 0,  "default_max_files": 0,  "total_file_count": 0,  "total_size_bytes": 0,  "user_count": 0,  "users_with_quotas": 0}
GET/admin/blobs/users/{user_id}
GET
/admin/blobs/users/{user_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

user_id*string

User ID to get storage details for

Response Body

application/json

curl -X GET "https://example.com/admin/blobs/users/string"
{  "quota": null,  "usage": {    "file_count": 0,    "quota_max_bytes": 0,    "quota_max_files": 0,    "total_size_bytes": 0,    "usage_percent": 0  },  "user_id": "string"}

On this page