diff --git a/apps/api/src/routes/status_pages.ts b/apps/api/src/routes/status_pages.ts index b01ebf1..9a1d44b 100644 --- a/apps/api/src/routes/status_pages.ts +++ b/apps/api/src/routes/status_pages.ts @@ -113,7 +113,7 @@ async function replaceGroupsAndMonitors( } } -export const statusPages = new Elysia({ prefix: "/status-pages" }) +export const statusPages = new Elysia({ prefix: "/pages" }) .use(requireAuth) .get("/", async ({ accountId }) => { diff --git a/apps/web/src/routes/dashboard.ts b/apps/web/src/routes/dashboard.ts index 208be18..6441d2c 100644 --- a/apps/web/src/routes/dashboard.ts +++ b/apps/web/src/routes/dashboard.ts @@ -724,7 +724,7 @@ export const dashboard = new Elysia() try { const apiUrl = process.env.API_URL || "https://api.pingql.com"; const key = cookie?.pingql_key?.value; - await fetch(`${apiUrl}/status-pages/`, { + await fetch(`${apiUrl}/pages/`, { method: "POST", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${key}` }, body: JSON.stringify({ @@ -781,7 +781,7 @@ export const dashboard = new Elysia() // alone. Empty string falls through to this branch on purpose. if (b.remove_password) payload.password = null; else if (b.password) payload.password = b.password; - await fetch(`${apiUrl}/status-pages/${params.id}`, { + await fetch(`${apiUrl}/pages/${params.id}`, { method: "PATCH", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${key}` }, body: JSON.stringify(payload), @@ -796,7 +796,7 @@ export const dashboard = new Elysia() try { const apiUrl = process.env.API_URL || "https://api.pingql.com"; const key = cookie?.pingql_key?.value; - await fetch(`${apiUrl}/status-pages/${params.id}`, { + await fetch(`${apiUrl}/pages/${params.id}`, { method: "DELETE", headers: { "Authorization": `Bearer ${key}` }, }); diff --git a/apps/web/src/views/docs.ejs b/apps/web/src/views/docs.ejs index e0b5ae1..ea4df5a 100644 --- a/apps/web/src/views/docs.ejs +++ b/apps/web/src/views/docs.ejs @@ -264,11 +264,11 @@ Content-Type: application/json
Create public status pages that display live uptime, heartbeat bars, and incidents for your monitors. Each page gets a unique slug and is publicly accessible at status.pingql.com/{slug}.
Returns all status pages for the authenticated account.
{
@@ -324,15 +324,15 @@ Content-Type: application/json
Get page
- GET/status-pages/:id
+ GET/pages/:id
Returns the page with its groups and monitors arrays, plus has_password (boolean).
Update page
- PATCH/status-pages/:id
+ PATCH/pages/:id
All fields optional. If groups or monitors are provided, they replace the full set.
Delete page
- DELETE/status-pages/:id
+ DELETE/pages/:id
Permanently removes the page and all associated groups and monitor links.
Public endpoints
diff --git a/apps/web/src/views/landing.ejs b/apps/web/src/views/landing.ejs
index 7dc36cf..8376b96 100644
--- a/apps/web/src/views/landing.ejs
+++ b/apps/web/src/views/landing.ejs
@@ -561,7 +561,7 @@
Create a status page
$ curl -X POST https://pingql.com/api/status-pages \ +$ curl -X POST https://pingql.com/api/pages \ -H "X-Key: abcd-1234-efgh-5678" \ -d '{ "slug": "my-app",