Boltic · Schema

Boltic Pipe

A Boltic Pipe is a data synchronization pipeline that connects a data source to a destination with configurable scheduling and field mappings.

AutomationDataSyncGatewaysNoCodeStreamingWorkflows

Properties

Name Type Description
id string Unique identifier for the pipe
name string Human-readable name for the pipe
description string Description of the data sync pipeline
status string Current status of the pipe
source object
destination object
schedule object
lastSyncAt string Timestamp of the last successful sync
rowsSynced integer Total rows synced since creation
createdAt string
updatedAt string
View JSON Schema on GitHub

JSON Schema

boltic-pipe.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/boltic/refs/heads/main/json-schema/boltic-pipe.json",
  "title": "Boltic Pipe",
  "description": "A Boltic Pipe is a data synchronization pipeline that connects a data source to a destination with configurable scheduling and field mappings.",
  "type": "object",
  "required": ["id", "name", "source", "destination"],
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the pipe"
    },
    "name": {
      "type": "string",
      "description": "Human-readable name for the pipe"
    },
    "description": {
      "type": "string",
      "description": "Description of the data sync pipeline"
    },
    "status": {
      "type": "string",
      "enum": ["active", "paused", "error"],
      "description": "Current status of the pipe"
    },
    "source": {
      "$ref": "#/$defs/sourceConfig"
    },
    "destination": {
      "$ref": "#/$defs/destinationConfig"
    },
    "schedule": {
      "$ref": "#/$defs/schedule"
    },
    "lastSyncAt": {
      "type": "string",
      "format": "date-time",
      "description": "Timestamp of the last successful sync"
    },
    "rowsSynced": {
      "type": "integer",
      "minimum": 0,
      "description": "Total rows synced since creation"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "$defs": {
    "sourceConfig": {
      "type": "object",
      "required": ["type"],
      "properties": {
        "type": {
          "type": "string",
          "description": "Source type (e.g., mongodb, mysql, postgresql, rest-api)"
        },
        "connectionConfig": {
          "type": "object",
          "additionalProperties": true,
          "description": "Connection parameters specific to the source type"
        },
        "rootPath": {
          "type": "string",
          "description": "Root path for REST API data extraction"
        },
        "authType": {
          "type": "string",
          "enum": ["none", "basic", "bearer", "oauth2", "api-key"]
        },
        "authConfig": {
          "type": "object",
          "additionalProperties": true
        }
      }
    },
    "destinationConfig": {
      "type": "object",
      "required": ["type"],
      "properties": {
        "type": {
          "type": "string",
          "description": "Destination type identifier"
        },
        "connectionConfig": {
          "type": "object",
          "additionalProperties": true
        },
        "mappings": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "sourceField": { "type": "string" },
              "destinationField": { "type": "string" },
              "transformation": { "type": "string" }
            }
          }
        }
      }
    },
    "schedule": {
      "type": "object",
      "properties": {
        "frequency": {
          "type": "string",
          "enum": ["minutely", "hourly", "daily", "weekly", "monthly", "custom"]
        },
        "interval": {
          "type": "integer",
          "minimum": 1,
          "description": "Interval value for the frequency"
        },
        "cronExpression": {
          "type": "string",
          "description": "Cron expression for custom schedules"
        },
        "timezone": {
          "type": "string"
        }
      }
    }
  }
}