Gravitee Portal Pages API

The Portal Pages API from Gravitee — 6 operation(s) for portal pages.

Business capability
Developer Portal Management BC-4270.30

Operations 12

GET /organizations/{orgId}/environments/{envId}/portal/pages List pages #
POST /organizations/{orgId}/environments/{envId}/portal/pages Create a page #
POST /organizations/{orgId}/environments/{envId}/portal/pages/_fetch Refresh all pages by calling their associated fetcher #
PUT /organizations/{orgId}/environments/{envId}/portal/pages/_import Import pages #
POST /organizations/{orgId}/environments/{envId}/portal/pages/_import Import pages #
GET /organizations/{orgId}/environments/{envId}/portal/pages/{page} Get a page #
PUT /organizations/{orgId}/environments/{envId}/portal/pages/{page} Update a page #
DELETE /organizations/{orgId}/environments/{envId}/portal/pages/{page} Delete a page #
PATCH /organizations/{orgId}/environments/{envId}/portal/pages/{page} Update a page #
POST /organizations/{orgId}/environments/{envId}/portal/pages/{page}/_fetch Refresh page by calling the associated fetcher #
GET /organizations/{orgId}/environments/{envId}/portal/pages/{page}/content Get the page's content #
PUT /organizations/{orgId}/environments/{envId}/portal/pages/{page}/content Update a page content #

Documentation

Specifications

SDKs

Schemas & Data

Other Resources

🔗
ChangeLog
https://documentation.gravitee.io/apim/release-information/changelog
🔗
License
https://github.com/gravitee-io/gravitee-api-management/blob/master/LICENSE.txt
🔗
SDKs
https://github.com/gravitee-io/gravitee-clients-sdk
🔗
SDKs
https://github.com/gravitee-io/terraform-provider-apim
🔗
CLI
https://github.com/gravitee-io/graviteeio-cli
🔗
KubernetesOperator
https://github.com/gravitee-io/gravitee-kubernetes-operator
🔗
HelmChart
https://github.com/gravitee-io/helm-charts
🔗
DockerImage
https://hub.docker.com/r/graviteeio/apim-gateway
🔗
JSONLDContext
https://artifacts.apis.io/gravitee/json-ld/gravitee-context.jsonld
🔗
KubernetesCRD
https://artifacts.apis.io/gravitee/crd/gravitee.io_apidefinitions.yaml
🔗
KubernetesCRD
https://artifacts.apis.io/gravitee/crd/gravitee.io_apiv4definitions.yaml
🔗
KubernetesCRD
https://artifacts.apis.io/gravitee/crd/gravitee.io_apiresources.yaml
🔗
KubernetesCRD
https://artifacts.apis.io/gravitee/crd/gravitee.io_applications.yaml
🔗
KubernetesCRD
https://artifacts.apis.io/gravitee/crd/gravitee.io_subscriptions.yaml
🔗
KubernetesCRD
https://artifacts.apis.io/gravitee/crd/gravitee.io_managementcontexts.yaml
🔗
KubernetesCRD
https://artifacts.apis.io/gravitee/crd/gravitee.io_sharedpolicygroups.yaml
🔗
KubernetesCRD
https://artifacts.apis.io/gravitee/crd/gravitee.io_groups.yaml
🔗
KubernetesCRD
https://artifacts.apis.io/gravitee/crd/gravitee.io_notifications.yaml
🔗
Plans
https://artifacts.apis.io/gravitee/plans/gravitee-plans-pricing.yml
🔗
FinOps
https://artifacts.apis.io/gravitee/finops/gravitee-finops.yml
🔗
Reference
https://documentation.gravitee.io/am/reference/am-api-reference
🔗
ChangeLog
https://documentation.gravitee.io/am/releases-and-changelog/release-notes
🔗
License
https://github.com/gravitee-io/gravitee-access-management/blob/master/LICENSE
🔗
SDKs
https://github.com/gravitee-io/gravitee-access-management/tree/master/gravitee-am-management-api-sdk-java
🔗
HelmChart
https://github.com/gravitee-io/helm-charts/tree/master/helm/gravitee-am
🔗
DockerImage
https://hub.docker.com/r/graviteeio/am-gateway

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/gravitee:gravitee-portal-pages-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

gravitee-portal-pages-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Gravitee.io - Management Portal Pages API
  description: Some news resources are in alpha version. This implies that they are likely to be modified or even removed in future versions. They are marked with the 🧪 symbol
  version: 3.20.0
servers:
- url: http://localhost:8083/management
security:
- gravitee-auth: []
tags:
- name: Portal Pages
paths:
  /organizations/{orgId}/environments/{envId}/portal/pages:
    get:
      tags:
      - Portal Pages
      summary: List pages
      description: Every users can use this service
      operationId: getPortalPages
      parameters:
      - name: Accept-Language
        in: header
        schema:
          type: string
      - name: homepage
        in: query
        schema:
          type: boolean
      - name: published
        in: query
        schema:
          type: boolean
      - name: type
        in: query
        schema:
          $ref: '#/components/schemas/PageType'
      - name: parent
        in: query
        schema:
          type: string
      - name: name
        in: query
        schema:
          type: string
      - name: root
        in: query
        schema:
          type: boolean
      - name: translated
        in: query
        schema:
          type: boolean
      - name: envId
        in: path
        description: The ID of the environment
        required: true
        schema:
          type: string
          default: DEFAULT
      - name: orgId
        in: path
        description: The ID of the Organization
        required: true
        schema:
          type: string
          default: DEFAULT
      responses:
        '200':
          description: List of pages
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PageEntity'
        '500':
          description: Internal server error
    post:
      tags:
      - Portal Pages
      summary: Create a page
      description: User must have the ENVIRONMENT_DOCUMENTATION[CREATE] permission to use this service
      operationId: createPortalPage
      parameters:
      - name: envId
        in: path
        description: The ID of the environment
        required: true
        schema:
          type: string
          default: DEFAULT
      - name: orgId
        in: path
        description: The ID of the Organization
        required: true
        schema:
          type: string
          default: DEFAULT
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewPageEntity'
        required: true
      responses:
        '201':
          description: Page successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageEntity'
        '500':
          description: Internal server error
  /organizations/{orgId}/environments/{envId}/portal/pages/_fetch:
    post:
      tags:
      - Portal Pages
      summary: Refresh all pages by calling their associated fetcher
      description: User must have the ENVIRONMENT_DOCUMENTATION[UPDATE] permission to use this service
      operationId: fetchAllPortalPages
      parameters:
      - name: envId
        in: path
        description: The ID of the environment
        required: true
        schema:
          type: string
          default: DEFAULT
      - name: orgId
        in: path
        description: The ID of the Organization
        required: true
        schema:
          type: string
          default: DEFAULT
      responses:
        '201':
          description: Pages successfully refreshed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageEntity'
        '500':
          description: Internal server error
  /organizations/{orgId}/environments/{envId}/portal/pages/_import:
    put:
      tags:
      - Portal Pages
      summary: Import pages
      description: User must have the ENVIRONMENT_DOCUMENTATION[CREATE] permission to use this service
      operationId: updateImportedPortalPageFromFiles
      parameters:
      - name: envId
        in: path
        description: The ID of the environment
        required: true
        schema:
          type: string
          default: DEFAULT
      - name: orgId
        in: path
        description: The ID of the Organization
        required: true
        schema:
          type: string
          default: DEFAULT
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportPageEntity'
        required: true
      responses:
        '201':
          description: Page successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageEntity'
        '500':
          description: Internal server error
    post:
      tags:
      - Portal Pages
      summary: Import pages
      description: User must have the ENVIRONMENT_DOCUMENTATION[CREATE] permission to use this service
      operationId: importPortalPageFromFiles
      parameters:
      - name: envId
        in: path
        description: The ID of the environment
        required: true
        schema:
          type: string
          default: DEFAULT
      - name: orgId
        in: path
        description: The ID of the Organization
        required: true
        schema:
          type: string
          default: DEFAULT
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportPageEntity'
        required: true
      responses:
        '201':
          description: Page successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageEntity'
        '500':
          description: Internal server error
  /organizations/{orgId}/environments/{envId}/portal/pages/{page}:
    get:
      tags:
      - Portal Pages
      summary: Get a page
      description: Every users can use this service
      operationId: getPortalPage
      parameters:
      - name: Accept-Language
        in: header
        schema:
          type: string
      - name: page
        in: path
        required: true
        schema:
          type: string
      - name: portal
        in: query
        schema:
          type: boolean
      - name: translated
        in: query
        schema:
          type: boolean
      - name: envId
        in: path
        description: The ID of the environment
        required: true
        schema:
          type: string
          default: DEFAULT
      - name: orgId
        in: path
        description: The ID of the Organization
        required: true
        schema:
          type: string
          default: DEFAULT
      responses:
        '200':
          description: Page
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageEntity'
        '500':
          description: Internal server error
    put:
      tags:
      - Portal Pages
      summary: Update a page
      description: User must have the ENVIRONMENT_DOCUMENTATION[UPDATE] permission to use this service
      operationId: updatePortalPage
      parameters:
      - name: page
        in: path
        required: true
        schema:
          type: string
      - name: envId
        in: path
        description: The ID of the environment
        required: true
        schema:
          type: string
          default: DEFAULT
      - name: orgId
        in: path
        description: The ID of the Organization
        required: true
        schema:
          type: string
          default: DEFAULT
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePageEntity'
        required: true
      responses:
        '201':
          description: Page successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageEntity'
        '500':
          description: Internal server error
    delete:
      tags:
      - Portal Pages
      summary: Delete a page
      description: User must have the ENVIRONMENT_DOCUMENTATION[DELETE] permission to use this service
      operationId: deletePortalPage
      parameters:
      - name: page
        in: path
        required: true
        schema:
          type: string
      - name: envId
        in: path
        description: The ID of the environment
        required: true
        schema:
          type: string
          default: DEFAULT
      - name: orgId
        in: path
        description: The ID of the Organization
        required: true
        schema:
          type: string
          default: DEFAULT
      responses:
        '204':
          description: Page successfully deleted
        '500':
          description: Internal server error
    patch:
      tags:
      - Portal Pages
      summary: Update a page
      description: User must have the ENVIRONMENT_DOCUMENTATION[UPDATE] permission to use this service
      operationId: partialUpdatePortalPage
      parameters:
      - name: page
        in: path
        required: true
        schema:
          type: string
      - name: envId
        in: path
        description: The ID of the environment
        required: true
        schema:
          type: string
          default: DEFAULT
      - name: orgId
        in: path
        description: The ID of the Organization
        required: true
        schema:
          type: string
          default: DEFAULT
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePageEntity'
        required: true
      responses:
        '201':
          description: Page successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageEntity'
        '500':
          description: Internal server error
  /organizations/{orgId}/environments/{envId}/portal/pages/{page}/_fetch:
    post:
      tags:
      - Portal Pages
      summary: Refresh page by calling the associated fetcher
      description: User must have the ENVIRONMENT_DOCUMENTATION[UPDATE] permission to use this service
      operationId: fetchPortalPage
      parameters:
      - name: page
        in: path
        required: true
        schema:
          type: string
      - name: envId
        in: path
        description: The ID of the environment
        required: true
        schema:
          type: string
          default: DEFAULT
      - name: orgId
        in: path
        description: The ID of the Organization
        required: true
        schema:
          type: string
          default: DEFAULT
      responses:
        '201':
          description: Page successfully refreshed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageEntity'
        '500':
          description: Internal server error
  /organizations/{orgId}/environments/{envId}/portal/pages/{page}/content:
    get:
      tags:
      - Portal Pages
      summary: Get the page's content
      description: Every users can use this service
      operationId: getPortalPageContent
      parameters:
      - name: page
        in: path
        required: true
        schema:
          type: string
      - name: envId
        in: path
        description: The ID of the environment
        required: true
        schema:
          type: string
          default: DEFAULT
      - name: orgId
        in: path
        description: The ID of the Organization
        required: true
        schema:
          type: string
          default: DEFAULT
      responses:
        '200':
          description: Page's content
          content:
            text/plain:
              schema:
                type: string
        '500':
          description: Internal server error
    put:
      tags:
      - Portal Pages
      summary: Update a page content
      description: User must have the PORTAL_DOCUMENTATION[UPDATE] permission to use this service
      operationId: updatePageContent_1
      parameters:
      - name: page
        in: path
        required: true
        schema:
          type: string
      - name: envId
        in: path
        description: The ID of the environment
        required: true
        schema:
          type: string
          default: DEFAULT
      - name: orgId
        in: path
        description: The ID of the Organization
        required: true
        schema:
          type: string
          default: DEFAULT
      requestBody:
        content:
          application/json:
            schema:
              type: string
        required: true
      responses:
        '200':
          description: Page content successfully updated
          content:
            text/plain:
              schema:
                type: string
        '500':
          description: Internal server error
components:
  schemas:
    PageMediaEntity:
      type: object
      properties:
        attachedAt:
          type: string
          format: date-time
        mediaHash:
          type: string
        mediaName:
          type: string
    PageType:
      type: string
      enum:
      - ASCIIDOC
      - ASYNCAPI
      - MARKDOWN
      - MARKDOWN_TEMPLATE
      - SWAGGER
      - FOLDER
      - LINK
      - ROOT
      - SYSTEM_FOLDER
      - TRANSLATION
    ImportPageEntity:
      required:
      - type
      type: object
      properties:
        accessControls:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/AccessControlEntity'
        configuration:
          type: object
          additionalProperties:
            type: string
        excludedAccessControls:
          type: boolean
        excluded_groups:
          type: array
          items:
            type: string
        lastContributor:
          type: string
        published:
          type: boolean
        source:
          $ref: '#/components/schemas/PageSourceEntity'
        type:
          $ref: '#/components/schemas/PageType'
        visibility:
          $ref: '#/components/schemas/Visibility'
    PageEntity:
      type: object
      properties:
        accessControls:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/AccessControlEntity'
        attached_media:
          type: array
          items:
            $ref: '#/components/schemas/PageMediaEntity'
        configuration:
          type: object
          additionalProperties:
            type: string
        content:
          type: string
        contentRevisionId:
          $ref: '#/components/schemas/PageRevisionId'
        contentType:
          type: string
        crossId:
          type: string
        excludedAccessControls:
          type: boolean
        excluded_groups:
          type: array
          items:
            type: string
        generalConditions:
          type: boolean
          readOnly: true
        homepage:
          type: boolean
        id:
          type: string
        lastContributor:
          type: string
        lastModificationDate:
          type: string
          format: date-time
        messages:
          type: array
          items:
            type: string
        metadata:
          type: object
          additionalProperties:
            type: string
        name:
          type: string
        order:
          type: integer
          format: int32
        parentId:
          type: string
        parentPath:
          type: string
        published:
          type: boolean
        source:
          $ref: '#/components/schemas/PageSourceEntity'
        translations:
          type: array
          items:
            $ref: '#/components/schemas/PageEntity'
        type:
          type: string
        visibility:
          $ref: '#/components/schemas/Visibility'
    PageSourceEntity:
      type: object
      properties:
        configuration:
          type: string
        type:
          type: string
    NewPageEntity:
      required:
      - name
      - type
      type: object
      properties:
        accessControls:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/AccessControlEntity'
        attached_media:
          type: array
          items:
            $ref: '#/components/schemas/PageMediaEntity'
        configuration:
          type: object
          additionalProperties:
            type: string
        content:
          type: string
        crossId:
          type: string
        excludedAccessControls:
          type: boolean
        excluded_groups:
          type: array
          items:
            type: string
        homepage:
          type: boolean
        lastContributor:
          type: string
        metadata:
          type: object
          additionalProperties:
            type: string
        name:
          maxLength: 2147483647
          minLength: 1
          type: string
        order:
          type: integer
          format: int32
        parentId:
          type: string
        published:
          type: boolean
        source:
          $ref: '#/components/schemas/PageSourceEntity'
        type:
          $ref: '#/components/schemas/PageType'
        useAutoFetch:
          type: boolean
        visibility:
          $ref: '#/components/schemas/Visibility'
    PageRevisionId:
      type: object
      properties:
        pageId:
          type: string
        revision:
          type: integer
          format: int32
    UpdatePageEntity:
      type: object
      properties:
        accessControls:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/AccessControlEntity'
        attached_media:
          type: array
          items:
            $ref: '#/components/schemas/PageMediaEntity'
        configuration:
          type: object
          additionalProperties:
            type: string
        content:
          type: string
        crossId:
          type: string
        excludedAccessControls:
          type: boolean
        excluded_groups:
          type: array
          items:
            type: string
        homepage:
          type: boolean
        lastContributor:
          type: string
        metadata:
          type: object
          additionalProperties:
            type: string
        name:
          type: string
        order:
          type: integer
          format: int32
        parentId:
          type: string
        published:
          type: boolean
        source:
          $ref: '#/components/schemas/PageSourceEntity'
        useAutoFetch:
          type: boolean
        visibility:
          $ref: '#/components/schemas/Visibility'
    Visibility:
      type: string
      description: The visibility of the API regarding the portal.
      example: PUBLIC
      enum:
      - PUBLIC
      - PRIVATE
    AccessControlEntity:
      type: object
      properties:
        referenceId:
          type: string
        referenceType:
          type: string
  securitySchemes:
    gravitee-auth:
      type: http
      scheme: basic