Project
A grouping of websites inside one account — the parent a website is created under.
List projects
A grouping of websites inside one account — the parent every website is created under. One project is enough for a single site; an agency keeps one per client.
path Parameters
account_idThe account this project belongs to. The URL already fixes it, so a write cannot move a project between accounts.
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: create_time, display_name.
filterAIP-160 subset (§8). Filterable: create_time, display_name, is_active. A field outside the list is INVALID_ARGUMENT.
List projects › Responses
One page of projects.
This page of projects, 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 project
A grouping of websites inside one account — the parent every website is created under. One project is enough for a single site; an agency keeps one per client.
path Parameters
account_idThe account this project belongs to. The URL already fixes it, so a write cannot move a project between accounts.
Create project › Request Body
display_nameThe project's label, unique inside its account.
is_activeWhether the project is in use. Nothing filters on it for you — it is the tenant's own flag for retiring a project without deleting it.
icon_colorThe colour, #rrggbb, that the admin tints this project's badge with when it lists several projects 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 project › 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).
account_idThe account this project belongs to. The URL already fixes it, so a write cannot move a project between accounts.
display_nameThe project's label, unique inside its account.
is_activeWhether the project is in use. Nothing filters on it for you — it is the tenant's own flag for retiring a project without deleting it.
icon_colorThe colour, #rrggbb, that the admin tints this project's badge with when it lists several projects 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 project
A grouping of websites inside one account — the parent every website is created under. One project is enough for a single site; an agency keeps one per client.
path Parameters
account_idThe account this project belongs to. The URL already fixes it, so a write cannot move a project between accounts.
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 project › 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).
account_idThe account this project belongs to. The URL already fixes it, so a write cannot move a project between accounts.
display_nameThe project's label, unique inside its account.
is_activeWhether the project is in use. Nothing filters on it for you — it is the tenant's own flag for retiring a project without deleting it.
icon_colorThe colour, #rrggbb, that the admin tints this project's badge with when it lists several projects 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 project
A grouping of websites inside one account — the parent every website is created under. One project is enough for a single site; an agency keeps one per client.
path Parameters
account_idThe account this project belongs to. The URL already fixes it, so a write cannot move a project between accounts.
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 project › Responses
Deleted. No body (§7).
Update project
A grouping of websites inside one account — the parent every website is created under. One project is enough for a single site; an agency keeps one per client.
path Parameters
account_idThe account this project belongs to. The URL already fixes it, so a write cannot move a project between accounts.
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 project › Request Body
display_nameThe project's label, unique inside its account.
is_activeWhether the project is in use. Nothing filters on it for you — it is the tenant's own flag for retiring a project without deleting it.
icon_colorThe colour, #rrggbb, that the admin tints this project's badge with when it lists several projects 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 project › 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).
account_idThe account this project belongs to. The URL already fixes it, so a write cannot move a project between accounts.
display_nameThe project's label, unique inside its account.
is_activeWhether the project is in use. Nothing filters on it for you — it is the tenant's own flag for retiring a project without deleting it.
icon_colorThe colour, #rrggbb, that the admin tints this project's badge with when it lists several projects 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.