SnapLogic Runtime API

Monitor and control pipeline execution state, performance metrics, and concurrent execution statistics.

OpenAPI Specification

snaplogic-runtime-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: SnapLogic Public APIs Asset Management Runtime API
  description: The SnapLogic Public APIs provide programmatic management for SnapLogic integration environments and project assets. The APIs cover activity tracking, asset management, asset catalog and lineage, log retrieval, runtime and pipeline execution control, task management, project and Git operations, Snaplex infrastructure management, Snap statistics, API Management lifecycle, and user and group administration. The platform authenticates API calls with basic authentication and JSON Web Token (JWT) over HTTPS.
  version: '1.0'
  contact:
    name: SnapLogic Support
    url: https://docs.snaplogic.com/public-apis/public-apis-about.html
  termsOfService: https://www.snaplogic.com/terms-of-use
servers:
- url: https://{org}.snaplogic.com/api/1
  description: SnapLogic API Server
  variables:
    org:
      description: Your SnapLogic organization name
      default: elastic
security:
- bearerAuth: []
- basicAuth: []
tags:
- name: Runtime
  description: Monitor and control pipeline execution state, performance metrics, and concurrent execution statistics.
paths:
  /runtime/{org}:
    get:
      operationId: listPipelineExecutions
      summary: List Pipeline Executions
      description: Retrieve information about pipeline executions matching a filter within the specified organization. Supports filtering by status, date range, and pipeline path.
      tags:
      - Runtime
      parameters:
      - $ref: '#/components/parameters/orgPath'
      - name: status
        in: query
        description: Filter executions by status (running, completed, failed, stopped)
        schema:
          type: string
          enum:
          - running
          - completed
          - failed
          - stopped
      - name: limit
        in: query
        description: Maximum number of results to return
        schema:
          type: integer
          default: 25
      responses:
        '200':
          description: Successful retrieval of pipeline executions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuntimeListResponse'
        '401':
          description: Unauthorized - invalid or expired token
        '404':
          description: Organization not found
  /runtime/{org}/{ruuid}:
    get:
      operationId: getPipelineExecution
      summary: Get Pipeline Execution
      description: Retrieve information about a specific pipeline execution identified by its runtime UUID.
      tags:
      - Runtime
      parameters:
      - $ref: '#/components/parameters/orgPath'
      - $ref: '#/components/parameters/ruuid'
      responses:
        '200':
          description: Successful retrieval of pipeline execution
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuntimeExecution'
        '401':
          description: Unauthorized
        '404':
          description: Execution not found
  /runtime/start/{org}/{ruuid}:
    post:
      operationId: resumePipelineExecution
      summary: Resume Pipeline Execution
      description: Resume a resumable pipeline execution that has been paused or suspended.
      tags:
      - Runtime
      parameters:
      - $ref: '#/components/parameters/orgPath'
      - $ref: '#/components/parameters/ruuid'
      responses:
        '200':
          description: Pipeline resumed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
        '401':
          description: Unauthorized
        '404':
          description: Execution not found
  /runtime/stop/{org}/{ruuid}:
    post:
      operationId: stopPipelineExecution
      summary: Stop Pipeline Execution
      description: Stop a running pipeline execution identified by its runtime UUID.
      tags:
      - Runtime
      parameters:
      - $ref: '#/components/parameters/orgPath'
      - $ref: '#/components/parameters/ruuid'
      responses:
        '200':
          description: Pipeline stopped successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
        '401':
          description: Unauthorized
        '404':
          description: Execution not found
  /runtime/apistats/{org}:
    get:
      operationId: getExecutionMetrics
      summary: Get Execution Metrics
      description: Retrieve both concurrent and daily execution metrics for the organization.
      tags:
      - Runtime
      parameters:
      - $ref: '#/components/parameters/orgPath'
      responses:
        '200':
          description: Successful retrieval of execution metrics
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionMetrics'
        '401':
          description: Unauthorized
  /runtime/apistats/{org}/daily:
    get:
      operationId: getDailyExecutionMetrics
      summary: Get Daily Execution Metrics
      description: Retrieve daily execution metrics for the organization, showing pipeline execution counts and durations by day.
      tags:
      - Runtime
      parameters:
      - $ref: '#/components/parameters/orgPath'
      responses:
        '200':
          description: Successful retrieval of daily execution metrics
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DailyMetrics'
        '401':
          description: Unauthorized
  /runtime/apistats/{org}/concurrent:
    get:
      operationId: getConcurrentExecutionMetrics
      summary: Get Concurrent Execution Metrics
      description: Retrieve concurrent execution metrics showing the number of pipelines running simultaneously in the organization.
      tags:
      - Runtime
      parameters:
      - $ref: '#/components/parameters/orgPath'
      responses:
        '200':
          description: Successful retrieval of concurrent metrics
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConcurrentMetrics'
        '401':
          description: Unauthorized
components:
  schemas:
    RuntimeExecution:
      type: object
      properties:
        ruuid:
          type: string
          description: Runtime UUID of the pipeline execution
        status:
          type: string
          enum:
          - running
          - completed
          - failed
          - stopped
          - suspended
          description: Current status of the pipeline execution
        pipeline_path:
          type: string
          description: Full path to the pipeline being executed
        start_time:
          type: string
          format: date-time
          description: When the execution started
        end_time:
          type: string
          format: date-time
          description: When the execution ended (null if still running)
        elapsed:
          type: number
          description: Elapsed execution time in seconds
        error_message:
          type: string
          description: Error message if execution failed
        user_name:
          type: string
          description: Username of the user who triggered the execution
    ConcurrentMetrics:
      type: object
      properties:
        current_concurrent:
          type: integer
          description: Current number of concurrent pipeline executions
        max_concurrent:
          type: integer
          description: Maximum allowed concurrent executions
        peak_concurrent:
          type: integer
          description: Peak concurrent executions recorded
    SuccessResponse:
      type: object
      properties:
        http_status_code:
          type: integer
          description: HTTP status code of the response
        response_map:
          type: object
          description: Additional response data
    DailyMetrics:
      type: object
      properties:
        date:
          type: string
          format: date
        total_executions:
          type: integer
        successful_executions:
          type: integer
        failed_executions:
          type: integer
        avg_duration_seconds:
          type: number
    ExecutionMetrics:
      type: object
      properties:
        concurrent:
          $ref: '#/schemas/ConcurrentMetrics'
        daily:
          $ref: '#/schemas/DailyMetrics'
    RuntimeListResponse:
      type: object
      properties:
        total:
          type: integer
          description: Total number of executions matching the filter
        offset:
          type: integer
          description: Offset for pagination
        count:
          type: integer
          description: Number of executions returned
        executions:
          type: array
          items:
            $ref: '#/schemas/RuntimeExecution'
  parameters:
    ruuid:
      name: ruuid
      in: path
      required: true
      description: The runtime UUID of the pipeline execution
      schema:
        type: string
    orgPath:
      name: org
      in: path
      required: true
      description: The SnapLogic organization name
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT token obtained from the SnapLogic authentication endpoint
    basicAuth:
      type: http
      scheme: basic
      description: Basic authentication with SnapLogic username and password
externalDocs:
  description: SnapLogic Public APIs Documentation
  url: https://docs.snaplogic.com/public-apis/public-apis-about.html