Popsink pipelines API

The pipelines API from Popsink — 9 operation(s) for pipelines.

Operations 13

GET /pipelines/ List pipelines #
POST /pipelines/ Create a new pipeline #
GET /pipelines/count-status Count pipelines by status #
PATCH /pipelines/{pipeline_id} Update a pipeline #
DELETE /pipelines/{pipeline_id} Delete a pipeline #
GET /pipelines/{pipeline_id} Get pipeline details #
POST /pipelines/{pipeline_id}/start Start pipeline execution #
POST /pipelines/{pipeline_id}/pause Pause pipeline execution #
GET /pipelines/{pipeline_id}/logs Get pipeline logs #
GET /pipelines/{pipeline_id}/status Get pipeline status #
GET /pipelines/{pipeline_id}/configuration Export pipeline configuration #
POST /pipelines/{pipeline_id}/configuration Import pipeline configuration #
GET /pipelines/status/all-non-draft List status of all non-draft pipelines #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/popsink-pipelines-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

popsink-pipelines-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fast admin Pipelines API
  version: 0.1.0
servers:
- url: /api
tags:
- name: pipelines
paths:
  /pipelines/:
    get:
      tags:
      - pipelines
      summary: List pipelines
      description: Retrieve a paginated list of pipelines with optional filters for state, search keyword, and team.
      operationId: pipelines_list_pipelines__get
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: state
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/PipelineState'
          - type: 'null'
          description: Filter pipelines by state (e.g., BUILDING, PAUSED).
          title: State
        description: Filter pipelines by state (e.g., BUILDING, PAUSED).
      - name: search
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Search term to filter pipelines by name or description.
          title: Search
        description: Search term to filter pipelines by name or description.
      - name: team_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          description: Filter pipelines by the ID of the team they belong to.
          title: Team Id
        description: Filter pipelines by the ID of the team they belong to.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          default: 1
          title: Page
      - name: size
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 1
          default: 50
          title: Size
      responses:
        '200':
          description: A paginated list of pipelines
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Page_PipelineList_'
        '403':
          description: Access prohibited
          content:
            application/json:
              example:
                detail: Unauthorized.
              schema:
                $ref: '#/components/schemas/ResponseModel403'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - pipelines
      summary: Create a new pipeline
      description: Register a new pipeline in the system, requires write permissions on the team.
      operationId: pipelines_register_pipelines__post
      security:
      - OAuth2PasswordBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PipelineCreate'
      responses:
        '201':
          description: The created pipeline
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineRead'
        '403':
          description: Access prohibited
          content:
            application/json:
              example:
                detail: Unauthorized.
              schema:
                $ref: '#/components/schemas/ResponseModel403'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /pipelines/count-status:
    get:
      tags:
      - pipelines
      summary: Count pipelines by status
      description: Return the number of pipelines grouped by their state in the current environment.
      operationId: pipelines_count_status_pipelines_count_status_get
      responses:
        '200':
          description: The number of pipelines grouped by their state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelinesStatusCounter'
        '403':
          description: Access prohibited
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseModel403'
              example:
                detail: Unauthorized.
      security:
      - OAuth2PasswordBearer: []
  /pipelines/{pipeline_id}:
    patch:
      tags:
      - pipelines
      summary: Update a pipeline
      description: Update properties of an existing pipeline, requires write permission on the pipeline.
      operationId: pipelines_update_pipelines__pipeline_id__patch
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: pipeline_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: UUID of the pipeline to update
          title: Pipeline Id
        description: UUID of the pipeline to update
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PipelineUpdate'
      responses:
        '200':
          description: The updated pipeline
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineRead'
        '403':
          description: Access prohibited
          content:
            application/json:
              example:
                detail: Unauthorized.
              schema:
                $ref: '#/components/schemas/ResponseModel403'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - pipelines
      summary: Delete a pipeline
      description: Delete the specified pipeline, requires delete permission.
      operationId: pipelines_delete_pipelines__pipeline_id__delete
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: pipeline_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: UUID of the pipeline to delete
          title: Pipeline Id
        description: UUID of the pipeline to delete
      responses:
        '204':
          description: No content
        '403':
          description: Access prohibited
          content:
            application/json:
              example:
                detail: Unauthorized.
              schema:
                $ref: '#/components/schemas/ResponseModel403'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - pipelines
      summary: Get pipeline details
      description: Retrieve detailed information of a pipeline by its ID.
      operationId: pipelines_get_pipelines__pipeline_id__get
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: pipeline_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: UUID of the pipeline to get
          title: Pipeline Id
        description: UUID of the pipeline to get
      responses:
        '200':
          description: The pipeline details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineRead'
        '403':
          description: Access prohibited
          content:
            application/json:
              example:
                detail: Unauthorized.
              schema:
                $ref: '#/components/schemas/ResponseModel403'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /pipelines/{pipeline_id}/start:
    post:
      tags:
      - pipelines
      summary: Start pipeline execution
      description: Start the pipeline's worker process, requires write permission on the pipeline's team.
      operationId: pipelines_start_pipelines__pipeline_id__start_post
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: pipeline_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: UUID of the pipeline to start
          title: Pipeline Id
        description: UUID of the pipeline to start
      responses:
        '200':
          description: The updated pipeline state (BUILDING)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineState'
        '403':
          description: Access prohibited
          content:
            application/json:
              example:
                detail: Unauthorized.
              schema:
                $ref: '#/components/schemas/ResponseModel403'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /pipelines/{pipeline_id}/pause:
    post:
      tags:
      - pipelines
      summary: Pause pipeline execution
      description: Pause the running pipeline, requires access permission.
      operationId: pipelines_pause_pipelines__pipeline_id__pause_post
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: pipeline_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: UUID of the pipeline to pause
          title: Pipeline Id
        description: UUID of the pipeline to pause
      responses:
        '200':
          description: The updated pipeline state (PAUSED)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineState'
        '403':
          description: Access prohibited
          content:
            application/json:
              example:
                detail: Unauthorized.
              schema:
                $ref: '#/components/schemas/ResponseModel403'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /pipelines/{pipeline_id}/logs:
    get:
      tags:
      - pipelines
      summary: Get pipeline logs
      description: Retrieve logs of a pipeline execution.
      operationId: pipelines_logs_pipelines__pipeline_id__logs_get
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: pipeline_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: UUID of the pipeline to get logs for
          title: Pipeline Id
        description: UUID of the pipeline to get logs for
      responses:
        '200':
          description: The pipeline logs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineLogs'
        '403':
          description: Access prohibited
          content:
            application/json:
              example:
                detail: Unauthorized.
              schema:
                $ref: '#/components/schemas/ResponseModel403'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /pipelines/{pipeline_id}/status:
    get:
      tags:
      - pipelines
      summary: Get pipeline status
      description: Get the current status of the pipeline, refreshing state from worker logs.
      operationId: pipelines_status_pipelines__pipeline_id__status_get
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: pipeline_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: UUID of the pipeline to get status for
          title: Pipeline Id
        description: UUID of the pipeline to get status for
      responses:
        '200':
          description: The pipeline status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineRead'
        '403':
          description: Access prohibited
          content:
            application/json:
              example:
                detail: Unauthorized.
              schema:
                $ref: '#/components/schemas/ResponseModel403'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /pipelines/{pipeline_id}/configuration:
    get:
      tags:
      - pipelines
      summary: Export pipeline configuration
      description: Export the JSON configuration of the pipeline.
      operationId: pipelines_export_config_pipelines__pipeline_id__configuration_get
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: pipeline_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: UUID of the pipeline to export config for
          title: Pipeline Id
        description: UUID of the pipeline to export config for
      responses:
        '200':
          description: The pipeline configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineConfigAsSerializer-Output'
        '403':
          description: Access prohibited
          content:
            application/json:
              example:
                detail: Unauthorized.
              schema:
                $ref: '#/components/schemas/ResponseModel403'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - pipelines
      summary: Import pipeline configuration
      description: Update pipeline configuration by importing a new JSON config,requires write permission.
      operationId: pipelines_import_config_pipelines__pipeline_id__configuration_post
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: pipeline_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: UUID of the pipeline to import config for
          title: Pipeline Id
        description: UUID of the pipeline to import config for
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PipelineConfigAsSerializer-Input'
      responses:
        '200':
          description: The imported pipeline configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineConfigAsSerializer-Output'
        '403':
          description: Access prohibited
          content:
            application/json:
              example:
                detail: Unauthorized.
              schema:
                $ref: '#/components/schemas/ResponseModel403'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /pipelines/status/all-non-draft:
    get:
      tags:
      - pipelines
      summary: List status of all non-draft pipelines
      description: Retrieve a paginated list of all pipelines that are not in DRAFT state. Supports filtering by state (excluding DRAFT by default), team, and search. Returns pipeline status and summary information.
      operationId: pipelines_status_all_non_draft_pipelines_status_all_non_draft_get
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: state
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/PipelineState'
          - type: 'null'
          description: Filter pipelines by state (e.g., BUILDING, PAUSED, LIVE, ERROR). If omitted, returns all non-draft pipelines.
          title: State
        description: Filter pipelines by state (e.g., BUILDING, PAUSED, LIVE, ERROR). If omitted, returns all non-draft pipelines.
      - name: search
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Search term to filter pipelines by name or description.
          title: Search
        description: Search term to filter pipelines by name or description.
      - name: team_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          description: Filter pipelines by the ID of the team they belong to.
          title: Team Id
        description: Filter pipelines by the ID of the team they belong to.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          default: 1
          title: Page
      - name: size
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 1
          default: 50
          title: Size
      responses:
        '200':
          description: A paginated list of non-draft pipelines with their status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Page_PipelineStateList_'
        '403':
          description: Access prohibited
          content:
            application/json:
              example:
                detail: Unauthorized.
              schema:
                $ref: '#/components/schemas/ResponseModel403'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    Page_PipelineList_:
      properties:
        items:
          items:
            $ref: '#/components/schemas/PipelineList'
          type: array
          title: Items
        total:
          anyOf:
          - type: integer
            minimum: 0
          - type: 'null'
          title: Total
        page:
          anyOf:
          - type: integer
            minimum: 1
          - type: 'null'
          title: Page
        size:
          anyOf:
          - type: integer
            minimum: 1
          - type: 'null'
          title: Size
        pages:
          anyOf:
          - type: integer
            minimum: 0
          - type: 'null'
          title: Pages
      type: object
      required:
      - items
      - total
      - page
      - size
      title: Page[PipelineList]
    HashFunctionConfiguration:
      properties:
        function_type:
          type: string
          const: hash
          title: Function Type
        function_config:
          $ref: '#/components/schemas/HashConfig'
      type: object
      required:
      - function_type
      - function_config
      title: HashFunctionConfiguration
      description: Hash config.
    EncryptFunctionConfiguration:
      properties:
        function_type:
          type: string
          const: encrypt
          title: Function Type
        function_config:
          $ref: '#/components/schemas/EncryptConfiguration'
      type: object
      required:
      - function_type
      - function_config
      title: EncryptFunctionConfiguration
      description: Encrypt function config.
    KeyMoverConfig:
      properties:
        key:
          type: string
          title: Key
        key_path:
          type: string
          title: Key Path
      type: object
      required:
      - key
      - key_path
      title: KeyMoverConfig
      description: Config for KeyMover function.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    DictMoverFunctionConfiguration:
      properties:
        function_type:
          type: string
          const: dictmover
          title: Function Type
        function_config:
          $ref: '#/components/schemas/KeysConfiguration'
      type: object
      required:
      - function_type
      - function_config
      title: DictMoverFunctionConfiguration
      description: Dict mover config.
    KeyNormalizerFunctionConfiguration:
      properties:
        function_type:
          type: string
          const: sanitizekey
          title: Function Type
        function_config:
          type: 'null'
          title: Function Config
      type: object
      required:
      - function_type
      - function_config
      title: KeyNormalizerFunctionConfiguration
      description: Sanitize function config.
    PipelineConfigAsSerializer-Input:
      properties:
        source_name:
          type: string
          title: Source Name
          description: Name of the source connector
          example: postgres-source
        source_type:
          anyOf:
          - $ref: '#/components/schemas/ConnectorType'
          - type: 'null'
          description: Type of the source connector
        source_config:
          additionalProperties:
            anyOf:
            - type: string
            - type: integer
            - type: 'null'
          type: object
          title: Source Config
          description: Configuration parameters for the source connector
        target_name:
          type: string
          title: Target Name
          description: Name of the target connector
          example: kafka-target
        target_type:
          anyOf:
          - $ref: '#/components/schemas/ConnectorType'
          - type: 'null'
          description: Type of the target connector
        target_config:
          additionalProperties:
            anyOf:
            - type: string
            - type: integer
            - type: 'null'
          type: object
          title: Target Config
          description: Configuration parameters for the target connector
        smt_name:
          type: string
          title: Smt Name
          description: Name of the SMT (Simple Message Transform) applied
        smt_config:
          items:
            anyOf:
            - $ref: '#/components/schemas/MapperFunctionConfiguration-Input'
            - $ref: '#/components/schemas/EmptyFunctionConfiguration'
            - $ref: '#/components/schemas/FlattenerFunctionConfiguration'
            - $ref: '#/components/schemas/SplitterFunctionConfiguration'
            - $ref: '#/components/schemas/StringifyListFunctionConfiguration'
            - $ref: '#/components/schemas/StringifyFunctionConfiguration'
            - $ref: '#/components/schemas/UnenvelopeFunctionConfiguration'
            - $ref: '#/components/schemas/KeyFilterFunctionConfiguration'
            - $ref: '#/components/schemas/KeyMoverFunctionConfiguration'
            - $ref: '#/components/schemas/DictMoverFunctionConfiguration'
            - $ref: '#/components/schemas/KeyNormalizerFunctionConfiguration'
            - $ref: '#/components/schemas/HashFunctionConfiguration'
            - $ref: '#/components/schemas/EncryptFunctionConfiguration'
            - $ref: '#/components/schemas/FilteringFunctionConfiguration'
          type: array
          title: Smt Config
          description: List of transformation configurations
        draft_step:
          type: string
          title: Draft Step
          description: Current draft step of the pipeline (e.g., 'config', 'review')
      type: object
      required:
      - source_name
      - source_type
      - source_config
      - target_name
      - target_type
      - target_config
      - smt_name
      - smt_config
      - draft_step
      title: PipelineConfigAsSerializer
      description: 'Configuration structure for a pipeline.


        Describes connectors and transformation details.'
    EmptyFunctionConfiguration:
      properties:
        function_type:
          type: 'null'
          title: Function Type
        function_config:
          type: 'null'
          title: Function Config
      type: object
      required:
      - function_type
      - function_config
      title: EmptyFunctionConfiguration
      description: Empty function config.
    PipelineRead:
      properties:
        name:
          type: string
          title: Name
          description: Name of the pipeline
        state:
          $ref: '#/components/schemas/PipelineState'
          description: Current state of the pipeline
        json_configuration:
          $ref: '#/components/schemas/PipelineConfigAsSerializer-Output'
          description: Pipeline configuration structure
        id:
          type: string
          format: uuid
          title: Id
          description: Unique identifier of the pipeline
        team_name:
          type: string
          title: Team Name
          description: Name of the team that owns the pipeline
        team_id:
          type: string
          format: uuid
          title: Team Id
          description: UUID of the owning team
      type: object
      required:
      - name
      - state
      - json_configuration
      - id
      - team_name
      - team_id
      title: PipelineRead
      description: Response model for reading a pipeline's details.
    PipelineConfigAsSerializer-Output:
      properties:
        source_name:
          type: string
          title: Source Name
          description: Name of the source connector
          example: postgres-source
        source_type:
          anyOf:
          - $ref: '#/components/schemas/ConnectorType'
          - type: 'null'
          description: Type of the source connector
        source_config:
          additionalProperties:
            anyOf:
            - type: string
            - type: integer
            - type: 'null'
          type: object
          title: Source Config
          description: Configuration parameters for the source connector
        target_name:
          type: string
          title: Target Name
          description: Name of the target connector
          example: kafka-target
        target_type:
          anyOf:
          - $ref: '#/components/schemas/ConnectorType'
          - type: 'null'
          description: Type of the target connector
        target_config:
          additionalProperties:
            anyOf:
            - type: string
            - type: integer
            - type: 'null'
          type: object
          title: Target Config
          description: Configuration parameters for the target connector
        smt_name:
          type: string
          title: Smt Name
          description: Name of the SMT (Simple Message Transform) applied
        smt_config:
          items:
            anyOf:
            - $ref: '#/components/schemas/MapperFunctionConfiguration-Output'
            - $ref: '#/components/schemas/EmptyFunctionConfiguration'
            - $ref: '#/components/schemas/FlattenerFunctionConfiguration'
            - $ref: '#/components/schemas/SplitterFunctionConfiguration'
            - $ref: '#/components/schemas/StringifyListFunctionConfiguration'
            - $ref: '#/components/schemas/StringifyFunctionConfiguration'
            - $ref: '#/components/schemas/UnenvelopeFunctionConfiguration'
            - $ref: '#/components/schemas/KeyFilterFunctionConfiguration'
            - $ref: '#/components/schemas/KeyMoverFunctionConfiguration'
            - $ref: '#/components/schemas/DictMoverFunctionConfiguration'
            - $ref: '#/components/schemas/KeyNormalizerFunctionConfiguration'
            - $ref: '#/components/schemas/HashFunctionConfiguration'
            - $ref: '#/components/schemas/EncryptFunctionConfiguration'
            - $ref: '#/components/schemas/FilteringFunctionConfiguration'
          type: array
          title: Smt Config
          description: List of transformation configurations
        draft_step:
          type: string
          title: Draft Step
          description: Current draft step of the pipeline (e.g., 'config', 'review')
      type: object
      required:
      - source_name
      - source_type
      - source_config
      - target_name
      - target_type
      - target_config
      - smt_name
      - smt_config
      - draft_step
      title: PipelineConfigAsSerializer
      description: 'Configuration structure for a pipeline.


        Describes connectors and transformation details.'
    PipelineList:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: Unique identifier of the pipeline
        source_name:
          type: string
          title: Source Name
          description: Source connector name
        source_type:
          anyOf:
          - $ref: '#/components/schemas/ConnectorType'
          - type: 'null'
          description: Source connector type
        transform:
          type: integer
          title: Transform
          description: Number of SMT transformations applied
        target_name:
          type: string
          title: Target Name
          description: Target connector name
        target_type:
          anyOf:
          - $ref: '#/components/schemas/ConnectorType'
          - type: 'null'
          description: Target connector type
        name:
          type: string
          title: Name
          description: Name of the pipeline
        state:
          $ref: '#/components/schemas/PipelineState'
          description: Current state of the pipeline
        owner:
          type: string
          title: Owner
          description: Name of the pipeline's owner
      type: object
      required:
      - id
      - source_name
      - transform
      - target_name
      - name
      - state
      - owner
      title: PipelineList
      description: Lightweight model used to list pipelines.
    MapperFunctionConfiguration-Output:
      properties:
        function_type:
          type: string
          const: mapper
          title: Function Type
        function_config:
          items:
            $ref: '#/components/schemas/MapperTableConfig'
          type: array
          title: Function Config
      type: object
      required:
      - function_type
      - function_config
      title: MapperFunctionConfiguration
      description: Mapper config.
    ConnectorType:
      type: string
      enum:
      - job_smt
      - kafka_source
      - oracle_target
      title: ConnectorType
      description: Define the connector type.
    KeysConfiguration:
      properties:
        keys:
          items:
            type: string
          type: array
          title: Keys
      type: object
      required:
      - keys
      title: KeysConfiguration
      description: Keys config.
    SplitterFunctionConfiguration:
      properties:
        function_type:
          type: string
          const: splitter
          title: Function Type
        function_config:
          $ref: '#/components/schemas/SplitterConfiguration'
      type: object
      required:
      - function_type
      - function_config
      title: SplitterFunctionConfiguration
      description: Splitter config.
    UnenvelopeFunctionConfiguration:
      properties:
        function_type:
          type: string
          const: unenvelope
          title: Function Type
        function_config:
          $ref: '#/components/schemas/KeyConfiguration'
      type: object
      required:
      - function_type
      - function_config
      title: UnenvelopeFunctionConfiguration
      description: Unenvelope config.
    EncryptConfiguration:
      properties:
        encrypt_key:
          type: string
          title: Encrypt Key
        paths:
          items:
            type: string
          type: array
          title: Paths

# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/popsink/refs/heads/main/openapi/popsink-pipelines-api-openapi.yml