izhar
Contentful is a content platform — an API-first content management system, content hub and editor tool. Contentful structures and delivers content through its APIs giving you the flexibility to work with any tool you choose. Our web app is built on top of the Content Management API and is usually your first interaction with Contentful. Our API-first framework allows you to manage content in the web app or from the command line. And on top of that, you can use your preferred framework, methodology, or language.
Contentful core APIs are Content Management API, Content Preview API, Content Delivery API, Images API, and GraphQL Content API. In addition Contentful offers a User Management API to manage users and memberships within an organization and a SCIM API to programmatically manage organization memberships and teams.
The web app is a great starting point to get familiar with Contentful and create your content model prototype. While it’s the primary platform for content creators to create, edit and publish content, use the web app to manage the following developer features:
Authorize single sign-on authentication
Create and manage OAuth applications
Manage Content Delivery, Content Preview and Content Management API tokens
Add and manage webhooks to automate processes
Extend the basic functionality of the web app with marketplace and private apps
Contentful has four main entity types: users, organizations, spaces, and environments. This is what we call Contentful’s domain model.
As seen in the graphic below, organizations contain spaces, which contain environments. You may create different spaces for different projects or services. Environments are very similar to a Git feature branch or version control path that you can use to isolate development between one environment and the next.
User
A user is anyone with a Contentful account. By default, the user who creates the organization is assigned the owner role.
Organization
At the very top, the organization is your main account tied to billing and subscription.
Space
A space is an individual repository of content and any settings related to your content.
Environments
Environments are entities within a space that allow you to create and maintain multiple versions of the space-specific data and configuration and make changes to them in isolation. Every space has a master environment by default.
Headless CMS Expert