📖 Getting Started with FlowCMS

🕒 8 min read 📅 Updated: Nov 14, 2025 đŸ‘ī¸ 12.4k views

What is FlowCMS?

FlowCMS is a modern, headless Content Management System designed for developers and content teams who need speed, flexibility, and scalability. Unlike traditional monolithic CMS platforms, FlowCMS separates the content layer from the presentation layer, allowing you to deliver content to any platform, device, or channel via a robust REST and GraphQL API.

â„šī¸
Headless by Design FlowCMS doesn't dictate how your content is displayed. Whether you're building a Next.js frontend, a React Native mobile app, or an IoT device dashboard, the same content API powers it all.

Quick Start Guide

Get up and running in under 5 minutes. You'll create a new project, configure your first content type, and fetch data via the API.

1. Installation

Install the FlowCMS CLI tool using your preferred package manager:

Terminal
# Using npm
npm install -g @flowcms/cli

# Using yarn
yarn global add @flowcms/cli

# Initialize a new project
flowcms init my-cms-project

2. Configure Your First Content Type

Content types define the structure of your data. Create a post.json schema file in your /content-types directory:

content-types/post.json
{
  "name": "Blog Post",
  "apiEndpoint": "/posts",
  "fields": [
    { "type": "text", "name": "title", "required": true },
    { "type": "textarea", "name": "excerpt" },
    { "type": "richtext", "name": "body" },
    { "type": "date", "name": "publishedAt" },
    { "type": "relation", "name": "author", "to": "User" }
  ]
}

3. Fetch Data

Use the REST API to retrieve your content. Replace <YOUR_API_KEY> with your token from the dashboard.

JavaScript / Fetch
const fetchPosts = async () => {
  const res = await fetch(`https://api.flowcms.io/v2/posts`, {
    headers: { Authorization: `Bearer <YOUR_API_KEY>` }
  });
  const data = await res.json();
  console.log(data.results); // Array of posts
};

fetchPosts();
💡
Pro Tip For production apps, always keep API keys secure. Use environment variables and avoid exposing read keys in client-side code unless scoped with proper permissions.

Authentication & API Keys

FlowCMS uses Bearer token authentication. You can generate API keys with granular permissions in your project dashboard under Settings → API Keys.

  • Read-Only Keys: Ideal for frontend applications that only need to fetch content.
  • Admin Keys: Grant full CRUD access. Store these securely and use only in server-side environments.
  • Scoped Keys: Limit access to specific content types or environments (staging/production).
âš ī¸
Rate Limits Free tier: 100 requests/minute. Pro tier: 1,000 requests/minute. Enterprise: Custom limits. Exceeding limits returns 429 Too Many Requests.

Content Types & Fields

FlowCMS supports a rich set of field types out of the box. You can combine them to create complex content structures.

Field Type Description
textShort strings, titles, slugs
textareaMulti-line plain text
richtextHTML/Markdown editor with media support
image / fileMedia uploads with automatic CDN optimization
relationLink to other content types (1:1, 1:N, M:N)
enum / selectDropdown with predefined options

Advanced features like conditional fields, validation rules, and computed fields are available in the schema configuration.