Skip to main content

List Pages

GET /api/v1/content/projects/:projectId/pages
Returns a paginated list of page assignments in a project. Each assignment maps a page type + handle + locale to a page.

Authentication

Requires a Content API key. See Authentication.

Path parameters

ParameterTypeRequiredDescription
projectIdstringYesThe project ID

Query parameters

ParameterTypeDefaultDescription
typestringFilter by page type (see valid values below)
localestringFilter by locale code (e.g., en-us, fr-fr)
limitinteger50Number of results to return (max 100)
afterstringCursor for pagination (from nextCursor)

Valid page types

INDEX, PRODUCT, COLLECTION, PAGE, BLOG, ARTICLE, CUSTOM

Response

{
  "object": "list",
  "data": [
    {
      "id": "clz4mno56pqr789stuv",
      "type": "PRODUCT",
      "handle": "blue-shirt",
      "locale": "en-us",
      "pageId": "clz5wxy12abc345defg"
    },
    {
      "id": "clz4mno56pqr789wxyz",
      "type": "INDEX",
      "handle": "default",
      "locale": "en-us",
      "pageId": "clz5wxy12abc345hijk"
    }
  ],
  "nextCursor": null
}

Response fields

FieldTypeDescription
objectstringAlways "list"
dataarrayArray of page assignment objects
data[].idstringPage assignment ID
data[].typestringPage type (e.g., PRODUCT, INDEX)
data[].handlestringPage handle (e.g., product handle, default)
data[].localestringLocale code
data[].pageIdstringAssociated page ID
nextCursorstring | nullCursor for the next page

Errors

CodeStatusWhen
UNAUTHORIZED401Missing or invalid API key
FORBIDDEN403API key does not have access to this project
PROJECT_NOT_FOUND404Project does not exist or was deleted
INVALID_PARAMS400Invalid type filter or cursor value
INTERNAL_ERROR500Unexpected server error

Examples

# List all pages in a project
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://studio.weaverse.io/api/v1/content/projects/clx1abc23def456ghij/pages"

# Filter by type
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://studio.weaverse.io/api/v1/content/projects/clx1abc23def456ghij/pages?type=PRODUCT"

# Filter by locale
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://studio.weaverse.io/api/v1/content/projects/clx1abc23def456ghij/pages?locale=fr-fr&limit=20"