---
title: "Manuals index as JSON"
manual: "Render guides"
version: "main"
permalink: "https://docs.typo3.org/permalink/t3renderguides:manualsindexjson"
source: "Developer/ManualsIndex.rst"
rendered: "2026-10-05T15:51:40+00:00"
---

# Manuals index as JSON {#manualsindexjson}

Every manual publishes machine-readable indexes of its own beside its pages:
[toc.json](https://docs.typo3.org/permalink/t3renderguides:tableofcontentsjson), `objects.inv.json`,
[classes.json](https://docs.typo3.org/permalink/t3renderguides:classindexjson) and more. What was missing is a list of
the manuals themselves. The docs homepage renders one, `manuals.json`,
beside the `mainmenu.json` of the "All documentation" menu and from the
same menu:

```json
{
  "manuals": {
    "t3tca": {
      "name": "TCA Reference",
      "group": "References",
      "versions": [
        {
          "version": "14.3",
          "base": "https://docs.typo3.org/m/typo3/reference-tca/14.3/en-us/"
        },
        {
          "version": "main",
          "base": "https://docs.typo3.org/m/typo3/reference-tca/main/en-us/"
        }
      ]
    }
  },
  "files": {
    "llms.txt": "every manual",
    "toc.json": "every manual",
    "objects.inv.json": "every manual",
    "classes.json": "every manual",
    "confvals.json": "a manual that documents options",
    "files.json": "a manual that defines files",
    "viewhelpers.json": "a manual that documents ViewHelpers"
  }
}
```

Each manual is keyed by its interlink shortcode, the name that
`:ref:` and permalinks use for it. The menu writes its links as
interlink references, so the shortcode comes from the menu itself and
cannot be missing. A manual carries:

-   **name**

    The name the menu gives the manual, from the entry that links its start
    page. An entry that points into a manual, such as "Administration" into
    TYPO3 Explained, adds no manual of its own.

-   **group**

    The heading of the menu the manual is listed under.

-   **versions**

    Each version the menu offers: `version` as it appears in the
    address, and `base`, the address the manual's files are below.

`files` names the indexes a manual can have. A consumer appends one to a
`base`; `llms.txt` is where to start reading. The file is not checked for: a version last rendered before a
file was introduced answers 404 for it until it is rendered again.

The menu lists the official manuals and the system extensions. Extensions of
other vendors are not in it, and so not in `manuals.json`.
