v1.0 REST API

API Overview

The FlowCMS REST API provides programmatic access to your content. Create, read, update, and delete entries, manage content types, and automate workflows with predictable resource-oriented URLs and standard HTTP response codes.

Base URL: https://api.flowcms.io/v1

All API responses return JSON. Request bodies must be sent as `application/json`. The API supports standard CORS headers and gzip compression.

Authentication

Access the API using your personal or team API key. Keys can be generated in the Settings → API Keys section of your dashboard.

Include your API key in the `Authorization` header using the Bearer scheme:

Authorization: Bearer your_api_key_here

Key Scopes

ScopeAccess Level
readView entries and content types
writeCreate and update entries
adminFull access including deletion

Rate Limits

API requests are limited based on your plan. When you exceed the limit, you'll receive a 429 Too Many Requests response. Limits reset per minute.

PlanRequests/minBurst
Starter10010
Professional1,00050
EnterpriseCustomCustom

Endpoints

GET /entries Retrieve a paginated list of content entries
Query Parameters Response
ParameterTypeDescription
content_typestringFilter by content type slug
limitintegerNumber of results (max 100)
offsetintegerPagination offset
sortstringSort field (e.g., -created_at)
{ "data: [ { "id: "ent_8x2k9d0p1q, "title: "Welcome to FlowCMS, "status: "published, "created_at: "2025-01-15T08:30:00Z } ], "meta: { "total: 142, "has_more: true } }
200 OK 401 Unauthorized 422 Validation Error
POST /entries Create a new content entry
Request Body Response
FieldTypeDescription
content_typestringSlug of the target content type
titlestringEntry title (max 255 chars)
fieldsobjectKey-value pairs matching schema
statusstringdraft or published
{ "content_type: "blog_post, "title: "Getting Started with FlowCMS, "fields: { "body: "

Welcome to our guide...

, "tags: ["cms, "tutorial], "author_id: "usr_9m2x7 } }
201 Created 400 Bad Request
GET /content-types List available content models

Returns an array of all content types defined in your workspace, including their schemas and field definitions.

{ "data: [ { "id: "ct_blog_post, "slug: "blog_post, "fields: [ { "name: "title, "type: "text }, { "name: "body, "type: "rich_text } ] } ] }
DELETE /entries/:id Permanently remove an entry

Removes the specified entry. This action is irreversible and requires admin scope.

{ "success: true, "message: "Entry permanently deleted }
200 OK 404 Not Found

Error Handling

FlowCMS uses standard HTTP status codes and returns detailed error objects to help you debug issues quickly.

CodeMeaningResolution
400Bad RequestCheck request body format and required fields
401UnauthorizedVerify API key and permissions
403ForbiddenKey lacks required scope
404Not FoundResource or path doesn't exist
422UnprocessableValidation failed (see `errors` array)
429Rate LimitedWait and retry with exponential backoff