Website
The unit the platform publishes. Creating one starts provisioning and answers with an Operation to poll (§17); code is immutable because the platform hostname is built from it.
List websites
The unit the platform publishes: one website is one site, with its own pages, blog, media, menus, themes, views and settings hanging off it. Creating one starts provisioning and answers with an Operation to poll (§17) — the resource exists immediately, but it is not servable until that Operation is done. Everything else in this API is addressed under websites/{website}.
path Parameters
project_idThe last segment of parent. Settable on create, immutable afterwards: a website does not move between projects.
query Parameters
page_sizeRows per page. Over the maximum is clamped, not rejected.
page_tokenOpaque token from a previous next_page_token. A token minted under a different order_by/filter is rejected.
skipRows to skip before the page (AIP-158). skip + page_size is capped at 10000; beyond that is OUT_OF_RANGE.
order_byComma-separated field [asc|desc], at most 3 keys. Default: create_time desc. Sortable: code, create_time, display_name.
filterAIP-160 subset (§8). Filterable: code, create_time, display_name, is_active, project_id, provisioning_status, type. A field outside the list is INVALID_ARGUMENT.
List websites › Responses
One page of websites.
This page of websites, in the requested order.
next_page_tokenOpaque. Absent or empty means this was the last page.
total_sizeRows in the whole filtered collection, not in this page.
Create website
The unit the platform publishes: one website is one site, with its own pages, blog, media, menus, themes, views and settings hanging off it. Creating one starts provisioning and answers with an Operation to poll (§17) — the resource exists immediately, but it is not servable until that Operation is done. Everything else in this API is addressed under websites/{website}.
path Parameters
project_idThe last segment of parent. Settable on create, immutable afterwards: a website does not move between projects.
Create website › Request Body
display_nameThe website's label in the admin. Free text, and unrelated to the hostname — that is code.
is_activeWhether the website is live. The list on this surface returns only active websites — an inactive one is still reachable by name, it is just not browsable.
project_idThe last segment of parent. Settable on create, immutable afterwards: a website does not move between projects.
codeThe website's short slug, and the label the platform hostname is built from. Immutable — changing it would move a live site's URL.
icon_colorThe colour, #rrggbb, that the admin tints this website's badge with when it lists several sites side by side. Leave it unset and the admin derives a stable colour from the id — set it only to override that choice, and send null to go back to the derived one.
Create website › Responses
The created resource.
nameThe resource name (§5) — the identity of this resource, and the path that addresses it: websites/{website}/cms_pages/{cms_page}. It is the handle to store, not a human label.
idThe last segment of name on its own, for a client that needs to build a child URL. Unique inside its parent, never across the platform.
create_timeWhen the resource was created (RFC 3339, UTC).
update_timeWhen the resource last changed (RFC 3339, UTC).
etagVersion of the persisted state. Send it back in If-Match on Update or Delete and the write is rejected with ABORTED if anyone else changed the resource meanwhile (§14).
parentThe resource name of the project this website belongs to, accounts/{account}/projects/{project} — the link upward that the website's own one-segment name no longer carries.
project_idThe last segment of parent. Settable on create, immutable afterwards: a website does not move between projects.
codeThe website's short slug, and the label the platform hostname is built from. Immutable — changing it would move a live site's URL.
display_nameThe website's label in the admin. Free text, and unrelated to the hostname — that is code.
is_activeWhether the website is live. The list on this surface returns only active websites — an inactive one is still reachable by name, it is just not browsable.
provisioning_statusHow far provisioning has got: PENDING, READY or FAILED. It is here so a list can show a site that is still coming up — to wait for one, poll the Operation that Create named (§17).
typeThe kind of site this was provisioned as, which chose its seeded content. Set at signup and not changed afterwards.
icon_colorThe colour, #rrggbb, that the admin tints this website's badge with when it lists several sites side by side. Leave it unset and the admin derives a stable colour from the id — set it only to override that choice, and send null to go back to the derived one.
Get website
The unit the platform publishes: one website is one site, with its own pages, blog, media, menus, themes, views and settings hanging off it. Creating one starts provisioning and answers with an Operation to poll (§17) — the resource exists immediately, but it is not servable until that Operation is done. Everything else in this API is addressed under websites/{website}.
path Parameters
idThe last segment of name on its own, for a client that needs to build a child URL. Unique inside its parent, never across the platform.
Headers
If-None-MatchA matching etag answers 304 with no body (§16).
Get website › Responses
The resource.
nameThe resource name (§5) — the identity of this resource, and the path that addresses it: websites/{website}/cms_pages/{cms_page}. It is the handle to store, not a human label.
idThe last segment of name on its own, for a client that needs to build a child URL. Unique inside its parent, never across the platform.
create_timeWhen the resource was created (RFC 3339, UTC).
update_timeWhen the resource last changed (RFC 3339, UTC).
etagVersion of the persisted state. Send it back in If-Match on Update or Delete and the write is rejected with ABORTED if anyone else changed the resource meanwhile (§14).
parentThe resource name of the project this website belongs to, accounts/{account}/projects/{project} — the link upward that the website's own one-segment name no longer carries.
project_idThe last segment of parent. Settable on create, immutable afterwards: a website does not move between projects.
codeThe website's short slug, and the label the platform hostname is built from. Immutable — changing it would move a live site's URL.
display_nameThe website's label in the admin. Free text, and unrelated to the hostname — that is code.
is_activeWhether the website is live. The list on this surface returns only active websites — an inactive one is still reachable by name, it is just not browsable.
provisioning_statusHow far provisioning has got: PENDING, READY or FAILED. It is here so a list can show a site that is still coming up — to wait for one, poll the Operation that Create named (§17).
typeThe kind of site this was provisioned as, which chose its seeded content. Set at signup and not changed afterwards.
icon_colorThe colour, #rrggbb, that the admin tints this website's badge with when it lists several sites side by side. Leave it unset and the admin derives a stable colour from the id — set it only to override that choice, and send null to go back to the derived one.
Delete website
The unit the platform publishes: one website is one site, with its own pages, blog, media, menus, themes, views and settings hanging off it. Creating one starts provisioning and answers with an Operation to poll (§17) — the resource exists immediately, but it is not servable until that Operation is done. Everything else in this API is addressed under websites/{website}.
path Parameters
idThe last segment of name on its own, for a client that needs to build a child URL. Unique inside its parent, never across the platform.
Headers
If-MatchThe etag the client last read. A mismatch is ABORTED (409) with the current resource in the error details (§14).
Delete website › Responses
Deleted. No body (§7).
Update website
The unit the platform publishes: one website is one site, with its own pages, blog, media, menus, themes, views and settings hanging off it. Creating one starts provisioning and answers with an Operation to poll (§17) — the resource exists immediately, but it is not servable until that Operation is done. Everything else in this API is addressed under websites/{website}.
path Parameters
idThe last segment of name on its own, for a client that needs to build a child URL. Unique inside its parent, never across the platform.
query Parameters
update_maskComma-separated field paths to merge. A field named here and sent as null is cleared; without the mask a null is dropped (§7, §11).
Headers
If-MatchThe etag the client last read. A mismatch is ABORTED (409) with the current resource in the error details (§14).
Update website › Request Body
display_nameThe website's label in the admin. Free text, and unrelated to the hostname — that is code.
is_activeWhether the website is live. The list on this surface returns only active websites — an inactive one is still reachable by name, it is just not browsable.
icon_colorThe colour, #rrggbb, that the admin tints this website's badge with when it lists several sites side by side. Leave it unset and the admin derives a stable colour from the id — set it only to override that choice, and send null to go back to the derived one.
Update website › Responses
The updated resource.
nameThe resource name (§5) — the identity of this resource, and the path that addresses it: websites/{website}/cms_pages/{cms_page}. It is the handle to store, not a human label.
idThe last segment of name on its own, for a client that needs to build a child URL. Unique inside its parent, never across the platform.
create_timeWhen the resource was created (RFC 3339, UTC).
update_timeWhen the resource last changed (RFC 3339, UTC).
etagVersion of the persisted state. Send it back in If-Match on Update or Delete and the write is rejected with ABORTED if anyone else changed the resource meanwhile (§14).
parentThe resource name of the project this website belongs to, accounts/{account}/projects/{project} — the link upward that the website's own one-segment name no longer carries.
project_idThe last segment of parent. Settable on create, immutable afterwards: a website does not move between projects.
codeThe website's short slug, and the label the platform hostname is built from. Immutable — changing it would move a live site's URL.
display_nameThe website's label in the admin. Free text, and unrelated to the hostname — that is code.
is_activeWhether the website is live. The list on this surface returns only active websites — an inactive one is still reachable by name, it is just not browsable.
provisioning_statusHow far provisioning has got: PENDING, READY or FAILED. It is here so a list can show a site that is still coming up — to wait for one, poll the Operation that Create named (§17).
typeThe kind of site this was provisioned as, which chose its seeded content. Set at signup and not changed afterwards.
icon_colorThe colour, #rrggbb, that the admin tints this website's badge with when it lists several sites side by side. Leave it unset and the admin derives a stable colour from the id — set it only to override that choice, and send null to go back to the derived one.