Skip to main content
POST
/
v2
/
aggregators
Create Aggregator
curl --request POST \
  --url https://api.tusky.io/v2/aggregators \
  --header 'Content-Type: application/json' \
  --data '
{
  "subdomain": "<string>",
  "restricted": true,
  "public": true,
  "cache": true,
  "fallbackToBackup": true,
  "customDomain": "<string>"
}
'
{
  "id": "<string>",
  "url": "<string>",
  "subdomain": "<string>",
  "customDomain": "<string>",
  "restricted": true,
  "public": true,
  "cache": true,
  "fallbackToBackup": true,
  "createdAt": "<string>"
}
Create a new aggregator. Each account starts with a default aggregator; use this endpoint to create additional ones with different configurations.

Request Body

subdomain
string
required
Subdomain for the aggregator (e.g., myappmyapp.mytusky.xyz). Must be unique, lowercase, 3–32 characters.
restricted
boolean
default:"false"
When true, requests require authentication via Api-Key header. When false, content is served without authentication.
public
boolean
default:"false"
When true, the aggregator serves any content from the Walrus network (acts as an open Walrus aggregator). When false, the aggregator serves only content belonging to your account.
cache
boolean
default:"true"
Whether to enable Cloudflare edge caching for low-latency delivery.
fallbackToBackup
boolean
default:"false"
Whether to fall back to the centralized backup store when Walrus is unavailable.
customDomain
string
Custom domain. Requires a CNAME record pointing to {subdomain}.mytusky.xyz.

Response

id
string
Aggregator ID.
url
string
Full aggregator URL.
subdomain
string
Assigned subdomain.
customDomain
string
Custom domain, or null.
restricted
boolean
Whether authentication is required.
public
boolean
Whether serving all Walrus content.
cache
boolean
Whether Cloudflare edge caching is enabled.
fallbackToBackup
boolean
Whether backup fallback is enabled.
createdAt
string
ISO 8601 creation timestamp.

Example

curl -X POST https://api.tusky.io/v2/aggregators \
  -H "Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "subdomain": "cdn-assets",
    "restricted": false,
    "public": false,
    "cache": true
  }'

Response

{
  "id": "agg_xyz789",
  "url": "https://cdn-assets.mytusky.xyz",
  "subdomain": "cdn-assets",
  "customDomain": null,
  "restricted": false,
  "public": false,
  "cache": true,
  "fallbackToBackup": false,
  "createdAt": "2026-03-07T14:00:00Z"
}
Default: restricted: false, public: false — serves your account’s content without requiring authentication. Set restricted: true to require an Api-Key header on every request. Set public: true to serve any blob from the Walrus network.