Gravitee API Plans API

The API Plans API from Gravitee — 6 operation(s) for api plans.

Business capability
API Consumption Governance BC-4270.50

Operations 9

GET /organizations/{orgId}/environments/{envId}/apis/{api}/plans List plans for an API #
POST /organizations/{orgId}/environments/{envId}/apis/{api}/plans Create a plan #
GET /organizations/{orgId}/environments/{envId}/apis/{api}/plans/{plan} Get a plan #
PUT /organizations/{orgId}/environments/{envId}/apis/{api}/plans/{plan} Update a plan #
DELETE /organizations/{orgId}/environments/{envId}/apis/{api}/plans/{plan} Delete a plan #
POST /organizations/{orgId}/environments/{envId}/apis/{api}/plans/{plan}/_close Close a plan #
POST /organizations/{orgId}/environments/{envId}/apis/{api}/plans/{plan}/_deprecate Deprecate a plan #
POST /organizations/{orgId}/environments/{envId}/apis/{api}/plans/{plan}/_depreciate Deprecated, use '_deprecate' instead. Deprecate a plan #
POST /organizations/{orgId}/environments/{envId}/apis/{api}/plans/{plan}/_publish Publicly publish plan #

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-api-plans-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-api-plans-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Gravitee.io - Management API Plans 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: API Plans
paths:
  /organizations/{orgId}/environments/{envId}/apis/{api}/plans:
    get:
      tags:
      - API Plans
      summary: List plans for an API
      description: List all the plans accessible to the current user.
      operationId: getApiPlans
      parameters:
      - name: status
        in: query
        explode: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/PlanStatus'
      - name: security
        in: query
        explode: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/PlanSecurityType'
      - name: api
        in: path
        description: The ID of the API
        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: List accessible plans for current user
          content:
            application/json:
              schema:
                uniqueItems: true
                type: array
                items:
                  $ref: '#/components/schemas/PlanEntity'
        '500':
          description: Internal server error
    post:
      tags:
      - API Plans
      summary: Create a plan
      description: User must have the MANAGE_PLANS permission to use this service
      operationId: createApiPlan
      parameters:
      - name: api
        in: path
        description: The ID of the API
        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/NewPlanEntity'
        required: true
      responses:
        '201':
          description: Plan successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanEntity'
        '500':
          description: Internal server error
  /organizations/{orgId}/environments/{envId}/apis/{api}/plans/{plan}:
    get:
      tags:
      - API Plans
      summary: Get a plan
      description: User must have the READ permission to use this service
      operationId: getApiPlan
      parameters:
      - name: plan
        in: path
        required: true
        schema:
          type: string
      - name: api
        in: path
        description: The ID of the API
        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: Plan information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanEntity'
        '500':
          description: Internal server error
    put:
      tags:
      - API Plans
      summary: Update a plan
      description: User must have the MANAGE_PLANS permission to use this service
      operationId: updateApiPlan
      parameters:
      - name: plan
        in: path
        required: true
        schema:
          type: string
      - name: api
        in: path
        description: The ID of the API
        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/UpdatePlanEntity'
        required: true
      responses:
        '200':
          description: Plan successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanEntity'
        '400':
          description: Bad plan format
        '500':
          description: Internal server error
    delete:
      tags:
      - API Plans
      summary: Delete a plan
      description: User must have the MANAGE_PLANS permission to use this service
      operationId: deleteApiPlan
      parameters:
      - name: plan
        in: path
        required: true
        schema:
          type: string
      - name: api
        in: path
        description: The ID of the API
        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: Plan successfully deleted
        '500':
          description: Internal server error
  /organizations/{orgId}/environments/{envId}/apis/{api}/plans/{plan}/_close:
    post:
      tags:
      - API Plans
      summary: Close a plan
      description: User must have the MANAGE_PLANS permission to use this service
      operationId: closeApiPlan
      parameters:
      - name: plan
        in: path
        required: true
        schema:
          type: string
      - name: api
        in: path
        description: The ID of the API
        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: Plan successfully closed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanEntity'
        '500':
          description: Internal server error
  /organizations/{orgId}/environments/{envId}/apis/{api}/plans/{plan}/_deprecate:
    post:
      tags:
      - API Plans
      summary: Deprecate a plan
      description: User must have the API_PLAN[UPDATE] permission to use this service
      operationId: deprecateApiPlan
      parameters:
      - name: plan
        in: path
        required: true
        schema:
          type: string
      - name: api
        in: path
        description: The ID of the API
        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: Plan successfully deprecated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanEntity'
        '500':
          description: Internal server error
  /organizations/{orgId}/environments/{envId}/apis/{api}/plans/{plan}/_depreciate:
    post:
      tags:
      - API Plans
      summary: Deprecated, use '_deprecate' instead. Deprecate a plan
      description: User must have the API_PLAN[UPDATE] permission to use this service
      operationId: depreciateApiPlan
      parameters:
      - name: plan
        in: path
        required: true
        schema:
          type: string
      - name: api
        in: path
        description: The ID of the API
        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: Plan successfully deprecated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanEntity'
        '500':
          description: Internal server error
      deprecated: true
  /organizations/{orgId}/environments/{envId}/apis/{api}/plans/{plan}/_publish:
    post:
      tags:
      - API Plans
      summary: Publicly publish plan
      description: User must have the MANAGE_PLANS permission to use this service
      operationId: publishApiPlan
      parameters:
      - name: plan
        in: path
        required: true
        schema:
          type: string
      - name: api
        in: path
        description: The ID of the API
        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: Plan successfully published
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanEntity'
        '500':
          description: Internal server error
components:
  schemas:
    PlanSecurityType:
      type: string
      enum:
      - KEY_LESS
      - API_KEY
      - OAUTH2
      - JWT
      - SUBSCRIPTION
    PlanEntity:
      required:
      - description
      - flows
      - name
      - paths
      - security
      - status
      - type
      - validation
      type: object
      properties:
        api:
          type: string
        characteristics:
          type: array
          items:
            type: string
        closed_at:
          type: string
          format: date-time
        comment_message:
          type: string
        comment_required:
          type: boolean
        created_at:
          type: string
          format: date-time
        crossId:
          type: string
        description:
          type: string
        excluded_groups:
          type: array
          items:
            type: string
        flows:
          type: array
          items:
            $ref: '#/components/schemas/Flow'
        general_conditions:
          type: string
        id:
          type: string
        name:
          type: string
        order:
          type: integer
          format: int32
        paths:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/Rule'
        published_at:
          type: string
          format: date-time
        security:
          $ref: '#/components/schemas/PlanSecurityType'
        securityDefinition:
          type: string
        selection_rule:
          type: string
        status:
          $ref: '#/components/schemas/PlanStatus'
        tags:
          uniqueItems: true
          type: array
          items:
            type: string
        type:
          $ref: '#/components/schemas/PlanType'
        updated_at:
          type: string
          format: date-time
        validation:
          $ref: '#/components/schemas/PlanValidationType'
      description: a list of plans with flows (the policies configuration)
    UpdatePlanEntity:
      required:
      - description
      - name
      - order
      - paths
      - validation
      type: object
      properties:
        characteristics:
          type: array
          items:
            type: string
        comment_message:
          type: string
        comment_required:
          type: boolean
        crossId:
          type: string
        description:
          type: string
        excluded_groups:
          type: array
          items:
            type: string
        flows:
          type: array
          items:
            $ref: '#/components/schemas/Flow'
        general_conditions:
          type: string
        id:
          type: string
        name:
          type: string
        order:
          type: integer
          format: int32
        paths:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/Rule'
        securityDefinition:
          type: string
        selection_rule:
          type: string
        tags:
          uniqueItems: true
          type: array
          items:
            type: string
        validation:
          $ref: '#/components/schemas/PlanValidationType'
    PlanStatus:
      type: string
      enum:
      - STAGING
      - PUBLISHED
      - CLOSED
      - DEPRECATED
    NewPlanEntity:
      required:
      - description
      - flows
      - name
      - paths
      - security
      - status
      - type
      - validation
      type: object
      properties:
        api:
          type: string
        characteristics:
          type: array
          items:
            type: string
        comment_message:
          type: string
        comment_required:
          type: boolean
        crossId:
          type: string
        description:
          type: string
        excluded_groups:
          type: array
          items:
            type: string
        flows:
          type: array
          items:
            $ref: '#/components/schemas/Flow'
        general_conditions:
          type: string
        id:
          type: string
        name:
          type: string
        order:
          type: integer
          format: int32
        paths:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/Rule'
        security:
          $ref: '#/components/schemas/PlanSecurityType'
        securityDefinition:
          type: string
        selection_rule:
          type: string
        status:
          $ref: '#/components/schemas/PlanStatus'
        tags:
          uniqueItems: true
          type: array
          items:
            type: string
        type:
          $ref: '#/components/schemas/PlanType'
        validation:
          $ref: '#/components/schemas/PlanValidationType'
    PathOperator:
      type: object
      properties:
        operator:
          type: string
          enum:
          - STARTS_WITH
          - EQUALS
        path:
          type: string
    Consumer:
      type: object
      properties:
        consumerId:
          type: string
        consumerType:
          type: string
          enum:
          - TAG
    PlanValidationType:
      type: string
      enum:
      - AUTO
      - MANUAL
    Flow:
      type: object
      properties:
        condition:
          type: string
        consumers:
          type: array
          items:
            $ref: '#/components/schemas/Consumer'
        enabled:
          type: boolean
        methods:
          uniqueItems: true
          type: array
          items:
            type: string
            enum:
            - CONNECT
            - DELETE
            - GET
            - HEAD
            - OPTIONS
            - PATCH
            - POST
            - PUT
            - TRACE
            - OTHER
        name:
          type: string
        path-operator:
          $ref: '#/components/schemas/PathOperator'
        post:
          type: array
          items:
            $ref: '#/components/schemas/Step'
        pre:
          type: array
          items:
            $ref: '#/components/schemas/Step'
    Step:
      type: object
      properties:
        condition:
          type: string
        configuration:
          type: object
        description:
          type: string
        enabled:
          type: boolean
        name:
          type: string
        policy:
          type: string
    PlanType:
      type: string
      enum:
      - API
      - CATALOG
    Rule:
      type: object
      properties:
        description:
          type: string
        enabled:
          type: boolean
        methods:
          uniqueItems: true
          type: array
          items:
            type: string
            enum:
            - CONNECT
            - DELETE
            - GET
            - HEAD
            - OPTIONS
            - PATCH
            - POST
            - PUT
            - TRACE
            - OTHER
      additionalProperties:
        type: object
  securitySchemes:
    gravitee-auth:
      type: http
      scheme: basic