Pages
List page assignments
Returns the page assignments of a project, oldest first. Each assignment maps a page type + handle + locale to a pageId; several assignments can share one template page.
- Treat type + handle as an opaque pair and pass them unchanged to GET /projects/{projectId}/pages/{type}/{handle}. Custom page handles may contain /: an entry with type: "CUSTOM" and handle: "pages/gift-shop" is fetched at /projects/{projectId}/pages/CUSTOM/pages/gift-shop.
- The locale filter is an exact match with no fallback. An empty locale value returns 400.
- An unknown type filter or an invalid cursor returns 400 INVALID_PARAMS.
- updatedAt is the owning page's revision timestamp (the same value the page detail endpoint returns), so changed pages can be detected without one request per page. Assignments that share a template page report the same value. List responses are cached, so the value may briefly lag.
- isTemplateMarker is true for internal alias rows Weaverse creates to wire a custom template to its page. Markers are labelled, never filtered, so pagination stays stable; filter them client-side when you only want real storefront pages.
- Inherited pages from a parent project are not listed.
- Paginate with limit (default 50, max 100) and after (the previous nextCursor).
Required scope: content:read
get/projects/{projectId}/pages
Request
- Base URLhttps://studio.weaverse.io/api/v1/content
- AuthHTTP bearer
Path parameters
projectIdstring required
Query parameters
type'INDEX' | 'PRODUCT' | 'ALL_PRODUCTS' | 'COLLECTION' | 'COLLECTION_LIST' | 'PAGE' | 'BLOG' | 'ARTICLE' | 'CART' | 'CUSTOMER' | 'NOT_FOUND' | 'PASSWORD' | 'SEARCH' | 'CUSTOM'
localestring
Exact locale match (e.g. "en-us"). No fallback applied on list endpoint.
afterstring
limitinteger
Response
Paginated list of page assignments
Changes
No recorded changes to this operation across all 1 revision of this API.