Skip to main content
PATCH
/
v2
/
publishers
/
{publisherId}
Update Publisher
curl --request PATCH \
  --url https://api.tusky.io/v2/publishers/{publisherId} \
  --header 'Content-Type: application/json' \
  --data '
{
  "state": "<string>",
  "epochs": 123,
  "quilt": true,
  "permanent": true,
  "share": true,
  "autoConvert": true,
  "environmentId": "<string>"
}
'
{
  "id": "<string>",
  "state": "<string>",
  "epochs": 123,
  "quilt": true,
  "permanent": true,
  "share": true,
  "autoConvert": true,
  "environmentId": "<string>",
  "updatedAt": "<string>"
}
Update a publisher’s configuration. Only the fields included in the request body are updated — omitted fields remain unchanged.

Path Parameters

publisherId
string
required
The unique identifier of the publisher to update.

Request Body

state
string
Set the operational state. One of ready, idle, deactivated. You cannot set deactivated if it is the only non-deactivated publisher on the account.
epochs
number
Default number of Walrus storage epochs. Range: 1–100. Each epoch is approximately 2 weeks.
quilt
boolean
Whether to batch files into quilts.
permanent
boolean
Whether blobs are non-deletable.
share
boolean
Whether blobs are shared.
autoConvert
boolean
Whether to automatically convert SUI to WAL before upload when WAL balance is insufficient. When true, the publisher swaps SUI → WAL via on-chain DEX at the best available rate.
environmentId
string
Attach or detach the publisher to/from an environment. Set to an environment ID to attach, or null to detach and make it an account-level publisher.

Response

Returns the updated publisher object.
id
string
Unique publisher identifier.
state
string
Current operational state. One of ready, idle, working, deactivated.
epochs
number
Default storage epoch count.
quilt
boolean
Whether quilt batching is enabled.
permanent
boolean
Whether blobs are non-deletable.
share
boolean
Whether blobs are shared.
autoConvert
boolean
Whether SUI → WAL auto-conversion is enabled.
environmentId
string
Attached environment ID, or null.
updatedAt
string
ISO 8601 last-updated timestamp.

Example

curl -X PATCH https://api.tusky.io/v2/publishers/pub_7f3a2b1c \
  -H "Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "epochs": 10,
    "quilt": true,
    "permanent": false
  }'

Response

{
  "id": "pub_7f3a2b1c",
  "state": "ready",
  "epochs": 10,
  "quilt": true,
  "permanent": false,
  "share": false,
  "autoConvert": true,
  "environmentId": "env_abc123",
  "updatedAt": "2026-03-05T15:00:00Z"
}
Changing quilt from true to false (or vice versa) only affects future uploads. Files already published retain their original publishing mode.
You cannot set the last non-deactivated publisher to deactivated. Create another publisher first.