Boltic Services API

The Services API from Boltic — 2 operation(s) for services.

OpenAPI Specification

boltic-services-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Boltic Gateway Certificates Services 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: Services
paths:
  /services:
    get:
      operationId: listServices
      summary: Boltic List all services
      description: Retrieve a list of all backend services configured in the gateway.
      tags:
      - Services
      parameters:
      - name: page
        in: query
        schema:
          type: integer
          default: 1
      - name: limit
        in: query
        schema:
          type: integer
          default: 20
      responses:
        '200':
          description: A list of services
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Service'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
    post:
      operationId: createService
      summary: Boltic Create a new service
      description: Register a new backend service in the gateway.
      tags:
      - Services
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceInput'
      responses:
        '201':
          description: Service created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Service'
  /services/{serviceId}:
    get:
      operationId: getService
      summary: Boltic Get a service by ID
      tags:
      - Services
      parameters:
      - name: serviceId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Service details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Service'
    put:
      operationId: updateService
      summary: Boltic Update a service
      tags:
      - Services
      parameters:
      - name: serviceId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceInput'
      responses:
        '200':
          description: Service updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Service'
    delete:
      operationId: deleteService
      summary: Boltic Delete a service
      tags:
      - Services
      parameters:
      - name: serviceId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Service deleted
components:
  schemas:
    Service:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        type:
          type: string
          enum:
          - serverless
          - workflow
          - table
          - proxy
          description: The type of backend service
        url:
          type: string
          format: uri
          description: Target URL for proxy services
        retries:
          type: integer
          description: Number of retries on failure
        connectTimeout:
          type: integer
          description: Connection timeout in milliseconds
        readTimeout:
          type: integer
          description: Read timeout in milliseconds
        writeTimeout:
          type: integer
          description: Write timeout in milliseconds
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    ServiceInput:
      type: object
      required:
      - name
      - type
      properties:
        name:
          type: string
        description:
          type: string
        type:
          type: string
          enum:
          - serverless
          - workflow
          - table
          - proxy
        url:
          type: string
          format: uri
        retries:
          type: integer
        connectTimeout:
          type: integer
        readTimeout:
          type: integer
        writeTimeout:
          type: integer
    Pagination:
      type: object
      properties:
        page:
          type: integer
        limit:
          type: integer
        total:
          type: integer
        totalPages:
          type: integer
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT