Boltic Workflow API

The Boltic Workflow API enables programmatic creation, management, and execution of automation workflows. Workflows are visual, no-code automation sequences that connect triggers with actions across 500+ integrations. The API supports HTTP-triggered workflows with customizable responses, scheduled executions, webhook-based triggers, and integration with AI providers including Perplexity, Hugging Face, Meta, and DeepSeek.

OpenAPI Specification

boltic-workflow-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Boltic Workflow API
  description: >-
    The Boltic Workflow API enables programmatic creation, management, and
    execution of automation workflows. Workflows are visual, no-code automation
    sequences that connect triggers with actions across 500+ integrations.
    The API supports HTTP-triggered workflows with customizable responses,
    scheduled executions, and webhook-based triggers. Workflows can incorporate
    integration, transformation, and destination actions with support for
    multiple AI providers.
  version: 1.0.0
  contact:
    name: Boltic
    url: https://www.boltic.io
  license:
    name: Proprietary
    url: https://www.boltic.io/terms
servers:
  - url: https://api.boltic.io/v1
    description: Boltic Workflow API
security:
  - bearerAuth: []
tags:
  - name: Executions
    description: Track and manage workflow executions
  - name: Triggers
    description: Manage workflow triggers
  - name: Workflows
    description: Create and manage automation workflows
paths:
  /workflows:
    get:
      operationId: listWorkflows
      summary: Boltic List all workflows
      description: Retrieve a paginated list of all workflows in the workspace.
      tags:
        - Workflows
      parameters:
        - name: page
          in: query
          schema:
            type: integer
            default: 1
        - name: limit
          in: query
          schema:
            type: integer
            default: 20
        - name: status
          in: query
          schema:
            type: string
            enum: [active, inactive, draft]
      responses:
        '200':
          description: A list of workflows
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Workflow'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createWorkflow
      summary: Boltic Create a new workflow
      description: >-
        Create a new automation workflow with triggers, actions, and
        configuration.
      tags:
        - Workflows
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowInput'
      responses:
        '201':
          description: Workflow created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workflow'
        '400':
          $ref: '#/components/responses/BadRequest'
  /workflows/{workflowId}:
    get:
      operationId: getWorkflow
      summary: Boltic Get a workflow by ID
      description: Retrieve the full configuration and status of a specific workflow.
      tags:
        - Workflows
      parameters:
        - name: workflowId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Workflow details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workflow'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateWorkflow
      summary: Boltic Update a workflow
      description: Update the configuration of an existing workflow.
      tags:
        - Workflows
      parameters:
        - name: workflowId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowInput'
      responses:
        '200':
          description: Workflow updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workflow'
    delete:
      operationId: deleteWorkflow
      summary: Boltic Delete a workflow
      tags:
        - Workflows
      parameters:
        - name: workflowId
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Workflow deleted
  /workflows/{workflowId}/execute:
    post:
      operationId: executeWorkflow
      summary: Boltic Execute a workflow
      description: >-
        Trigger immediate execution of a workflow. Supports synchronous
        execution that waits for the workflow to complete before returning
        a response.
      tags:
        - Workflows
      parameters:
        - name: workflowId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                input:
                  type: object
                  additionalProperties: true
                  description: Input data to pass to the workflow
                async:
                  type: boolean
                  default: false
                  description: Whether to execute asynchronously
      responses:
        '200':
          description: Workflow execution result (synchronous)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Execution'
        '202':
          description: Workflow execution started (asynchronous)
          content:
            application/json:
              schema:
                type: object
                properties:
                  executionId:
                    type: string
                  status:
                    type: string
                    enum: [queued]
  /workflows/{workflowId}/activate:
    post:
      operationId: activateWorkflow
      summary: Boltic Activate a workflow
      description: Enable a workflow so it responds to triggers.
      tags:
        - Workflows
      parameters:
        - name: workflowId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Workflow activated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workflow'
  /workflows/{workflowId}/deactivate:
    post:
      operationId: deactivateWorkflow
      summary: Boltic Deactivate a workflow
      description: Disable a workflow so it stops responding to triggers.
      tags:
        - Workflows
      parameters:
        - name: workflowId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Workflow deactivated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workflow'
  /workflows/{workflowId}/executions:
    get:
      operationId: listExecutions
      summary: Boltic List workflow executions
      description: Retrieve execution history for a specific workflow.
      tags:
        - Executions
      parameters:
        - name: workflowId
          in: path
          required: true
          schema:
            type: string
        - name: page
          in: query
          schema:
            type: integer
            default: 1
        - name: limit
          in: query
          schema:
            type: integer
            default: 20
        - name: status
          in: query
          schema:
            type: string
            enum: [running, completed, failed, cancelled]
      responses:
        '200':
          description: A list of executions
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Execution'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
  /executions/{executionId}:
    get:
      operationId: getExecution
      summary: Boltic Get execution details
      description: Retrieve details and results of a specific workflow execution.
      tags:
        - Executions
      parameters:
        - name: executionId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Execution details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Execution'
  /executions/{executionId}/cancel:
    post:
      operationId: cancelExecution
      summary: Boltic Cancel an execution
      description: Cancel a running workflow execution.
      tags:
        - Executions
      parameters:
        - name: executionId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Execution cancelled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Execution'
  /triggers:
    get:
      operationId: listTriggers
      summary: Boltic List available triggers
      description: Retrieve a list of all available trigger types.
      tags:
        - Triggers
      responses:
        '200':
          description: A list of trigger types
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Trigger'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  schemas:
    Workflow:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        status:
          type: string
          enum: [active, inactive, draft]
        trigger:
          $ref: '#/components/schemas/Trigger'
        nodes:
          type: array
          items:
            $ref: '#/components/schemas/Node'
        tags:
          type: array
          items:
            type: string
        executionCount:
          type: integer
          description: Total number of times this workflow has been executed
        lastExecutedAt:
          type: string
          format: date-time
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    WorkflowInput:
      type: object
      required:
        - name
        - trigger
      properties:
        name:
          type: string
        description:
          type: string
        trigger:
          $ref: '#/components/schemas/TriggerInput'
        nodes:
          type: array
          items:
            $ref: '#/components/schemas/NodeInput'
        tags:
          type: array
          items:
            type: string
    Trigger:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
            - http
            - schedule
            - webhook
            - copilot
            - table-change
            - manual
        config:
          type: object
          additionalProperties: true
          description: Trigger-specific configuration
        methods:
          type: array
          items:
            type: string
            enum: [GET, POST, PUT, DELETE]
          description: HTTP methods for HTTP triggers
    TriggerInput:
      type: object
      required:
        - type
      properties:
        type:
          type: string
          enum: [http, schedule, webhook, copilot, table-change, manual]
        config:
          type: object
          additionalProperties: true
        methods:
          type: array
          items:
            type: string
    Node:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
            - integration
            - transformation
            - destination
            - condition
            - loop
            - ai
        name:
          type: string
        integrationId:
          type: string
        config:
          type: object
          additionalProperties: true
        position:
          type: object
          properties:
            x:
              type: number
            y:
              type: number
        connections:
          type: array
          items:
            type: object
            properties:
              targetNodeId:
                type: string
              condition:
                type: string
    NodeInput:
      type: object
      required:
        - type
        - name
      properties:
        type:
          type: string
        name:
          type: string
        integrationId:
          type: string
        config:
          type: object
          additionalProperties: true
        position:
          type: object
          properties:
            x:
              type: number
            y:
              type: number
        connections:
          type: array
          items:
            type: object
            properties:
              targetNodeId:
                type: string
              condition:
                type: string
    Execution:
      type: object
      properties:
        id:
          type: string
        workflowId:
          type: string
        status:
          type: string
          enum: [queued, running, completed, failed, cancelled]
        input:
          type: object
          additionalProperties: true
        output:
          type: object
          additionalProperties: true
        error:
          type: object
          properties:
            message:
              type: string
            nodeId:
              type: string
            code:
              type: string
        startedAt:
          type: string
          format: date-time
        completedAt:
          type: string
          format: date-time
        duration:
          type: integer
          description: Execution duration in milliseconds
        nodeResults:
          type: array
          items:
            type: object
            properties:
              nodeId:
                type: string
              status:
                type: string
              output:
                type: object
                additionalProperties: true
              duration:
                type: integer
    Pagination:
      type: object
      properties:
        page:
          type: integer
        limit:
          type: integer
        total:
          type: integer
        totalPages:
          type: integer
    Error:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
        details:
          type: string
  responses:
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'