OptionaladminShared admin API key sent as x-api-key.
OptionalcampaignWhen set, the request is routed through the campaign-scoped route
(PATCH /campaign-rulesets/{campaignID}/{rulesetID}) which supports
both admin key and Tiltify OAuth auth. When omitted the fetcher hits
the admin-only PATCH /rulesets/{rulesetID} route, preserving the
historical server-to-server behavior.
OAuth callers must set both this and tiltifyOAuthToken. The server
derives the true owning campaignID from the ruleset row for the
ownership check, so a mismatched path value only affects routing.
Full ruleset payload — the server keys off ruleset.id.
OptionalsignalCancel on React unmount / other lifecycle events.
OptionaltiltifyTiltify OAuth token sent as Authorization: OAuth <token>.
Params for updateRuleset.