Skip to main content
POST
Call page.set_share

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
site_id
string<uuid>

The site to act on, as a site UUID from page.list. On a site's own page, leave it out where this schema makes it optional: the call acts on the site open there, unless the member names another site. On any other screen (Analytics, the desk, Connections) no site is open, so pass it: call page.list with name set to the site the member named and pass the site_id it returns. When they named no site, call page.list without a name: pass the one site's id when the brand has one, and ask which site they mean when it has several. Never pass an id you composed, or one that names a board, thread or other object.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
title
string

The site's name or line that follows each page's own title, in the member's words: 'Northwind Coffee' makes the About page 'About · Northwind Coffee'. It sets the title template, so every page keeps its own title. Omit it to leave the title as it is.

Required string length: 1 - 1000
description
string

The site description: used in search results and link previews for any page that has no description of its own. Omit it to leave the description as it is.

Required string length: 1 - 1000
twitter_card
enum<string>

How X / Twitter lays out the card: summary_large_image is the wide picture card, summary the small square one. Omit it to leave the layout as it is.

Available options:
summary,
summary_large_image
title_template
string

The pattern every page's title follows, with %page% where the page's own title goes: '%page% · Northwind Coffee'. Omit it to leave the template as it is.

Required string length: 1 - 200
robots_disallow
string[]

The paths search and AI crawlers are asked to stay out of, each starting with '/': ['/drafts', '/thank-you']. It replaces the whole list; [] returns robots.txt to the one the site builds. Omit it to leave the rules as they are.

Maximum array length: 100
Required string length: 1 - 1024
local_business
object

The business's address and hours, which search engines show for a local business. Omit it to leave the details as they are.

page_path
string

The page that noindex, canonical_url or share_image_file_id apply to, as its route: '/about'. Omit it for the site-wide fields.

Required string length: 1 - 1024
noindex
boolean

True keeps the page named by page_path out of search results, the sitemap and llms.txt; false lets it be indexed again.

canonical_url
string | null

The address search engines should treat as the original of the page named by page_path, an https URL. null returns the page to its own address.

Required string length: 1 - 2048
add_redirects
object[]

Redirects to add or change, each sending an old path to a new address. Omit it to leave the redirects as they are.

Maximum array length: 500
remove_redirects
string[]

The old paths whose redirects to remove: ['/podcast'].

Maximum array length: 500
Required string length: 1 - 1024
share_image_file_id
string<uuid>

A picture from the member's Media, by its file id, to use as the share image: for the page named by page_path, or for the whole site when page_path is omitted.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
clear
enum<string>[]

Fields to return to their default: title_template (pages keep their own titles), local_business (removes the business details) or canonical_url (the page named by page_path uses its own address).

Maximum array length: 3
Available options:
title_template,
local_business,
canonical_url
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
site_id
string<uuid>
required
Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
changed
enum<string>[]
required
Available options:
title,
description,
twitter_card,
title_template,
robots_disallow,
local_business,
noindex,
canonical_url,
redirects,
share_image
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.

share
object