CMS Pages API Reference

Manage content management pages, publishing, and page-related operations in the CMS system.

Base Path: /api/cms-pages

Overview

The CMS Pages API provides endpoints for managing website pages including creation, editing, publishing, and public content delivery. Supports draft/published workflows and public page access.

Key Operations


API Endpoints

POST /api/cms-pages

Create Page

Creates a new CMS page in draft status.

Authentication

Bearer Token

Request Body

{
  "title": "About RackNap",
  "slug": "about-racknap",
  "content": "

Welcome to RackNap

Cloud distribution platform...

", "metaTitle": "About RackNap", "metaDescription": "Learn more about RackNap cloud platform", "status": "draft" }

Response

{
  "id": "page_123",
  "title": "About RackNap",
  "slug": "about-racknap",
  "status": "draft",
  "createdAt": "2026-06-02T10:30:00Z"
}
GET /api/cms-pages/{id}

Get Page by ID

Gets CMS page details by ID.

Authentication

Bearer Token

Path Parameters

Parameter Type
id string

Response

{
  "id": "page_123",
  "title": "About RackNap",
  "slug": "about-racknap",
  "content": "

Welcome to RackNap

Cloud distribution platform...

", "metaTitle": "About RackNap", "metaDescription": "Learn more about RackNap cloud platform", "status": "draft", "createdAt": "2026-06-02T10:30:00Z" }
GET /api/cms-pages

List Pages

Gets all CMS pages with filtering and pagination.

Authentication

Bearer Token

Query Parameters

Parameter Type Description
$filter string OData filter expression
$skip integer Skip n records
$top integer Take n records

Response

{
  "value": [
    {
      "id": "page_123",
      "title": "About RackNap",
      "slug": "about-racknap",
      "status": "published",
      "createdAt": "2026-06-02T10:30:00Z"
    }
  ],
  "count": 50
}
PUT /api/cms-pages/{id}

Update Page

Updates CMS page details.

Authentication

Bearer Token

Request Body

{
  "title": "About RackNap - Updated",
  "content": "

Welcome to RackNap

Updated content...

", "metaDescription": "Updated description" }

Response

{
  "id": "page_123",
  "title": "About RackNap - Updated",
  "status": "draft",
  "updatedAt": "2026-06-02T11:00:00Z"
}
DELETE /api/cms-pages/{id}

Delete Page

Soft deletes a CMS page.

Authentication

Bearer Token

Response

{
  "success": true,
  "message": "Page deleted"
}
POST /api/cms-pages/{id}/publish

Publish Page

Publishes a draft page for public access.

Authentication

Bearer Token

Response

{
  "id": "page_123",
  "status": "published",
  "publishedAt": "2026-06-02T11:05:00Z"
}
GET /api/cms-pages/public/content

Get Public Page Content

Gets published page content (no authentication required).

Authentication

None

Query Parameters

Parameter Type Description
slug string Page URL slug

Response

{
  "id": "page_123",
  "title": "About RackNap",
  "slug": "about-racknap",
  "content": "

Welcome to RackNap

Cloud distribution platform...

", "metaTitle": "About RackNap", "metaDescription": "Learn more about RackNap cloud platform" }
GET /api/cms-pages/by-url/{pageUrl}

Get Page by URL

Gets published page by URL slug path.

Authentication

None

Path Parameters

Parameter Type
pageUrl string

Response

{
  "id": "page_123",
  "title": "About RackNap",
  "slug": "about-racknap",
  "content": "

Welcome to RackNap

Cloud distribution platform...

" }

Error Responses

Code HTTP Status Description
PAGE_NOT_FOUND 404 Page does not exist
INVALID_SLUG 400 Invalid page slug format
DUPLICATE_SLUG 409 Page slug already exists
CANNOT_PUBLISH 400 Page is missing required fields for publishing

Quick Links