Contents

Navigation

Menus, redirects and sitemap — everything a frontend needs to build routes.

Base URL, authentication and conventions of this API are on the Content Delivery API page.

get/menus

List the site's menus

Every menu of the site with its items, as edited in Nucleo (items are free-form JSON).

GET https://api-brain.nucleoplatform.com/api/delivery/v1/acme/sites/12/menus
Authentication: Bearer token
Rate limit: 120 requests per 1m, per IP

Responses

  • 200Menus.
    • dataarray of Menu
      Attributes of each item
      • slugstring
      • itemsarray of object | null
  • 401Missing or unknown delivery token.
    • messagestring
  • 404Not found. Also returned when the workspace slug is unknown or when the token belongs to another site (Nucleo never confirms that a site exists to a token that cannot read it). The text of message varies with the case: branch on the 404 status only.
    • messagestring
  • 429More than 120 requests in a minute from the same IP.
    Headers
    • Retry-After
    • X-RateLimit-Limit
    • X-RateLimit-Remaining
    • messagestring
Request
curl -X GET https://api-brain.nucleoplatform.com/api/delivery/v1/acme/sites/12/menus \
  -H "Authorization: Bearer $NUCLEO_CMS_TOKEN" \
  -H 'Accept: application/json'
Response
{
  "data": [
    {
      "slug": "main",
      "items": [
        {
          "label": "Shop",
          "url": "/shop"
        },
        {
          "label": "Journal",
          "url": "/blog"
        },
        {
          "label": "About",
          "url": "/about"
        }
      ]
    }
  ]
}
get/redirects

List the site's redirects

Redirect rules to apply in your frontend or edge (code is the HTTP status, e.g. 301 or 302).

GET https://api-brain.nucleoplatform.com/api/delivery/v1/acme/sites/12/redirects
Authentication: Bearer token
Rate limit: 120 requests per 1m, per IP

Responses

  • 200Redirects.
    • dataarray of Redirect
      Attributes of each item
      • from_pathstring
      • to_pathstring
      • codeinteger
        One of301302307308
      • localestring | null
  • 401Missing or unknown delivery token.
    • messagestring
  • 404Not found. Also returned when the workspace slug is unknown or when the token belongs to another site (Nucleo never confirms that a site exists to a token that cannot read it). The text of message varies with the case: branch on the 404 status only.
    • messagestring
  • 429More than 120 requests in a minute from the same IP.
    Headers
    • Retry-After
    • X-RateLimit-Limit
    • X-RateLimit-Remaining
    • messagestring
Request
curl -X GET https://api-brain.nucleoplatform.com/api/delivery/v1/acme/sites/12/redirects \
  -H "Authorization: Bearer $NUCLEO_CMS_TOKEN" \
  -H 'Accept: application/json'
Response
{
  "data": [
    {
      "from_path": "/chi-siamo",
      "to_path": "/it/about",
      "code": 301,
      "locale": "it"
    },
    {
      "from_path": "/summer-sale",
      "to_path": "/shop",
      "code": 302,
      "locale": null
    }
  ]
}
get/sitemap

List every published path

Every published path for every enabled locale: pages (only when the page and all its ancestors are translated in that locale, so the path is resolvable by /page?path=) and collection entries (/<collection>/<entry-slug>). Use it to generate sitemap.xml and static routes.

GET https://api-brain.nucleoplatform.com/api/delivery/v1/acme/sites/12/sitemap
Authentication: Bearer token
Rate limit: 120 requests per 1m, per IP

Responses

  • 200Published paths.
    • dataarray of SitemapItem
      Attributes of each item
      • localestringrequired
      • kindstringrequired
        One ofpageentry
      • collectionstring

        Only for kind = entry.

      • pathstringrequired
      • updated_atstring (date-time) | null
  • 401Missing or unknown delivery token.
    • messagestring
  • 404Not found. Also returned when the workspace slug is unknown or when the token belongs to another site (Nucleo never confirms that a site exists to a token that cannot read it). The text of message varies with the case: branch on the 404 status only.
    • messagestring
  • 429More than 120 requests in a minute from the same IP.
    Headers
    • Retry-After
    • X-RateLimit-Limit
    • X-RateLimit-Remaining
    • messagestring
Request
curl -X GET https://api-brain.nucleoplatform.com/api/delivery/v1/acme/sites/12/sitemap \
  -H "Authorization: Bearer $NUCLEO_CMS_TOKEN" \
  -H 'Accept: application/json'
Response
{
  "data": [
    {
      "locale": "en",
      "kind": "page",
      "path": "/",
      "updated_at": "2026-09-30T10:15:00.000000Z"
    },
    {
      "locale": "en",
      "kind": "page",
      "path": "/about/team",
      "updated_at": "2026-09-30T10:15:00.000000Z"
    },
    {
      "locale": "en",
      "kind": "entry",
      "collection": "blog",
      "path": "/blog/autumn-drop",
      "updated_at": "2026-09-28T08:00:00.000000Z"
    }
  ]
}
Was this page helpful?