> ## Documentation Index
> Fetch the complete documentation index at: https://docs.citou.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Navegação

> Os menus da marca (principal, rodapé…) com os links resolvidos + SiteNavigationElement.

Retorna os **menus** editáveis da marca, com cada item já resolvido para uma URL, mais o JSON-LD
`SiteNavigationElement`. Use para montar o header/rodapé do seu site a partir de uma única fonte.

`GET /cd/nav`

<ParamField query="key" type="string" required>
  Sua chave de API de conteúdo (ou header `x-api-key`).
</ParamField>

<CodeGroup>
  ```bash curl theme={null}
  curl "https://api.citou.me/cd/nav?key=SUA_CHAVE"
  ```

  ```js JavaScript theme={null}
  const { menus, jsonLd } = await fetch(
    `https://api.citou.me/cd/nav?key=${process.env.CITOU_KEY}`,
  ).then((r) => r.json());
  ```
</CodeGroup>

```json Resposta theme={null}
{
  "menus": [
    {
      "key": "principal",
      "name": "Principal",
      "items": [
        { "label": "Sobre", "url": "/sobre" },
        {
          "label": "Blog",
          "url": "/como-aparecer-no-chatgpt",
          "ref": { "type": "post", "slug": "como-aparecer-no-chatgpt" }
        }
      ]
    }
  ],
  "jsonLd": "{\n  \"@context\": \"https://schema.org\",\n  \"@graph\": [ … ]\n}"
}
```

## Campos

<ResponseField name="menus" type="array">
  Um por menu. Cada menu tem `key`, `name` e `items`.
</ResponseField>

<ResponseField name="menus[].items[]" type="object">
  <Expandable title="item">
    <ResponseField name="label" type="string">Rótulo exibido.</ResponseField>

    <ResponseField name="url" type="string">
      URL do item. Para itens que referenciam um conteúdo, é `/{slug}` — ajuste ao seu esquema de
      rotas.
    </ResponseField>

    <ResponseField name="ref" type="object">
      Presente quando o item aponta para um conteúdo: `{ type, slug }`.
    </ResponseField>

    <ResponseField name="children" type="array">Subitens (mesma forma), quando houver.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="jsonLd" type="string">
  `SiteNavigationElement` (schema.org) com todos os links, como string. Vazio se não há links.
</ResponseField>
