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