Public Access
Files in public vaults are accessible without authentication. This is useful for hosting public assets, open datasets, or shareable content.
Public endpoints
Section titled “Public endpoints”Tusky provides three unauthenticated endpoints for public access:
| Endpoint | Description |
|---|---|
GET /api/public/files/:fileId | Download a file by ID |
GET /api/public/blobs/:blobId | Download by Walrus blob ID |
GET /api/public/vaults/:userId/:vaultSlug | List files in a public vault |
Accessing a public file
Section titled “Accessing a public file”// Using the SDK — no API key needed for public methodsconst tusky = new TuskyClient({ apiKey: '' });
// Build a URL (synchronous, no API call)const fileUrl = tusky.public.getFileUrl('file-uuid');// → "https://api.opentusk.ai/api/public/files/file-uuid"
// Download directlyconst response = await fetch(fileUrl);const data = await response.arrayBuffer();import requests
# No auth header neededfile_url = f"https://api.opentusk.ai/api/public/files/{file_id}"content = requests.get(file_url).content# Direct download — no auth requiredcurl https://api.opentusk.ai/api/public/files/{fileId} -o output.pdfAccessing by Walrus blob ID
Section titled “Accessing by Walrus blob ID”Once a file is synced to Walrus, you can access it by its content-addressed blob ID. This works even if the file is cold (evicted from hot cache):
const blobUrl = tusky.public.getBlobUrl('walrus-blob-id');const response = await fetch(blobUrl);curl https://api.opentusk.ai/api/public/blobs/{walrusBlobId} -o output.pdfListing files in a public vault
Section titled “Listing files in a public vault”Browse all files in a public vault using the owner’s user ID and vault slug:
const result = await tusky.public.listVaultFiles('user-uuid', 'my-public-vault');console.log(result.vault.name);console.log(result.files.length);resp = requests.get( "https://api.opentusk.ai/api/public/vaults/{userId}/{vaultSlug}")data = resp.json()for f in data["files"]: print(f["name"], f["status"])Public vs private vaults
Section titled “Public vs private vaults”Only files in public vaults are accessible via these endpoints. Files in private vaults always require authentication and return encrypted content that can only be decrypted client-side.
Vault visibility is set at creation and cannot be changed.
Use cases
Section titled “Use cases”- Static assets: Host images, PDFs, or documents with direct URLs
- Open data: Share datasets publicly via vault listings
- Decentralized links: Use Walrus blob IDs for content-addressed, permanent URLs