curl --request GET \
--url https://studio.weaverse.io/api/v1/content/projects/{projectId}/page-settings/{pageId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://studio.weaverse.io/api/v1/content/projects/{projectId}/page-settings/{pageId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://studio.weaverse.io/api/v1/content/projects/{projectId}/page-settings/{pageId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"object": "page_settings",
"page": {
"id": "clz8q1m2n0004pg01abou0003",
"name": "About us",
"prefix": "",
"pageAssignments": [
{
"id": "clz8r5t6u0005pa01abou0001",
"type": "CUSTOM",
"handle": "about-us",
"locale": ""
}
]
},
"seo": {
"title": "About us",
"description": "Who we are and how we make our products.",
"openGraph": {
"title": "About us",
"type": "website"
}
}
}{
"object": "error",
"code": "UNAUTHORIZED",
"message": "<string>",
"status": 123,
"details": "<unknown>"
}{
"object": "error",
"code": "UNAUTHORIZED",
"message": "<string>",
"status": 123,
"details": "<unknown>"
}{
"object": "error",
"code": "UNAUTHORIZED",
"message": "<string>",
"status": 123,
"details": "<unknown>"
}Get page settings
Returns the non-content settings of one page: the page row (name, prefix), this project’s assignments of the page (id, type, handle, locale), and its SEO fields (seo, or null when none are set).
Only pages this project owns exclusively are readable. A page also attached to another project returns 404, and only this project’s assignments are listed.
Required scope: content:read
curl --request GET \
--url https://studio.weaverse.io/api/v1/content/projects/{projectId}/page-settings/{pageId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://studio.weaverse.io/api/v1/content/projects/{projectId}/page-settings/{pageId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://studio.weaverse.io/api/v1/content/projects/{projectId}/page-settings/{pageId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"object": "page_settings",
"page": {
"id": "clz8q1m2n0004pg01abou0003",
"name": "About us",
"prefix": "",
"pageAssignments": [
{
"id": "clz8r5t6u0005pa01abou0001",
"type": "CUSTOM",
"handle": "about-us",
"locale": ""
}
]
},
"seo": {
"title": "About us",
"description": "Who we are and how we make our products.",
"openGraph": {
"title": "About us",
"type": "website"
}
}
}{
"object": "error",
"code": "UNAUTHORIZED",
"message": "<string>",
"status": 123,
"details": "<unknown>"
}{
"object": "error",
"code": "UNAUTHORIZED",
"message": "<string>",
"status": 123,
"details": "<unknown>"
}{
"object": "error",
"code": "UNAUTHORIZED",
"message": "<string>",
"status": 123,
"details": "<unknown>"
}Authorizations
Bearer authentication: a shop API key (WEAVERSE_API_KEY), a scoped API key, a delegated MCP OAuth token, or (translation-unit routes only) a project-bound translation agent token. Scopes: content:read — Read projects, pages, theme settings, versions, drafts and translation units. content:write — Save drafts and make non-destructive edits (page items, metadata, SEO, assignments, languages, glossary). Never publishes or deletes. content:publish — Publish drafts, schedule/reschedule/cancel publications, restore versions, publish global sections. content:delete — Delete pages, global sections, languages, static keys, override reverts; required with project:manage for project deletion. project:manage — Create/copy/delete projects, settings, variants, hierarchy, backups, restore-as-new, previews, hostname policy. translations:read — Read translation units only (no general content access). translations:write — Apply translation units only; never mutates page content. A legacy unscoped API key keeps read/write/translation baseline access and every pre-scope endpoint, but never gains publish/delete/project-manage implicitly.
Response
Page row, assignments, SEO
The response is of type object.
Was this page helpful?