Dashboard

Object Storage

Store files and binary data in buckets. Use object storage for screenshots, downloaded files, PDFs, and other non-structured data.

Creating a Bucket

import { ScrayleClient } from '@scrayle/sdk';

const client = new ScrayleClient();

const bucket = await client.storage.object.createBucket({
  name: 'screenshots',
  description: 'Browser screenshots',
});
console.log(bucket.id);

Uploading Files

const result = await client.storage.object.put(bucket.id, {
  file: './screenshot.png',
});

console.log(result.object_id, result.size);

Downloading Files

const blob = await client.storage.object.get(bucket.id, 'object-id');
// blob is a Blob object - save to file or process

Listing Objects

const objects = await client.storage.object.list(bucket.id, {
  page: 1,
  pageSize: 50,
  search: 'screenshot', // Optional search filter
});

for (const obj of objects.items) {
  console.log(obj.filename, obj.fileType, obj.size);
}

Managing Buckets

// List all buckets
const buckets = await client.storage.object.listBuckets({
  page: 1, pageSize: 20,
});

// Get bucket details
const bucket = await client.storage.object.getBucket('bucket-id');

// Delete a bucket
await client.storage.object.deleteBucket('bucket-id');

Deleting Objects

await client.storage.object.delete(bucket.id, 'object-id');

API Reference

MethodDescription
object.createBucket(data)Create a new bucket
object.getBucket(id)Get bucket details
object.listBuckets(params)List all buckets
object.deleteBucket(id)Delete a bucket
object.put(bucketId, data)Upload a file
object.get(bucketId, objectId)Download a file
object.list(bucketId, params)List objects in a bucket
object.delete(bucketId, objectId)Delete an object