Get Page

Returns a published page designed in the legacy dashboard page designer (the homepage sections or a custom page) as data: the design tree, a summary of its sections and the site design presets. It is public and read-only, and meant for rebuilding the page in your own code.

GET/v1/pages

Authentication

Public key?key=pk_…

Public key in the `key` query parameter. No OAuth, no secret.

Edge cache: 5 s

Query Parameters

keystring
required

The site's public key (pk_…). It selects the account. Safe to ship to the browser.

pathstring
optional

Site path of the page. Use `/` for the homepage sections or a `navigation.customPages[].path` from `GET /v1/site`. Must start with `/`, be at most 300 characters and contain no `?`, `#`, backslash or `..` segment. A trailing slash is ignored.

Default:/

Responses

200Success
application/json
pageobject
designobject
applicationIconsobject
originstring

Errors

400Invalid path
401Missing or invalid public key
403TENANT_INACTIVE: the account has no active subscription (body also carries `code`)
404Page not found: no published designer page lives at `path`

Notes

  • This is data to rebuild a page, not something to render as is. `page.schema` is the full normalized design tree and its shape is not a stable contract; `page.sections` is the readable summary.
  • Only pages from the legacy designer are returned. Pages that exist only as code on a Panda AI Builder site answer 404.
  • Without `path` the homepage (`/`) is returned.
Request
curl --request GET \
--url "https://api.pandaidx.com/v1/pages?key={{public_key}}&path=%2Frelocation-guide"
Response200 OK
{
"page": {
"path": "/relocation-guide",
"title": "Relocation Guide",
"description": "Moving to Miami? Start here.",
"noindex": false,
"ogImage": null,
"canonicalUrl": null,
"schema": [
{
"id": "section-1",
"type": "section",
"data": {
"background": {
"color": "rgba(255, 255, 255, 1)"
}
}
}
],
"sections": [
{
"id": "section-1",
"kind": "custom",
"blocks": [
"text",
"library"
],
"background": {
"color": "rgba(255, 255, 255, 1)",
"image": null,
"video": null,
"poster": null
},
"fillScreen": false,
"fillScreenMobile": false,
"rowCount": 12,
"rowCountMobile": 20,
"padding": 4,
"search": null
}
]
},
"design": {
"fonts": [
"https://fonts.googleapis.com/css2?family=Gilda+Display&display=swap"
],
"colorPresets": [
{
"id": "color1",
"name": "Primary",
"value": "rgba(22, 38, 46, 1)"
}
],
"typographyPresets": {
"h1": {
"fontFamily": "Gilda Display",
"fontSize": 4.5
}
}
},
"applicationIcons": {},
"origin": "https://www.example.com"
}