---
title: "Get one Portal"
method: GET
path: "/organizations/{orgId}/environments/{envId}/portals/{hrid}"
tags: ["Portals"]
---

# Get one Portal

`GET /organizations/{orgId}/environments/{envId}/portals/{hrid}`

## Request

- Base URL: `https://eu.cloudgate.gravitee.io/apim/automation`
- URL: `https://eu.cloudgate.gravitee.io/apim/automation/organizations/{orgId}/environments/{envId}/portals/{hrid}`
- Auth: one of:
  - HTTP bearer
  - HTTP basic
  - HTTP bearer

Get a Portal using HRID

## Response `200`

Portal successfully retrieved

- PortalState: Base status properties common to all resources.
  - `hrid` string, required: A unique human readable id identifying this resource
  - `name` string, required: Display name of the portal
  - `structure` PortalNavigationStructure: Portal navigation grouped by area.
    - `topNavbar` PortalNavigationPath[]: Top navbar entries as an ordered list of paths. Intermediate folders are implicitly created if not listed explicitly.
      - `path` string, required: A slash-separated path defining the navigation hierarchy. Intermediate folders are implicitly created if not listed explicitly.
      - `displayName` string: Optional human-friendly label for this path node. Listing a path explicitly is the only way to attach a displayName.
      - `visibility` 'PUBLIC' | 'PRIVATE': Whether the navigation entry is visible to anonymous portal visitors. Optional in the Automation API for backward compatibility with clients that predate this field — when omitted, the entry inherits from its parent (root entries default to PUBLIC). A PUBLIC child under a PRIVATE parent is rejected.
  - `navigation` PortalNavigationPath[]: Deprecated. Use `structure.topNavbar` instead. `navigation` and `structure` cannot be set at the same time; when only `navigation` is provided, it is mapped to `structure.topNavbar` for backward compatibility.
    - `path` string, required: A slash-separated path defining the navigation hierarchy. Intermediate folders are implicitly created if not listed explicitly.
    - `displayName` string: Optional human-friendly label for this path node. Listing a path explicitly is the only way to attach a displayName.
    - `visibility` 'PUBLIC' | 'PRIVATE': Whether the navigation entry is visible to anonymous portal visitors. Optional in the Automation API for backward compatibility with clients that predate this field — when omitted, the entry inherits from its parent (root entries default to PUBLIC). A PUBLIC child under a PRIVATE parent is rejected.
  - `activeThemeHrid` string: HRID of the Theme this portal should use as its active theme. When set, applying the portal marks the referenced theme as active (enabled) and disables every other PORTAL_NEXT theme in the environment. Leaving this field unset clears the reference and disables the previously-active theme; the portal-next UI will then lazily fall back to a fresh default theme.
  - `id` string: Resource UUID.
  - `environmentId` string: The environment ID.
  - `organizationId` string: The organization ID.
  - `errors` Errors: When a resource has been created regardless of errors, this field is used to persist the error message encountered during validation
    - `severe` string[]: Severe errors do not pass validation and will block creation/update/delete hence, this field should always be populated during the validation phase and is very unlikely to be persisted client side.
    - `warning` string[]: Warning errors do not block object creation/update/delete, most of the time because the value is ignored or defaulted.

## Other responses

- `401`: Unauthenticated
- `403`: Unauthorized
- `404`: Resource not found
- `default`: Default error

## Changes

- **2026-11-03** `460368511dae`: 5 info
  - added the optional property `allOf[#/components/schemas/PortalSpec]/activeThemeHrid` to the response with the `200` status
  - added the optional property `allOf[#/components/schemas/PortalSpec]/navigation/items/visibility` to the response with the `200` status
  - added the optional property `allOf[#/components/schemas/PortalSpec]/structure` to the response with the `200` status
  - response property `allOf[#/components/schemas/PortalSpec]/navigation` deprecated
  - …1 more
- **2026-10-07** `ecefec7d65f9`: 3 warning, 2 info
  - removed the optional property `allOf[#/components/schemas/PortalSpec]/activeThemeHrid` from the response with the `200` status
  - removed the optional property `allOf[#/components/schemas/PortalSpec]/navigation/items/visibility` from the response with the `200` status
  - removed the optional property `allOf[#/components/schemas/PortalSpec]/structure` from the response with the `200` status
  - the `allOf[#/components/schemas/PortalSpec]/hrid` response's property pattern was changed from `^[a-zA-Z0-9][a-zA-Z0-9_.-]+[a-zA-Z0-9]$` to `^[a-zA-Z0-9][a-zA-Z0-9_-]+[a-zA-Z0-9]$` for the status `200`
  - …1 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/gravitee-io/apis/gravitee-io-automation-api/changes/organizations/:orgId/environments/:envId/portals/:hrid/get.md)

---

[API](https://skmtc.dev/gravitee-io/apis/gravitee-io-automation-api.md) - [All operations](https://skmtc.dev/gravitee-io/apis/gravitee-io-automation-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gravitee-io/apis/gravitee-io-automation-api/revisions/460368511dae?raw)
