---
title: Concepts
status: current
order: 2
---

# Concepts

The names are Contentful's, on purpose: if you have used it, you already know what each thing is called.

| Concept | What it is | Example |
| --- | --- | --- |
| **Space** | A site. It has its content, its team, its keys and its deploys | `acton-estero` |
| **Environment** | A copy of the content. In v1 only `main` exists | `main` |
| **Content type** | The shape of a piece of content: which fields it has. Defined without code | `event`, `blog_post` |
| **Field** | A field of a content type, with a type and validations | `title` (short text, required) |
| **Singleton** | A content type with a single entry. For the site's settings | `site_settings` |
| **Entry** | One concrete piece of content of a content type | The "Open House" event |
| **Asset** | A file: image, PDF | `open-house.jpg` |
| **Locale** | A language of the space, with a fallback language | `es`, `en` |
| **API key** | Access by token. Three kinds: `delivery` (reads what is published), `preview` (reads drafts), `management` (writes) | `pk_live_…` |
| **Agent** | An AI agent invited to the space, with its own permissions | The owner's Claude Code |

## Entry states

`draft` → `published` → `archived`. Everything an agent creates starts as `draft`. Publishing is a separate step, with its own permission.

Every change is kept in the history: who (person or agent), what and when. Any version can be restored.
