naftiko: 1.0.0-alpha2 info: label: Boltic Gateway 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. tags: - Boltic - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: boltic baseUri: https://gateway.boltic.io/v1 description: Boltic Gateway API HTTP API. authentication: type: bearer token: '{{BOLTIC_TOKEN}}' resources: - name: routes path: /routes operations: - name: listroutes method: GET description: Boltic List all routes inputParameters: - name: page in: query type: integer - name: limit in: query type: integer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createroute method: POST description: Boltic Create a new route outputRawFormat: json outputParameters: - name: result type: object value: $. - name: routes-routeid path: /routes/{routeId} operations: - name: getroute method: GET description: Boltic Get a route by ID inputParameters: - name: routeId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateroute method: PUT description: Boltic Update a route inputParameters: - name: routeId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteroute method: DELETE description: Boltic Delete a route inputParameters: - name: routeId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: services path: /services operations: - name: listservices method: GET description: Boltic List all services inputParameters: - name: page in: query type: integer - name: limit in: query type: integer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createservice method: POST description: Boltic Create a new service outputRawFormat: json outputParameters: - name: result type: object value: $. - name: services-serviceid path: /services/{serviceId} operations: - name: getservice method: GET description: Boltic Get a service by ID inputParameters: - name: serviceId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateservice method: PUT description: Boltic Update a service inputParameters: - name: serviceId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteservice method: DELETE description: Boltic Delete a service inputParameters: - name: serviceId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: plugins path: /plugins operations: - name: listplugins method: GET description: Boltic List all plugins outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createplugin method: POST description: Boltic Create a new plugin outputRawFormat: json outputParameters: - name: result type: object value: $. - name: plugins-pluginid path: /plugins/{pluginId} operations: - name: getplugin method: GET description: Boltic Get a plugin by ID inputParameters: - name: pluginId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateplugin method: PUT description: Boltic Update a plugin inputParameters: - name: pluginId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteplugin method: DELETE description: Boltic Delete a plugin inputParameters: - name: pluginId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: consumers path: /consumers operations: - name: listconsumers method: GET description: Boltic List all consumers outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createconsumer method: POST description: Boltic Create a new consumer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: consumers-consumerid path: /consumers/{consumerId} operations: - name: getconsumer method: GET description: Boltic Get a consumer by ID inputParameters: - name: consumerId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteconsumer method: DELETE description: Boltic Delete a consumer inputParameters: - name: consumerId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: certificates path: /certificates operations: - name: listcertificates method: GET description: Boltic List all certificates outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createcertificate method: POST description: Boltic Upload a new certificate outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: boltic-rest description: REST adapter for Boltic Gateway API. resources: - path: /routes name: listroutes operations: - method: GET name: listroutes description: Boltic List all routes call: boltic.listroutes outputParameters: - type: object mapping: $. - path: /routes name: createroute operations: - method: POST name: createroute description: Boltic Create a new route call: boltic.createroute outputParameters: - type: object mapping: $. - path: /routes/{routeId} name: getroute operations: - method: GET name: getroute description: Boltic Get a route by ID call: boltic.getroute with: routeId: rest.routeId outputParameters: - type: object mapping: $. - path: /routes/{routeId} name: updateroute operations: - method: PUT name: updateroute description: Boltic Update a route call: boltic.updateroute with: routeId: rest.routeId outputParameters: - type: object mapping: $. - path: /routes/{routeId} name: deleteroute operations: - method: DELETE name: deleteroute description: Boltic Delete a route call: boltic.deleteroute with: routeId: rest.routeId outputParameters: - type: object mapping: $. - path: /services name: listservices operations: - method: GET name: listservices description: Boltic List all services call: boltic.listservices outputParameters: - type: object mapping: $. - path: /services name: createservice operations: - method: POST name: createservice description: Boltic Create a new service call: boltic.createservice outputParameters: - type: object mapping: $. - path: /services/{serviceId} name: getservice operations: - method: GET name: getservice description: Boltic Get a service by ID call: boltic.getservice with: serviceId: rest.serviceId outputParameters: - type: object mapping: $. - path: /services/{serviceId} name: updateservice operations: - method: PUT name: updateservice description: Boltic Update a service call: boltic.updateservice with: serviceId: rest.serviceId outputParameters: - type: object mapping: $. - path: /services/{serviceId} name: deleteservice operations: - method: DELETE name: deleteservice description: Boltic Delete a service call: boltic.deleteservice with: serviceId: rest.serviceId outputParameters: - type: object mapping: $. - path: /plugins name: listplugins operations: - method: GET name: listplugins description: Boltic List all plugins call: boltic.listplugins outputParameters: - type: object mapping: $. - path: /plugins name: createplugin operations: - method: POST name: createplugin description: Boltic Create a new plugin call: boltic.createplugin outputParameters: - type: object mapping: $. - path: /plugins/{pluginId} name: getplugin operations: - method: GET name: getplugin description: Boltic Get a plugin by ID call: boltic.getplugin with: pluginId: rest.pluginId outputParameters: - type: object mapping: $. - path: /plugins/{pluginId} name: updateplugin operations: - method: PUT name: updateplugin description: Boltic Update a plugin call: boltic.updateplugin with: pluginId: rest.pluginId outputParameters: - type: object mapping: $. - path: /plugins/{pluginId} name: deleteplugin operations: - method: DELETE name: deleteplugin description: Boltic Delete a plugin call: boltic.deleteplugin with: pluginId: rest.pluginId outputParameters: - type: object mapping: $. - path: /consumers name: listconsumers operations: - method: GET name: listconsumers description: Boltic List all consumers call: boltic.listconsumers outputParameters: - type: object mapping: $. - path: /consumers name: createconsumer operations: - method: POST name: createconsumer description: Boltic Create a new consumer call: boltic.createconsumer outputParameters: - type: object mapping: $. - path: /consumers/{consumerId} name: getconsumer operations: - method: GET name: getconsumer description: Boltic Get a consumer by ID call: boltic.getconsumer with: consumerId: rest.consumerId outputParameters: - type: object mapping: $. - path: /consumers/{consumerId} name: deleteconsumer operations: - method: DELETE name: deleteconsumer description: Boltic Delete a consumer call: boltic.deleteconsumer with: consumerId: rest.consumerId outputParameters: - type: object mapping: $. - path: /certificates name: listcertificates operations: - method: GET name: listcertificates description: Boltic List all certificates call: boltic.listcertificates outputParameters: - type: object mapping: $. - path: /certificates name: createcertificate operations: - method: POST name: createcertificate description: Boltic Upload a new certificate call: boltic.createcertificate outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: boltic-mcp transport: http description: MCP adapter for Boltic Gateway API for AI agent use. tools: - name: listroutes description: Boltic List all routes hints: readOnly: true destructive: false idempotent: true call: boltic.listroutes with: page: tools.page limit: tools.limit inputParameters: - name: page type: integer description: page - name: limit type: integer description: limit outputParameters: - type: object mapping: $. - name: createroute description: Boltic Create a new route hints: readOnly: false destructive: false idempotent: false call: boltic.createroute outputParameters: - type: object mapping: $. - name: getroute description: Boltic Get a route by ID hints: readOnly: true destructive: false idempotent: true call: boltic.getroute with: routeId: tools.routeId inputParameters: - name: routeId type: string description: routeId required: true outputParameters: - type: object mapping: $. - name: updateroute description: Boltic Update a route hints: readOnly: false destructive: false idempotent: true call: boltic.updateroute with: routeId: tools.routeId inputParameters: - name: routeId type: string description: routeId required: true outputParameters: - type: object mapping: $. - name: deleteroute description: Boltic Delete a route hints: readOnly: false destructive: true idempotent: true call: boltic.deleteroute with: routeId: tools.routeId inputParameters: - name: routeId type: string description: routeId required: true outputParameters: - type: object mapping: $. - name: listservices description: Boltic List all services hints: readOnly: true destructive: false idempotent: true call: boltic.listservices with: page: tools.page limit: tools.limit inputParameters: - name: page type: integer description: page - name: limit type: integer description: limit outputParameters: - type: object mapping: $. - name: createservice description: Boltic Create a new service hints: readOnly: false destructive: false idempotent: false call: boltic.createservice outputParameters: - type: object mapping: $. - name: getservice description: Boltic Get a service by ID hints: readOnly: true destructive: false idempotent: true call: boltic.getservice with: serviceId: tools.serviceId inputParameters: - name: serviceId type: string description: serviceId required: true outputParameters: - type: object mapping: $. - name: updateservice description: Boltic Update a service hints: readOnly: false destructive: false idempotent: true call: boltic.updateservice with: serviceId: tools.serviceId inputParameters: - name: serviceId type: string description: serviceId required: true outputParameters: - type: object mapping: $. - name: deleteservice description: Boltic Delete a service hints: readOnly: false destructive: true idempotent: true call: boltic.deleteservice with: serviceId: tools.serviceId inputParameters: - name: serviceId type: string description: serviceId required: true outputParameters: - type: object mapping: $. - name: listplugins description: Boltic List all plugins hints: readOnly: true destructive: false idempotent: true call: boltic.listplugins outputParameters: - type: object mapping: $. - name: createplugin description: Boltic Create a new plugin hints: readOnly: false destructive: false idempotent: false call: boltic.createplugin outputParameters: - type: object mapping: $. - name: getplugin description: Boltic Get a plugin by ID hints: readOnly: true destructive: false idempotent: true call: boltic.getplugin with: pluginId: tools.pluginId inputParameters: - name: pluginId type: string description: pluginId required: true outputParameters: - type: object mapping: $. - name: updateplugin description: Boltic Update a plugin hints: readOnly: false destructive: false idempotent: true call: boltic.updateplugin with: pluginId: tools.pluginId inputParameters: - name: pluginId type: string description: pluginId required: true outputParameters: - type: object mapping: $. - name: deleteplugin description: Boltic Delete a plugin hints: readOnly: false destructive: true idempotent: true call: boltic.deleteplugin with: pluginId: tools.pluginId inputParameters: - name: pluginId type: string description: pluginId required: true outputParameters: - type: object mapping: $. - name: listconsumers description: Boltic List all consumers hints: readOnly: true destructive: false idempotent: true call: boltic.listconsumers outputParameters: - type: object mapping: $. - name: createconsumer description: Boltic Create a new consumer hints: readOnly: false destructive: false idempotent: false call: boltic.createconsumer outputParameters: - type: object mapping: $. - name: getconsumer description: Boltic Get a consumer by ID hints: readOnly: true destructive: false idempotent: true call: boltic.getconsumer with: consumerId: tools.consumerId inputParameters: - name: consumerId type: string description: consumerId required: true outputParameters: - type: object mapping: $. - name: deleteconsumer description: Boltic Delete a consumer hints: readOnly: false destructive: true idempotent: true call: boltic.deleteconsumer with: consumerId: tools.consumerId inputParameters: - name: consumerId type: string description: consumerId required: true outputParameters: - type: object mapping: $. - name: listcertificates description: Boltic List all certificates hints: readOnly: true destructive: false idempotent: true call: boltic.listcertificates outputParameters: - type: object mapping: $. - name: createcertificate description: Boltic Upload a new certificate hints: readOnly: false destructive: false idempotent: false call: boltic.createcertificate outputParameters: - type: object mapping: $. binds: - namespace: env keys: BOLTIC_TOKEN: BOLTIC_TOKEN