Pages
Get a page
A Page’s details, and its current HTML on request.
GET
/
api
/
v1
/
pages
/
{page_id}
curl "https://app.my-aichatbot.com/api/v1/pages/$PAGE_ID?include=content" \
-H "Authorization: Bearer $MAC_KEY"
const res = await fetch(
`https://app.my-aichatbot.com/api/v1/pages/${pageId}?include=content`,
{ headers: { Authorization: `Bearer ${process.env.MAC_KEY}` } }
)
const { page } = await res.json()
import os, requests
res = requests.get(
f"https://app.my-aichatbot.com/api/v1/pages/{page_id}",
headers={"Authorization": f"Bearer {os.environ['MAC_KEY']}"},
params={"include": "content"},
)
page = res.json()["page"]
{
"ok": true,
"page": {
"id": "9b3f11c2-…",
"slug": "sales-report",
"title": "Sales report",
"description": null,
"visibility": "private",
"chatbot_id": "c1a2…",
"conversation_id": null,
"current_version": 4,
"version_count": 4,
"total_bytes": 8192,
"disabled_reason": null,
"created_at": "2026-09-21T03:00:00.000Z",
"updated_at": "2026-09-21T07:00:00.000Z",
"url": "https://app.my-aichatbot.com/pages/view/acme/sales-report",
"content": "<!doctype html>…"
}
}
Read any live Page in the workspace, whichever bot owns it.
Authorization
string
required
Bearer mac_live_…Path parameters
string
required
The Page’s id.
Query parameters
string
content to include the current version’s HTML.Response
boolean
true on success.object
The Page. This is the shape every Pages endpoint returns.
Show properties
Show properties
string
The Page’s id.
string
The current URL name.
string
Up to 150 characters.
string | null
Up to 300 characters.
string
private or public.string | null
The bot that owns the Page. Only its keys can write to it.
string | null
The conversation the Page was created in or linked to, if any.
integer
The version the Page’s main URL serves.
integer
Versions still kept, after pruning.
integer
Storage used by the kept versions.
string | null
Set when an admin disabled the Page. It stops serving and rejects writes.
string
ISO 8601, UTC.
string
Last version or metadata change.
string
The link to hand a human: the members-only door for
private, the Page itself for public.string
The current HTML. Only with
include=content.curl "https://app.my-aichatbot.com/api/v1/pages/$PAGE_ID?include=content" \
-H "Authorization: Bearer $MAC_KEY"
const res = await fetch(
`https://app.my-aichatbot.com/api/v1/pages/${pageId}?include=content`,
{ headers: { Authorization: `Bearer ${process.env.MAC_KEY}` } }
)
const { page } = await res.json()
import os, requests
res = requests.get(
f"https://app.my-aichatbot.com/api/v1/pages/{page_id}",
headers={"Authorization": f"Bearer {os.environ['MAC_KEY']}"},
params={"include": "content"},
)
page = res.json()["page"]
{
"ok": true,
"page": {
"id": "9b3f11c2-…",
"slug": "sales-report",
"title": "Sales report",
"description": null,
"visibility": "private",
"chatbot_id": "c1a2…",
"conversation_id": null,
"current_version": 4,
"version_count": 4,
"total_bytes": 8192,
"disabled_reason": null,
"created_at": "2026-09-21T03:00:00.000Z",
"updated_at": "2026-09-21T07:00:00.000Z",
"url": "https://app.my-aichatbot.com/pages/view/acme/sales-report",
"content": "<!doctype html>…"
}
}
Errors
| Status | Code | Meaning |
|---|---|---|
401 | INVALID_API_KEY | Missing, broken, or revoked. |
404 | NOT_FOUND | No live Page with that id in this workspace. |
429 | RATE_LIMITED | Over 300 reads per minute for this key. Wait for retry_after_seconds. |
⌘I
curl "https://app.my-aichatbot.com/api/v1/pages/$PAGE_ID?include=content" \
-H "Authorization: Bearer $MAC_KEY"
const res = await fetch(
`https://app.my-aichatbot.com/api/v1/pages/${pageId}?include=content`,
{ headers: { Authorization: `Bearer ${process.env.MAC_KEY}` } }
)
const { page } = await res.json()
import os, requests
res = requests.get(
f"https://app.my-aichatbot.com/api/v1/pages/{page_id}",
headers={"Authorization": f"Bearer {os.environ['MAC_KEY']}"},
params={"include": "content"},
)
page = res.json()["page"]
{
"ok": true,
"page": {
"id": "9b3f11c2-…",
"slug": "sales-report",
"title": "Sales report",
"description": null,
"visibility": "private",
"chatbot_id": "c1a2…",
"conversation_id": null,
"current_version": 4,
"version_count": 4,
"total_bytes": 8192,
"disabled_reason": null,
"created_at": "2026-09-21T03:00:00.000Z",
"updated_at": "2026-09-21T07:00:00.000Z",
"url": "https://app.my-aichatbot.com/pages/view/acme/sales-report",
"content": "<!doctype html>…"
}
}

