Apiman Plugins API

The Plugins API from Apiman — 5 operation(s) for plugins.

OpenAPI Specification

apiman-plugins-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: API Manager REST Actions Plugins API
  description: The API Manager REST API is used by the API Manager UI to get stuff done. You can use it to automate any API Management task you wish. For example, create new Organizations, Plans, Clients, and APIs.
  version: 3.1.0-SNAPSHOT
servers:
- url: /apiman
tags:
- name: Plugins
paths:
  /plugins:
    get:
      tags:
      - Plugins
      operationId: list_1
      responses:
        '200':
          description: If the list of plugins is successfully returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PluginSummaryBean'
    post:
      tags:
      - Plugins
      operationId: create_2
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewPluginBean'
      responses:
        '200':
          description: If the plugin was added successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginBean'
  /plugins/{pluginId}:
    get:
      tags:
      - Plugins
      operationId: get_2
      parameters:
      - name: pluginId
        in: path
        description: The plugin ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: If the plugin exists and is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginBean'
    delete:
      tags:
      - Plugins
      operationId: delete_2
      parameters:
      - name: pluginId
        in: path
        description: The plugin ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '204':
          description: If the plugin was deleted successfully.
  /plugins/availablePlugins:
    get:
      tags:
      - Plugins
      operationId: getAvailablePlugins
      responses:
        '200':
          description: If the plugins are returned successfully.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PluginSummaryBean'
        '403':
          description: If the user is not an admin.
  /plugins/{pluginId}/policyDefs:
    get:
      tags:
      - Plugins
      operationId: getPolicyDefs
      parameters:
      - name: pluginId
        in: path
        description: The plugin ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: If the list of policy definitions is returned successfully.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PolicyDefinitionSummaryBean'
        '404':
          description: If the plugin does not exist.
  /plugins/{pluginId}/policyDefs/{policyDefId}/form:
    get:
      tags:
      - Plugins
      operationId: getPolicyForm
      parameters:
      - name: pluginId
        in: path
        description: The plugin ID
        required: true
        schema:
          type: integer
          format: int64
      - name: policyDefId
        in: path
        description: The policy definition ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: If the form is returned successfully.
          content:
            application/json:
              schema:
                type: string
        '404':
          description: If the form does not exist.
components:
  schemas:
    PluginSummaryBean:
      type: object
      properties:
        id:
          type: integer
          format: int64
        groupId:
          type: string
        artifactId:
          type: string
        version:
          type: string
        classifier:
          type: string
        type:
          type: string
        name:
          type: string
        description:
          type: string
        createdBy:
          type: string
        createdOn:
          type: string
          format: date-time
    PluginBean:
      type: object
      properties:
        id:
          type: integer
          format: int64
        groupId:
          type: string
        artifactId:
          type: string
        version:
          type: string
        classifier:
          type: string
        type:
          type: string
        name:
          type: string
        description:
          type: string
        createdBy:
          type: string
        createdOn:
          type: string
          format: date-time
        deleted:
          type: boolean
    PolicyDefinitionSummaryBean:
      type: object
      properties:
        id:
          type: string
        policyImpl:
          type: string
        name:
          type: string
        description:
          type: string
        icon:
          type: string
        formType:
          type: string
          enum:
          - Default
          - JsonSchema
        pluginId:
          type: integer
          format: int64
    NewPluginBean:
      type: object
      properties:
        groupId:
          type: string
        artifactId:
          type: string
        version:
          type: string
        classifier:
          type: string
        type:
          type: string
        name:
          type: string
        description:
          type: string
        upgrade:
          type: boolean