Quickstart
Describe your content as a type — DynapiCMS generates a GraphQL API for it: queries, mutations, filtering, sorting. This guide goes from sign-up to your first working query.
1. Create an account and a project
Sign up at dynapi.ru. The password needs at least 8 characters, a letter, and a digit. After registering you land in the account dashboard — there are no projects yet.
Click Create project and enter a name. DynapiCMS provisions a workspace with its own schema and content database, then drops you into the admin.
2. Add a content type
A content type is your schema. You define the fields, and the GraphQL API is built from them. In the sidebar, open Content types. You’ll see a set of built-in types — Media, Page, Navigation, Author, and around thirty blocks for building landing pages (Hero, Text, Gallery, CTA, and so on). They’re for the site and the media library; now add your own.
Click Create content type. Fill in the name and slug:
| Field | Value |
|---|---|
| Name | Blog Post |
| Slug | blog-post |
The slug sets the GraphQL names: blogPost for a single record, blogPosts
for the list, createBlogPost for the mutation. Kebab-case, Latin letters.
In the Add field panel, add three fields:
| Field name | Type | Required |
|---|---|---|
title |
String | yes |
body |
Text | |
published |
Boolean |
The Text type is a markdown editor with a toolbar and preview.
Click Create. The schema rebuilds at runtime — the blogPost and blogPosts
fields appear in GraphQL within a second, no restart, no migrations. You’ll see
a “Content type created” toast and land in the type’s item list.
3. Add an entry
In the item list, click Create item. Fill in title, body (markdown), and
toggle published. Click Save — the entry is immediately available through
the API. There’s no separate publish step.
4. Query the data
Open GraphQL Playground in the sidebar. The playground runs under your session — the token is attached automatically. Run:
query {
blogPosts(limit: 50) {
id
title
body
published
created_at
}
}
limit is needed to see the full list — the default returns 10 entries.
The same API is reachable from outside via JWT or API key. Create a key under API Keys:
curl -s https://dynapi.ru/cms/graphql \
-H "Content-Type: application/json" \
-H "X-API-Key: $KEY" \
-d '{"query":"{ blogPosts(limit: 50) { id title } }"}'
What’s next
- Content types & fields — all field types, localization, inheritance.
- GraphQL queries — singular and plural, variables, locale selection.
- Filtering & sorting — Where, operators, OrderBy.