Skip to content

For developers

A clean API
with real types

Read content from any framework in a few lines. Manifolio caches it at the edge, refreshes it the moment you publish and shows you exactly what each request did.

Read published content through a cached Delivery API, preview drafts, generate TypeScript types, verify signed webhooks and see every request in the log.
Get started

Connected in
three steps

  1. Install the SDK

    No dependencies. Works in Node 18 and later, Workers, Next.js and Astro.

    npm install @manifolio/sdk
  2. Generate your types

    Types come from your live schema, so every field autocompletes.

    npx manifolio types --out manifolio.d.ts
  3. Read your content

    Entries arrive typed, in the language you ask for.

    await cms.entries("article", { limit: 10 })
Delivery API

Fast reads,
fresh on publish

Filter, sort and page through entries, ask only for the fields you need and populate references up to three levels deep.

  • Cached at the edgeResponses are cached close to your visitors and cleared the instant something is published.
  • Preview APIShow drafts on a staging site with a development key that has the preview scope.
  • Per-language readsAsk for a language. Missing fields fall back to the main one, field by field.
app/journal/page.tsx
import { cms } from "@/lib/manifolio";

export default async function Journal() {
  const posts = await cms.entries("article", {
    fields: ["title", "slug", "cover"],
    filter: { category: "brewing" },
    sort: "-published",
    populate: 1,
  });
  return posts.map((p) => <Card key={p._id} post={p} />);
}
Webhooks

Know the moment
content changes

Send signed events to your build or your cache when entries are published or unpublished, or when a form gets a submission.

  • Signed with HMACCheck the signature with parseWebhook from the SDK. Old messages are rejected.
  • Retries and historyFailed deliveries retry on their own. See every attempt and resend by hand.
  • Test from the adminSend a test event before you go live.
Read about webhooks
Webhooks in Developers: an endpoint, its events and the payload Manifolio sends.
Keys and logs

See every request
your sites make

Each key belongs to one environment. The request log shows the status, latency and cache result of every call, live.

  • Scoped secret keyscontent:read, content:preview, content:write and analytics:read.
  • Publishable keysSafe in the browser, for analytics and forms, and only from the domains you list.
  • A live request logFilter by status or path and open any request to see what happened.
The API log: every request with its method, path, status, latency and cache result.

Ship your first
typed query today

The quickstart goes from an empty project to published content on your site.