Skip to main content
POST
/
v2
/
files
/
{fileId}
/
extend
Extend File
curl --request POST \
  --url https://api.tusky.io/v2/files/{fileId}/extend \
  --header 'Content-Type: application/json' \
  --data '{
  "epochs": 123
}'
{
  "id": "<string>",
  "expiresAt": "<string>",
  "epochsAdded": 123,
  "totalEpochs": 123,
  "cost": {
    "wal": "<string>",
    "sui": "<string>"
  }
}
Extend the storage duration of a file by adding more Walrus epochs. This renews the file’s availability on the network beyond its current expiration.

Path Parameters

fileId
string
required
The unique identifier of the file to extend.

Request Body

epochs
number
required
Number of additional Walrus epochs to add. Each epoch is approximately 2 weeks. Range: 1–100.

Response

id
string
The file ID.
expiresAt
string
The new expiration timestamp (ISO 8601) after the extension.
epochsAdded
number
Number of epochs added.
totalEpochs
number
Total number of epochs the file is now stored for (from original upload).
cost
object

Example

curl -X POST https://api.tusky.io/v2/files/file_abc123/extend \
  -H "Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"epochs": 5}'

Response

{
  "id": "file_abc123",
  "expiresAt": "2026-04-17T12:00:00.000Z",
  "epochsAdded": 5,
  "totalEpochs": 10,
  "cost": {
    "wal": "0.025",
    "sui": "0.0025"
  }
}
If the file was published in a quilt, extending the file extends the entire quilt — all files within it get the same extended storage duration.
Extension costs are deducted from your prepaid wallet balance. If your balance is insufficient, the request returns 402 Payment Required.