Documentation Index
Fetch the complete documentation index at: https://docs.weaverse.io/llms.txt
Use this file to discover all available pages before exploring further.
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
Path parameters
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | The project ID |
Query parameters
| Parameter | Type | Default | Description |
|---|
type | string | — | Filter by page type (see valid values below) |
locale | string | — | Filter by locale code (e.g., en-us, fr-fr) |
limit | integer | 50 | Number of results to return (max 100) |
after | string | — | Cursor 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
| Field | Type | Description |
|---|
object | string | Always "list" |
data | array | Array of page assignment objects |
data[].id | string | Page assignment ID |
data[].type | string | Page type (e.g., PRODUCT, INDEX) |
data[].handle | string | Page handle (e.g., product handle, default) |
data[].locale | string | Locale code |
data[].pageId | string | Associated page ID |
nextCursor | string | null | Cursor for the next page |
Errors
| Code | Status | When |
|---|
UNAUTHORIZED | 401 | Missing or invalid API key |
FORBIDDEN | 403 | API key does not have access to this project |
PROJECT_NOT_FOUND | 404 | Project does not exist or was deleted |
INVALID_PARAMS | 400 | Invalid type filter or cursor value |
INTERNAL_ERROR | 500 | Unexpected 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"
const projectId = 'clx1abc23def456ghij'
const params = new URLSearchParams({ type: 'PRODUCT', limit: '20' })
const res = await fetch(
`https://studio.weaverse.io/api/v1/content/projects/${projectId}/pages?${params}`,
{ headers: { Authorization: `Bearer ${API_KEY}` } }
)
const { data: pages, nextCursor } = await res.json()
import requests
project_id = "clx1abc23def456ghij"
res = requests.get(
f"https://studio.weaverse.io/api/v1/content/projects/{project_id}/pages",
headers={"Authorization": f"Bearer {API_KEY}"},
params={"type": "PRODUCT", "limit": 20},
)
data = res.json()
pages = data["data"]