Boltic · Capability

Boltic Gateway API

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.

Run with Naftiko BolticAPI

What You Can Do

GET
Listroutes — Boltic List all routes
/routes
POST
Createroute — Boltic Create a new route
/routes
GET
Getroute — Boltic Get a route by ID
/routes/{routeId}
PUT
Updateroute — Boltic Update a route
/routes/{routeId}
DELETE
Deleteroute — Boltic Delete a route
/routes/{routeId}
GET
Listservices — Boltic List all services
/services
POST
Createservice — Boltic Create a new service
/services
GET
Getservice — Boltic Get a service by ID
/services/{serviceId}
PUT
Updateservice — Boltic Update a service
/services/{serviceId}
DELETE
Deleteservice — Boltic Delete a service
/services/{serviceId}
GET
Listplugins — Boltic List all plugins
/plugins
POST
Createplugin — Boltic Create a new plugin
/plugins
GET
Getplugin — Boltic Get a plugin by ID
/plugins/{pluginId}
PUT
Updateplugin — Boltic Update a plugin
/plugins/{pluginId}
DELETE
Deleteplugin — Boltic Delete a plugin
/plugins/{pluginId}
GET
Listconsumers — Boltic List all consumers
/consumers
POST
Createconsumer — Boltic Create a new consumer
/consumers
GET
Getconsumer — Boltic Get a consumer by ID
/consumers/{consumerId}
DELETE
Deleteconsumer — Boltic Delete a consumer
/consumers/{consumerId}
GET
Listcertificates — Boltic List all certificates
/certificates
POST
Createcertificate — Boltic Upload a new certificate
/certificates

MCP Tools

listroutes

Boltic List all routes

read-only idempotent
createroute

Boltic Create a new route

getroute

Boltic Get a route by ID

read-only idempotent
updateroute

Boltic Update a route

idempotent
deleteroute

Boltic Delete a route

idempotent
listservices

Boltic List all services

read-only idempotent
createservice

Boltic Create a new service

getservice

Boltic Get a service by ID

read-only idempotent
updateservice

Boltic Update a service

idempotent
deleteservice

Boltic Delete a service

idempotent
listplugins

Boltic List all plugins

read-only idempotent
createplugin

Boltic Create a new plugin

getplugin

Boltic Get a plugin by ID

read-only idempotent
updateplugin

Boltic Update a plugin

idempotent
deleteplugin

Boltic Delete a plugin

idempotent
listconsumers

Boltic List all consumers

read-only idempotent
createconsumer

Boltic Create a new consumer

getconsumer

Boltic Get a consumer by ID

read-only idempotent
deleteconsumer

Boltic Delete a consumer

idempotent
listcertificates

Boltic List all certificates

read-only idempotent
createcertificate

Boltic Upload a new certificate

Capability Spec

boltic-capability.yaml Raw ↑
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