Boltic Stream Sources API

Manage stream sources for event ingestion

OpenAPI Specification

boltic-stream-sources-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Boltic Gateway Certificates Stream Sources 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: Stream Sources
  description: Manage stream sources for event ingestion
paths:
  /streams/sources:
    get:
      operationId: listStreamSources
      summary: Boltic List all stream sources
      description: Retrieve a list of all configured stream sources.
      tags:
      - Stream Sources
      responses:
        '200':
          description: A list of stream sources
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/StreamSource'
    post:
      operationId: createStreamSource
      summary: Boltic Create a new stream source
      description: Create a new source for ingesting events into the stream.
      tags:
      - Stream Sources
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StreamSourceInput'
      responses:
        '201':
          description: Stream source created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StreamSource'
  /streams/sources/{sourceId}:
    get:
      operationId: getStreamSource
      summary: Boltic Get a stream source by ID
      tags:
      - Stream Sources
      parameters:
      - name: sourceId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Stream source details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StreamSource'
    delete:
      operationId: deleteStreamSource
      summary: Boltic Delete a stream source
      tags:
      - Stream Sources
      parameters:
      - name: sourceId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Stream source deleted
  /streams/sources/{sourceId}/debug:
    get:
      operationId: debugStreamSource
      summary: Boltic Debug a stream source
      description: Access the source debugger to confirm that API calls from your website, mobile app, or servers are arriving at the stream source.
      tags:
      - Stream Sources
      parameters:
      - name: sourceId
        in: path
        required: true
        schema:
          type: string
      - name: limit
        in: query
        schema:
          type: integer
          default: 50
      responses:
        '200':
          description: Recent events received by this source
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Event'
                  connected:
                    type: boolean
                  lastEventAt:
                    type: string
                    format: date-time
components:
  schemas:
    Event:
      type: object
      properties:
        id:
          type: string
        sourceId:
          type: string
        type:
          type: string
          description: Event type name (e.g., page_view, purchase, signup)
        properties:
          type: object
          additionalProperties: true
          description: Custom event properties
        context:
          type: object
          properties:
            ip:
              type: string
            userAgent:
              type: string
            locale:
              type: string
            page:
              type: object
              properties:
                url:
                  type: string
                title:
                  type: string
                referrer:
                  type: string
        userId:
          type: string
        anonymousId:
          type: string
        timestamp:
          type: string
          format: date-time
        receivedAt:
          type: string
          format: date-time
    StreamSourceInput:
      type: object
      required:
      - name
      - type
      properties:
        name:
          type: string
        type:
          type: string
          enum:
          - javascript
          - server
          - mobile
          - webhook
    StreamSource:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        type:
          type: string
          enum:
          - javascript
          - server
          - mobile
          - webhook
        writeKey:
          type: string
          description: API key for sending events to this source
        status:
          type: string
          enum:
          - active
          - inactive
        eventsToday:
          type: integer
        createdAt:
          type: string
          format: date-time
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT