Developers

Documentation

CreatesOnline is a self-hostable headless CMS with ERP, e-commerce and AI built in. Content you publish in the dashboard is delivered to any front end through a read-only REST API and a GraphQL API.

Install the framework

pip install createsonline

Python 3.11+. The package is published on PyPI.

REST content API

Only published entries of public content types are returned; private fields are removed.

  • GET /api/content/types — list content types
  • GET /api/content/types/{api_id} — one content type and its fields
  • GET /api/content/{type}/entries — entries, with ?page=1&limit=20&sort=published_at&order=desc&locale=en (limit max 100)
  • GET /api/content/{type}/entries/{slug} — a single entry
  • GET /api/content/field-types — the available field types
curl https://createsonline.com/api/content/post/entries?limit=5

GraphQL

GET or POST /api/graphql with query, optional variables and operationName. Read-only: no mutations or subscriptions.

query Posts($type: String!, $locale: String) {
  entries(type: $type, locale: $locale, page: 1, limit: 20) {
    data { id slug data locale published_at }
    meta
  }
}

Also available: contentTypes { id name api_id kind fields } and entry(type: "post", slug: "example") { id slug data }.

Limits

  • POST body 64 KiB, query 16 KiB, depth 8, 100 entries per page
  • Malformed queries return 400, oversized bodies 413; batch requests are rejected

Localization

Pass locale (for example es, fr, ar) to either API; entries fall back to the default language when a translation is missing.

Need help?

Contact us for onboarding, hosting or custom integrations.