Skip to main content
POST
Call workspace_sets.update

Authorizations

Authorization
string
header
required

An API key minted at Settings › API & MCP. Send it as Authorization: Bearer <key>. A key carries its holder's own permissions, resolved on every call — revoking a membership closes the key's reach immediately. Keep it in an environment variable (GOOSY_API_KEY), never in a committed file.

Headers

x-request-id
string

Your own id for this request, echoed back and recorded on the audit trail. 1–128 characters from A–Z a–z 0–9 . _ : -, starting with a letter or digit; anything else is replaced by a generated id.

Maximum string length: 128

Body

application/json
set_id
string
required

The id of the set to change — the setId workspace_sets.list returns.

name
string | null

A new display name. Omit to keep it.

selector
object

Exactly ONE of: {workspace_ids:[...]} the brands they picked · {company_type:'...'} every brand of that business type · {template_links_of:'

retired
boolean | null

true retires the set; false brings a retired one back.

remembered_brand_treatment
enum<string> | null

The answer to remember for next time: 'regenerate' rebuilds the piece for each brand, 'as_is' uses the template content unchanged. Pass null to forget the remembered answer, so Goosy asks next time. Omit to leave the memory alone.

Available options:
regenerate,
as_is
confirmation_id
string<uuid>

Omit to propose: the first call says what would happen, returns a confirmation_id and changes nothing. To go ahead, send the same arguments again with that confirmation_id, on a member's own API key; a service account's key can propose but never confirm.

workspace
string

Which workspace to run in — its slug. Omit to use your default. With more than one reachable workspace and no default, the call is refused and the choices are listed.

Minimum string length: 1

Response

The call was admitted and dispatched. ok says whether the tool succeeded — a refusal the tool itself produced is still a 200, exactly as it is a successful JSON-RPC result over MCP.

The tool ran and answered.

ok
boolean
required
workspace
string
required

The slug of the workspace this call ran in.

working_in
object
required

Which workspace this call ran in, and how that was decided. Present on every workspace-scoped result.

state
string
Allowed value: "confirmation_required"
confirmation_id
string<uuid>
expires_in_seconds
integer
request_summary
string

What will happen, in one sentence, for a person to approve before confirming.

setId
string
name
string
handle
string
selectorKind
string