Boltic Plugins API

Manage gateway plugins for transformation and security

OpenAPI Specification

boltic-plugins-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Boltic Gateway Certificates Plugins API
  description: The Boltic Gateway API provides a developer-friendly API gateway designed to simplify and secure how services interact across your platform. It enables seamless request routing, payload transformation, and enforcement of security policies across diverse integration types including serverless functions, workflows, tables, and proxy endpoints. The Gateway supports dynamic URL rewriting, path parameter injection, fine-grained authentication, and real-time observability.
  version: 1.0.0
  contact:
    name: Boltic
    url: https://www.boltic.io
  license:
    name: Proprietary
    url: https://www.boltic.io/terms
servers:
- url: https://gateway.boltic.io/v1
  description: Boltic Gateway API
security:
- bearerAuth: []
tags:
- name: Plugins
  description: Manage gateway plugins for transformation and security
paths:
  /plugins:
    get:
      operationId: listPlugins
      summary: Boltic List all plugins
      description: Retrieve a list of all plugins configured in the gateway.
      tags:
      - Plugins
      responses:
        '200':
          description: A list of plugins
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Plugin'
    post:
      operationId: createPlugin
      summary: Boltic Create a new plugin
      description: Add a plugin to the gateway for transformation, security, or observability.
      tags:
      - Plugins
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PluginInput'
      responses:
        '201':
          description: Plugin created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Plugin'
  /plugins/{pluginId}:
    get:
      operationId: getPlugin
      summary: Boltic Get a plugin by ID
      tags:
      - Plugins
      parameters:
      - name: pluginId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Plugin details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Plugin'
    put:
      operationId: updatePlugin
      summary: Boltic Update a plugin
      tags:
      - Plugins
      parameters:
      - name: pluginId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PluginInput'
      responses:
        '200':
          description: Plugin updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Plugin'
    delete:
      operationId: deletePlugin
      summary: Boltic Delete a plugin
      tags:
      - Plugins
      parameters:
      - name: pluginId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Plugin deleted
components:
  schemas:
    Plugin:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        type:
          type: string
          enum:
          - authentication
          - transformation
          - rate-limiting
          - logging
          - security
          - cors
          - custom
        enabled:
          type: boolean
        config:
          type: object
          additionalProperties: true
          description: Plugin-specific configuration
        routeId:
          type: string
          description: Optional route this plugin is scoped to
        serviceId:
          type: string
          description: Optional service this plugin is scoped to
        createdAt:
          type: string
          format: date-time
    PluginInput:
      type: object
      required:
      - name
      - type
      properties:
        name:
          type: string
        type:
          type: string
        enabled:
          type: boolean
          default: true
        config:
          type: object
          additionalProperties: true
        routeId:
          type: string
        serviceId:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT