# Editing entries (/docs/guides/entries)

Entries are the pages and data of a space: a page has a URL, a data entry (an author, the navigation, the site's settings) doesn't. Each is made from a [content type](/docs/guides/content-model) and edited in a form with one input per field. Editors, developers and admins edit them; readers see them and can [comment](/docs/guides/comments).

## The content list [#the-content-list]

**Content** in the sidebar lists the entries of the environment you're in, the latest edits first, 50 at a time. Each row shows the entry's type, its status and who edited it last.

- The **views** over the list pick what it shows: **All**, **Changed** and **Drafts**, then your own saved views. Each shows how many entries are in it. **Changed** means the entry is live with changes that aren't published yet. Saved views that don't fit in the row are under **N more views**.
- **Type** narrows the list to one or more content types, grouped as pages, data and blocks like the content model, each with how many entries it has. Tick the types and **Show N entries** applies them; the filter's **×** clears it.
- **Filter** narrows it by status: published, changed, draft, scheduled, **In review** (someone [asked for review](/docs/guides/publishing#review-before-publishing)) or **Schedule failed** (a [scheduled publish](/docs/guides/publishing) was refused, with why on the entry), and **Created by me**. **Search** finds entries by name or path, and **Sort** puts the latest edits first, or sorts by name or path. A filtered list says how many entries match and what it's filtered by.
- **Show as**: **Structure** (one folder at a time, folders first, with a breadcrumb back up), **List** (every entry), **By content type** (every entry under a heading per type) or **Tree by path** (pages and folders by path, with data entries after them).
- The view, type, search, filter, sort and layout are in the page's address, so a list can be shared or bookmarked, and the browser's back button goes back to it.
- **Save as view** appears once the list is filtered or searched in a way none of your views is: it keeps the list as it is (types, status, search, sort and layout) under a name, as a view of your own after **Drafts**. Only you see your views, in every environment of the space; anyone who can read the content can keep up to 30. On one of your views, its **⋯** menu renames it, moves it left or right, or deletes it (the entries in it stay).

Tick entries to [publish, unpublish, move, delete](/docs/guides/publishing#several-entries-at-once) or [translate](/docs/guides/locales#many-entries-at-once) them together. Deleted entries are under **Trash**, linked from the list.

## A new entry [#a-new-entry]

**New entry** asks what you're making first: pages (they get their own URL) as cards, data, shared blocks and folders below them, with a search. **Create** then asks for a name and where it goes; everything else is filled in afterwards. With a page type chosen, **Describe it** takes a path and a description instead, and Obelism writes the draft of that page type [by prompt](/docs/guides/prompt-editing).

- **Content type**: one of the space's page, data or block types, or **Folder**.
- **Name**: what the dashboard calls it. It is not a field of the content: a page's title is its own `title` field.
- **Slug** (pages and folders): the entry's own URL segment, lowercase words joined by hyphens. Its path is the slugs of the folders it is in and its own, `blog/hello`.
- **Inside**: the folder or page it goes in, or **Root**.

A page whose type is a [product page or collection page](/docs/guides/shopify#product-pages) type starts from a product or collection of the space's Shopify store instead: it is named after it, takes its handle as slug and goes in the `products` or `collections` folder.

**Folders** group pages and data entries under one path, and have no content of their own. A page can hold pages too: `/solutions/agencies` is the page `agencies` inside the page `solutions`.

New entries are drafts. They also come from [prompts](/docs/guides/prompt-editing) (**New page**), [duplicating](/docs/guides/publishing#duplicating), a [design import](/docs/guides/claude-design) or an agent, as drafts too.

## The form [#the-form]

Opening an entry shows its form: every field of its content type, in the order of the model, each with its name, description and whether it is **Required**. The same form is in the [canvas](/docs/guides/canvas)'s panel and in the prompt bar on [your own site](/docs/guides/site-editing).

On the entry's page the fields come in groups: **Fields** for the type's own fields, one group per blocks field, and **Search and sharing** for the SEO fields, which also shows how the page would look in search results. Every group folds with its chevron. The row of pills above them jumps to a group and follows as you scroll; a group with something to look at (an SEO title longer than search results show) is marked.

| Field                | Its input                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Text, long text      | A text box, counting characters against `maxLength`; the SEO title and description count against what search shows (60, 155) and warn past it                                                                                                                                                                                                                                                                                                                                        |
| Rich text            | A toolbar: bold, italic, underline, strikethrough, code, heading, subheading, lists, quote, code block, links and embeds, undo                                                                                                                                                                                                                                                                                                                                                       |
| Number, date, yes/no | A number box, a date (and time) picker, a switch                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Select               | A dropdown, or with `multiple` a field of tags: search the options, Enter adds one                                                                                                                                                                                                                                                                                                                                                                                                   |
| Asset                | One file: a slot that opens **Choose from Media** (the library by folder, searched by name, narrowed to images or videos, or an upload; the current file marked **In use**) or takes a dropped file. Picking a file shows its focal point and alt text for this use beside the grid, with a watch-out for a heavy image, until **Use this image**; then **Replace** and **For this use**. Several: **Choose file**, ticking files on and off. A picked file's name opens its details |
| Reference            | **Choose entry**: the entries of the allowed types, searched by name or path; a chosen one shows **Open** and **Change**                                                                                                                                                                                                                                                                                                                                                             |
| Link                 | **A page**, **An address** or **A product**, with a query and an anchor; see [links](/docs/guides/content-model#links)                                                                                                                                                                                                                                                                                                                                                               |
| Blocks               | Cards, one per block, each with its own fields                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| Shopify              | A picker that searches the space's store by title; see [Shopify](/docs/guides/shopify#shopify-fields)                                                                                                                                                                                                                                                                                                                                                                                |
| JSON                 | A code box; text that isn't valid JSON yet keeps the last valid value                                                                                                                                                                                                                                                                                                                                                                                                                |

Every list keeps the order you give it. A field holding several files, entries or Shopify items drags a row by its grip, or with Space and the arrow keys; a select field's options move the same way in the [content model](/docs/guides/content-model#fields).

### Blocks [#blocks]

A blocks field lists its blocks as rows: the type and the first line of its text; a row opens to its fields. **Add block** offers the first block types the field allows as buttons, and **More…** all of them (and the [A/B test or flag](/docs/guides/ab-tests) block) in a popover at the insert line: search, the kinds (text, media, or layout for blocks that hold blocks), how often the field uses each, and a preview of the highlighted one with its fields; the arrows move and Enter inserts. A new block goes at the line (the end, or below the row whose menu asked), with the field's default values. A row's menu moves it up or down, adds a block below it, duplicates or removes it; drag a row by its handle, or with the keyboard: Space on the handle lifts it, the arrow keys move it, Space drops it and Escape puts it back. Blocks hold blocks of their own when they have a blocks field. A field with a `max` says so once it is full.

**Shared blocks…** at the bottom of Add block inserts a block made on its own, of a type the field allows; see [shared blocks](/docs/guides/content-model#shared-blocks). Its card says it is shared and where it lives (_Live on 12 pages_, _Held since 12 Oct_ or _Not on a live page_). **Edit shared block** opens it, where one change reaches every page that shows it; **Detach** copies its content into this page as a local block, so later changes there no longer reach it.

A block whose type was deleted from the model shows as JSON, so its content isn't lost.

**Write with AI**, beside a text, rich text or blocks field, writes that field from a prompt and shows the result as a suggestion to keep, try again or dismiss: see [prompt editing](/docs/guides/prompt-editing#write-with-ai-in-the-entry-form).

### Languages [#languages]

In a space with several [locales](/docs/guides/locales), the **Language** switch at the top picks which language's values the form shows. Translated fields are marked with the language you're editing; the others are shared by every language. The switch shows how far each language is translated (**3/5**), and **Translate from …** fills in what a language is missing.

### Saving [#saving]

**Save draft** (or ⌘S / Ctrl+S) stores the form as the entry's draft. Nothing reaches your site until it is [published](/docs/guides/publishing). The bar says whether your work is safe: **Saved 2 min ago**, **Saving…**, **2 changes not saved**, or **Couldn’t save** with **Try again**.

- Saving checks that every value has the right shape; publishing also checks required fields and references. When something is wrong, nothing is saved and the form lists the fields to check, in every language.
- Leaving the page with unsaved changes asks first.
- If someone else saved the entry since you opened it, your save is refused rather than overwriting theirs. The bar shows who else has the entry open, and a warning shows while one of them has [unsaved changes](/docs/guides/comments#who-else-is-here).
- Every save is a version in the entry's **History**.

## Publishing from the entry [#publishing-from-the-entry]

**Publish** in the bar opens the publish options: **Now** or **Later**, where it goes, and a check before it goes out: whether the required fields are filled (with **Fix** to jump to one), fields longer than search shows, open comments and a schedule already set. Required fields stop **Publish now**; the rest are worth a look but never block. Where publishing is reviewed, **Ask for review** takes Publish's place. **Edit on page** opens the entry in the [canvas](/docs/guides/canvas).

## Beside the form [#beside-the-form]

- **Status**: Draft, Published, Changed or when it's scheduled, its revision, **Schedule publish**, **Unpublish** and when it was first published (see [publishing and scheduling](/docs/guides/publishing)).
- **URL** (pages and folders): the entry's path in every language. **Edit** moves it: a new slug per language, or another folder. The old path keeps working as a [redirect](/docs/guides/redirects).
- **Folder** (data entries): the folder it is filed in.
- **Comments**: [threads](/docs/guides/comments) about the entry or one of its fields.
- **History**: the latest saves and publishes; **Compare** opens every one, to view or restore.
- **Duplicate**, **Promote to** the next environment, **Edit as JSON** and **Copy ID** (the `entry_…` an agent or a reference needs).
- **Delete entry**, once nothing published uses it. It goes to the [trash](/docs/guides/publishing#deleting-and-the-trash) for 30 days.

## For agents [#for-agents]

Agents create entries with `POST …/entries` (`createEntry`), read them with `GET …/entries/{id}` and save with `PUT …/entries/{id}` and the `baseRevision` they read (`saveEntry`); a `409` means someone saved in between. `GET …/entries` lists them with `search`, `contentType`, `status`, `parentId` and `sort`. See the [agent API](/docs/api/agents#saving-content).
