Get account identity and teams - Spacefast Docs

Get account identity and teams

Use this operation for account identity or login information. Also use it when a task needs the caller’s teams. It returns identity, teams, and optional team or Space reference results. 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.

GET/v1/bootstrap

Authorization

AuthorizationBearer token · headerrequired

`Authorization: Bearer ` with the Space key (`sfc_` prefix) of an unclaimed Space. The same key is the fragment of the claim URL and the token in the Space's `/__/` sign-in URL.

or

AuthorizationBearer token · headerrequired

`Authorization: Bearer ` with an API key (`sfa_` prefix), an OAuth access token, a session token, or a Space machine credential (`sfm_` prefix).

Query parameters

teamRefstring

spaceRefstring

Responses

200Response for status 200

$schemastring

Canonical JSON Schema URL for this response body. The server also sends it in the `Link: rel="describedby"` response header.

dataobjectrequired

Show propertiesHide properties

meobject | anyrequired

The caller's identity, exactly as `GET /v1/me` returns it. Null only for a claim-token caller, which has none.

Show propertiesHide properties

Any of:

object

subjectobjectrequired

Who the calling credential acts as.

Show propertiesHide properties

typestringrequired

What the credential acts as: `user` a person, `team` a team's own machine credential, `external` an external customer's, `system` Spacefast itself.

Allowed:user``team``external``system

idstringrequired

ID of that user, team, external customer, or system actor.

userobject | anyrequired

The person behind the credential. Null when the credential acts as a team, an external customer, or Spacefast itself; the person who created such a credential is recorded for audit, not as the identity of the request.

Show propertiesHide properties

Any of:

object

idstringrequired

ID of the signed-in account.

emailstring | anyrequired

The account's primary email address.

Show propertiesHide properties

Any of:

string

string

any

any

namestring | anyrequired

Display name, null until the account sets one.

Show propertiesHide properties

Any of:

string

string

any

any

isAutomatticianbooleanrequired

Whether the account's WordPress.com login belongs to an Automattician.

wpcomobject | anyrequired

The WordPress.com profile captured at the account's last WP.com sign-in, verbatim. Null unless a browser session is reading its own identity and that provider is linked.

Show propertiesHide properties

Any of:

object

object

any

any

isSuperadminbooleanrequired

Whether this browser session belongs to a platform operator. Informational: operator authority comes from admission, not from this flag. Always false for a machine credential.

pendingDeletionAtstring | anyrequired

ISO 8601 timestamp for when the account's closure was requested, while that close is still queued or running. Null for every account that is not closing.

Show propertiesHide properties

Any of:

string

string

any

any

dashboardPrefsobjectrequired

The account's dashboard preferences, carried here so a cross-device preference costs no request beyond the one the dashboard already makes at boot. Write with `PATCH /v1/me/dashboard-preferences`.

privacyobjectrequired

The account's opt-out elections. Write with `PATCH /v1/me/privacy`.

Show propertiesHide properties

analyticsOptOutbooleanrequired

True when this account is left out of product analytics, in the browser and on the server. Defaults to false.

advertisingOptOutbooleanrequired

True when the account has opted out of advertising and audience use of its data. Defaults to false.

any

any

tenantsobject[]required

The tenants the credential's policy reaches. The tenant the credential is homed in is always among them.

Show propertiesHide properties

Array of object

idstringrequired

ID of the tenant.

kindstringrequired

One of `main` (Spacefast's own tenant), `partner` (a partner account), `internal` (a Spacefast-operated tenant).

namestringrequired

Display name of the tenant.

accessstringrequired

How far the credential's policy reaches here: `full` the whole tenant, `scoped` only named principals or resources inside it.

Allowed:full``scoped

teamsobject[]required

The teams the credential can act in: the signed-in user's memberships, plus every team a machine credential's policy grants.

Show propertiesHide properties

Array of object

idstringrequired

ID of the team.

namestringrequired

Display name of the team.

slugstring | anyrequired

URL-safe handle for the team.

Show propertiesHide properties

Any of:

string

string

any

any

rolestring | anyrequired

The caller's role in this team. Null when the credential reaches the team through its policy rather than through membership.

Show propertiesHide properties

Any of:

string

string

any

any

planstringrequired

The plan the team currently resolves to.

Allowed:free``personal``work``enterprise``internal

intercomobject | anyrequired

Everything the Intercom Messenger needs to boot. Null for anything but a dashboard browser session, and null when the server has no Messenger secret configured.

Show propertiesHide properties

Any of:

object

api_basestringrequired

Base URL the Intercom Messenger talks to.

app_idstringrequired

ID of the Intercom workspace to boot against.

user_idstringrequired

The account's stable ID inside Intercom.

emailstring

Omitted when the account has no address.

matches ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$

namestring

Omitted when the account has no display name.

created_atinteger

When the account was created, in Unix seconds.

max 9007199254740991

companyobject

The team named by the `teamId` query parameter, as an Intercom company. Omitted when none was named or the caller cannot reach it.

Show propertiesHide properties

company_idstringrequired

The team's stable ID inside Intercom.

namestringrequired

Display name of the team.

planstring

The plan the team resolves to.

Allowed:free``personal``work``enterprise``internal

intercom_user_jwtstringrequired

Server-signed JWT the Messenger authenticates with. Lives 10 minutes.

min length 1

session_durationintegerrequired

How long the Messenger keeps its session cookie, in milliseconds.

max 9007199254740991

expiresAtstringrequired

ISO 8601 timestamp for when the JWT expires.

matches ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$

any

any

betaobjectrequired

Private-beta state. Key a blocked screen on `gateEnabled` and `enrolled` together, never on `enrolled` alone, or turning the gate off still blocks everyone.

Show propertiesHide properties

gateEnabledbooleanrequired

Whether this environment currently gates access on private-beta enrollment. Always false for a caller the gate exempts.

enrolledbooleanrequired

Whether the account is enrolled in the private beta. Reading this can enroll an account that qualifies through a verified address or an Automattic login.

eligibleTeamsobject[]required

Teams the account may join to get in, with teams it already belongs to removed.

Show propertiesHide properties

Array of object

teamIdstringrequired

ID of the team.

namestringrequired

Display name of the team.

slugstring | anyrequired

URL-safe handle for the team.

Show propertiesHide properties

Any of:

string

string

any

any

sourcestringrequired

Why the team is offered to the caller: `invitation` for a direct invite, `auto_enroll_domain` for a matching email domain, `automattician` for Automattic identity.

Allowed:invitation``auto_enroll_domain``automattician

any

any

teamsobject[]required

The first 100 teams the credential can act for, newest first, in the shape `GET /v1/teams` returns. Empty for a claim-token caller.

Show propertiesHide properties

Array of object

idstringrequired

Team ID.

namestringrequired

Name shown for the team.

slugstringrequired

URL-safe slug, unique across teams and addressable in place of the ID.

rolestringrequired

The caller's role on this team. A credential with no membership reads `admin` when its policy may write the roster, `member` otherwise.

Allowed:owner``admin``member

planstringrequired

Plan the team's active subscription resolves to. `free` without one.

Allowed:free``personal``work``enterprise``internal

partnerobject | anyrequired

Partner access for this team. Null when the team is not a partner.

Show propertiesHide properties

Any of:

object

enabledAtstringrequired

Instant partner access was turned on.

any

any

defaultDataLocationstringrequired

Placement region new Spaces default to. "auto" leaves the choice to placement.

createdAtstringrequired

Instant the team was created.

updatedAtstringrequired

Instant the team was last written.

teamsPaginationobjectrequired

Paging state for `teams`. `hasMore: true` means the credential reaches more teams than this payload carried; page the rest from `GET /v1/teams`.

Show propertiesHide properties

nextCursorstring | anyrequired

Cursor for the next page. Null on the last page.

Show propertiesHide properties

Any of:

string

string

any

any

hasMorebooleanrequired

True when another page exists.

resolvedTeamobjectrequired

The team `teamRef` named, in full. `resolved` carries the value, `unresolved` the problem that stopped it, `not_requested` that nothing was asked for.

Show propertiesHide properties

One of:

object

statusstringrequired

valueobjectrequired

Show propertiesHide properties

idstringrequired

Team ID.

namestringrequired

Name shown for the team.

slugstringrequired

URL-safe slug, unique across teams and addressable in place of the ID.

rolestringrequired

The caller's role on this team. A credential with no membership reads `admin` when its policy may write the roster, `member` otherwise.

Allowed:owner``admin``member

planstringrequired

Plan the team's active subscription resolves to. `free` without one.

Allowed:free``personal``work``enterprise``internal

partnerobject | anyrequired

Partner access for this team. Null when the team is not a partner.

Show propertiesHide properties

Any of:

object

enabledAtstringrequired

Instant partner access was turned on.

any

any

defaultDataLocationstringrequired

Placement region new Spaces default to. "auto" leaves the choice to placement.

createdAtstringrequired

Instant the team was created.

updatedAtstringrequired

Instant the team was last written.

logostring | anyrequired

Logo URL. Null when the team has none.

Show propertiesHide properties

Any of:

string

string

any

any

metadatastring | anyrequired

Free-form string the client stores as it likes.

Show propertiesHide properties

Any of:

string

string

any

any

stripeCustomerIdstring | anyrequired

Stripe customer linked to this team. Null until billing is set up.

Show propertiesHide properties

Any of:

string

string

any

any

systemSpaceIdstring | anyrequired

Space this team's page, theme, and presentation defaults are read from. Null when the team designates none.

Show propertiesHide properties

Any of:

string

string

any

any

manifestStatusobjectrequired

How far the system Space's manifest is materialized, one entry per declared key. Empty until a live version of that Space is reconciled.

Show propertiesHide properties

itemsobject[]required

One entry per key the manifest declares.

Show propertiesHide properties

Array of object

keystringrequired

Manifest key this item reports on.

statestringrequired

Where the last reconcile left the key: `pending` while it awaits verification, `active` once it is in force, `failed` when the reconcile could not apply it.

Allowed:pending``active``failed

detailstring

Why the key is in this state. Absent when the state needs no explanation.

sincestringrequired

When the key last changed state. A reconcile that changes nothing leaves this alone, so it reads as how long the state has held.

audiencestring

Present on `tokenIssuers` only. The server-minted audience for the issuer this key materialized, which rides in the `aud` claim of every partner token and is what the partner signs its activation proof and its tokens against.

sourceVersionIdstring | anyrequired

System Space version every item was converged from. Null when nothing is materialized, whether because no system Space is designated, it has no live version, or its manifest is empty.

Show propertiesHide properties

Any of:

string

string

any

any

presentationobject | anyrequired

Branding and links materialized from the system Space's manifest. Null while nothing is materialized.

Show propertiesHide properties

Any of:

object

namestring

Partner name shown on the pages Spacefast renders for this tenant's Spaces.

min length 1 · max length 255

logostring

Partner logo shown on those same pages. Declaring any presentation at all turns Spacefast branding off across the tenant, whatever the plan allows.

min length 1 · max length 2048 · matches ^https:\/\/[^\s"'<>\\*]+$

supportUrlstring

Replaces the Spacefast help link on Spacefast-rendered pages.

min length 1 · max length 2048 · matches ^https:\/\/[^\s"'<>\\*]+$

claimOriginstring

Origin anonymous claim links are built on. Defaults to the Spacefast dashboard.

min length 1 · max length 2048 · matches ^https:\/\/[^\s"'<>\\*]+$

accessHandoffOriginstring

Origin the browser access handoff runs on. Defaults to the Spacefast handoff origin.

min length 1 · max length 2048 · matches ^https:\/\/[^\s"'<>\\*]+$

problemDocsBaseUrlstring

Base the `type` URL of every problem document is rebased onto for this tenant's callers.

min length 1 · max length 2048 · matches ^https:\/\/[^\s"'<>\\*]+$

contactsobject

Contact URLs or addresses shown to claimants, keyed by a label. At most 32 entries.

any

any

object

statusstringrequired

problemobjectrequired

Why this slot did not resolve, as the same problem document the endpoint dedicated to it would have returned. It carries no request ID because the response itself does.

Show propertiesHide properties

typestringrequired

URL of the documentation page for this error. Derived from `code`.

titlestringrequired

Human-readable name of the error type. Derived from `code`.

statusintegerrequired

HTTP status of the response, repeated in the body.

min -9007199254740991 · max 9007199254740991

detailstringrequired

What went wrong in this request.

codestringrequired

Stable snake_case error code. Match on this, not on `detail`.

pointerstring

RFC 6901 JSON Pointer to the request field or batch entry that failed, for example `/files/37/path`. Present on validation failures.

detailsobject

Machine-readable context keyed by the error code.

suggestionsstring[]

Recovery steps safe to show to a person.

nextstring[]

Commands or API requests to run next, usable as written.

object

statusstringrequired

resolvedSpaceobjectrequired

The Space `spaceRef` named. `resolved` carries the value, `unresolved` the problem that stopped it, `not_requested` that nothing was asked for.

Show propertiesHide properties

One of:

object

statusstringrequired

valueobjectrequired

Show propertiesHide properties

idstringrequired

teamIdstring | anyrequired

Owning team. Null for an anonymous Space and for one owned by an external customer.

Show propertiesHide properties

Any of:

string

string

any

any

teamSlugstring | anyrequired

Slug of the owning team. Null wherever `teamId` is null.

Show propertiesHide properties

Any of:

string

string

any

any

anonymousbooleanrequired

True while the Space has no owning team and no external customer. A Space whose claim window lapsed still reports true.

slugstringrequired

titlestringrequired

Display name. The live version's `name` config key wins over the stored title, and while that key is set the API refuses to rename the Space.

statusstringrequired

Where the Space is in its own lifecycle. Whether it serves traffic is the separate `disabled` field, and a disabled Space can still be `updating`. A deleted Space keeps `deleting`.

Allowed:provisioning``active``updating``deleting``failed

disabledobject | anyrequired

Set while the Space is dark. Null while it serves normally.

Show propertiesHide properties

Any of:

object

atstring | anyrequired

ISO 8601 timestamp of when serving stopped. Null when the reason was recorded without one.

Show propertiesHide properties

Any of:

string

string<date-time>

any

any

reasonCodestringrequired

Why the Space stopped serving.

Allowed:anonymous_expired``abuse_takedown``tenant_suspended``site_suspended``author_removed

any

any

claimStateobject | anyrequired

Anonymous-claim lifecycle. Null for a Space that never went through it.

Show propertiesHide properties

Any of:

object

expiresAtstring | anyrequired

ISO 8601 timestamp when the anonymous hold lapses. A claim-page read extends it by an hour, up to six hours of extension in total, and each publish pushes it six hours out, capped 30 days after the Space was created.

Show propertiesHide properties

Any of:

string

string<date-time>

any

any

claimedAtstring | anyrequired

ISO 8601 timestamp when the Space was claimed. Null while it is unclaimed.

Show propertiesHide properties

Any of:

string

string<date-time>

any

any

purgeAfterstring | anyrequired

ISO 8601 timestamp after which an expired Space's content is deleted, stamped seven days out when the hold lapses. Null before it lapses.

Show propertiesHide properties

Any of:

string

string<date-time>

any

any

any

any

expiryExtensionobject | any

Present only on a read authenticated with a claim token that extended the hold, so a claim page can tell a granted extension from no change.

Show propertiesHide properties

Any of:

object

extendedTostringrequired

ISO 8601 timestamp when the anonymous hold was extended to.

any

any

defaultHostnamestringrequired

Spacefast-owned hostname this Space always answers on. Renaming the Space moves it, and the hostname it moved off keeps redirecting here until the Space is renamed back, deleted, or an operator releases it.

publicNamestringrequired

Label the managed hostname is built from. Derived from the slug, with an environment suffix outside production and a numeric suffix when the label is already taken.

liveUrlstringrequired

URL to open the Space at: its primary bound domain once that domain is active, else the default hostname. Always `https://` with a trailing slash, and always present on a Space that is not deleted.

thumbnailobject | anyrequired

Preview image for dashboards, chosen by the server. Null until the Space has a live version.

Show propertiesHide properties

Any of:

object

kindstringrequired

`screenshot` renders the page itself. `image` serves a preview file the publish picked, and is chosen only for a Space that lists its directory.

Allowed:screenshot``image

providerstringrequired

Allowed:wpcom-mshots``wpcom-site-accelerator

urlstringrequired

Render this to display the thumbnail.

sourceUrlstringrequired

Page the thumbnail is taken from. It carries a token that opens a private Space, so treat it as a credential.

any

any

dataLocationstringrequired

Region the Space asked to be placed in, fixed at creation and refused on update. `auto` when neither the create request, the team, nor the tenant named one. Where the Space actually landed is `infrastructure.region`.

regionstringrequired

The same value as `dataLocation`. It is the region that was requested, not the region the box landed in.

burstableboolean | anyrequired

Whether this Space's site may burst beyond its PHP worker allotment. Null while nobody has set it, which leaves the provider default in force.

Show propertiesHide properties

Any of:

boolean

boolean

any

any

archivedBytesintegerrequired

Bytes of this Space's versions moved out of the hot store to cold storage. A version is demoted whole, and the figure can read high until the runtime reports a promotion back.

min 0 · max 9007199254740991

hasRuntimebooleanrequired

Whether the live version carries a worker or a Zero capsule, and so has a runtime surface. False for a runtime version that is ready but not promoted, and unaffected by what the team is entitled to.

channelsobjectrequired

Channel pointers by name. `live` is the only channel the API accepts, and it is absent until a version is promoted.

configobject | anyrequired

Configuration overlay stored on the Space and applied over the live version's `sf.jsonc`. Each top-level key replaces the file's whole key rather than merging into it. Null when nothing is overridden.

Show propertiesHide properties

Any of:

object

indexstring | boolean

File served for a directory URL, so `/docs/` serves `/docs/`. Set `false` to turn directory index resolution off. Defaults to `index.html` when the version commits one, else the only root-level HTML file when there is exactly one, else off.

Show propertiesHide properties

Any of:

string

string

boolean

boolean

fallbackstring | object

Committed file served when no rule and no file matches the request. `"/index.html"` is how a single-page app is declared. Give the object form to choose the status.

Show propertiesHide properties

Any of:

string

string

object

pathstringrequired

File to serve. It must be committed in the version, or the publish fails.

min length 1

statusintegerrequired

Status to answer with. Only `200` and `404` are honored; anything else serves as `200`.

min 100 · max 599

cleanUrlsboolean

Serve every committed `.html` file at its extensionless URL too, at any depth, so `docs/guide.html` also answers `/docs/guide`. Defaults to on, unless a fallback with status 200 is configured.

listingboolean

Generate a browsable index for every directory that ships no `index.html` of its own, and turn on the built-in file viewer. Defaults to on only when no index file could be inferred, the version runs no worker, and no 200 fallback is configured.

metaobject

Title, description, social image, and icon added at publish to every committed HTML page that does not already declare them.

Show propertiesHide properties

titlestring

Page title and `og:title`, up to 300 characters. Also the heading of generated directory listings.

min length 1 · max length 300

descriptionstring

Meta description and `og:description`, up to 1000 characters.

max length 1000

imagestring

Social preview image for `og:image`. A URL, or a path into this Space's files, which is served with a content hash appended so a change is picked up.

max length 2000

faviconstring

Browser icon. A URL, or a path into this Space's files. Without one, a committed `/favicon.ico` is used, and failing that a generated letter tile.

max length 2000

superpowersobject

Platform-managed script injection and custom JavaScript. Written through the Space's settings; a declaration in the config file is validated and then ignored.

Show propertiesHide properties

enabledboolean

Master switch. Set it false and no platform-managed tag, comment surface, or page metadata is injected.

disable_all_injectionboolean

Set it true to suppress every platform-managed script and tag, the same effect as setting `enabled` to false.

googleAnalyticsobject

Injects the gtag.js loader for `measurementId`.

Show propertiesHide properties

enabledboolean

measurementIdstring

Google Analytics measurement ID, of the form `G-XXXXXXX`. An ID that does not match that form is dropped without a diagnostic.

max length 64

googleTagManagerobject

Injects the Google Tag Manager loader for `containerId`.

Show propertiesHide properties

enabledboolean

containerIdstring

Google Tag Manager container ID, of the form `GTM-XXXXXXX`. An ID that does not match that form is dropped without a diagnostic.

max length 64

javascriptTagsobject[]

Custom JavaScript injected into this Space's pages, at most 16 snippets. An entry with `enabled: false` is skipped.

max items 16

Show propertiesHide properties

Array of object

idstring

max length 128

namestring

max length 160

enabledboolean

codestringrequired

Script body, up to 8192 bytes. A blank body is skipped.

max length 8192

tagsobject

Show propertiesHide properties

inheritanceobject

Show propertiesHide properties

inheritedboolean

Whether the owning team's tags are merged into this Space's. Defaults to on, and is always off for a Space with no team.

overridesobject[]

Team tags to leave out of this Space, by tag ID. Only entries with `disabled: true` change anything; `reason` is stored and never acted on.

max items 128

Show propertiesHide properties

Array of object

tagIdstringrequired

min length 1

disabledbooleanrequired

default: false

reasonstring | any

Show propertiesHide properties

Any of:

string

string

any

any

requireReviewboolean

When true, applying a tag to a release environment through the API is refused until the change has gone through review.

templatesstring[]

Files whose `{{ vars.NAME }}` placeholders are replaced with this Space's variable values at publish. At most 100 paths. A path the version does not contain is skipped with a warning; a name with no value, or a name that resolves to a secret, fails the publish.

max items 100

themeobject

Colors, logo, name, and font for the pages Spacefast renders for this Space.

Show propertiesHide properties

accentstring

Color used for buttons, links, and highlights on Spacefast-rendered pages. A hex, `rgb()`, `rgba()`, `hsl()`, `hsla()`, or named CSS color, up to 64 characters.

max length 64 · matches ^(?:#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|rgba?\([0-9.,\s%/]{1,64}\)|hsla?\([0-9.,\s%deg/]{1,64}\)|[a-zA-Z]{3,30})$

backgroundstring

Page background on Spacefast-rendered pages, in the same color grammar as `accent`.

logostring

Image shown in the brand row of Spacefast-rendered pages. An `https://` URL, or a path starting with `/` into this Space's own files.

max length 2000 · matches ^(?:https:\/\/[^\s"'<>\\]+|\/[^\s"'<>\\]*)$

namestring

Name shown in the brand row of Spacefast-rendered pages. Defaults to the literal `This space`.

min length 1 · max length 120

fontstring

`font-family` stack for Spacefast-rendered pages. Letters, digits, spaces, commas, hyphens, and quotes only, so `url()` and `src` cannot ride in.

max length 256 · matches ^[A-Za-z0-9 ,'"-]{1,256}$

hideSpacefastBrandingboolean

Removes the Spacefast wordmark from the footer of Spacefast-rendered pages. Requires a paid plan; publishing it on the free plan fails the publish.

buildobject

Build settings seeded onto a repository connection created from this file.

Show propertiesHide properties

rootDirectorystring | any

Show propertiesHide properties

Any of:

string

string

any

any

installDirectorystring | any

Show propertiesHide properties

Any of:

string

string

any

any

installCommandstring | any

Show propertiesHide properties

Any of:

string

string

any

any

buildCommandstring | any

Show propertiesHide properties

Any of:

string

string

any

any

outputDirectorystring | any

Show propertiesHide properties

Any of:

string

string

any

any

ignoredBuildCommandstring | any

Shell command run before the build to decide whether to build at all. Exiting 0 skips the build; any non-zero status lets it run.

Show propertiesHide properties

Any of:

string

string

any

any

frameworkPresetstring | any

Framework the build assumes. It selects which directories are saved to and restored from the build cache.

Show propertiesHide properties

Any of:

string

string

any

any

platformPresetstring | any

Show propertiesHide properties

Any of:

string

string

any

any

allowUnsupportedPlatformFeaturesboolean

Lets a repository connect even when its `vercel.json` or `wrangler` config declares features Spacefast does not support. It permits nothing at build time. Defaults to false.

timeoutSecondsinteger

How long a build may run, in seconds. 60 to 7200, defaults to 900.

min 60 · max 7200

placementobject

Placement controls for this Space. Written through the Space's settings; a declaration in the config file is validated and then ignored.

Show propertiesHide properties

burstableboolean

Whether this Space's site may burst beyond its PHP worker allotment. Leave it unset to take the provider default.

markdownNegotiationboolean

Accepted and stored. Nothing in the serving path reads it.

dataSourcesobject

WordPress sites this Space's builds can read, keyed by the name a build refers to each one by. At most 32 entries. Builds receive the whole map as `SPACEFAST_DATA_SOURCES`.

defaultDataSourcestring

Which `dataSources` entry builds get as `WORDPRESS_URL`. Must name an entry in the same config. Omit it and the first source by name is used.

min length 1 · max length 128 · matches ^[A-Za-z_][A-Za-z0-9_]*$

any

any

settingsDigeststringrequired

SHA-256 over the Space's title and `config` overlay. Send it back as `baseSettingsDigest` on an update to get compare-and-swap; `slug`, `noindex`, `pinned`, and `placement.burstable` fall outside the digest, so writes to them are never guarded.

matches ^[0-9a-f]{64}$

noindexbooleanrequired

When true, the production hostnames send `X-Robots-Tag: noindex, nofollow` and serve a generated `robots.txt` that overrides any committed one. Version, preview, and branch hostnames are noindex whatever this says.

pinnedAtstring | anyrequired

ISO 8601 timestamp when the Space was pinned to the top of its team's list. Null when it is not pinned. The pin is team-wide, so everyone who can see the team sees it.

Show propertiesHide properties

Any of:

string

string<date-time>

any

any

gitobject | anyrequired

Where this Space's git history lives and who owns it. Null only on a deleted Space: every live Space has a remote, whether or not anything has been pushed to it.

Show propertiesHide properties

Any of:

object

managedBystringrequired

Who owns this Space's git history. `spacefast`: push to `remoteUrl` and the push publishes. `github`: the Space publishes from `repository`, and no remote is handed out because the next sync would overwrite a direct push.

Allowed:spacefast``github

remoteUrlstring | anyrequired

Git remote to push to, carrying no credential. Null when `managedBy` is `github`. Authenticate over HTTP Basic with the username `t` and a Space key or API key as the password. Built from the current slug, so renaming the Space changes it.

Show propertiesHide properties

Any of:

string

string

any

any

repositorystring | anyrequired

`owner/name` of the GitHub repository this Space publishes from. Null when `managedBy` is `spacefast`.

Show propertiesHide properties

Any of:

string

string

any

any

defaultBranchstring | anyrequired

Branch whose pushes publish to the live channel. `main` for a Spacefast-managed remote that names no other branch.

Show propertiesHide properties

Any of:

string

string

any

any

any

any

operationobject | anyrequired

Operation running against this Space or against its runtime record. Null when nothing is in flight.

Show propertiesHide properties

Any of:

object

idstringrequired

kindstringrequired

statusstringrequired

Allowed:queued``running``succeeded``failed``canceled

resourcesobject[]required

Show propertiesHide properties

Array of object

typestringrequired

idstringrequired

progressobject

Show propertiesHide properties

totalintegerrequired

min 0 · max 9007199254740991

completedintegerrequired

min 0 · max 9007199254740991

failedintegerrequired

min 0 · max 9007199254740991

diagnosticsobject[]

Show propertiesHide properties

Array of object

codestringrequired

Stable snake_case code for this diagnostic.

severitystringrequired

How serious the diagnostic is.

Allowed:info``warning``error

messagestringrequired

What happened, in a sentence a person can act on.

pathstring | any

File or artifact path the diagnostic refers to, with a line number when known, for example `_headers:12`. Absent when it applies to the whole resource.

Show propertiesHide properties

Any of:

string

string

any

any

providerstring | any

Upstream system that raised the diagnostic. Absent when Spacefast raised it.

Show propertiesHide properties

Any of:

string

string

any

any

detailsobject | any

Machine-readable context keyed by the diagnostic code.

Show propertiesHide properties

Any of:

object

object

any

any

fixstring | any

What to change to clear the diagnostic. Absent when there is no known fix.

Show propertiesHide properties

Any of:

string

string

any

any

retryableboolean | any

True when repeating the same operation unchanged can clear the diagnostic.

Show propertiesHide properties

Any of:

boolean

boolean

any

any

createdAtstringrequired

finishedAtstring

any

any

createdAtstringrequired

updatedAtstringrequired

ISO 8601 timestamp of the last write to the Space. Automatic writes such as serving-state pushes, claim extensions, and storage rollups move it, so it is not a signal that a person edited something.

object

statusstringrequired

problemobjectrequired

Show propertiesHide properties

typestringrequired

URL of the documentation page for this error. Derived from `code`.

titlestringrequired

Human-readable name of the error type. Derived from `code`.

statusintegerrequired

HTTP status of the response, repeated in the body.

min -9007199254740991 · max 9007199254740991

detailstringrequired

What went wrong in this request.

codestringrequired

Stable snake_case error code. Match on this, not on `detail`.

pointerstring

RFC 6901 JSON Pointer to the request field or batch entry that failed, for example `/files/37/path`. Present on validation failures.

detailsobject

Machine-readable context keyed by the error code.

suggestionsstring[]

Recovery steps safe to show to a person.

nextstring[]

Commands or API requests to run next, usable as written.

object

statusstringrequired

spaceRuntimeobjectrequired

How the Space in `resolvedSpace` is serving right now, read only once that Space resolved. `resolved` carries the value, `unresolved` the problem that stopped it, `not_requested` that nothing was asked for.

Show propertiesHide properties

One of:

object

statusstringrequired

valueobjectrequired

Show propertiesHide properties

liveVersionIdstring | anyrequired

Version the live URL serves. Null before the first successful publish.

Show propertiesHide properties

Any of:

string

string

any

any

pendingVersionIdstring | anyrequired

Version a publish in flight is trying to put live. Null when nothing is in flight.

Show propertiesHide properties

Any of:

string

string

any

any

liveUrlstring | anyrequired

Where the Space serves. Null until it has a provider site and its live version is ready. It follows an attached primary domain when there is one, otherwise the managed hostname.

Show propertiesHide properties

Any of:

string

string

any

any

runtimeStatestringrequired

Where the Space stands in its own lifecycle.

Allowed:provisioning``active``updating``deleting``failed

liveVersionStatusstring | anyrequired

Status of `liveVersionId`. Null when there is no live version.

Show propertiesHide properties

Any of:

string

string

any

any

pendingVersionStatusstring | anyrequired

Status of `pendingVersionId`. Null when nothing is in flight.

Show propertiesHide properties

Any of:

string

string

any

any

operationobject | anyrequired

Runtime work running against this Space right now. Null when none is.

Show propertiesHide properties

Any of:

object

idstringrequired

kindstringrequired

statusstringrequired

Allowed:queued``running``succeeded``failed``canceled

resourcesobject[]required

Show propertiesHide properties

Array of object

typestringrequired

idstringrequired

progressobject

Show propertiesHide properties

totalintegerrequired

min 0 · max 9007199254740991

completedintegerrequired

min 0 · max 9007199254740991

failedintegerrequired

min 0 · max 9007199254740991

diagnosticsobject[]

Show propertiesHide properties

Array of object

codestringrequired

Stable snake_case code for this diagnostic.

severitystringrequired

How serious the diagnostic is.

Allowed:info``warning``error

messagestringrequired

What happened, in a sentence a person can act on.

pathstring | any

File or artifact path the diagnostic refers to, with a line number when known, for example `_headers:12`. Absent when it applies to the whole resource.

Show propertiesHide properties

Any of:

string

string

any

any

providerstring | any

Upstream system that raised the diagnostic. Absent when Spacefast raised it.

Show propertiesHide properties

Any of:

string

string

any

any

detailsobject | any

Machine-readable context keyed by the diagnostic code.

Show propertiesHide properties

Any of:

object

object

any

any

fixstring | any

What to change to clear the diagnostic. Absent when there is no known fix.

Show propertiesHide properties

Any of:

string

string

any

any

retryableboolean | any

True when repeating the same operation unchanged can clear the diagnostic.

Show propertiesHide properties

Any of:

boolean

boolean

any

any

createdAtstringrequired

finishedAtstring

any

any

appobject | anyrequired

What the live version runs: its Zero capsule and its functions worker, each null when the published files carry neither, and both null for a static Space. The whole object is null for a caller without `versions:read`, because this reads version contents rather than serving state.

Show propertiesHide properties

Any of:

object

capsuleobject | anyrequired

The Zero capsule the live version carries. Null when it carries none.

Show propertiesHide properties

Any of:

object

artifactIdstringrequired

min length 1

appNamestringrequired

min length 1

serverRuntimestringrequired

inspectobjectrequired

Show propertiesHide properties

policystringrequired

Allowed:private``public

installobjectrequired

Show propertiesHide properties

runtimeKindstringrequired

enginestringrequired

storageRootstringrequired

artifactPathstringrequired

configPathstringrequired

binaryobjectrequired

Show propertiesHide properties

pathstringrequired

compatibilityTargetobjectrequired

Show propertiesHide properties

profilestringrequired

osstringrequired

cpustringrequired

libcstringrequired

linkingstringrequired

requireExecutableBitbooleanrequired

sha256string | anyrequired

default: null

Show propertiesHide properties

Any of:

string

string

any

any

requiredbooleanrequired

mysqlobjectrequired

Show propertiesHide properties

migrateAtFinalizebooleanrequired

blockIncompatibleRollbackbooleanrequired

realtimeobjectrequired

Show propertiesHide properties

productionstringrequired

localstringrequired

tablesstring[]required

default: []

queriesstring[]required

default: []

mutationsstring[]required

default: []

endpointsobject[]required

default: []

Show propertiesHide properties

Array of object

methodstringrequired

Allowed:GET``HEAD``POST``PUT``PATCH``DELETE``OPTIONS

pathstringrequired

min length 1 · max length 2048 · matches ^\/.*

socketsstring[]required

default: []

serverBundleSizeinteger | anyrequired

Size of the compiled server bundle in bytes. Null when this version's metadata records no size, never 0.

Show propertiesHide properties

Any of:

integer

integer

any

any

clientBundleSizeinteger | anyrequired

Size of the compiled client bundle in bytes, counting only what the capsule publishes. Null when this version's metadata records no size, never 0.

Show propertiesHide properties

Any of:

integer

integer

any

any

migrationCountintegerrequired

min 0 · max 9007199254740991

schemaHashstring | anyrequired

Show propertiesHide properties

Any of:

string

string

any

any

variablesobjectrequired

Show propertiesHide properties

sourcestringrequired

namesstring[]required

default: []

realtimeobjectrequired

Show propertiesHide properties

centralUrlstring | anyrequired

default: null

Show propertiesHide properties

Any of:

string

string<uri>

any

any

pathstring

min length 1 · matches ^\/.*

replayPathstring | any

Show propertiesHide properties

Any of:

string

string

any

any

replayUrlstring | any

Show propertiesHide properties

Any of:

string

string<uri>

any

any

runPathstring | any

Show propertiesHide properties

Any of:

string

string

any

any

runUrlstring | any

Show propertiesHide properties

Any of:

string

string<uri>

any

any

resourceKeystring | any

Show propertiesHide properties

Any of:

string

string

any

any

ticketPathstring | any

Show propertiesHide properties

Any of:

string

string

any

any

socketPathstring | any

Show propertiesHide properties

Any of:

string

string

any

any

spaceIdstring | any

Show propertiesHide properties

Any of:

string

string

any

any

versionIdstring | any

Show propertiesHide properties

Any of:

string

string

any

any

any

any

workerobject | anyrequired

The worker the live version carries. Null when it carries none.

Show propertiesHide properties

Any of:

object

artifactIdstringrequired

min length 1

appNamestringrequired

min length 1

entrystringrequired

min length 1

compatibilityDatestringrequired

matches ^\d{4}-\d{2}-\d{2}$

compatibilityFlagsstring[]required

default: []

routesobject[]required

default: []

Show propertiesHide properties

Array of object

methodstring | anyrequired

default: null

Show propertiesHide properties

Any of:

string

string

any

any

pathstringrequired

min length 1 · max length 2048 · matches ^\/.*

subtreebooleanrequired

default: false

capabilitiesobjectrequired

default: {}

Show propertiesHide properties

dbboolean

default: false

fetchboolean

default: false

authboolean

default: false

envboolean

default: false

realtimeboolean

default: false

loggingboolean

default: false

gravatarboolean

default: false

spamboolean

default: false

emailboolean

default: false

contentboolean

default: false

storageboolean

default: false

executionStatestringrequired

Allowed:absent``ready``serving

bundleSizeintegerrequired

min 0 · max 9007199254740991

bundleSha256stringrequired

matches ^sha256:[a-f0-9]{64}$

variablesobjectrequired

Show propertiesHide properties

sourcestringrequired

namesstring[]required

default: []

any

any

any

any

pendingAppobject | anyrequired

The same read as `app`, taken from `pendingVersionId`, so a dashboard can show what a publish in flight is about to serve. Null when nothing is in flight, and null for a caller without `versions:read`.

Show propertiesHide properties

Any of:

object

capsuleobject | anyrequired

The Zero capsule the live version carries. Null when it carries none.

Show propertiesHide properties

Any of:

object

artifactIdstringrequired

min length 1

appNamestringrequired

min length 1

serverRuntimestringrequired

inspectobjectrequired

Show propertiesHide properties

policystringrequired

Allowed:private``public

installobjectrequired

Show propertiesHide properties

runtimeKindstringrequired

enginestringrequired

storageRootstringrequired

artifactPathstringrequired

configPathstringrequired

binaryobjectrequired

Show propertiesHide properties

pathstringrequired

compatibilityTargetobjectrequired

Show propertiesHide properties

profilestringrequired

osstringrequired

cpustringrequired

libcstringrequired

linkingstringrequired

requireExecutableBitbooleanrequired

sha256string | anyrequired

default: null

Show propertiesHide properties

Any of:

string

string

any

any

requiredbooleanrequired

mysqlobjectrequired

Show propertiesHide properties

migrateAtFinalizebooleanrequired

blockIncompatibleRollbackbooleanrequired

realtimeobjectrequired

Show propertiesHide properties

productionstringrequired

localstringrequired

tablesstring[]required

default: []

queriesstring[]required

default: []

mutationsstring[]required

default: []

endpointsobject[]required

default: []

Show propertiesHide properties

Array of object

methodstringrequired

Allowed:GET``HEAD``POST``PUT``PATCH``DELETE``OPTIONS

pathstringrequired

min length 1 · max length 2048 · matches ^\/.*

socketsstring[]required

default: []

serverBundleSizeinteger | anyrequired

Size of the compiled server bundle in bytes. Null when this version's metadata records no size, never 0.

Show propertiesHide properties

Any of:

integer

integer

any

any

clientBundleSizeinteger | anyrequired

Size of the compiled client bundle in bytes, counting only what the capsule publishes. Null when this version's metadata records no size, never 0.

Show propertiesHide properties

Any of:

integer

integer

any

any

migrationCountintegerrequired

min 0 · max 9007199254740991

schemaHashstring | anyrequired

Show propertiesHide properties

Any of:

string

string

any

any

variablesobjectrequired

Show propertiesHide properties

sourcestringrequired

namesstring[]required

default: []

realtimeobjectrequired

Show propertiesHide properties

centralUrlstring | anyrequired

default: null

Show propertiesHide properties

Any of:

string

string<uri>

any

any

pathstring

min length 1 · matches ^\/.*

replayPathstring | any

Show propertiesHide properties

Any of:

string

string

any

any

replayUrlstring | any

Show propertiesHide properties

Any of:

string

string<uri>

any

any

runPathstring | any

Show propertiesHide properties

Any of:

string

string

any

any

runUrlstring | any

Show propertiesHide properties

Any of:

string

string<uri>

any

any

resourceKeystring | any

Show propertiesHide properties

Any of:

string

string

any

any

ticketPathstring | any

Show propertiesHide properties

Any of:

string

string

any

any

socketPathstring | any

Show propertiesHide properties

Any of:

string

string

any

any

spaceIdstring | any

Show propertiesHide properties

Any of:

string

string

any

any

versionIdstring | any

Show propertiesHide properties

Any of:

string

string

any

any

any

any

workerobject | anyrequired

The worker the live version carries. Null when it carries none.

Show propertiesHide properties

Any of:

object

artifactIdstringrequired

min length 1

appNamestringrequired

min length 1

entrystringrequired

min length 1

compatibilityDatestringrequired

matches ^\d{4}-\d{2}-\d{2}$

compatibilityFlagsstring[]required

default: []

routesobject[]required

default: []

Show propertiesHide properties

Array of object

methodstring | anyrequired

default: null

Show propertiesHide properties

Any of:

string

string

any

any

pathstringrequired

min length 1 · max length 2048 · matches ^\/.*

subtreebooleanrequired

default: false

capabilitiesobjectrequired

default: {}

Show propertiesHide properties

dbboolean

default: false

fetchboolean

default: false

authboolean

default: false

envboolean

default: false

realtimeboolean

default: false

loggingboolean

default: false

gravatarboolean

default: false

spamboolean

default: false

emailboolean

default: false

contentboolean

default: false

storageboolean

default: false

executionStatestringrequired

Allowed:absent``ready``serving

bundleSizeintegerrequired

min 0 · max 9007199254740991

bundleSha256stringrequired

matches ^sha256:[a-f0-9]{64}$

variablesobjectrequired

Show propertiesHide properties

sourcestringrequired

namesstring[]required

default: []

any

any

any

any

object

statusstringrequired

problemobjectrequired

Show propertiesHide properties

typestringrequired

URL of the documentation page for this error. Derived from `code`.

titlestringrequired

Human-readable name of the error type. Derived from `code`.

statusintegerrequired

HTTP status of the response, repeated in the body.

min -9007199254740991 · max 9007199254740991

detailstringrequired

What went wrong in this request.

codestringrequired

Stable snake_case error code. Match on this, not on `detail`.

pointerstring

RFC 6901 JSON Pointer to the request field or batch entry that failed, for example `/files/37/path`. Present on validation failures.

detailsobject

Machine-readable context keyed by the error code.

suggestionsstring[]

Recovery steps safe to show to a person.

nextstring[]

Commands or API requests to run next, usable as written.

object

statusstringrequired

defaultError. Every 4xx and 5xx response is one RFC 9457 problem document served as `application/problem+json`.

$schemastring

Canonical JSON Schema URL for this response body. The server also sends it in the `Link: rel="describedby"` response header.

typestringrequired

URL of the documentation page for this error. Derived from `code`.

titlestringrequired

Human-readable name of the error type. Derived from `code`.

statusintegerrequired

HTTP status of the response, repeated in the body.

min -9007199254740991 · max 9007199254740991

detailstringrequired

What went wrong in this request.

codestringrequired

Stable snake_case error code. Match on this, not on `detail`.

pointerstring

RFC 6901 JSON Pointer to the request field or batch entry that failed, for example `/files/37/path`. Present on validation failures.

detailsobject

Machine-readable context keyed by the error code.

suggestionsstring[]

Recovery steps safe to show to a person.

nextstring[]

Commands or API requests to run next, usable as written.

requestIdstringrequired

ID of this request, from the `X-Request-Id` header or generated. Quote it when contacting support.

Try it

Server

Base URLhttps://api.spacefast.comCustom base URLOverrides the selected server when set.

Authorization

Bearer tokenRemember on this deviceInclude my values in samples

Parameters

teamRefqueryspaceRefquery

Send

Request

cURLJavaScriptPython

CopyCopied

curl -X GET "https://api.spacefast.com/v1/bootstrap" \
  -H "Authorization: Bearer YOUR_TOKEN"
const response = await fetch("https://api.spacefast.com/v1/bootstrap", {
  method: "GET",
  headers: {
    "Authorization": "Bearer YOUR_TOKEN"
  }
});
import requests

response = requests.get(
    "https://api.spacefast.com/v1/bootstrap",
    headers={
        "Authorization": "Bearer YOUR_TOKEN"
    },
)

Response

200default

{
  "$schema": "http://example.com",
  "data": {
    "me": {
      "subject": {
        "type": "user",
        "id": "string"
      },
      "user": {
        "id": "string",
        "email": "string",
        "name": "string",
        "isAutomattician": true,
        "wpcom": {
          "property1": null,
          "property2": null
        },
        "isSuperadmin": true,
        "pendingDeletionAt": "string",
        "dashboardPrefs": {
          "property1": null,
          "property2": null
        },
        "privacy": {
          "analyticsOptOut": true,
          "advertisingOptOut": true
        }
      },
      "tenants": [\
        {\
          "id": "string",\
          "kind": "string",\
          "name": "string",\
          "access": "full"\
        }\
      ],
      "teams": [\
        {\
          "id": "string",\
          "name": "string",\
          "slug": "string",\
          "role": "string",\
          "plan": "free"\
        }\
      ],
      "intercom": {
        "api_base": "http://example.com",
        "app_id": "string",
        "user_id": "string",
        "email": "user@example.com",
        "name": "string",
        "created_at": 9007199254740991,
        "company": {
          "company_id": "string",
          "name": "string",
          "plan": "free"
        },
        "intercom_user_jwt": "string",
        "session_duration": 9007199254740991,
        "expiresAt": "2019-08-24T14:15:22Z"
      },
      "beta": {
        "gateEnabled": true,
        "enrolled": true,
        "eligibleTeams": [\
          {\
            "teamId": "string",\
            "name": "string",\
            "slug": "string",\
            "source": "invitation"\
          }\
        ]
      }
    },
    "teams": [\
      {\
        "id": "string",\
        "name": "string",\
        "slug": "string",\
        "role": "owner",\
        "plan": "free",\
        "partner": {\
          "enabledAt": "2019-08-24T14:15:22Z"\
        },\
        "defaultDataLocation": "string",\
        "createdAt": "2019-08-24T14:15:22Z",\
        "updatedAt": "2019-08-24T14:15:22Z"\
      }\
    ],
    "teamsPagination": {
      "nextCursor": "string",
      "hasMore": true
    },
    "resolvedTeam": {
      "status": "resolved",
      "value": {
        "id": "string",
        "name": "string",
        "slug": "string",
        "role": "owner",
        "plan": "free",
        "partner": {
          "enabledAt": "2019-08-24T14:15:22Z"
        },
        "defaultDataLocation": "string",
        "createdAt": "2019-08-24T14:15:22Z",
        "updatedAt": "2019-08-24T14:15:22Z",
        "logo": "string",
        "metadata": "string",
        "stripeCustomerId": "string",
        "systemSpaceId": "string",
        "manifestStatus": {
          "items": [\
            {\
              "key": "string",\
              "state": "pending",\
              "detail": "string",\
              "since": "2019-08-24T14:15:22Z",\
              "audience": "string"\
            }\
          ],
          "sourceVersionId": "string"
        },
        "presentation": {
          "name": "string",
          "logo": "string",
          "supportUrl": "string",
          "claimOrigin": "string",
          "accessHandoffOrigin": "string",
          "problemDocsBaseUrl": "string",
          "contacts": {
            "property1": "string",
            "property2": "string"
          }
        }
      }
    },
    "resolvedSpace": {
      "status": "resolved",
      "value": {
        "id": "string",
        "teamId": "string",
        "teamSlug": "string",
        "anonymous": true,
        "slug": "string",
        "title": "string",
        "status": "provisioning",
        "disabled": {
          "at": "2019-08-24T14:15:22Z",
          "reasonCode": "anonymous_expired"
        },
        "claimState": {
          "expiresAt": "2019-08-24T14:15:22Z",
          "claimedAt": "2019-08-24T14:15:22Z",
          "purgeAfter": "2019-08-24T14:15:22Z"
        },
        "expiryExtension": {
          "extendedTo": "2019-08-24T14:15:22Z"
        },
        "defaultHostname": "string",
        "publicName": "string",
        "liveUrl": "string",
        "thumbnail": {
          "kind": "screenshot",
          "provider": "wpcom-mshots",
          "url": "http://example.com",
          "sourceUrl": "http://example.com"
        },
        "dataLocation": "string",
        "region": "string",
        "burstable": true,
        "archivedBytes": 9007199254740991,
        "hasRuntime": true,
        "channels": {
          "property1": {
            "versionId": "string",
            "updatedAt": "2019-08-24T14:15:22Z"
          },
          "property2": {
            "versionId": "string",
            "updatedAt": "2019-08-24T14:15:22Z"
          }
        },
        "config": {
          "index": "string",
          "fallback": "string",
          "cleanUrls": true,
          "listing": true,
          "meta": {
            "title": "string",
            "description": "string",
            "image": "string",
            "favicon": "string"
          },
          "superpowers": {
            "enabled": true,
            "disable_all_injection": true,
            "googleAnalytics": {
              "enabled": true,
              "measurementId": "string"
            },
            "googleTagManager": {
              "enabled": true,
              "containerId": "string"
            },
            "javascriptTags": [\
              {\
                "id": "string",\
                "name": "string",\
                "enabled": true,\
                "code": "string"\
              }\
            ],
            "tags": {
              "inheritance": {
                "inherited": true,
                "overrides": [\
                  {\
                    "tagId": "string",\
                    "disabled": false,\
                    "reason": "string"\
                  }\
                ]
              },
              "requireReview": true
            }
          },
          "templates": [\
            "string"\
          ],
          "theme": {
            "accent": "string",
            "background": "string",
            "logo": "string",
            "name": "string",
            "font": "string",
            "hideSpacefastBranding": true
          },
          "build": {
            "rootDirectory": "string",
            "installDirectory": "string",
            "installCommand": "string",
            "buildCommand": "string",
            "outputDirectory": "string",
            "ignoredBuildCommand": "string",
            "frameworkPreset": "string",
            "platformPreset": "string",
            "allowUnsupportedPlatformFeatures": true,
            "timeoutSeconds": 60
          },
          "placement": {
            "burstable": true
          },
          "markdownNegotiation": true,
          "dataSources": {
            "property1": {
              "kind": "wordpress",
              "url": "http://example.com"
            },
            "property2": {
              "kind": "wordpress",
              "url": "http://example.com"
            }
          },
          "defaultDataSource": "string"
        },
        "settingsDigest": "string",
        "noindex": true,
        "pinnedAt": "2019-08-24T14:15:22Z",
        "git": {
          "managedBy": "spacefast",
          "remoteUrl": "string",
          "repository": "string",
          "defaultBranch": "string"
        },
        "operation": {
          "id": "string",
          "kind": "string",
          "status": "queued",
          "resources": [\
            {\
              "type": "string",\
              "id": "string"\
            }\
          ],
          "progress": {
            "total": 9007199254740991,
            "completed": 9007199254740991,
            "failed": 9007199254740991
          },
          "diagnostics": [\
            {\
              "code": "string",\
              "severity": "info",\
              "message": "string",\
              "path": "string",\
              "provider": "infra",\
              "details": {\
                "property1": null,\
                "property2": null\
              },\
              "fix": "string",\
              "retryable": true\
            }\
          ],
          "createdAt": "2019-08-24T14:15:22Z",
          "finishedAt": "2019-08-24T14:15:22Z"
        },
        "createdAt": "2019-08-24T14:15:22Z",
        "updatedAt": "2019-08-24T14:15:22Z"
      }
    },
    "spaceRuntime": {
      "status": "resolved",
      "value": {
        "liveVersionId": "string",
        "pendingVersionId": "string",
        "liveUrl": "string",
        "runtimeState": "provisioning",
        "liveVersionStatus": "building",
        "pendingVersionStatus": "building",
        "operation": {
          "id": "string",
          "kind": "string",
          "status": "queued",
          "resources": [\
            {\
              "type": "string",\
              "id": "string"\
            }\
          ],
          "progress": {
            "total": 9007199254740991,
            "completed": 9007199254740991,
            "failed": 9007199254740991
          },
          "diagnostics": [\
            {\
              "code": "string",\
              "severity": "info",\
              "message": "string",\
              "path": "string",\
              "provider": "infra",\
              "details": {\
                "property1": null,\
                "property2": null\
              },\
              "fix": "string",\
              "retryable": true\
            }\
          ],
          "createdAt": "2019-08-24T14:15:22Z",
          "finishedAt": "2019-08-24T14:15:22Z"
        },
        "app": {
          "capsule": {
            "artifactId": "string",
            "appName": "string",
            "serverRuntime": "quickjs-rust",
            "inspect": {
              "policy": "private"
            },
            "install": {
              "runtimeKind": "zero",
              "engine": "quickjs-rust",
              "storageRoot": "__spacefast/zero",
              "artifactPath": "__spacefast/zero/artifact.json",
              "configPath": "__spacefast/zero/config.json",
              "binary": {
                "path": "__spacefast/zero/bin/stattic-runtime",
                "compatibilityTarget": {
                  "profile": "linux-x86_64-gnu-v1",
                  "os": "linux",
                  "cpu": "x86_64",
                  "libc": "glibc",
                  "linking": "dynamic",
                  "requireExecutableBit": true
                },
                "sha256": null,
                "required": true
              },
              "mysql": {
                "migrateAtFinalize": true,
                "blockIncompatibleRollback": true
              },
              "realtime": {
                "production": "central",
                "local": "foreground-cli-ws"
              }
            },
            "tables": [],
            "queries": [],
            "mutations": [],
            "endpoints": [],
            "sockets": [],
            "serverBundleSize": 9007199254740991,
            "clientBundleSize": 9007199254740991,
            "migrationCount": 9007199254740991,
            "schemaHash": "string",
            "variables": {
              "source": "stattic-variables",
              "names": []
            },
            "realtime": {
              "centralUrl": null,
              "path": "string",
              "replayPath": "string",
              "replayUrl": "http://example.com",
              "runPath": "string",
              "runUrl": "http://example.com",
              "resourceKey": "string",
              "ticketPath": "string",
              "socketPath": "string",
              "spaceId": "string",
              "versionId": "string"
            }
          },
          "worker": {
            "artifactId": "string",
            "appName": "string",
            "entry": "string",
            "compatibilityDate": "string",
            "compatibilityFlags": [],
            "routes": [],
            "capabilities": {},
            "executionState": "absent",
            "bundleSize": 9007199254740991,
            "bundleSha256": "string",
            "variables": {
              "source": "spacefast-variables",
              "names": []
            }
          }
        },
        "pendingApp": {
          "capsule": {
            "artifactId": "string",
            "appName": "string",
            "serverRuntime": "quickjs-rust",
            "inspect": {
              "policy": "private"
            },
            "install": {
              "runtimeKind": "zero",
              "engine": "quickjs-rust",
              "storageRoot": "__spacefast/zero",
              "artifactPath": "__spacefast/zero/artifact.json",
              "configPath": "__spacefast/zero/config.json",
              "binary": {
                "path": "__spacefast/zero/bin/stattic-runtime",
                "compatibilityTarget": {
                  "profile": "linux-x86_64-gnu-v1",
                  "os": "linux",
                  "cpu": "x86_64",
                  "libc": "glibc",
                  "linking": "dynamic",
                  "requireExecutableBit": true
                },
                "sha256": null,
                "required": true
              },
              "mysql": {
                "migrateAtFinalize": true,
                "blockIncompatibleRollback": true
              },
              "realtime": {
                "production": "central",
                "local": "foreground-cli-ws"
              }
            },
            "tables": [],
            "queries": [],
            "mutations": [],
            "endpoints": [],
            "sockets": [],
            "serverBundleSize": 9007199254740991,
            "clientBundleSize": 9007199254740991,
            "migrationCount": 9007199254740991,
            "schemaHash": "string",
            "variables": {
              "source": "stattic-variables",
              "names": []
            },
            "realtime": {
              "centralUrl": null,
              "path": "string",
              "replayPath": "string",
              "replayUrl": "http://example.com",
              "runPath": "string",
              "runUrl": "http://example.com",
              "resourceKey": "string",
              "ticketPath": "string",
              "socketPath": "string",
              "spaceId": "string",
              "versionId": "string"
            }
          },
          "worker": {
            "artifactId": "string",
            "appName": "string",
            "entry": "string",
            "compatibilityDate": "string",
            "compatibilityFlags": [],
            "routes": [],
            "capabilities": {},
            "executionState": "absent",
            "bundleSize": 9007199254740991,
            "bundleSha256": "string",
            "variables": {
              "source": "spacefast-variables",
              "names": []
            }
          }
        }
      }
    }
  }
}
{
  "$schema": "http://example.com",
  "type": "string",
  "title": "string",
  "status": -9007199254740991,
  "detail": "string",
  "code": "string",
  "pointer": "string",
  "details": {
    "property1": null,
    "property2": null
  },
  "suggestions": [\
    "string"\
  ],
  "next": [\
    "string"\
  ],
  "requestId": "string"
}