Manuscr

API Docs

Integrate Manuscr into your applications with our REST and GraphQL APIs.

Authentication

All API requests require an API key passed in the Authorization header.

Request Header
Authorization: Bearer your-api-key-here
Content-Type: application/json

Generate API keys from the Manuscr admin panel under Settings → API Keys.

REST API

Every collection in Manuscr automatically generates REST endpoints.

GET/api/pagesList all pages (paginated)
GET/api/pages/:idGet a single page by ID
POST/api/pagesCreate a new page
PATCH/api/pages/:idUpdate an existing page
DELETE/api/pages/:idDelete a page

Example: List Pages

curl
curl -X GET https://manuscr.com/api/pages \
  -H "Authorization: Bearer your-api-key" \
  -H "Content-Type: application/json"

Response

JSON
{
  "docs": [
    {
      "id": "abc123",
      "title": "Homepage",
      "slug": "home",
      "content": { ... },
      "site": "kenniscapital",
      "status": "published",
      "createdAt": "2026-03-28T10:00:00Z",
      "updatedAt": "2026-03-31T14:30:00Z"
    }
  ],
  "totalDocs": 24,
  "page": 1,
  "totalPages": 3,
  "hasNextPage": true
}

GraphQL API

Query exactly the data you need with GraphQL. Endpoint: /api/graphql

Example Query

GraphQL
query {
  Pages(where: { site: { equals: "kenniscapital" } }) {
    docs {
      id
      title
      slug
      status
    }
    totalDocs
  }
}

TypeScript SDK

Install the Manuscr client SDK for type-safe API access.

Install
npm install @kennis/cms-client

Usage

TypeScript
import { ManuscrClient } from '@kennis/cms-client';

const cms = new ManuscrClient({
  baseURL: 'https://manuscr.com',
  apiKey: process.env.MANUSCR_API_KEY,
});

// List pages for a specific site
const pages = await cms.pages.find({
  where: { site: { equals: 'kenniscapital' } },
  limit: 10,
});

// Get a single page by slug
const homepage = await cms.pages.findOne({
  where: { slug: { equals: 'home' } },
});

// Create a form submission
await cms.formSubmissions.create({
  data: {
    form: 'contact-form-id',
    submissionData: {
      name: 'John Smith',
      email: '[email protected]',
      message: 'Hello!',
    },
  },
});

Start integrating

Create your API key and start building.

Go to Admin Panel

Part of the Septimius Ecosystem