Gravitee Portal API

The Portal API from Gravitee — 3 operation(s) for portal.

Business capability
Developer Portal Management BC-4270.30

Operations 4

GET /organizations/{orgId}/environments/{envId}/portal Get the portal configuration #
POST /organizations/{orgId}/environments/{envId}/portal Save the portal configuration #
GET /organizations/{orgId}/environments/{envId}/portal/identities Get the list of social identity providers #
GET /organizations/{orgId}/social-identities Get the list of social identity providers #

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-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-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Gravitee.io - Management Portal 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
paths:
  /organizations/{orgId}/environments/{envId}/portal:
    get:
      tags:
      - Portal
      summary: Get the portal configuration
      description: Every users can use this service
      operationId: getPortalConfig
      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:
        '200':
          description: Portal configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortalConfigEntity'
        '500':
          description: Internal server error
    post:
      tags:
      - Portal
      summary: Save the portal configuration
      operationId: savePortalConfig
      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/PortalSettingsEntity'
        required: true
      responses:
        '200':
          description: Updated portal configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortalSettingsEntity'
        '500':
          description: Internal server error
      deprecated: true
  /organizations/{orgId}/environments/{envId}/portal/identities:
    get:
      tags:
      - Portal
      summary: Get the list of social identity providers
      operationId: getSocialIdentityProviders
      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:
        '200':
          description: List social identity providers
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SocialIdentityProviderEntity'
        '500':
          description: Internal server error
  /organizations/{orgId}/social-identities:
    get:
      tags:
      - Portal
      summary: Get the list of social identity providers
      operationId: getSocialIdentityProviders_1
      parameters:
      - name: orgId
        in: path
        description: The ID of the Organization
        required: true
        schema:
          type: string
          default: DEFAULT
      responses:
        '200':
          description: List social identity providers
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SocialIdentityProviderEntity'
        '500':
          description: Internal server error
components:
  schemas:
    User:
      type: object
      properties:
        displayName:
          type: string
        id:
          type: string
    ApiReview:
      type: object
      properties:
        enabled:
          type: boolean
    PortalUploadMedia:
      type: object
      properties:
        enabled:
          type: boolean
        maxSizeInOctet:
          type: integer
          format: int32
    PortalScheduler:
      type: object
      properties:
        notifications:
          type: integer
          format: int32
        tasks:
          type: integer
          format: int32
    EmailProperties:
      type: object
      properties:
        auth:
          type: boolean
        sslTrust:
          type: string
        startTlsEnable:
          type: boolean
    Api:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        owner:
          $ref: '#/components/schemas/User'
        version:
          type: string
    OpenAPIDocViewer:
      type: object
      properties:
        openAPIDocType:
          $ref: '#/components/schemas/OpenAPIDocType'
    PortalAuthentication:
      type: object
      properties:
        forceLogin:
          $ref: '#/components/schemas/Enabled'
        github:
          $ref: '#/components/schemas/GithubAuthentication'
        google:
          $ref: '#/components/schemas/GoogleAuthentication'
        localLogin:
          $ref: '#/components/schemas/Enabled'
        oauth2:
          $ref: '#/components/schemas/OAuth2Authentication'
    PortalConfigEntity:
      type: object
      properties:
        analytics:
          $ref: '#/components/schemas/Analytics'
        api:
          $ref: '#/components/schemas/Api'
        apiQualityMetrics:
          $ref: '#/components/schemas/ApiQualityMetrics'
        apiReview:
          $ref: '#/components/schemas/ApiReview'
        application:
          $ref: '#/components/schemas/PortalApplicationSettings'
        authentication:
          $ref: '#/components/schemas/PortalAuthentication'
        company:
          $ref: '#/components/schemas/Company'
        dashboards:
          $ref: '#/components/schemas/Dashboards'
        documentation:
          $ref: '#/components/schemas/Documentation'
        openAPIDocViewer:
          $ref: '#/components/schemas/OpenAPIDocViewer'
        plan:
          $ref: '#/components/schemas/PlanSettings'
        portal:
          $ref: '#/components/schemas/Portal'
        reCaptcha:
          $ref: '#/components/schemas/PortalReCaptcha'
        scheduler:
          $ref: '#/components/schemas/PortalScheduler'
    PlanSecurity:
      type: object
      properties:
        apikey:
          $ref: '#/components/schemas/Enabled'
        customApiKey:
          $ref: '#/components/schemas/Enabled'
        jwt:
          $ref: '#/components/schemas/Enabled'
        keyless:
          $ref: '#/components/schemas/Enabled'
        oauth2:
          $ref: '#/components/schemas/Enabled'
        sharedApiKey:
          $ref: '#/components/schemas/Enabled'
    Documentation:
      type: object
      properties:
        url:
          type: string
    ApiQualityMetrics:
      type: object
      properties:
        categoriesWeight:
          type: integer
          format: int32
        descriptionMinLength:
          type: integer
          format: int32
        descriptionWeight:
          type: integer
          format: int32
        enabled:
          type: boolean
        functionalDocumentationWeight:
          type: integer
          format: int32
        healthcheckWeight:
          type: integer
          format: int32
        labelsWeight:
          type: integer
          format: int32
        logoWeight:
          type: integer
          format: int32
        technicalDocumentationWeight:
          type: integer
          format: int32
    ClientRegistration:
      type: object
      properties:
        enabled:
          type: boolean
    SocialIdentityProviderEntity:
      type: object
      properties:
        authorizationEndpoint:
          type: string
        clientId:
          type: string
        color:
          type: string
        description:
          type: string
        display:
          type: string
        emailRequired:
          type: boolean
        id:
          type: string
        name:
          type: string
        optionalUrlParams:
          type: array
          items:
            type: string
        requiredUrlParams:
          type: array
          items:
            type: string
        scopeDelimiter:
          type: string
        scopes:
          type: array
          items:
            type: string
        syncMappings:
          type: boolean
        tokenIntrospectionEndpoint:
          type: string
        type:
          $ref: '#/components/schemas/IdentityProviderType'
        userLogoutEndpoint:
          type: string
    PlanSettings:
      type: object
      properties:
        security:
          $ref: '#/components/schemas/PlanSecurity'
    PortalRating:
      type: object
      properties:
        comment:
          $ref: '#/components/schemas/RatingComment'
        enabled:
          type: boolean
    PortalAnalytics:
      type: object
      properties:
        enabled:
          type: boolean
        trackingId:
          type: string
    Company:
      type: object
      properties:
        name:
          type: string
    RatingComment:
      type: object
      properties:
        mandatory:
          type: boolean
    ApiStatus:
      type: object
      properties:
        enabled:
          type: boolean
    Analytics:
      type: object
      properties:
        clientTimeout:
          type: integer
          format: int64
    PortalReCaptcha:
      type: object
      properties:
        enabled:
          type: boolean
        siteKey:
          type: string
    PortalApis:
      type: object
      properties:
        apiHeaderShowCategories:
          $ref: '#/components/schemas/Enabled'
        apiHeaderShowTags:
          $ref: '#/components/schemas/Enabled'
        categoryMode:
          $ref: '#/components/schemas/Enabled'
        promotedApiMode:
          $ref: '#/components/schemas/Enabled'
        tilesMode:
          $ref: '#/components/schemas/Enabled'
    GoogleAuthentication:
      type: object
      properties:
        clientId:
          type: string
    ApplicationTypes:
      type: object
      properties:
        backend_to_backend:
          $ref: '#/components/schemas/Enabled'
        browser:
          $ref: '#/components/schemas/Enabled'
        native:
          $ref: '#/components/schemas/Enabled'
        simple:
          $ref: '#/components/schemas/Enabled'
        web:
          $ref: '#/components/schemas/Enabled'
    GithubAuthentication:
      type: object
      properties:
        clientId:
          type: string
    Enabled:
      type: object
      properties:
        enabled:
          type: boolean
    PortalSettingsEntity:
      type: object
      properties:
        analytics:
          $ref: '#/components/schemas/Analytics'
        api:
          $ref: '#/components/schemas/Api'
        apiQualityMetrics:
          $ref: '#/components/schemas/ApiQualityMetrics'
        apiReview:
          $ref: '#/components/schemas/ApiReview'
        application:
          $ref: '#/components/schemas/PortalApplicationSettings'
        authentication:
          $ref: '#/components/schemas/PortalAuthentication'
        company:
          $ref: '#/components/schemas/Company'
        cors:
          $ref: '#/components/schemas/PortalCors'
        dashboards:
          $ref: '#/components/schemas/Dashboards'
        documentation:
          $ref: '#/components/schemas/Documentation'
        email:
          $ref: '#/components/schemas/Email'
        metadata:
          type: object
          properties:
            all:
              type: object
              additionalProperties:
                type: string
              writeOnly: true
            empty:
              type: boolean
          additionalProperties:
            type: array
            items:
              type: string
          readOnly: true
        openAPIDocViewer:
          $ref: '#/components/schemas/OpenAPIDocViewer'
        plan:
          $ref: '#/components/schemas/PlanSettings'
        portal:
          $ref: '#/components/schemas/Portal'
        reCaptcha:
          $ref: '#/components/schemas/PortalReCaptcha'
        scheduler:
          $ref: '#/components/schemas/PortalScheduler'
    IdentityProviderType:
      type: string
      enum:
      - GOOGLE
      - GITHUB
      - GRAVITEEIO_AM
      - OIDC
    PortalUserCreation:
      type: object
      properties:
        automaticValidation:
          $ref: '#/components/schemas/Enabled'
        enabled:
          type: boolean
    OAuth2Authentication:
      type: object
      properties:
        clientId:
          type: string
    Portal:
      type: object
      properties:
        analytics:
          $ref: '#/components/schemas/PortalAnalytics'
        apikeyHeader:
          type: string
        apis:
          $ref: '#/components/schemas/PortalApis'
        entrypoint:
          type: string
        homepageTitle:
          type: string
        rating:
          $ref: '#/components/schemas/PortalRating'
        support:
          $ref: '#/components/schemas/Enabled'
        uploadMedia:
          $ref: '#/components/schemas/PortalUploadMedia'
        url:
          type: string
        userCreation:
          $ref: '#/components/schemas/PortalUserCreation'
    Dashboards:
      type: object
      properties:
        apiStatus:
          $ref: '#/components/schemas/ApiStatus'
    Email:
      type: object
      properties:
        enabled:
          type: boolean
        from:
          type: string
        host:
          type: string
        password:
          type: string
        port:
          type: integer
          format: int32
        properties:
          $ref: '#/components/schemas/EmailProperties'
        protocol:
          type: string
        subject:
          type: string
        username:
          type: string
    PortalApplicationSettings:
      type: object
      properties:
        registration:
          $ref: '#/components/schemas/ClientRegistration'
        types:
          $ref: '#/components/schemas/ApplicationTypes'
    PortalCors:
      type: object
      properties:
        allowHeaders:
          type: array
          items:
            type: string
        allowMethods:
          type: array
          items:
            type: string
        allowOrigin:
          type: array
          items:
            type: string
        exposedHeaders:
          type: array
          items:
            type: string
        maxAge:
          type: integer
          format: int32
    OpenAPIDocType:
      type: object
      properties:
        defaultType:
          type: string
        redoc:
          $ref: '#/components/schemas/Enabled'
        swagger:
          $ref: '#/components/schemas/Enabled'
  securitySchemes:
    gravitee-auth:
      type: http
      scheme: basic