Gravitee Application Subscriptions API

The Application Subscriptions API from Gravitee — 4 operation(s) for application subscriptions.

Business capability
API Consumption Governance BC-4270.50

Operations 7

GET /organizations/{orgId}/environments/{envId}/applications/{application}/subscribed List APIs subscribed by the application #
GET /organizations/{orgId}/environments/{envId}/applications/{application}/subscriptions List subscriptions for the application #
POST /organizations/{orgId}/environments/{envId}/applications/{application}/subscriptions Subscribe to a plan #
GET /organizations/{orgId}/environments/{envId}/applications/{application}/subscriptions/{subscription} Get subscription information #
PUT /organizations/{orgId}/environments/{envId}/applications/{application}/subscriptions/{subscription} Update a subscription configuration #
DELETE /organizations/{orgId}/environments/{envId}/applications/{application}/subscriptions/{subscription} Close the subscription #
POST /organizations/{orgId}/environments/{envId}/applications/{application}/subscriptions/{subscription}/_changeConsumerStatus Change the status of a subscription #

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-application-subscriptions-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-application-subscriptions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Gravitee.io - Management Application Subscriptions 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: Application Subscriptions
paths:
  /organizations/{orgId}/environments/{envId}/applications/{application}/subscribed:
    get:
      tags:
      - Application Subscriptions
      summary: List APIs subscribed by the application
      description: User must have the APPLICATION_SUBSCRIPTION permission to use this service
      operationId: getApiSubscribed
      parameters:
      - name: application
        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: Paged result of subscribed APIs
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApplicationEntity'
        '500':
          description: Internal server error
  /organizations/{orgId}/environments/{envId}/applications/{application}/subscriptions:
    get:
      tags:
      - Application Subscriptions
      summary: List subscriptions for the application
      description: User must have the READ_SUBSCRIPTION permission to use this service
      operationId: getApplicationSubscriptions
      parameters:
      - name: plan
        in: query
        description: plan
        explode: false
        schema:
          type: array
          items:
            type: string
      - name: api
        in: query
        description: api
        explode: false
        schema:
          type: array
          items:
            type: string
      - name: status
        in: query
        description: Comma separated list of Subscription status, default is ACCEPTED
        explode: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/SubscriptionStatus'
      - name: api_key
        in: query
        schema:
          type: string
      - name: security_types
        in: query
        schema:
          type: array
          items:
            type: string
      - name: size
        in: query
        schema:
          maximum: 100
          minimum: 1
          type: integer
          format: int32
          default: 20
      - name: page
        in: query
        schema:
          minimum: 1
          type: integer
          format: int32
          default: 1
      - name: expand
        in: query
        description: Expansion of data to return in subscriptions
        schema:
          type: array
          items:
            type: string
            enum:
            - keys
            - security
      - name: application
        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: Paged result of application's subscriptions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionEntityPageResult'
        '500':
          description: Internal server error
    post:
      tags:
      - Application Subscriptions
      summary: Subscribe to a plan
      description: User must have the MANAGE_SUBSCRIPTIONS permission to use this service
      operationId: createSubscriptionWithApplication
      parameters:
      - name: plan
        in: query
        required: true
        schema:
          type: string
      - name: application
        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:
          '*/*':
            schema:
              $ref: '#/components/schemas/NewSubscriptionEntity'
      responses:
        '201':
          description: Subscription successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
        '500':
          description: Internal server error
  /organizations/{orgId}/environments/{envId}/applications/{application}/subscriptions/{subscription}:
    get:
      tags:
      - Application Subscriptions
      summary: Get subscription information
      description: User must have the READ permission to use this service
      operationId: getApplicationSubscription
      parameters:
      - name: subscription
        in: path
        required: true
        schema:
          type: string
      - name: application
        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: Subscription information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
        '500':
          description: Internal server error
    put:
      tags:
      - Application Subscriptions
      summary: Update a subscription configuration
      description: User must have the APPLICATION_SUBSCRIPTION[UPDATE] permission to use this service
      operationId: updateApplicationSubscription
      parameters:
      - name: subscription
        in: path
        required: true
        schema:
          type: string
      - name: application
        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/UpdateSubscriptionConfigurationEntity'
        required: true
      responses:
        '200':
          description: Update a subscription configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionEntity'
        '404':
          description: Subscription not found
        '400':
          description: Subscription not updatable, or bad subscription configuration format
        '500':
          description: Internal server error
    delete:
      tags:
      - Application Subscriptions
      summary: Close the subscription
      description: User must have the APPLICATION_SUBSCRIPTION[DELETE] permission to use this service
      operationId: closeApplicationSubscription
      parameters:
      - name: subscription
        in: path
        required: true
        schema:
          type: string
      - name: application
        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: Subscription has been closed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
        '500':
          description: Internal server error
  /organizations/{orgId}/environments/{envId}/applications/{application}/subscriptions/{subscription}/_changeConsumerStatus:
    post:
      tags:
      - Application Subscriptions
      summary: Change the status of a subscription
      description: User must have the APPLICATION_SUBSCRIPTION[UPDATE] permission to use this service
      operationId: changeSubscriptionConsumerStatus
      parameters:
      - name: subscription
        in: path
        required: true
        schema:
          type: string
      - name: status
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/SubscriptionConsumerStatus'
      - name: application
        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: Subscription status successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
        '400':
          description: Status changes not authorized
        '404':
          description: API subscription does not exist
        '500':
          description: Internal server error
components:
  schemas:
    User:
      type: object
      properties:
        displayName:
          type: string
        id:
          type: string
    Plan:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        security:
          type: string
    SubscriptionEntity:
      type: object
      properties:
        api:
          type: string
        application:
          type: string
        client_id:
          type: string
        closed_at:
          type: string
          format: date-time
        configuration:
          type: string
        consumerPausedAt:
          type: string
          format: date-time
        consumerStatus:
          $ref: '#/components/schemas/SubscriptionConsumerStatus'
        created_at:
          type: string
          format: date-time
        daysToExpirationOnLastNotification:
          type: integer
          format: int32
        ending_at:
          type: string
          format: date-time
        id:
          type: string
        keys:
          type: array
          items:
            type: string
        metadata:
          type: object
          additionalProperties:
            type: string
        paused_at:
          type: string
          format: date-time
        plan:
          type: string
        processed_at:
          type: string
          format: date-time
        processed_by:
          type: string
        reason:
          type: string
        request:
          type: string
        security:
          type: string
        starting_at:
          type: string
          format: date-time
        status:
          $ref: '#/components/schemas/SubscriptionStatus'
        subscribed_by:
          type: string
        updated_at:
          type: string
          format: date-time
    Api:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        owner:
          $ref: '#/components/schemas/User'
        version:
          type: string
    UpdateSubscriptionConfigurationEntity:
      type: object
      properties:
        configuration:
          type: string
        filter:
          type: string
        subscriptionId:
          type: string
    Application:
      type: object
      properties:
        apiKeyMode:
          $ref: '#/components/schemas/ApiKeyMode'
        description:
          type: string
        domain:
          type: string
        id:
          type: string
        name:
          type: string
        owner:
          $ref: '#/components/schemas/User'
        type:
          type: string
    Page:
      type: object
      properties:
        current:
          type: integer
          format: int32
        per_page:
          type: integer
          format: int32
        size:
          type: integer
          format: int32
        total_elements:
          type: integer
          format: int32
        total_pages:
          type: integer
          format: int32
    Subscription:
      type: object
      properties:
        api:
          $ref: '#/components/schemas/Api'
        application:
          $ref: '#/components/schemas/Application'
        client_id:
          type: string
        closed_at:
          type: string
          format: date-time
        consumerStatus:
          $ref: '#/components/schemas/SubscriptionConsumerStatus'
        consumer_paused_at:
          type: string
          format: date-time
        created_at:
          type: string
          format: date-time
        ending_at:
          type: string
          format: date-time
        id:
          type: string
        metadata:
          type: object
          additionalProperties:
            type: string
        paused_at:
          type: string
          format: date-time
        plan:
          $ref: '#/components/schemas/Plan'
        processed_at:
          type: string
          format: date-time
        processed_by:
          type: string
        reason:
          type: string
        request:
          type: string
        starting_at:
          type: string
          format: date-time
        status:
          $ref: '#/components/schemas/SubscriptionStatus'
        subscribed_by:
          $ref: '#/components/schemas/User'
        updated_at:
          type: string
          format: date-time
    SubscriptionConsumerStatus:
      type: string
      enum:
      - STARTED
      - STOPPED
    PageRevisionId:
      type: object
      properties:
        pageId:
          type: string
        revision:
          type: integer
          format: int32
    ApplicationEntity:
      type: object
      properties:
        api_key_mode:
          $ref: '#/components/schemas/ApiKeyMode'
        background:
          type: string
        created_at:
          type: string
          description: The date (as a timestamp) when the application was created.
          format: date-time
        description:
          type: string
          description: Application's description. A short description of your App.
          example: I can use a hundred characters to describe this App.
        disable_membership_notifications:
          type: boolean
        domain:
          type: string
          description: Domain used by the application, if relevant
          example: https://my-app.com
        groups:
          uniqueItems: true
          type: array
          description: Application groups. Used to add teams to your application.
          example: '[''MY_GROUP1'', ''MY_GROUP2'']'
          items:
            type: string
            description: Application groups. Used to add teams to your application.
            example: '[''MY_GROUP1'', ''MY_GROUP2'']'
        id:
          type: string
          description: Application's uuid.
          example: 00f8c9e7-78fc-4907-b8c9-e778fc790750
        name:
          type: string
          description: Application's name. Duplicate names can exists.
          example: My App
        owner:
          $ref: '#/components/schemas/PrimaryOwnerEntity'
        picture:
          type: string
        settings:
          $ref: '#/components/schemas/ApplicationSettings'
        status:
          type: string
          description: if the app is ACTIVE or ARCHIVED.
          example: ACTIVE
        type:
          type: string
          description: a string to describe the type of your app.
          example: iOS
        updated_at:
          type: string
          description: The last date (as a timestamp) when the application was updated.
          format: date-time
    PrimaryOwnerEntity:
      type: object
      properties:
        displayName:
          type: string
          description: The user or group display name.
          example: John Doe
        email:
          type: string
          description: The user or group email.
          example: contact@gravitee.io
        id:
          type: string
          description: The user or group id.
          example: 005197cc-cc84-86a6-a75a-88f9772c67db
        type:
          type: string
          description: The primary owner type
          example: USER
      description: The user with role PRIMARY_OWNER on this API.
    SimpleApplicationSettings:
      type: object
      properties:
        client_id:
          type: string
        type:
          type: string
    NewSubscriptionEntity:
      type: object
      properties:
        application:
          type: string
        configuration:
          type: string
        filter:
          type: string
        generalConditionsAccepted:
          type: boolean
        generalConditionsContentRevision:
          $ref: '#/components/schemas/PageRevisionId'
        metadata:
          type: object
          additionalProperties:
            type: string
        plan:
          type: string
        request:
          type: string
    OAuthClientSettings:
      type: object
      properties:
        application_type:
          type: string
        client_id:
          type: string
        client_secret:
          type: string
        client_uri:
          type: string
        grant_types:
          type: array
          items:
            type: string
        logo_uri:
          type: string
        redirect_uris:
          type: array
          items:
            type: string
        renew_client_secret_supported:
          type: boolean
        response_types:
          type: array
          items:
            type: string
    ApiKeyMode:
      type: string
      enum:
      - SHARED
      - EXCLUSIVE
      - UNSPECIFIED
    SubscriptionEntityPageResult:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/SubscriptionEntity'
        metadata:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: object
        page:
          $ref: '#/components/schemas/Page'
    ApplicationSettings:
      type: object
      properties:
        app:
          $ref: '#/components/schemas/SimpleApplicationSettings'
        oauth:
          $ref: '#/components/schemas/OAuthClientSettings'
    SubscriptionStatus:
      type: string
      enum:
      - PENDING
      - REJECTED
      - ACCEPTED
      - CLOSED
      - PAUSED
      - RESUMED
  securitySchemes:
    gravitee-auth:
      type: http
      scheme: basic