abandonSpaceTagRevision
ChatGPTMarks a draft or review space tag revision as abandoned without changing released environments.
abandonTeamTagRevision
ChatGPTMarks a draft or review team tag revision as abandoned without changing released environments.
acceptSpaceTransfer
ChatGPTAccepts a transfer from the receiving side. Ownership moves immediately: the space keeps serving from where it already is, and the previous owner's space-scoped credentials stop working.
acceptTeamInvitation
ChatGPTAccepts a pending team invitation by its id for the calling user. Adds the caller to the team with the invited role. The invitation must be pending, unexpired, and addressed to the caller's email. Each invitation is single-use. Requires a user principal; machine and team-scoped credentials cannot accept invitations.
acknowledgeSpaceContentSync
ChatGPTCloses a reconciliation that prepared a source write, once the caller has landed those bytes. Refused when the ledger moved on, so a file nobody reconciled is never adopted as the common base.
addSpaceCustomDomain
ChatGPTAttach a hostname to this Space. Spacefast checks the hostname and provisions SSL. Pass redirect to answer the hostname with a whole-host redirect instead of serving the Space. If the hostname is attached to another Space, the response is a Spacefast TXT ownership challenge; verifying it moves the attachment after provider cleanup.
addSpaceLabel
ChatGPTAdds one of the team's labels to the space and returns the updated space. Adding a label the space already wears succeeds and changes nothing.
addSubTeamMember
ChatGPTAdds an existing Enterprise team member to the subteam. No invitation and no new seat. Repeating the same request keeps one membership.
analyzeSpaceSourceConnection
ChatGPTDetects framework settings and unsupported platform configuration for a source connection.
appendUploadChunk
ChatGPTSend at most 16 KiB decoded bytes using sequential zero-based indices. Identical retries are accepted; conflicting retries preserve the existing bytes. An upload can span multiple operation calls.
applyDomainDnsRecordBatch
ChatGPTRuns deletes, patches, puts, and posts in that order as one transaction. Any rejected entry fails the whole batch and names itself in pointer. On a Spacefast DNS zone the change is served before the response; when the zone is not served yet, operation carries a diagnostic that says why and how to fix it.
applySpaceRuntimeChanges
ChatGPTApplies the space's desired runtime changes to the live runtime. Applies inline where it can and answers with the resulting apply state; when work remains, operation is the handle to poll at GET /v1/operations/{operationId}.
applySpaceTagConfig
ChatGPTCreates or updates a space tag revision from declarative configuration and can optionally submit or release it.
applyTeamTagConfig
ChatGPTCreates or updates a team tag revision from declarative configuration and can optionally submit or release it.
approveSpaceAccessRequest
ChatGPTApproves a pending request and adds the requester to the space's people with a live-site grant. A commenter role needs the Space's comments surface set to everywhere; under previews (the default) approve as viewer, or get 422 comments_target_unavailable.
approveSpaceTagRevision
ChatGPTApproves a reviewed space tag revision so it can be released to an environment.
approveTeamTagRevision
ChatGPTApproves a reviewed team tag revision so it can be released to an environment.
archiveSpace
ChatGPTStops serving while keeping the space visible to its owner and retaining its versions, source, database, storage, and domains. Restore it to resume serving.
askDocs
ChatGPTStreams a documentation-grounded answer as plain UTF-8 text. The request contract is compatible with Blume's external Ask AI endpoint.
attachDomainDnsProviderZone
ChatGPTLinks an external authoritative provider zone to this domain while public dns.mode stays external and managementKind resolves to connected_provider.
cancelBuild
ChatGPTCancels a queued, uploading, or running build and returns the latest build state. Canceling is idempotent: a build already in a terminal state comes back unchanged.
cancelSpaceTransfer
ChatGPTEnds a pending transfer. The sending side withdraws, and the receiving side declines. Both outcomes are canceled. You can cancel until the receiving side accepts.
cancelUpload
ChatGPTCancel unused intake and remove its stored bytes. Uploads pinned by accepted operations cannot be canceled.
checkDomainAvailabilityBatch
ChatGPTChecks a batch of domains against registry zone files in one call. The answer is a fast "probably available" signal for search, about a day old, and names on TLDs Spacefast does not sell come back as not sold here. Confirm a domain with the single-domain check before buying.
checkSpaceGrantAccess
ChatGPTEvaluates one route and target for any grant audience and returns additive capabilities, matching grants, and failed checks for every candidate.
choose_space
ChatGPTAsk the user to choose a Space when the destination is unclear. Returns the selected Space. This tool does not change Spacefast data.
cli_login
ChatGPTSign in the sf CLI on the user's computer with this MCP session's access. The user does not sign in again. Use this tool only when you can run shell commands on the user's computer. First run sf whoami. Call this tool only when that command reports no login. The result contains a one-use loginUrl and the command that redeems it. The link expires in 5 minutes. Run the returned command. It sends loginUrl to sf login --handoff through stdin. If the CLI runs through npx, replace sf with npx -y spacefast. Do not pass loginUrl as an argument to sf. Do not show loginUrl to the user. Do not save it to a file. Then run sf whoami to verify the login. If the link expired or was already used, call this tool again. If this tool fails, or sf login --handoff reports a response error, update the CLI and try once more. Then ask the user to run sf login, or publish without a login: sf publish returns a claim link. The CLI receives the same access as this MCP connection. When the user disconnects Spacefast, the CLI login stops too.
closeSpaceSourceWorkspace
ChatGPTRemove managed workspace refs. Require explicit discard for pending changes. Keep saved project history unchanged.
commitSpaceSourceWorkspaceChanges
ChatGPTCommit only the staged tree. Keep other pending changes. Reject a moved project branch. Configured automatic deployment may start a build.
compareSpaceDeploymentVersions
ChatGPTCompare the served files of two completed deployment versions. This does not compare Git source. File contents require versions:download access. Binary, oversized, or unavailable contents include a reason instead of a partial diff.
compare_space_deployment_versions
ChatGPTShow the served files that changed between two deployment versions of a Space, and open one changed file. Set baseDeploymentVersionId and deploymentVersionId. A source commit SHA is not a deployment version ID.
compare_space_source_versions
ChatGPTShow the file diff between two saved source commits of a Space. Set sourceCommitSha. Omit baseSourceCommitSha to compare with its parent commit.
completeSpaceUserDeletion
ChatGPTErases a visitor account that asked to be deleted, with its credentials, while keeping its content as anonymous. Repeating a completed deletion is safe. App accounts sign in to the published Space only; they never grant team or Space access. Requires permission to manage the Space.
completeUpload
ChatGPTSeal all named files and calculate their SHA-256 and Git blob hashes. Completed uploads are immutable and can be used for publishing or source edits.
computeSpaceRouting
ChatGPTReturns the routing rules currently in effect for the space's live version, as the runtime evaluates them.
continueDomainConversation
ChatGPTStreams new domain suggestions, followed by a completed reply or a typed error. With enrich, a stream that confirms it in X-Spacefast-Domain-Results also sends each suggested name's availability, and a Jev score for names not registered or known to be unsellable. These lines can follow the reply. Current selections, taste and stable reference numbers remain user-owned.
convertSpaceContentSource
ChatGPTQueues an explicit source ownership conversion. Preserves the original code in source history and publishes the editable document through the normal source commit and build pipeline. Reuse the operation ID when retrying the same conversion.
createAbuseReport
ChatGPTReports a space or URL for abuse (malware, phishing, illegal content). Reports are reviewed and may disable the space.
createApiKey
ChatGPTCreates an API key with a finite scope and permission set. The policy cannot exceed the caller's current access. A device-login credential without standing key-mint access must send Idempotency-Key. The server then returns a browser approval step. After approval, send the same request body and Idempotency-Key with X-Spacefast-Continuation-Token. The response returns the full secret one time.
createDomain
ChatGPTCreate a domain inventory record for an apex or concrete hostname. Assign the hostname to a Space with POST /v1/spaces/{spaceId}/domains.
createDomainDnsRecord
ChatGPTAdds one record to the zone. Records that conflict with a Spacefast-managed record are rejected. On a Spacefast DNS zone the change is served before the response; when the zone is not served yet, operation carries a diagnostic that says why and how to fix it.
createDomainProviderConnection
ChatGPTConnects the team to a DNS provider account so Spacefast can read and change records for that provider's zones. Token providers take the user's provider API token in apiToken, which is stored write-only and never returned; OAuth providers use a separate start and finish flow. The connection belongs to the team, so create one only at the user's request with a token they chose to share.
createFeedback
ChatGPTSend feedback with optional error, request, space, or URL context.
createPublish
ChatGPTPublish files, a zip/tar archive, or a public HTTPS website and get a Spacefast URL. Pass sourceUrl to capture and publish a website; URL publishing must be enabled for the caller and is mutually exclusive with files, deletions, and archive uploads. URL publishes and archives that need a build return a durable Build receipt with next.action=poll; follow links.status until publication completes. The Build's capture field reports URL capture progress and quality evidence; an unmeasured visual comparison is not a passing comparison. Use a stable Idempotency-Key when retrying the same request. Already-built files and static website archives publish directly and wait for finalization by default; pass async=1 to return an operation link to poll instead. For buildable source on a Spacefast-managed Space, the receipt's git block provides the repository remote and the Build's input.commit identifies the source commit; later git pushes continue that repository history. The Open link provides reusable access. New Spaces are Private by default. Pass spaceId to update an existing Space; otherwise a new Space is created.
createPushRemote
ChatGPTReturns a signed Git remote and the id of the Space it creates. The first git push to it creates that Space, in teamId when signed in or as an anonymous claimable Space when signed out, and starts its first build; until then nothing is created and GET /v1/spaces/{spaceId} returns 404. The last path segment of the push URL names the Space: replace it with a URL-encoded name before the first push, or keep it to get a generated name. An anonymous remote also returns the Space's key, which reads the Space once it exists.
createSpace
ChatGPTCreates a space under a team with a chosen or generated slug. Pass source to create it from a GitHub repository and start its first build. Use POST /v1/publish to create a space and publish content in one call.
createSpaceBuild
ChatGPTCreates a build that produces a version on success through the normal publish path. Repository inputs use the saved connection; source archive inputs receive an upload instruction the new build owns. Naming a managed source instead builds it from its connected production repository with the saved settings and live target. The caller cannot select source code, commands, settings, refs, or publish targets, and must send an Idempotency-Key header: a managed-source trigger without one fails with 422 idempotency_key_required.
createSpaceContentAdminLink
ChatGPTReturns a one-use link that signs a person in to the Space's WordPress content dashboard. The link opens a page with one button. The click signs the person in as the WordPress role in the result. The link expires 10 minutes after creation. An empty body lands on the Zero collections screen. screen selects a Zero screen. path selects a classic /wp-admin/ page. The link signs in the person behind the credential: the signed-in user, or the person who created a team API key. Other credentials get content_admin_person_required. Managed content must be available for the team; otherwise the call fails with feature_unavailable.
createSpaceGrant
ChatGPTGives an audience access to a Space or path. Use it to make a Space public, or to share it with the team or one person. The body names the audience: public, team, person, or an external identity that one of the team's identity connections authenticates. The response includes the runtime update when it continues in the background. A grant whose point is commenting (comments.write without content.publish or access.manage) must target where Comments run: a live target needs the Space's comments surface set to everywhere. Otherwise 422 comments_target_unavailable. A public audience on a Space whose team allows private spaces only returns 403 team_private_spaces_only.
createSpaceMachineCredential
ChatGPTCreates a scoped grant and returns its opaque bearer token exactly once. Tokens are accepted only in the Authorization header.
createSpaceOpenLink
ChatGPTReturns a link that opens a private space's live /. Targeted or account-authorized opens use an internal one-use browser handoff. spaceId also accepts a host the space serves, so a person the space was shared with can open it from its URL (agent credentials need the person-pages:read scope).
createSpacePasswordCredential
ChatGPTCreates an Argon2id password proof and its single canonical scoped grant atomically.
createSpaceRealtimeToken
ChatGPTMints a read-only realtime token for the Space's notice room.
createSpaceRestApiToken
ChatGPTReturns a bearer token, valid for ttlSeconds, for calling this Space's own WordPress REST API with the access of one of its machine credentials (credentialId). Authenticate normally; you never need that credential's secret. Send the token only to the returned endpoint, and keep it out of logs and chat. The Space re-checks the credential's Grant on every request, so the returned capabilities and role are what to expect, not a promise.
createSpaceShareLink
ChatGPTCreates a stable visitor link that opens only its configured path scopes. Capabilities default to view-only. A link with comments.write must target where Comments run: while the Space's comments surface is previews (the default), target a Version, branch, or all Versions; a live target needs the surface set to everywhere. Otherwise 422 comments_target_unavailable.
createSpaceSourceBranch
ChatGPTCreates a durable repository branch. For short-lived preview branches, use the ephemeral-branch operation instead.
createSpaceSourceCommit
ChatGPTSave file operations as one Git commit. Spacefast creates a missing hosted repository for an initial commit. Send expectedHeadSha to reject stale writes. With sourceVersionId, preserve all original upload files before applying operations. The version must be current, ready, and a direct static upload. This option requires versions:read and versions:download in addition to spaces:write. Use 40 zeroes for expectedHeadSha and omit base or ephemeral branches. The hosted repository must have no branches, ephemeral branches, or tags. Upload bytes and replacement contents must total at most 4 MiB, with at most 1,000 uploaded files. A commit does not confirm deployment.
createSpaceSourceCommitFromDiff
ChatGPTSave a unified diff as one Git commit in a hosted repository. Send expectedHeadSha to reject stale writes. A commit does not confirm deployment.
createSpaceSourceConnection
ChatGPTCreates a source connection. It replaces an existing connection only after you close its source workspaces.
createSpaceSourceEphemeralBranch
ChatGPTCreate a short-lived repository branch for previews, experiments, and agent edits.
createSpaceSourceEphemeralRemote
ChatGPTGet a signed Git remote for a short-lived repository branch. This operation requires source-read and source-write access.
createSpaceSourceImportRemote
ChatGPTReturns a signed Git remote for one-time repository ingestion without enabling automatic builds.
createSpaceSourcePushRemote
ChatGPTReturns a signed Git remote for pushing project files to the source connection.
createSpaceSourceTag
ChatGPTCreate a release tag in a ready source connection.
createSpaceSourceWorkspace
ChatGPTCreate a workspace without a local checkout. Send a unique operationId in the request body. Reuse that operationId and the exact input after an uncertain response. Read the workspace ID from data.workspace.id in the API response. Use this ID as workspaceId in later requests. The API uses saved source when it exists. Otherwise, omit originalUploadVersionId to import the current eligible direct upload. Send the field only to pin a known eligible upload. If neither source exists, the API creates an empty baseline. This action does not deploy or change the live version.
createSpaceStorageObject
ChatGPTStores one object for the space from the raw request body. The request's Content-Type becomes the object's; filename is what a person sees in a list and what a download is saved as. The same content policy as a visitor upload applies: executable and active web content is refused.
createSpaceTagDebugSession
ChatGPTCreates a temporary debug token for the released space tag graph in the requested environment.
createSpaceTagPreviewSession
ChatGPTCreates a temporary preview token that loads an unreleased space tag revision for a chosen URL or environment.
createSpaceTagRevision
ChatGPTCreates a mutable space tag revision from an optional base revision and initial graph.
createSpaceTransfer
ChatGPTStarts a tenant-local ownership transfer to another principal. The transfer completes at once when the caller can accept for the receiving team, or can create spaces there and the space has no custom domain, database, or paid resource. Otherwise the current owner keeps full control until the receiving side accepts.
createSpaceVersion
ChatGPTCreates a version and returns upload instructions. The declared file manifest drives change-only uploads: unchanged files are retained from the previous version and only the remainder is requested.
createSpaceVersionPreviewSession
ChatGPTMints a short-lived URL that opens one page of this version — including a private one — with its stylesheets, scripts and images authorized too. The URL is meant to be framed: following it once exchanges the proof it carries for a cookie on the version's own origin and redirects to the same page without it, so the framed document holds no secret. The session authorizes that version only. Requires the same permission as minting a file link.
createSpaceVersionVisualReview
ChatGPTCreates a version-bound review that expires after one hour. The browser URL is a secret review capability. It does not create comments.
createSubTeam
ChatGPTCreates a subteam, a team inside this team that it bills. Requires an Enterprise team and a team owner or admin. The team's owners and admins become the subteam's owners and admins.
createTeam
ChatGPTCreates a new team owned by your credential's user. Self-serve teams are created in the main tenant and the caller becomes the team owner.
createTeamAutoEnrollEntry
ChatGPTLets people with a verified address at this company domain join as members. New domains must match a verified email address of an existing team member. Domains are IDNA-canonicalized; shared mailbox providers, IP addresses and public suffixes are rejected. Adding an existing domain returns the same entry. No membership is created until the person chooses Join.
createTeamIdentityConnection
ChatGPTConnects an outside sign-in system to the team so Grants can admit its people to the team's Spaces: an OIDC provider (type: oidc with issuer, client ID, and client secret) or the team's own signer (type: signer with issuer, authorize URL, and public keys). The client secret is stored write-only; responses report only clientSecretSet. The connection admits no one by itself; only Grants that name it do. It changes who can sign in, so create one only at the user's request.
createTeamInvitation
ChatGPTCreates a pending invitation and emails the invitee a join link.
createTeamLabel
ChatGPTCreates a label for the team. Names are unique within the team, ignoring case. Leave the color out and the server picks the next unused hue from the palette.
createTeamMemory
ChatGPTSaves one lasting fact, decision, or preference so every agent on the team reads it next time. Save a memory only when the user requests or agrees to saving it, for a preference, correction, or decision that a future agent could not read from the site files, the Space settings, or the API. Do not save task progress, to-dos, file paths, build output, or one-time instructions, and do not save at every step. Write one fact per memory: a short title, a body of one to three sentences that includes the reason (who asked, or what caused it), and a category. Set spaceId only when the fact is about one Space. Never save passwords, API keys, tokens, payment details, or private contact details: name the service, not its credential. Text that looks like a credential is refused with team_memory_contains_credential; rephrase it rather than retry. If an active memory in the same scope already has this title, ignoring case, the call fails with team_memory_exists and details.memoryId: update that memory with updateTeamMemory instead, and archive a wrong one rather than saving a second, contradicting memory. A team keeps at most 200 active memories. A save changes memories.revision, so your next getTeamAgentContext read returns every memory again. After you save, tell the user in one line what you saved.
createTeamTagPreviewSession
ChatGPTCreates a temporary preview token that loads an unreleased team tag revision for a chosen URL or environment.
createTeamTagRevision
ChatGPTCreates a mutable team tag revision from an optional base revision and initial graph.
createUpload
ChatGPTCreate named files for chunked or direct HTTPS intake. Keep operationId stable when retrying creation. Uploads expire after 24 hours and survive MCP reconnections.
createWebhook
ChatGPTCreates a webhook delivering the selected activity events to a public HTTPS endpoint. The signing secret is returned only in this response.
create_visual_review
ChatGPTStart a temporary review for this deployed version. Only the App can call this tool. It does not change source or deployments.
decide_execution_approval
ChatGPTApp-only tool. Record the decision that the user selected in the approval card. Only call from the App after the user's choice; the assistant must never approve its own execution.
deleteDomain
ChatGPTDelete an unbound domain record. Active registrations, attached provider zones, and unsettled DNS operations block deletion.
deleteDomainDnsRecord
ChatGPTDeletes one record from the zone. Protected records are read-only. Answers 204 once the delete is served; when the zone is not served yet, answers 200 with the deleted record's id and an operation whose diagnostic says why and how to fix it.
deleteSpace
ChatGPTStops serving immediately and retains the space's provider site, versions, and data for operator cleanup. Agent grants without the delete scope receive a temporary-access approval link. A superadmin can purge the retained data later.
deleteSpaceCustomDomain
ChatGPTRemove the attachment. Returns the operation that removes provider aliases and releases the hostname.
deleteSpaceSourceBranch
ChatGPTDeletes a durable repository branch.
deleteSpaceSourceConnection
ChatGPTDeletes one source connection and stops future repository builds. Close its source workspaces before deletion.
deleteSpaceSourceEphemeralBranch
ChatGPTDelete a short-lived repository branch after a preview or experiment.
deleteSpaceSourceNote
ChatGPTRemoves the Git note attached to a commit.
deleteSpaceSourceTag
ChatGPTDeletes a release tag from a ready source connection.
deleteSpaceStorageObject
ChatGPTForce-deletes an app storage object as the space owner, including objects uploaded by another signed-in visitor.
deleteSpaceVariable
ChatGPTDeletes a space variable by name. If a live or pending version exists, this queues a runtime sync operation. That operation can publish a settings version and update the live site. Otherwise, the deletion applies when a version next finalizes. Check the returned operation before reporting that the deletion applies to the live site.
deleteSpaceVersion
ChatGPTPermanently deletes a version and its files. Versions referenced by a channel cannot be deleted; promote another version first. A publishing API key without version-administration permission may delete only versions that same key created.
deleteSubTeam
ChatGPTDeletes a subteam and its memberships. Requires an Enterprise team and a team owner or admin. Delete or transfer the subteam's Spaces first.
deleteTeam
ChatGPTDeletes a team and its memberships, invitations, and team credentials with a soft-delete marker. Team administrators can restore it for 30 days.
deleteTeamAutoEnrollEntry
ChatGPTStops offering this team through the domain. Existing members keep their membership. The entry must belong to this team.
deleteTeamLabel
ChatGPTDeletes the label and takes it off every space that wears it. The spaces themselves are untouched.
deleteTeamMemory
ChatGPTDeletes a memory for good, for example one that holds something sensitive. Only team owners and admins can delete. Agents archive with updateTeamMemory instead. A team owner or admin must permanently delete Memories in the Spacefast dashboard. Agents can archive Memories.
deleteTeamVariable
ChatGPTDeletes a team variable by name. The deletion applies when a version next finalizes; live versions keep their sealed values.
deleteWebhook
ChatGPTDeletes a webhook from customer-facing surfaces so deliveries stop. The record and delivery history are retained for internal audit. A webhook declared in a system-space manifest is removed by dropping it from that manifest.
denySpaceAccessRequest
ChatGPTDenies a pending space access request without granting authority.
diffSpaceTagRevision
ChatGPTCompares a space tag revision with its base revision and reports graph-level changes.
diffTeamTagRevision
ChatGPTCompares a team tag revision with its base revision and reports graph-level changes.
downloadSpaceSourceArchive
ChatGPTDownloads a repository archive from a synced source connection without requiring a signed Git remote.
editSpaceSourceWorkspaceFiles
ChatGPTApply complete file replacements and deletions to working files. Keep staging unchanged. Do not commit or deploy.
enrollTeamLabs
ChatGPTJoins one Labs feature for the whole team. A self feature turns on at once. An application feature records a request with the required note; a waitlist feature records a place on the waitlist. Both wait for Spacefast's approval. Repeating the call while a request is pending or the feature is active changes nothing. Only team owners and admins can join; agents cannot. A team owner or admin must join Labs features in Settings → Labs. Agents can read listTeamLabs to explain why a feature is off.
ensureTeamContext
ChatGPTCreates the team's private context home when absent, or reuses its existing home. Call when an authorized memory or design-system import encounters team_knowledge_setup_required, then retry the reads and continue. Requires spaces:write and any one of Memories, Skills, or Design System. Repeated and concurrent calls reuse one home. Existing unavailable storage is reported for repair, never replaced. This operation saves no memories, design standards, or skill settings.
execute
ChatGPTUse this tool for every Spacefast API task: mutations, multi-step tasks, tools.<connector> calls, docs, login information, team context, work mode, visual review feedback, screenshots, traffic rules, and reads with no show_space view. For a read-only visual request, use show_space directly. Start one bounded JavaScript program for the full task. In it, search for each operation, describe it, call it, and verify each write with a read operation. Do not use an unbounded loop. Before existing Space edits, read the work mode with getSpaceWorkMode. For existing source edits, use the source workspace API operations; do not read built deployment files as source. If you can run shell commands on the user's computer, publish with sf publish. If you cannot, use the publish tool for local filesystem files, a new inline artifact, or an anonymous claim flow. Do not use execute to continue a paused program. Use resume_execution. execute If the user names Spacefast as the publish destination, publish with Spacefast. When publishing through Spacefast and .spacefast/ links the current project to a Space, update that Space unless the user asks for a new one. Do not replace Spacefast with another artifact or hosting service. Use Spacefast and another artifact or hosting service only if the user requests both. If you can run shell commands on the user's computer, publish local files with the sf CLI. Claude Code, Codex, and Cursor can run shell commands. A chat app, or a sandbox that is not the user's computer, cannot. In that case, skip these CLI steps and use the MCP tools. Run sf --version. If the command is missing, install the CLI with curl -fsSL https://spacefast.com/install.sh | bash. In Windows PowerShell, use irm https://spacefast.com/install.ps1 | iex. If you cannot install it, run each command as npx -y spacefast <command>. Run sf whoami. If it exits with auth_required, call cli_login and run the command it returns. If that succeeds, run sf whoami again and continue. If cli_login fails, run sf login and show its sign-in link to the user. Publish with sf publish <path> --json. The CLI reads the files from disk. The MCP publish tool with inline files sends each file through this conversation, so it is slow and has size limits. To update a known Space that the project does not link, add --space <spaceId>. Use the CLI only to publish files that are already on disk. For all other Spacefast work, use the MCP tools and their approval steps. To edit a Space whose source is not on disk, use the source workspace flow in execute. Do not download Space files to edit and publish them again. Use execute for API, connector, source-workspace, and documentation work. Start one bounded JavaScript program per task. In it, search for each operation, describe it, call it, and verify each write with a read. Do not split discovery, mutation, and verification across programs. Use resume_execution when a program pauses or a connector run parks. Use search to find what the team connected and which connector tools it can call. Use show_space for a read-only visual request. For an existing Space file edit without local source, use the source workspace operations inside execute. A local MCP server does not mean the source files exist locally. Do not download served files to edit and republish them. Without a shell, call publish once for a new artifact or a local-file deployment. With a shell, run sf publish <path> --json instead. Start one JavaScript program for each review stage. Call show_space directly for a visual request, never from inside the program. After source edits, show the workspace diff as the next review stage. If publish.result.receipt.claim is present, the Space is unclaimed. Use the completed publish receipt as verification. Do not call show_space and do not try to open the private Space until the user claims it. Write the program 1. Find the operation. Call tools.search({ query, limit }). It returns { items, hasMore, nextOffset }. Select an item only when its path and description …
exportDomainDnsZone
ChatGPTReturns the managed zone as a BIND zone file, with Spacefast-managed records annotated by comment.
finalizeSpaceVersion
ChatGPTCompiles and activates an uploaded version. Waits for completion by default. Pass async=1 to get an operation handle to poll instead.
get-design-import-job-status
ChatGPTCheck a pending Claude Design import. Use the job_id returned by import-claude-design-from-url.
getAccount
ChatGPTReturns who is signed in and the teams they can act for. Use it for account identity or login information, or when a task needs the caller's teams. Optional teamRef and spaceRef resolve a team or Space in the same read. A Space result includes serving status. A failed reference keeps its error without removing other results. The request fails only if Spacefast cannot identify the caller. Read a referenced value only when its status is resolved. It does not return passwords or tokens.
getApiKey
ChatGPTReturns one API key's metadata, preview, and policy. The secret is never readable after creation.
getBuild
ChatGPTReturns the current state, immutable input, settings snapshot, target, diagnostics, and produced or reused version for a build.
getBuildReceipt
ChatGPTReturns the same archive publish receipt shape while its Spacefast CI build runs and after the produced version settles.
getContext
ChatGPTIntrospects the caller behind the request. Any caller can read it — a browser session, an API key, a machine credential, a Space key, a partner token, or no credential at all — and every answer carries the Spacefast agent instructions as Markdown, filtered by scopes and budgeted for the consumer. An authenticated caller also gets a credential block naming what kind of token it is and what it is bound to, and a user-owned interactive grant gets a capabilities map of the operations its scopes allow.
getDocsPage
ChatGPTReturns one documentation page by slug, for example publishing or api/spaces, including its printable body. A leading slash is tolerated. Slug lookup ignores tier so any documented page is reachable. To read a published page by its docs-site path, pass that path to GET /v1/docs/search, which returns the page in full on an exact match.
getDomain
ChatGPTReturn a domain record with its verification, Space assignment, registration, and DNS state.
getDomainAvailability
ChatGPTChecks whether one domain is available to register, with a live registry check. Use this before buying.
getDomainDiagnostics
ChatGPTReturns DNS observations, setup instructions, and SSL state for one of your domains.
getDomainDnsCapabilities
ChatGPTReturns provider-neutral DNS record capabilities and authority state so clients can render record forms without provider-specific branching.
getDomainDnsOperation
ChatGPTReturns one DNS operation with its provider receipt, diagnostics, and retry window.
getDomainNameservers
ChatGPTReturns the delegation mode, the assigned Spacefast nameservers, and the nameservers observed in public DNS.
getDomainProduct
ChatGPTReturns pricing and rules for one TLD.
getDomainWhois
ChatGPTReturns public WHOIS registration data for one domain.
getFeedback
ChatGPTReturns one feedback entry by its reference. Only the signed-in user who sent it can read it.
getJoinLink
ChatGPTReturns the team behind a join link and the email domains that can join it. When the request is signed in, also returns the caller's verified emails and whether the caller can join now. Joining uses POST /v1/teams/{teamId}/join.
getMe
ChatGPTReturns the authenticated subject with its tenant grants, team memberships, and per-team plan summary.
getOperation
ChatGPTReturns one asynchronous operation's status, progress, and outcome. Poll this endpoint after a mutation that returns an operation handle.
getPlanCode
ChatGPTReturns the plan a redeem code grants, how long the plan lasts, whether the code can still be redeemed, and which of your teams can receive it.
getPluginSettings
ChatGPTRead the authenticated user's Space Library settings. Team and service identities receive the default values.
getSlugAvailability
ChatGPTChecks whether a space or team slug is available and suggests an alternative when it is taken.
getSpace
ChatGPTReturns one space with its status, URLs, channels, and policy. Accepts a spc_ id or a slug; a slug that matches spaces in more than one of your teams fails with ambiguous_space_slug.
getSpaceAnalytics
ChatGPTReturns traffic analytics for one space over a bounded time window.
getSpaceAnalyticsProfile
ChatGPTReturns the analytics profile that decides what the space's analytics view shows: the owner's edit, else the author's profile from the live version's sf.jsonc, else the inferred profile, else the default. Read its goals, categories, metric tiers and suggested events to understand the space's analytics configuration. On feature_unavailable, stop: analytics is unavailable for this team or space. Do not retry or bypass availability.
getSpaceApplyState
ChatGPTReturns whether the space has desired runtime changes pending, applying, live, or failed. This is the space's own serving state, not an operation's: for the progress of a specific apply, poll the operation handle that apply returned.
getSpaceCollaboration
ChatGPTReturns where a Space's Comments are on (surface), its embed origins, spam filter and notification preferences, plus the revision to send back when you update them.
getSpaceContentMedia
ChatGPTReturns attachment bytes after checking space ownership and WordPress read permissions. The optional size names a WordPress image size. Responses are private and must not be cached.
getSpaceContentSourceConflict
ChatGPTReads the common base, current source, and current WordPress document with the revisions required to resolve a conflict.
getSpaceContentSyncStatus
ChatGPTLists acknowledged source changes, conflicts, and associated build and live-version status. A clean receipt does not imply that later WordPress edits have synchronized.
getSpaceCustomDomain
ChatGPTReturn a custom domain attached to this Space.
getSpaceCustomDomainConnectSetup
ChatGPTDiscover the hostname's DNS provider through Domain Connect, confirm it carries the Spacefast template, and return a signed approval URL. The records still need approval at the provider and count only once observed.
getSpaceCustomDomainDiagnostics
ChatGPTReturn DNS observations, provider setup records, and SSL status.
getSpaceDatabase
ChatGPTReturns the declared tables and pending migration plan of the live version's database. This route is Zero-kind only because workers do not declare a table set. Use db console to read a worker's database directly. Returns db_not_available when the live version has no database. Returns runtime_kind_mismatch when the live version is a worker.
getSpaceDatabaseDump
ChatGPTReturns rows from the live capsule's declared tables for debugging and export. Reads the space's own MySQL through its runtime, so this route answers only while that runtime is reachable. This route is Zero-kind only for the same reason as /db: workers do not declare a table set. Use db console for worker tables.
getSpaceDatabaseExport
ChatGPTReturns the live capsule's sorted table inventory and schema fence. Follow with the per-table export page route; each page is bounded and revalidates the schema.
getSpaceDatabaseExportPage
ChatGPTReturns one bounded keyset page of rows from a declared table in createdAt/id order. The schema hash and opaque cursor prevent pages from being mixed across exports.
getSpaceDiagnostics
ChatGPTReturns current publish, runtime, routing, and domain diagnostics.
getSpaceEffectiveTag
ChatGPTLooks up one tag from the effective released graph after inheritance and overrides are applied.
getSpaceEffectiveTags
ChatGPTReturns the effective graph with inherited team tags, space overrides, and source attribution for debugging.
getSpacePlanPolicy
ChatGPTReturns the effective plan limits and disabled behaviors that apply to this space's publishes and serving.
getSpaceRuntime
ChatGPTReturns the serving runtime's health and placement for this space: instance, region, and serving state.
getSpaceSourceAvailability
ChatGPTReturns whether the current repository permits independent forks of its main branch, the remix URL, and whether the live website shows a Remix button. Website access is independent.
getSpaceSourceBlame
ChatGPTReturns per-line commit attribution for one file at a ref, without requiring a signed Git remote.
getSpaceSourceCommit
ChatGPTRead commit metadata, including parentShas in Git order. An empty parentShas array identifies a root commit.
getSpaceSourceCommitDiff
ChatGPTCompare one source commit with another source commit. The first parent is the default base. Set maxPatchBytes to limit the total patch text.
getSpaceSourceConnection
ChatGPTReturns the source connection for a space and connection type.
getSpaceSourceDiff
ChatGPTCompare one source branch with another branch. The default branch is the base if you do not set base.
getSpaceSourceFile
ChatGPTRead one source file at a branch, tag, or commit SHA. Use head for metadata without file contents.
getSpaceSourceNote
ChatGPTReturns the Git note attached to a commit, or null when the commit has none.
getSpaceSourceWebhookDelivery
ChatGPTReturns one repository webhook delivery status without exposing the raw payload.
getSpaceSourceWorkspaceConflicts
ChatGPTRead exact base, ours, and theirs snapshots for the current conflict phase. Unavailable contents never mean a deleted file.
getSpaceSourceWorkspaceDiff
ChatGPTCompare working files with the saved base, staged snapshot with the base, or working files with staging. Hunk IDs require this revision.
getSpaceSourceWorkspaceStatus
ChatGPTRead the workspace from data.workspace in the API response. It contains the current revision, saved base, working snapshot, and staged snapshot. Use its id as workspaceId in later requests. This does not change files.
getSpaceTagConsentPolicy
ChatGPTReturns consent categories, per-tag gates, privacy-signal defaults, and consent diagnostics for the effective tag graph.
getSpaceTagInheritance
ChatGPTReturns whether the space inherits team-level tags and which team tag set currently contributes to it.
getSpaceTagPreviewSession
ChatGPTReturns the state, expiry, target URL, and environment for a space tag preview session.
getSpaceTagRelease
ChatGPTReturns the released tag revision pointer and release metadata for one space environment.
getSpaceTagRevision
ChatGPTReturns one space tag revision with its lifecycle status, metadata, and graph revision.
getSpaceTagRevisionGraph
ChatGPTReturns the editable graph and revision counter for a specific space tag revision.
getSpaceTags
ChatGPTReturns the current effective tag graph for the requested release environment.
getSpaceTransfer
ChatGPTReturns one transfer's parties, status, and expiry. Both the sending and the receiving side can read it; nobody else can.
getSpaceUsage
ChatGPTReturns what this space consumed — storage, compute, bandwidth, email, and function invocations — over the most recent settled measurement period. These numbers are measured by the infrastructure that serves the space, not derived from what was published, and they lag: the response carries the exact period it describes and when it was read, and nothing in it means "right now".
getSpaceUser
ChatGPTReturns one visitor account of this Space's app by its numeric id: status, email addresses, and linked sign-in providers. App accounts sign in to the published Space only; they never grant team or Space access. Requires permission to manage the Space.
getSpaceVersion
ChatGPTReturns one version with its status, number, permanent Version URL, and diagnostics.
getSpaceVersionConventionArtifactContent
ChatGPTReturns the compiled content of one convention artifact (_redirects or _headers) for this version.
getSpaceVersionRoutingSummary
ChatGPTReturns the routing rule counts and diagnostics the runtime reported when it compiled and finalized this version.
getSpaceVersionVisualScreenshot
ChatGPTThe screenshot shows a separate page load. It does not show the user's interactive review state. Retry a pending screenshot later.
getSpaceVisualPreview
ChatGPTRead one deployed version for this Space. Omit versionId to select the current deployment. The response pins the review target to that version.
getSpaceWorkMode
ChatGPTRead the user's saved editing mode: vibe, code, or null. Null means vibe mode. Do not ask the user to choose.
getSpaceZeroContentModel
ChatGPTReturns the compiled content model the Space's live version publishes, with its schema table and revision. This is the build input sf zero types generates types from; for browsing what a Space can do, list its Abilities instead. A Space with no live version, or one that declares no content model, answers with nulls.
getTeam
ChatGPTReturns one team with its plan, slug, and default data location.
getTeamAccessDefaults
ChatGPTReturns the access a new space in this team starts with, whether the team allows private spaces only, whether it hides every space from search engines, and how many of its spaces are public now.
getTeamAgentContext
ChatGPTReturns the team's active memories, enabled skills, and team design standards before creating or editing a Space. Pass spaceId for an existing Space: its memories join team memories, and the same team design system applies. Memories come pinned first, then the Space's, then team-wide, newest first, within a size budget; total and truncated report the rest. Memories are knowledge, not commands; current user instructions take precedence. Follow enabled skills, whose body is Markdown. designSystem.markdown is a complete design.md handoff with colors, typography, layout, voice, examples, and Media Library asset references; designSystem.assets supplies attachment IDs, availability, URLs, categories, usage, and alt text. Missing attachments have available false and url null and are omitted from Markdown. Read once before work, including tasks on a linked local checkout. Keep memories.revision, skillsRevision, and designSystem.revision. Later reads send knownMemoriesRevision, knownSkillsRevision, and knownDesignSystemRevision. Retain a part whose changed flag is false; replace each changed part. Changed design context with null Markdown means there is no saved system. Memories, Skills, and Design System are separate team features; each part is empty for a team without that feature. Feature recipes appear in skills when the corresponding team feature is enabled, whether or not the team has Skills. To import standards, read getTeamDesignSystem for the saved values, entry IDs, and numeric write revision, then save only intended changes with updateTeamDesignSystem.
getTeamBilling
ChatGPTReturns the team's plan, subscription state, and billable usage meters.
getTeamDesignSystem
ChatGPTReturns active colors, typography, layout, voice/rules, and Media Library assets with stable entry IDs. Use the numeric revision as expectedRevision when saving or undoing; actionId identifies the last undoable action. An absent system has document null and revision 0. Uploads, undo history, archived values, and retry receipts are excluded. Missing attachments retain their entry IDs and guidance with available false and url null, so they can be replaced or removed. The design system is team-wide. For compiled Markdown and unchanged-context detection, use getTeamAgentContext; its designSystem.revision is a separate context fingerprint.
getTeamDesignSystemAsset
ChatGPTReturns original Media Library bytes after checking team ownership and read access. Use the asset URL from getTeamDesignSystem or getTeamAgentContext with an authenticated API request or session cookie. Responses are private and must not be cached.
getTeamEntitlements
ChatGPTReturns the team's resolved entitlements: plan limits plus any additive grants.
getTeamInvitation
ChatGPTReturns the inviting team's name, the masked invitee address, and whether the invitation can still be accepted.
getTeamPlanPolicy
ChatGPTReturns the team's plan limits, current usage, and disabled behaviors as enforced at publish and serving time.
getTeamSettings
ChatGPTReturns the team's settings for Spaces and shared connectors.
getTeamTagPreviewSession
ChatGPTReturns the state, expiry, target URL, and environment for a team tag preview session.
getTeamTagRelease
ChatGPTReturns the released tag revision pointer and release metadata for one team environment.
getTeamTagRevision
ChatGPTReturns one team tag revision with its lifecycle status, metadata, and graph revision.
getTeamTagRevisionGraph
ChatGPTReturns the editable graph and revision counter for a specific team tag revision.
getTeamUsage
ChatGPTReturns the team's current usage counters: spaces, domains, members, storage, and monthly publishes.
getTrafficRuleCatalog
ChatGPTReturns the request attributes a traffic rule can match on, the comparisons each one makes, and what the platform caps. The same for every space. Read this before you write a rule: a field only makes the comparisons listed for it.
getUpload
ChatGPTReturns byte counts, next chunk indices and immutable hashes. Does not return file contents.
getVisualReview
ChatGPTRead the review session and its submitted notes. The initiating credential must still have permission to download the recorded version.
getWebhook
ChatGPTReturns one webhook's URL, subscribed events, status, and secret preview.
getWebhookDelivery
ChatGPTReturns one delivery attempt with its status, attempts, and response diagnostics.
import-claude-design-from-url
ChatGPTImport a Claude Design into a new Spacefast Space from a public HTTPS URL. The file must be self-contained HTML with images, fonts, styles, and scripts inlined. Spacefast fetches the file immediately. If status is processing, call get-design-import-job-status with job_id.
importUploadFile
ChatGPTStream a public HTTPS download reference into an empty upload file. MCP clients can also supply a host attachment through the operation tool. Expired references require a fresh URL. Signed URLs are not persisted or returned.
inviteSpacePerson
ChatGPTInvites a person by email with one or more scoped space roles. A commenter role on the live target needs the Space's comments surface set to everywhere; under previews (the default) target a Version, or get 422 comments_target_unavailable.
leaveTeamLabs
ChatGPTLeaves an active Labs feature, or withdraws a pending request or waitlist place. Saved data stays. Only team owners and admins can leave; agents cannot. A team owner or admin must leave Labs features in Settings → Labs.
listActivity
ChatGPTReturns the activity feed visible to your credential, newest-first. Filter by event code, space, or principal.
listApiKeys
ChatGPTReturns the team's API keys with previews and policies. Full secrets are returned only once at creation.
listAuthMethods
ChatGPTReturns the sign-in methods, providers and second factors this deployment supports, with the public client keys those methods need.
listBuildEvents
ChatGPTReturns stored build runner log lines by default. Clients can request text/event-stream to follow live build.log and build status events until the build reaches a terminal state.
listBuildLogs
ChatGPTReturns stored build runner log lines using the same log entry shape as version logs.
listDocs
ChatGPTReturns the machine-readable documentation index as JSON, including guides, CLI, API reference, and recipes. The default tier is essential; pass tier=reference to get everything. Filter with q (free-text) and category (guide|cli|api|recipe). The response comes from an in-memory index built from the same catalog as the CLI sf docs, so the two never drift.
listDomainDnsOperations
ChatGPTReturns the domain's DNS write and snapshot operations newest-first, with provider receipts and recovery hints.
listDomainDnsRecords
ChatGPTReturns the zone's records plus its management kind, provider, and snapshot freshness. Connected-provider zones answer from the cached provider snapshot.
listDomainIdeas
ChatGPTReturns creative domain name ideas derived from a search query.
listDomainProducts
ChatGPTReturns the purchasable TLDs with their pricing.
listDomainProviderConnectionZones
ChatGPTReturns provider-native zones available through a team-level connection before you attach one to a Spacefast domain zone.
listDomainProviderConnections
ChatGPTReturns team-level DNS provider connections that you can attach to many domain zones.
listDomainSuggestions
ChatGPTReturns ranked domain suggestions for a search query.
listDomains
ChatGPTReturns domains across the caller teams, newest first. Pass teamId to limit the result to one team. Existing clients receive inventory records and authorized Space attachments, retaining the inventory identity when both exist. Send Accept: application/json; spacefast-domain-inventory=1 for inventory records only. Responses vary by Accept.
listFeedback
ChatGPTReturns the feedback that the signed-in user sent, newest first.
listManagedDomains
ChatGPTReturns read-only, system-managed space.fast and view.fast hostnames for the caller's spaces. Pass teamId to limit the result to one team; custom domain inventory stays on /v1/domains.
listMyShowAndTellSubmissions
ChatGPTRead your submission status and any review feedback. Internal moderator notes are not returned.
listOperations
ChatGPTReturns your workflow operations, newest first. The feed includes publishes, builds, domain and webhook activity, integration releases, agent runs, and approvals. Internal system operations stay out of this feed. Operations your credential cannot reach stay out of this feed. Filter by resource to follow one thread, or by spaceId for everything about one Space.
listShowAndTellEntries
ChatGPTBrowse approved public spaces, newest first. Filter by title or description, category, tag, creator ID, or entry ID. A page can contain fewer entries than its limit, including none, while hasMore is true. Follow nextCursor until hasMore is false. The destination and screenshot use the current live Space URL. Later publishes stay featured. The live Space must remain public. Withdrawn entries stay hidden.
listShowAndTellSubmissions
ChatGPTRead submissions, newest updates first, with working and approved copies. Review liveUrl and its currentLiveVersionId. approvedVersionId and publishedAt record the last review baseline. They do not retain version files. Requires current membership of the Show & Tell team. publicNow checks current public access to the live Space.
listSpaceAccessLogs
ChatGPTReturns recent HTTP access log entries for the space. Ranges beyond the plan's retention are clamped with a warning.
listSpaceAccessRequests
ChatGPTReturns unresolved requests from people who want access to this space.
listSpaceActivity
ChatGPTReturns the activity feed for one space, newest-first.
listSpaceBuilds
ChatGPTLists queued, running, and terminal builds for a space in reverse creation order.
listSpaceChannelHistory
ChatGPTReturns the channel.promoted activity log for the named channel, newest first. This is the deploy log.
listSpaceChannels
ChatGPTReturns each named channel for the space and where it currently points. Read-only.
listSpaceCrons
ChatGPTReturns the scheduled jobs the live version declares in its config, each with its most recent failures. Read-only: crons are declared in sf.jsonc, so publishing is the only way to change them.
listSpaceDataSources
ChatGPTReturns the named WordPress data sources configured for this space, sorted by name.
listSpaceDomains
ChatGPTReturn the managed hostnames and custom domains attached to this Space.
listSpaceEdgeLogs
ChatGPTReturns edge requests for one hostname assigned to this space, newest first. Defaults to the primary hostname and the past hour. Use a window of at most one hour within the past 24 hours. Plan retention can shorten the window. Filters within one field use OR; different fields use AND. Results include cache, timing, client, and security details. Access credentials in URLs are redacted. Cursors page a fixed snapshot and expire after five minutes. When using a cursor, the original window and filters apply. A truncated window requires a smaller time range or more filters. This is not a live stream.
listSpaceFiles
ChatGPTReturns the live channel's file index, read from the runtime's own file catalog. No separate file database is required.
listSpaceGrants
ChatGPTShows a Space's visibility: who can see it, and at which paths. Lists every active grant. Each grant names its source (config, system, or managed) and says if you can edit it here. Read the grants before you change access or make a Space public or private.
listSpaceLogs
ChatGPTReturns the current finite HTTP access-log snapshot for one space.
listSpaceMachineCredentials
ChatGPTReturns machine credentials and their canonical scoped grants without returning bearer token secrets.
listSpacePasswordCredentials
ChatGPTReturns password credentials and their canonical scoped grants without returning password proofs.
listSpacePeople
ChatGPTReturns the people who have direct scoped roles in this space.
listSpaceRuntimeLogs
ChatGPTReturns log lines written by the space's own code in the requested window — a Zero capsule's queries and mutations, a PHP function, or a Functions worker's handler. Returns empty data for a static space. An empty page with hasMore: true means the scan stopped early, not that the log ended. Lines are collected after the response returns, shipped off the box and indexed before they can be read back, so a line a request just wrote will not be here yet. This is not a live stream, and how far behind it runs is the provider's ingest delay rather than a number we control.
listSpaceRuntimeRealtimeEvents
ChatGPTReturns stored realtime invalidation events for the space's live runtime, oldest first. A read with no afterEventId starts at the beginning of the retained window; follow nextAfterEventId as ?afterEventId= to walk forward to the newest event, and stop when it is null. Retention is bounded: an afterEventId that has aged out of the window is a validation_error, never a silent restart from the oldest event.
listSpaceShareLinks
ChatGPTReturns the stable scoped links that grant visitor access to this space. The durable branded URL is included only for principals that may manage this space's access policy; others read the link metadata with a null url.
listSpaceSourceBranches
ChatGPTReturns branches and their head commits from a synced source connection without requiring a signed Git remote.
listSpaceSourceCommits
ChatGPTRead source commit history for a branch. Each commit includes parentShas in Git order. Use the newest commit SHA as expectedHeadSha when you edit that branch.
listSpaceSourceFiles
ChatGPTList source files and folders at a branch, tag, or commit SHA. This does not list deployed build output.
listSpaceSourceNotesRefs
ChatGPTReturns the repository's Git notes refs and their current tips.
listSpaceSourceTags
ChatGPTReturns release tags from a synced source connection without requiring a signed Git remote.
listSpaceSourceWebhookDeliveries
ChatGPTReturns repository webhook delivery status for a space without exposing raw payloads.
listSpaceSourceWorkspaces
ChatGPTList open source workspaces by default. If the Space has no hosted source yet, this returns an empty page. You do not need to connect an external repository. Use the closed status to inspect workspace history. Results are newest first.
listSpaceStorageObjects
ChatGPTLists metadata for the space's unversioned objects. The space owner can inspect every stored object without exposing object bytes or uploader email addresses.
listSpaceTagActivity
ChatGPTReturns recent tag manager audit events for drafts, approvals, releases, rollbacks, and debug sessions.
listSpaceTagPreviewSessions
ChatGPTLists the preview sessions still open on a space tag revision, newest first. Revoked and expired sessions drop out.
listSpaceTagReleases
ChatGPTReturns the current released tag revision pointer for each environment in the space.
listSpaceTagRevisions
ChatGPTLists draft, review, approved, released, and abandoned tag revisions for the space.
listSpaceTagTemplates
ChatGPTReturns the built-in tag templates and trigger presets that can be used in the requested space.
listSpaceTrafficRules
ChatGPTReturns the space's traffic rules in the order the edge reads them, each with where it was declared and what the edge last said about it. collapsed names the declared rules the edge never got because an earlier rule already covers them. The edge is read only for the quota count, so an edge that does not answer still gets you the rules, with quota.stale set and quota.limit null.
listSpaceTransfers
ChatGPTReturns the team's transfers in both directions, newest-first, annotated outgoing or incoming and carrying a space summary the receiving side can render before accepting. Pending transfers only unless a status filter says otherwise; at most the newest 100 return.
listSpaceUserSessions
ChatGPTLists the app sign-in sessions of one visitor account: label, created and expiry times, and when each was revoked. Never returns session credentials. App accounts sign in to the published Space only; they never grant team or Space access. Requires permission to manage the Space.
listSpaceUsers
ChatGPTLists the visitor accounts of this Space's app by page: page, perPage (default 20, at most 100), and an optional name or email search. Each account shows its status, email addresses, and linked sign-in providers. App accounts sign in to the published Space only; they never grant team or Space access. Requires permission to manage the Space.
listSpaceVariables
ChatGPTReturns the variables visible to this space, including inherited team values. Secret values are never returned.
listSpaceVersionConventionArtifacts
ChatGPTReturns the compiled _redirects and _headers artifacts the runtime serves for this version.
listSpaceVersionFileLinks
ChatGPTAuthorizes the caller once and returns one short-lived signed URL per requested path. Repeat the path parameter per file, up to 200 per request. Minting creates nothing — fetch the URLs directly; file bytes never travel through the API. A path this version does not hold answers version_file_not_found when its link is followed. The tool response also includes the files' contents, up to 20 files and 8 MiB per call.
listSpaceVersionFiles
ChatGPTReturns the version's source files with paths, sizes, and content hashes, read from the runtime's file catalog.
listSpaceVersionLogs
ChatGPTReturns the version's publish and finalize log entries for debugging a publish.
listSpaceVersions
ChatGPTLists space versions, newest first. Each item includes its status, number, and permanent Version URL.
listSpaceZeroAbilities
ChatGPTLists the content-model Abilities the Space's live version publishes, empty when it declares no content model. The zero-wp-users and zero-storage Ability categories are not listed here: they are registered by the Space's own runtime, and the Space's WordPress REST surface enumerates them.
listSpaces
ChatGPTReturns the spaces your credential can access, newest-first. Filter by team or external principal to narrow the list.
listSubTeamMembers
ChatGPTLists the members of an Enterprise subteam. The subteam's members and the team's owners and admins can read it.
listSubTeams
ChatGPTLists the subteams of an Enterprise team. Every member of the team can see them.
listTagTemplates
ChatGPTReturns the built-in tag templates, provider presets, and event trigger defaults available to any tag graph.
listTeamActivity
ChatGPTReturns the activity feed for one team and its spaces, newest-first.
listTeamAutoEnrollEntries
ChatGPTReturns company email domains that let verified account holders discover and join this team. Requires member-management authority.
listTeamIdentityConnections
ChatGPTLists the team's active OIDC and signed-identity connections without exposing client secrets.
listTeamInactiveSpaces
ChatGPTReturns the team's live spaces that nobody published or changed in the given number of days, least recently active first. Pinned and archived spaces are not included. Only team owners and admins can use this operation.
listTeamInvitations
ChatGPTReturns the team's invitations and their statuses, newest-first.
listTeamLabels
ChatGPTReturns every label the team has, ordered by name.
listTeamLabs
ChatGPTReturns every feature a team can join before it is generally available, with its stage, how a team joins, the team's enrollment, and whether the team has the feature now. enabled is the team's real answer: an emergency stop or a missing plan entitlement can keep a feature off while its enrollment is active.
listTeamMembers
ChatGPTReturns the team's members with their roles, newest-first.
listTeamMemories
ChatGPTReturns the team's active memories, all on one page, or with status=archived the archived ones, most recently archived first and paged by limit and cursor: pass the previous page's pagination.nextCursor until hasMore is false. Each memory says who saved and last edited it. Pass spaceId to keep team-wide memories and that Space's memories only. Use this to manage memories; before starting work, read getTeamAgentContext instead.
listTeamSkills
ChatGPTReturns every preset team skill, such as SEO or Spam protection, with its instructions and whether it is on for this team. setup names a secret team variable the skill needs, and configured says whether the team saved it. The variable's value is never returned.
listTeamSpaces
ChatGPTReturns the team's live spaces, most recently updated first.
listTeamTagActivity
ChatGPTReturns recent team-level tag manager audit events for drafts, approvals, releases, and rollbacks.
listTeamTagPreviewSessions
ChatGPTLists the preview sessions still open on a team tag revision, newest first. Revoked and expired sessions drop out.
listTeamTagReleases
ChatGPTReturns the current released tag revision pointer for each environment at the team scope.
listTeamTagRevisions
ChatGPTLists draft, review, approved, released, and abandoned tag revisions for the team.
listTeamTagTemplates
ChatGPTReturns the built-in tag templates and trigger presets that can be used in the requested team scope.
listTeamVariables
ChatGPTReturns the team's variables. Secret values are never returned; secrets expose only their metadata.
listTeams
ChatGPTReturns the teams your credential can act for, newest-first.
listWebhookDeliveries
ChatGPTReturns the webhook's delivery attempts with statuses and diagnostics, newest-first.
listWebhooks
ChatGPTLists the webhooks on teams that your credential can read, newest first. A tenant-rooted credential also sees the tenant's own subscriptions, declared in its system-space manifest.
logoutAllSpaceSessions
ChatGPTInvalidates every existing visitor session for this space immediately. Use it when a link or password has leaked.
mergeSpaceSourceBranches
ChatGPTMerge branches in a hosted repository. Send expectedTargetSha to reject changes if the target branch moved. A merge does not confirm deployment.
migrateSpaceDatabase
ChatGPTRe-runs the live capsule's stored migration plan against the space's MySQL. Use this route to retry a plan that failed during publish. This route is Zero-kind only. A worker declares no schema, and a static version has no database. An empty plan queues nothing.
moderateShowAndTellEntry
ChatGPTEdit, approve, decline, or unlist an entry. Read its current revision first. Every action advances the revision; use the returned revision for the next action. Approval publishes the reviewed working copy after checking live public access again. Supply versionId from the live version you reviewed. Use approval to restore an unlisted entry. Withdrawn entries require a new creator submission. The live version must still match versionId at approval. Approval records that version as a baseline. Later publishes change the destination content without hiding the listing. Requires current membership of the Show & Tell team.
open_space_file
ChatGPTOpen an HTML file supplied by the host. View or edit the file in the conversation panel. Opening the file does not publish it.
open_spacefast
ChatGPTOpen the Space library from the sidebar or conversation panel. This tool does not change Spacefast data.
operation_status
ChatGPTUse this tool when publish returns status publishing. Pass job.poll.url as url when present. Otherwise, pass job.poll.operationId as operationId. If done is false, call this tool again after two seconds. Stop when result.done is true. Report success only when result.status is succeeded. For an archive build, inspect result.receipt.activation. Only activated confirms that this version is live. If result.status is skipped, report that the build did not run. For deployment or build status, call show_space only after the user claims the Space. Set request.view to "deployments".
patchSpaceCustomDomain
ChatGPTSelect this domain as primary, restore the managed default hostname, answer this hostname with a whole-host redirect, or pass hostname to swap which half of an apex/www pair serves the Space.
patchSpaceTagRevisionGraph
ChatGPTApplies a graph replacement patch against a known base revision for collaborative editing.
patchTeamTagRevisionGraph
ChatGPTApplies a graph replacement patch against a known base revision for collaborative team editing.
pauseSpaceTrafficRules
ChatGPTParks every rule at the edge and keeps the space paused, so a rule it declares later is parked as it arrives. The space serves as if it declared none. The rules are kept, so resume puts them back without the author writing them again.
preflightDomain
ChatGPTCanonicalizes the hostname and returns an advisory hostability verdict. A negative verdict usually means the domain is already in use with another host — it can still be added and claimed with a TXT ownership proof, so treat the verdict as a warning, not a block.
preflightSpaceBuild
ChatGPTChecks the space's WordPress source and the connected production repository behind it, without exposing repository or build details. wordpress is the only managed source, so it is the only value source takes.
prepareSpaceSourceWorkspaceUndo
ChatGPTApply the inverse of a non-merge commit to working files. Resolve conflicts explicitly. Keep staging and saved history unchanged.
promoteSpaceVersion
ChatGPTPromotes a ready version to a channel (live by default). Use this for rollback: promote any earlier ready version. Waits for completion by default. Pass async=1 to get an operation handle to poll instead.
publish
ChatGPTPublish new inline files to Spacefast. This hosted tool requires a signed-in connection. It cannot publish anonymously or read local filesystem paths. If the user requests the Spacefast plugin or MCP, publish through the connected MCP tools. Do not install or sign in to the CLI for that request. If MCP cannot publish the artifact, report the limitation and ask before changing the publishing method. Otherwise, if you can run shell commands on the user's computer, run sf publish <path> instead. It reads files from disk. Call cli_login when the CLI has no login. Inline Functions compiles only the supplied files; package.json does not install dependencies. Run sf publish <path> for a project with installed dependencies, or upload a self-contained worker and name it in runtime.entry. To edit files stored in an existing Space, use execute with the source workspace API. Create a workspace for this task. Reuse a workspace only when its ownership by this task is established. Read, edit, review, stage, and commit through that API. Do not use publish(files) as an edit fallback, even when the source repository is empty. Deploy a saved source commit through the API in execute. Set files. Set a new requestId before the first call. Reuse it only to retry the same input after a timeout. Set spaceId only for an explicitly requested complete upload to an existing Space. This action requires authorization. If status is publishing, use the operation_status continuation in result.job.poll.
rankDomainCandidates
ChatGPTReturns independent domain-name fit scores from 0 to 4 and confidence from 0 to 1. Scores do not establish availability, pricing or trademark clearance.
readSpaceStorageObject
ChatGPTDownloads an app storage object's bytes with space read access, including private objects uploaded by signed-in visitors.
read_domain_app
ChatGPTRead search results, public WHOIS details, saved owner details, a purchase review, or registration status for the open Domains App.
read_execution_approval
ChatGPTApp-only tool. Read the approval that the current Spacefast session must decide. Not available for the assistant to call.
read_plugin_settings
ChatGPTRead the current user's Space Library settings and native settings layout.
read_space_app
ChatGPTRead data for an open Spacefast App. This tool is available only to the App. It does not change Spacefast data.
read_space_library
ChatGPTRead or search Spaces for the open Space library. This tool is available only to the App.
reconcileSpaceContentSync
ChatGPTThree-way reconciles one bound source file against the post it backs, using the stored common base. The binding's format decides the serializer — Markdown or HTML. Answers with the new ledger, and with the text to write back when WordPress moved ahead.
redeliverWebhookDelivery
ChatGPTQueues a fresh delivery of a past event to the webhook's endpoint.
refreshBuildSourceUpload
ChatGPTReturns a fresh upload instruction for an archive build that is still waiting for its source archive. Use it when the original instruction expired before the upload finished.
refreshDomainDnsSnapshot
ChatGPTRe-reads the attached provider zone and caches the records the record list and record writes are validated against.
refreshSpaceVersionUpload
ChatGPTMints a fresh upload session for an unfinished version and lists only the files the runtime has not received yet, so an interrupted upload can continue where it stopped.
releaseSpaceTagRevision
ChatGPTMoves a space environment to an approved tag revision and records the release transition.
releaseTeamTagRevision
ChatGPTMoves a team environment to an approved tag revision so inheriting spaces can use it.
removeSpaceLabel
ChatGPTRemoves one label from the space and returns the updated space. Removing a label the space does not wear succeeds and changes nothing.
removeSpacePerson
ChatGPTRemoves a person's direct access and invalidates their space sessions.
removeSubTeamMember
ChatGPTRemoves a member from the Enterprise subteam and its Spaces. They stay on the team. The team's owners and admins are in every subteam; change their team role instead.
removeTeamMember
ChatGPTRemoves a member by member id or user email. The last owner of a team cannot be removed.
replaceSpaceCustomDomainDnsRecords
ChatGPTDelete the team's A, AAAA, CNAME and ALIAS records that block this domain's names in its Spacefast DNS zone. Then Spacefast DNS serves those names for the Space. The deleted records are not kept, and removing the domain later does not restore them. A name that an NS delegation blocks is never replaced. Pass names to replace some names only. The returned operation is the domain check that writes Spacefast's records. It is null when no name was blocked. Needs domains:dns.write on the zone's domain.
replaceSpaceGrant
ChatGPTAtomically replaces every editable grant dimension and increments its generation. Changing capabilities or target to a commenting grant the comments surface never shows returns 422 comments_target_unavailable. A public audience on a Space whose team allows private spaces only returns 403 team_private_spaces_only.
replaceSpacePersonRoles
ChatGPTReplaces every direct scoped role assigned to one person. A new commenter role on a target the comments surface never shows returns 422 comments_target_unavailable; roles the person already holds are kept as they are.
replaceSpaceTagRevisionGraph
ChatGPTReplaces a mutable space tag graph when the supplied If-Match graph revision is current.
replaceTeamTagRevisionGraph
ChatGPTReplaces a mutable team tag graph when the supplied If-Match graph revision is current.
requestApproval
ChatGPTAsks the signed-in user to approve one agent action before it runs: a confirmation for a sensitive operation on an exact resource revision, or an elevation that temporarily adds requestedScopes. Spacefast shows the user your rationale and the target, and nothing changes until they decide in Spacefast; an agent cannot approve its own request. The rationale, resource, requesting credential, and grant cannot change after creation. Poll the decision with resumeAction and the returned continuation token. Request an elevation only for an action the user asked for.
resendSpacePersonInvitation
ChatGPTReplaces the pending invitation credential and sends a fresh accountless acceptance email.
resendTeamInvitation
ChatGPTExtends a pending invitation expiration and emails the join link again.
resetTeamJoinLink
ChatGPTReplaces the join link with a new one. The old link stops working at once. Existing members keep their membership. Requires member-management authority.
resolveSpace
ChatGPTResolves a spc_ id, hostname, URL, or slug to one space you can access. Slug matches across multiple teams fail with ambiguous_space_slug.
resolveSpaceContentSourceConflict
ChatGPTSaves the chosen document only while source and WordPress still match the supplied revisions, then queues the normal source commit and build. Changed revisions return a conflict without overwriting either side.
resolveSpaceSourceWorkspaceConflicts
ChatGPTApply complete file contents, explicit deletions, or verified pinned sides. Continue the native merge. Do not commit or deploy.
restoreSpace
ChatGPTRestores an archived space with its original versions, data, and URLs.
restoreSpaceSourceWorkspaceFiles
ChatGPTCopy files from staging or an exact source commit into working files. Keep staging unchanged. Do not commit or deploy.
resumeAction
ChatGPTPolls a flow that returned a requiresAction envelope, using its continuation token. Returns pending (keep polling), completed (the one-time result is redeemed), or denied/expired. This is one generalized path for every requiresAction flow.
resumeSpaceTrafficRules
ChatGPTPuts every parked rule back into the state it was paused from. Safe to call on a space that is not paused.
resume_execution
ChatGPTContinue the exact program saved by a paused execute call. If execute pauses, follow its resumePrompt and reuse the exact executionId. Do not start another program for the same task. A parked connector run resumes the same way: pass its runId (cxr_…) as executionId. On Cloud MCP, call resume_execution with only executionId. The first call opens the inline approval card and returns. Do not call it again until the card sends a new user message, then call it once more with the same executionId. When the paused result includes approvalUrl, ask the user to decide on that page, then call resume_execution with only executionId; if it returns user_approval_required again, the user has not decided yet. The model cannot choose accept, decline, cancel, or form content on this connection. Do not use this tool for a pending publish. Use operation_status.
retryBuild
ChatGPTCreates a new build from the original immutable input and settings snapshot, then queues it for execution or returns a fresh source archive upload instruction when needed.
retryDomainSsl
ChatGPTRetries SSL certificate issuance for an assigned domain and returns updated diagnostics.
retrySpaceCustomDomainSsl
ChatGPTQueue a durable operation to retry SSL issuance.
revokeApiKey
ChatGPTRevokes a key so it stops authenticating immediately. The record is retained for audit.
revokeDomainProviderConnection
ChatGPTRevokes the connection and drops its stored credential. Detach every provider zone first.
revokeSpaceGrant
ChatGPTRevokes one managed grant after access is blocked and sessions disconnect. To make a Space private, revoke each editable public grant. A public grant from config or the system keeps the Space public. The response includes any remaining runtime update.
revokeSpaceMachineCredential
ChatGPTRevokes the machine credential and its canonical grant so the bearer token immediately loses authority.
revokeSpacePasswordCredential
ChatGPTRevokes the password credential and its canonical grant so existing password sessions lose access.
revokeSpaceShareLink
ChatGPTRevokes a share link and invalidates visitor sessions derived from it.
revokeSpaceTagPreviewSession
ChatGPTRevokes a space tag preview session before its natural expiry so its token stops working.
revokeSpaceUserSessions
ChatGPTSigns one visitor account out of this Space's app. Pass sessionId from listSpaceUserSessions to end one session, or omit it to end all of the account's sessions. The person can sign in again unless the account is suspended. App accounts sign in to the published Space only; they never grant team or Space access. Requires permission to manage the Space.
revokeTeamIdentityConnection
ChatGPTRevokes a team identity connection so its external audience Grants can no longer authenticate viewers.
revokeTeamInvitation
ChatGPTCancels a pending invitation so its join link stops working.
revokeTeamTagPreviewSession
ChatGPTRevokes a team tag preview session before its natural expiry so its token stops working.
rollbackSpaceTagRelease
ChatGPTMoves a space environment back to a previous approved tag revision with optional compare-and-swap protection.
rollbackTeamTagRelease
ChatGPTMoves a team environment back to a previous approved tag revision with optional compare-and-swap protection.
rotateSpaceMachineCredential
ChatGPTReplaces the opaque bearer token and invalidates the previous token while preserving its canonical grant.
rotateSpacePasswordCredential
ChatGPTReplaces the Argon2id password proof while preserving the credential's canonical grant and scope.
rotateWebhook
ChatGPTIssues a new signing secret, returned only in this response. The previous secret stays valid briefly unless expireNow is set. Manifest-declared webhooks rotate here too: the manifest declares a url and events, never a secret.
runSpaceCron
ChatGPTRequests one of the live version's declared cron paths on this space's default hostname, right now, and returns what it answered. Requires write access to the space, because a cron handler can mutate state — the same authority wp-cli and db console require. target is a declared key or path — anything else is rejected, and no request is made. Headers are not passed through and redirects are not followed; use sf crons run --header for a handler that checks a secret. The platform's x-spacefast-cron header is never carried, so a handler gated on it will refuse.
save_domain_contact
ChatGPTSave the owner details entered in the Domains App. This does not register domains or change an existing registration.
search
ChatGPTRemoved. Refresh the tool list and call Spacefast operation tools by name, such as getAccount.
searchDocs
ChatGPTSearch the published Spacefast documentation. The response includes ranked pages and short excerpts. An exact slug or path matches one page and returns it in full, including its Markdown body. An empty query lists pages in the selected tier and kind. Use nextOffset as offset until hasMore is false.
searchDomains
ChatGPTFind domain names with the dashboard's search workflow. A single keyword returns exact domain matches and domain hacks. A naming brief generates suggestions. Each search checks availability and Jev scores. The workflow replaces unavailable generated names. Refine the search with messages, likes, dislikes and selections. Carry the returned session unchanged into the next call. Use stable suggestion IDs for feedback. Display prices include the same fees as the dashboard. If complete is false, inspect problems. To resume, send the returned session without a new message. Confirm availability again before registration.
searchSpaceSourceFiles
ChatGPTSearch source text at a branch, tag, or commit SHA. The response includes the resolved commit and a pagination cursor.
search_space_mentions
ChatGPTFind accessible Spaces for the composer mention picker. Returns up to 20 matches, newest first.
setSpaceSourceAvailability
ChatGPTAllow independent forks of the current repository’s main branch, and show or hide a Remix button on the live website. Sharing does not change website access. Repository replacement and ownership transfer require fresh consent.
setSpaceUserSuspended
ChatGPTSuspends (suspended: true) or reactivates (suspended: false) one visitor account of this Space's app. A suspended account cannot sign in to the app until it is reactivated. Returns the updated account. App accounts sign in to the published Space only; they never grant team or Space access. Requires permission to manage the Space.
setSpaceVariable
ChatGPTCreates or updates a space variable by name. If a live or pending version exists, this queues a runtime sync operation. That operation can publish a settings version and update the live site. Otherwise, the value applies when a version next finalizes. Check the returned operation before reporting that the live site uses the new value.
setSpaceWorkMode
ChatGPTSave the mode the user asked for. Set expectedRevision to the revision you read. Do not choose a mode for the user.
setTeamAccessDefaults
ChatGPTChanges only the fields sent. newSpaceGrantPreset applies to future spaces only. privateSpacesOnly and noindex apply to every space the team owns: turning privateSpacesOnly on revokes every public Grant on them, turns noindex on, and changes a public new-space default to private. While it is on, a public default or noindex: false returns 409 team_private_spaces_only. Turning it off makes spaces whose sf.jsonc declares access.public public again; publicSpaceCount counts them. privateSpacesOnly and noindex change only from a dashboard browser session: API keys, CLI logins and OAuth or agent tokens get 403 interactive_session_required. The spaces' runtime update continues in the background.
setTeamVariable
ChatGPTCreates or updates a team variable by name. The new value applies when a version next finalizes; live versions keep their sealed values.
show_domains
ChatGPTOpen the Domains App to search domain names for a team, compare availability and first-year prices, and look up public WHOIS details for taken names. Set query to an exact domain or a naming brief. Set domainIds to show the registration status of domains the team already holds. The App does not buy domains. To register selected names, it opens the team's domain page in the Spacefast dashboard, where the user enters owner details and decides whether to buy. For domains already connected to a Space, open the Space domains App.
show_space
ChatGPTRead and display one Spacefast Space in a selected view. Every supported view and its input fields are declared in this tool's request schema. Choose one of preview, deployments, domains, analytics, comments, source_files, source_changes, source_history, source_comparison, deployment_comparison, build_logs, database. Detailed views require a claimed Space. Open a view instead of writing its data out. Open each view once per request; it refreshes by itself. This tool does not change files, staging, source versions, deployments, domains, or settings. Use execute for agent-driven mutations and reads without a view. The Changes view lets the user stage files with its buttons. Opening the view does not stage changes.
show_space_analytics
ChatGPTShow the traffic of a Space: views, visitors, bandwidth, top paths, and a time series. Set window to 48h, 7d, or 30d. The default is 7d.
show_space_build_logs
ChatGPTShow the status and stored log lines of one source build. Set buildId from a build result or the deployments view.
show_space_database
ChatGPTShow the MySQL schema, table rows, and inferred table relations of a Space. Set table to open the rows of one table.
show_space_deployments
ChatGPTShow the deployment history and build status of a Space, one page at a time. Use operation_status to follow a pending publish.
show_space_domains
ChatGPTShow the custom domains of a Space with their DNS records, ownership verification, and TLS status. To search for a new domain name, use show_domains.
show_space_preview
ChatGPTShow one deployed version of a Space in a visual review. The user can browse its pages, select elements, and write notes with screenshots. Omit versionId to show the current deployment.
show_space_source_changes
ChatGPTShow the pending changes of one source workspace as a file diff. Set workspaceId. Set changeView to show all, staged, or unstaged changes. The user can stage files with the App's buttons; opening it does not stage changes.
show_space_source_files
ChatGPTShow the folders of a Space's source repository and open one complete file. By default, it shows the head of the default branch. Set workspaceId for pending workspace files or sourceCommitSha for a saved commit.
show_space_source_history
ChatGPTShow the saved source commits of a Space, one page at a time. Set branch or sourceCommitSha to start from another commit.
stageSpaceSourceWorkspaceChanges
ChatGPTCopy selected files or hunks from working files into staging. Do not commit or deploy.
submitEvents
ChatGPTSend registered events from first-party clients as JSON. Limit each request to 20 events and 64 KiB. Exclude personal data. Control-plane events are server-only. Requests are rate-limited.
submitShowAndTellEntry
ChatGPTAsk for public inclusion in Show & Tell. This permits a screenshot of the public page and a “Shared by” credit with your display name or “Spacefast creator”. The live Space must be public. Submission does not change sharing settings. A moderator reviews the entry before it appears. The gallery follows later live publishes without requiring another submission. Resolve the Space ID with existing Space reads before submitting.
submitSpaceTagRevision
ChatGPTMoves a draft space tag revision into review after validating that the graph is ready.
submitTeamTagRevision
ChatGPTMoves a draft team tag revision into review after validating that the graph is ready.
submitVisualReview
ChatGPTSubmits this batch once. An identical retry returns the same batch. A different batch requires a new review.
submit_visual_review
ChatGPTSave this feedback batch once. Only the App can call this tool. An identical retry returns the saved feedback. The review expires one hour after creation.
syncSpaceSource
ChatGPTRefreshes the source repository before a build.
syncSpaceSourceWorkspace
ChatGPTReplay staged and working changes onto the new project head. Preserve both layers. Keep the original snapshots until all conflicts are resolved.
undoTeamDesignSystemChange
ChatGPTRestores the values and attachment references before the latest action as a new revision. actionId must be the current last action and expectedRevision must match. Earlier historical actions cannot be selected. Reuse operationId and identical input on retry. Requires the team context beta.
unstageSpaceSourceWorkspaceChanges
ChatGPTRemove selected files or hunks from staging. Keep working files unchanged. Do not commit or deploy.
updateApiKey
ChatGPTUpdates a key's metadata, scope and permissions, expiry, activation time, or IP allowlist. Secrets are immutable; create a new key to rotate them.
updateDomain
ChatGPTAssigns or unassigns the domain, changes its whole-host redirect, or updates metadata (wildcardEnabled). Facet modes change only via POST /dns and POST /registration. The response includes the runtime update operation.
updateDomainDnsMode
ChatGPTChanges dns.mode. Before moving DNS from an external provider to Spacefast, the server snapshots observed records. When moving DNS from Spacefast to an external provider, the server returns records to re-create there. For a domain whose registration Spacefast holds, moving DNS to Spacefast also points the registry at Spacefast DNS and needs domains:purchase. That domain cannot choose external here: the server answers 409 nameservers_required. To move it to external DNS, set other nameservers with PUT /v1/domains/{domainId}/nameservers.
updateDomainDnsRecord
ChatGPTUpdates the supplied fields of one record. Protected records are read-only. On a Spacefast DNS zone the change is served before the response; when the zone is not served yet, operation carries a diagnostic that says why and how to fix it.
updateDomainNameservers
ChatGPTSets the registry nameservers of a domain whose registration Spacefast holds. Send ns1.spacefast.com and ns2.spacefast.com to move the domain onto Spacefast DNS. The server serves the stored zone before it changes the delegation. Send other nameservers to delegate the domain elsewhere and move it to external DNS. Its stored records stay. A list that mixes Spacefast nameservers with other nameservers is refused. The change needs both domains:purchase and domains:dns.write. For a domain at an external registrar, change the nameservers at that registrar.
updateDomainRegistration
ChatGPTChanges settings of a domain the team registered through Spacefast: transferLock, WHOIS privacySetting, the registrant (contactId of a saved contact), and the autoRenew preference. Unlocking transfers, turning off privacy, or changing the registrant affects who controls the domain and whose details are public, so make those changes only at the user's request. autoRenew is saved as a preference only; nothing renews automatically yet, and renewal is a separate registration action.
updatePluginSettings
ChatGPTUpdate the authenticated user's Space Library settings. Omitted settings retain their values. Team and service identities cannot write personal settings.
updateSpace
ChatGPTUpdates the space title, serving configuration, placement, or slug. A slug rename must be sent by itself and moves the managed hostname within its apex.
updateSpaceChannel
ChatGPTauto (default): publishes and green builds go live. manual: builds and publishes finalize ready but unpromoted; only an explicit promote moves the pointer. Only the live channel is supported today.
updateSpaceCollaboration
ChatGPTChanges only the settings you send, and they apply right away, no republish needed. Send the revision you last read as expectedRevision: if someone changed the settings since, you get a 409 with the current ones.
updateSpaceShareLink
ChatGPTUpdates supplied link fields when expectedRevision is current. A stale revision returns 409 with the current link; nested constraint fields patch independently and null clears one field. Changing capabilities or target to a commenting link the comments surface never shows returns 422 comments_target_unavailable.
updateSpaceSourceConnection
ChatGPTUpdates build defaults, branch behavior, and repository URLs. Close open source workspaces before you change repository URLs.
updateSpaceTagInheritance
ChatGPTEnables or disables team-level tag inheritance for the space while preserving its local tag graph.
updateSpaceTagRevision
ChatGPTUpdates the title or description for a space tag revision that has not been abandoned.
updateSubTeam
ChatGPTRenames a subteam. Requires an Enterprise team and a team owner or admin.
updateTeam
ChatGPTUpdates team settings. The request can also set the system space that supplies team defaults.
updateTeamDesignSystem
ChatGPTAtomically saves partial color, typography, layout, tone, rule, and asset-guidance changes. Omitted fields stay unchanged; null clears optional values. Entries in upserts without IDs create records. changes lists changed colors, rules, and assets in that collection order, with upserts then removals in request order, followed by typography, layout, and tone; unchanged entries are omitted. Remove archives a record. Pass the current expectedRevision (0 for the first save); a stale revision returns 409. Reuse operationId and identical input after an uncertain response. Upload asset bytes separately, then reference the returned attachmentId. A save does not modify any Space's site files. Requires the team context beta.
updateTeamIdentityConnection
ChatGPTRenames a team identity connection, rotates its OIDC client ID or client secret, replaces its signer authorize URL or public keys, or changes its session length. Grants that name the connection keep working. The client secret is write-only and never returned. It changes how people sign in, so update it only at the user's request.
updateTeamLabel
ChatGPTRenames a label, recolors it, or both. Every space wearing the label shows the new name and color.
updateTeamMemberRole
ChatGPTChanges a member's role by member id or user email. Only an owner can grant the owner role, and the last owner's role cannot be changed until another owner exists.
updateTeamMemory
ChatGPTChanges a memory's title, body, category, or pin. Send archived: true to retire a wrong or stale memory, and archived: false to restore it; a restore meets the same title and 200-memory checks as a new save. A memory's Space cannot change.
updateTeamSettings
ChatGPTUpdates the team's settings for Spaces and shared connectors.
updateTeamSkill
ChatGPTTurns one preset team skill on or off for every agent on the team. Only team owners and admins can change skills; agents cannot. A team owner or admin must change Skill settings in the Spacefast dashboard. Agents can read and apply enabled Skills.
updateTeamTagRevision
ChatGPTUpdates the title or description for a team tag revision that has not been abandoned.
updateWebhook
ChatGPTUpdates a webhook's URL, subscribed events, or status. Secrets rotate only via the rotate operation. A webhook declared in a system-space manifest is configured there, not here.
update_plugin_settings
ChatGPTSave the current user's changed Space Library settings. Omitted settings keep their saved values.
uploadSpaceBuildSourceArchive
ChatGPTUpload a gzip-compressed tar archive to the target returned when the build was created. Respect the upload instruction's maxBytes. The build is queued after the archive is stored.
uploadTeamDesignSystemAsset
ChatGPTUploads one image (PNG, JPEG, WebP, sanitized SVG), PDF, Word (DOCX), PowerPoint (PPT/PPTX), font (WOFF/WOFF2/TTF/OTF/EOT), JSON token file, UTF-8 guidance or source file (Markdown, text, JSONC, YAML, CSS/SCSS/Sass/Less, HTML, JS/JSX/TS/TSX, Vue/Svelte), or original ZIP of at most 100 MB to the team's WordPress Media Library. Match the filename extension to contentType; its schema lists accepted pairs. Supply file bytes as contentBase64, not a local path. References are retained files, downloaded privately as attachments; they are never executed or extracted. Reuse operationId and the same input after an uncertain response. Returns an attachmentId; add or replace its design-system asset record with updateTeamDesignSystem. Upload alone does not change the design-system revision. Requires the team context beta.
validateSpaceTagRevision
ChatGPTRuns policy, template, consent, trigger, and dependency validation for the selected space tag revision.
validateSpaceTrafficRules
ChatGPTChecks the rules against the rule grammar and then against the edge, and returns every problem with the field it is in. Writes nothing. A rule the grammar refuses is reported here as an issue, so one request answers for the whole list.
validateTeamTagRevision
ChatGPTRuns policy, template, consent, trigger, and dependency validation for the selected team tag revision.
verifyDomain
ChatGPTChecks the domain DNS for proof of control, updates verification state, and syncs the bound space runtime when needed.
verifySpaceCustomDomain
ChatGPTVerify a pending ownership claim and move the hostname, or check provider readiness. Set move to use source removal permission instead of TXT proof.
withdrawShowAndTellEntry
ChatGPTRemove your submission from the public directory. The submitter or a current Space creator, owner, or admin can withdraw it. This does not delete the Space or change sharing settings. Moderators cannot republish a withdrawn entry. Submit it again to ask for a new review.
writeSpaceSourceNote
ChatGPTAttaches a Git note to a commit, replacing any existing note unless append is set.