---
title: "Fetch the content of a portal navigation item from its external source"
method: POST
path: "/portal-navigation-items/{navId}/_fetch"
tags: ["Portal Navigation Items"]
---

# Fetch the content of a portal navigation item from its external source

`POST /portal-navigation-items/{navId}/_fetch`

## Request

- Base URL: `/management/v2/environments/DEFAULT` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/management/v2/environments/DEFAULT/portal-navigation-items/{navId}/_fetch`
- Auth: one of:
  - HTTP basic
  - API key in cookie `Auth-Graviteeio-APIM`

User must have the ENVIRONMENT_DOCUMENTATION[update] permission.
On a PAGE carrying an external source, fetches the page content and returns the updated item.
On a container item such as a FOLDER, fetches every PAGE descendant carrying an external source and returns a success/failure summary.
A source carried by the FOLDER itself is not fetched yet: only the sources of the PAGE items below it are.

## Path parameters

- `navId` string, uuid, required

## Response `200`

Fetch result. `item` is set when the target is a sourced PAGE, `summary` when the fetch walked a subtree.

- FetchPortalNavigationItemResponse: Result of a manual fetch. Exactly one of item or summary is set, depending on the target type.
  - `item` union
    - PortalNavigationPage: Base portal navigation item
      - `id` string, uuid, required: The unique ID of the navigation item
      - `organizationId` string, required: The organization ID
      - `environmentId` string, required: The environment ID
      - `title` string, required: The title of the navigation item
      - `type` 'PAGE' | 'FOLDER' | 'LINK' | 'API' | 'API_PRODUCT', required: The type of the navigation item
      - `area` 'HOMEPAGE' | 'TOP_NAVBAR', required: The portal area (used by portal navigation items)
      - `parentId` string, uuid: The parent ID of the navigation item
      - `rootId` string, uuid, required: The root parent ID of the navigation item hierarchy
      - `order` integer, required: The order of the navigation item (zero-based)
      - `published` boolean, required: Whether the navigation item is published or not
      - `visibility` 'PUBLIC' | 'PRIVATE', required: The portal visibility (used by portal navigation items)
      - `portalPageContentId` string, uuid, required: The UUID of the portal page content
      - `source` PortalNavigationItemSource: External source of the item content.
        - `type` string, required: Fetcher plugin id.
        - `configuration` object, required: Fetcher configuration.
        - `useAutoFetch` boolean: Whether the content is automatically re-fetched on a schedule.
        - `fetchCron` string: Cron expression driving the auto-fetch schedule. Only used when useAutoFetch is true.
        - `lastFetchedAt` string, date-time: Date of the last successful fetch.
        - `lastFetchAttemptAt` string, date-time: Date of the last fetch attempt, successful or not. This is the date the auto-fetch schedule is computed from, and it dates lastFetchError when the last attempt failed.
        - `lastFetchError` string: Error message of the last failed fetch. Absent when the last fetch succeeded.
    - PortalNavigationFolder: Base portal navigation item
      - `id` string, uuid, required: The unique ID of the navigation item
      - `organizationId` string, required: The organization ID
      - `environmentId` string, required: The environment ID
      - `title` string, required: The title of the navigation item
      - `type` 'PAGE' | 'FOLDER' | 'LINK' | 'API' | 'API_PRODUCT', required: The type of the navigation item
      - `area` 'HOMEPAGE' | 'TOP_NAVBAR', required: The portal area (used by portal navigation items)
      - `parentId` string, uuid: The parent ID of the navigation item
      - `rootId` string, uuid, required: The root parent ID of the navigation item hierarchy
      - `order` integer, required: The order of the navigation item (zero-based)
      - `published` boolean, required: Whether the navigation item is published or not
      - `visibility` 'PUBLIC' | 'PRIVATE', required: The portal visibility (used by portal navigation items)
      - `source` PortalNavigationItemSource: External source of the item content.
        - `type` string, required: Fetcher plugin id.
        - `configuration` object, required: Fetcher configuration.
        - `useAutoFetch` boolean: Whether the content is automatically re-fetched on a schedule.
        - `fetchCron` string: Cron expression driving the auto-fetch schedule. Only used when useAutoFetch is true.
        - `lastFetchedAt` string, date-time: Date of the last successful fetch.
        - `lastFetchAttemptAt` string, date-time: Date of the last fetch attempt, successful or not. This is the date the auto-fetch schedule is computed from, and it dates lastFetchError when the last attempt failed.
        - `lastFetchError` string: Error message of the last failed fetch. Absent when the last fetch succeeded.
    - PortalNavigationLink: Base portal navigation item
      - `id` string, uuid, required: The unique ID of the navigation item
      - `organizationId` string, required: The organization ID
      - `environmentId` string, required: The environment ID
      - `title` string, required: The title of the navigation item
      - `type` 'PAGE' | 'FOLDER' | 'LINK' | 'API' | 'API_PRODUCT', required: The type of the navigation item
      - `area` 'HOMEPAGE' | 'TOP_NAVBAR', required: The portal area (used by portal navigation items)
      - `parentId` string, uuid: The parent ID of the navigation item
      - `rootId` string, uuid, required: The root parent ID of the navigation item hierarchy
      - `order` integer, required: The order of the navigation item (zero-based)
      - `published` boolean, required: Whether the navigation item is published or not
      - `visibility` 'PUBLIC' | 'PRIVATE', required: The portal visibility (used by portal navigation items)
      - `url` string, required: The URL for the link
    - PortalNavigationApi: Base portal navigation item
      - `id` string, uuid, required: The unique ID of the navigation item
      - `organizationId` string, required: The organization ID
      - `environmentId` string, required: The environment ID
      - `title` string, required: The title of the navigation item
      - `type` 'PAGE' | 'FOLDER' | 'LINK' | 'API' | 'API_PRODUCT', required: The type of the navigation item
      - `area` 'HOMEPAGE' | 'TOP_NAVBAR', required: The portal area (used by portal navigation items)
      - `parentId` string, uuid: The parent ID of the navigation item
      - `rootId` string, uuid, required: The root parent ID of the navigation item hierarchy
      - `order` integer, required: The order of the navigation item (zero-based)
      - `published` boolean, required: Whether the navigation item is published or not
      - `visibility` 'PUBLIC' | 'PRIVATE', required: The portal visibility (used by portal navigation items)
      - `apiId` string, required: ApiId referenced from the navItem
      - `categoryIds` string[]: The IDs of the Portal Next categories this API navigation item is assigned to
    - PortalNavigationApiProduct: Base portal navigation item
      - `id` string, uuid, required: The unique ID of the navigation item
      - `organizationId` string, required: The organization ID
      - `environmentId` string, required: The environment ID
      - `title` string, required: The title of the navigation item
      - `type` 'PAGE' | 'FOLDER' | 'LINK' | 'API' | 'API_PRODUCT', required: The type of the navigation item
      - `area` 'HOMEPAGE' | 'TOP_NAVBAR', required: The portal area (used by portal navigation items)
      - `parentId` string, uuid: The parent ID of the navigation item
      - `rootId` string, uuid, required: The root parent ID of the navigation item hierarchy
      - `order` integer, required: The order of the navigation item (zero-based)
      - `published` boolean, required: Whether the navigation item is published or not
      - `visibility` 'PUBLIC' | 'PRIVATE', required: The portal visibility (used by portal navigation items)
      - `apiProductId` string, uuid, required: API Product referenced by the navigation item
  - `summary` PortalNavigationItemsFetchSummary: Success/failure summary of fetching every sourced PAGE descendant of a container item.
    - `succeeded` integer, required: Number of pages fetched successfully.
    - `failed` integer, required: Number of pages whose fetch failed.
    - `results` PortalNavigationItemFetchResult[], required
      - `navigationItemId` string, uuid, required: The unique ID of the fetched PAGE navigation item.
      - `title` string, required: The title of the fetched PAGE navigation item.
      - `success` boolean, required
      - `error` string: Why the fetch failed. Absent when the fetch succeeded.

## Other responses

- `400`: The target is a PAGE without a source, or no page below it carries one
- `404`: Navigation item does not exist
- `default`: Generic error response

## Changes

- **2026-08-10** `37e8cbe5f769`: 2 info
  - added the optional property `item/oneOf[#/components/schemas/PortalNavigationFolder]/allOf[subschema #2]/source/lastFetchAttemptAt` to the response with the `200` status
  - added the optional property `item/oneOf[#/components/schemas/PortalNavigationPage]/allOf[subschema #2]/source/lastFetchAttemptAt` to the response with the `200` status
- **2026-08-06** `a2bffc8c2e17`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/gravitee-io/apis/gravitee-io-apim-management-api-environments/changes/portal-navigation-items/:navId/_fetch/post.md)

---

[API](https://skmtc.dev/gravitee-io/apis/gravitee-io-apim-management-api-environments.md) - [All operations](https://skmtc.dev/gravitee-io/apis/gravitee-io-apim-management-api-environments/llms.txt) - [OpenAPI document](https://skmtc.dev/gravitee-io/apis/gravitee-io-apim-management-api-environments/revisions/b736a7e375df?raw)
