Artie Pipelines API

The Pipelines API from Artie — 10 operation(s) for pipelines.

OpenAPI Specification

artie-pipelines-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  description: External API endpoints for Artie
  title: Artie Column Hashing Salts Pipelines API
  version: v1.0.51
servers:
- url: https://api.artie.com
security:
- ApiKey: []
tags:
- name: Pipelines
paths:
  /pipelines:
    get:
      description: Returns pipelines for the authenticated company, optionally filtered by environment.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListResponseBodyLightPipeline'
          description: OK
        '500':
          description: Internal Server Error
      summary: List pipelines
      tags:
      - Pipelines
    post:
      description: Creates a new pipeline from a pipeline payload.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RouterPipelineCreateRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayloadsFullPipeline'
          description: OK
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      summary: Create a pipeline
      tags:
      - Pipelines
  /pipelines/{uuid}:
    delete:
      description: Deletes a pipeline by UUID.
      parameters:
      - in: path
        name: uuid
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '500':
          description: Internal Server Error
      summary: Delete pipeline
      tags:
      - Pipelines
    get:
      description: Returns pipeline detail. With query includeRelatedObjects=true returns pipeline, sourceReader, sourceConnector, and optional destinationConnector; otherwise returns FullPipeline only.
      parameters:
      - in: path
        name: uuid
        required: true
        schema:
          type: string
      - in: query
        name: includeRelatedObjects
        schema:
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouterPipelineDetailResponse'
          description: OK
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      summary: Get pipeline by UUID
      tags:
      - Pipelines
    post:
      description: Updates an existing pipeline by UUID.
      parameters:
      - in: path
        name: uuid
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RouterPipelineUpdateRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayloadsFullPipeline'
          description: OK
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      summary: Update pipeline
      tags:
      - Pipelines
  /pipelines/{uuid}/backfill/cancel:
    post:
      description: Cancels backfilling for the given table UUIDs and/or history table UUIDs.
      parameters:
      - in: path
        name: uuid
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RouterPipelineCancelBackfillRequest'
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      summary: Cancel backfill
      tags:
      - Pipelines
  /pipelines/{uuid}/detect-schema-changes:
    post:
      description: Enqueues a background job that checks the pipeline's source database for new, removed, or altered tables. If the pipeline has auto-replicate or auto-history mode enabled, any newly discovered tables will be added to the pipeline automatically. An email summary is sent if changes are detected.
      parameters:
      - in: path
        name: uuid
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      summary: Detect schema changes
      tags:
      - Pipelines
  /pipelines/{uuid}/start:
    post:
      description: 'Starts or resumes a pipeline. Optional body: keepPaused, disableBackFill.'
      parameters:
      - in: path
        name: uuid
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RouterPipelineStartRequest'
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '403':
          description: Forbidden
        '500':
          description: Internal Server Error
      summary: Start pipeline
      tags:
      - Pipelines
  /pipelines/{uuid}/status:
    post:
      description: Changes the status of a pipeline (e.g. running, paused). Validates the pipeline before resuming and deploys the configuration change.
      parameters:
      - in: path
        name: uuid
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RouterPipelineUpdateStatusRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouterPipelineUpdateStatusResponse'
          description: OK
        '400':
          description: Bad Request
        '403':
          description: Forbidden
        '409':
          description: Conflict
        '500':
          description: Internal Server Error
      summary: Update pipeline status
      tags:
      - Pipelines
  /pipelines/{uuid}/update-with-source-reader:
    post:
      description: Updates pipeline and optionally its source reader in one request. Accepts gzip-encoded body.
      parameters:
      - in: path
        name: uuid
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RouterPipelineUpdateWithSourceReaderRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouterPipelineUpdateWithSourceReaderResponse'
          description: OK
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      summary: Update pipeline with source reader
      tags:
      - Pipelines
  /pipelines/create-from-source:
    post:
      description: Creates a new pipeline from a source type or existing source connector UUID.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RouterPipelineCreateFromSourceRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayloadsFullPipeline'
          description: OK
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      summary: Create pipeline from source
      tags:
      - Pipelines
  /pipelines/validate-unsaved-destination:
    post:
      description: Validates destination configuration without persisting. Returns 204 on success or 200 with error message on validation failure.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RouterPipelineValidateUnsavedDestinationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouterValidateErrorResponse'
          description: OK
        '204':
          description: No Content
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      summary: Validate unsaved destination
      tags:
      - Pipelines
  /pipelines/validate-unsaved-source:
    post:
      description: Validates source reader and connector configuration without persisting. Returns 204 on success or 200 with error message on validation failure.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RouterPipelineValidateUnsavedSourceRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouterValidateErrorResponse'
          description: OK
        '204':
          description: No Content
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      summary: Validate unsaved source
      tags:
      - Pipelines
components:
  schemas:
    PayloadsLightPipeline:
      properties:
        columnHashingSaltUUID:
          format: uuid
          type:
          - 'null'
          - string
        companyUUID:
          format: uuid
          type: string
        createdAt:
          format: date-time
          type: string
        dataPlaneName:
          type: string
        destinationUUID:
          format: uuid
          type:
          - 'null'
          - string
        encryptionKeyUUID:
          format: uuid
          type:
          - 'null'
          - string
        environmentUUID:
          format: uuid
          type: string
        hasBackfillingTables:
          type: boolean
        hasUndeployedChanges:
          type: boolean
        isDeploying:
          type: boolean
        lastDeployedAt:
          format: date-time
          type:
          - 'null'
          - string
        lastUpdatedAt:
          format: date-time
          type: string
        name:
          type: string
        snowflakeEcoScheduleUUID:
          format: uuid
          type:
          - 'null'
          - string
        sourceReaderUUID:
          format: uuid
          type: string
        sourceType:
          $ref: '#/components/schemas/EnumsConnectorSlug'
        status:
          $ref: '#/components/schemas/EnumsPipelineStatus'
        uuid:
          format: uuid
          type: string
      required:
      - uuid
      - companyUUID
      - dataPlaneName
      - environmentUUID
      - name
      - createdAt
      - lastUpdatedAt
      - isDeploying
      - sourceType
      - hasUndeployedChanges
      type: object
    PayloadsBigQuerySettings:
      properties:
        partitionBy:
          type: string
        partitionField:
          type: string
        partitionType:
          type: string
      type: object
    PayloadsTablePayload:
      properties:
        advancedSettings:
          $ref: '#/components/schemas/PayloadsAdvancedTableSettingsPayload'
        disableReplication:
          type: boolean
        enableHistoryMode:
          type: boolean
        individualDeployment:
          type:
          - 'null'
          - boolean
        name:
          type: string
        schema:
          type: string
        status:
          type:
          - 'null'
          - string
        uuid:
          format: uuid
          type: string
      type: object
    PayloadsSpecificConfig:
      properties:
        bucketName:
          type: string
        checkpointInterval:
          type: integer
        compaction:
          $ref: '#/components/schemas/PayloadsCompactionConfig'
        containerName:
          type: string
        database:
          type: string
        dynamicallyCreateNamespaces:
          type: boolean
        externalStageName:
          type: string
        externalStageS3Bucket:
          type: string
        externalStageS3Prefix:
          type: string
        folderName:
          type: string
        schema:
          type: string
        schemaNamePrefix:
          type: string
        tableNameSeparator:
          type: string
        useSameSchemaAsSource:
          type: boolean
      type: object
    RouterPipelineStartRequest:
      properties:
        disableBackFill:
          type: boolean
        keepPaused:
          type: boolean
      type: object
    PayloadsMergePredicates:
      properties:
        partitionBy:
          type: string
        partitionField:
          type: string
        partitionType:
          type: string
      type: object
    PayloadsRangeSettings:
      properties:
        batchSize:
          minimum: 0
          type: integer
        chunksSize:
          minimum: 0
          type: integer
        enabled:
          type: boolean
        maxParallelism:
          minimum: 0
          type: integer
      type: object
    EnumsSourceReaderStatus:
      enum:
      - draft
      - paused
      - running
      type: string
    PayloadsSoftPartitioning:
      properties:
        enabled:
          type: boolean
        maxPartitions:
          type: integer
        partitionColumn:
          type: string
        partitionFrequency:
          type: string
        partitionSchema:
          type: string
      type: object
    RouterPipelineCreateFromSourceRequest:
      properties:
        dataPlaneName:
          type: string
        destinationType:
          type: string
        environmentUUID:
          format: uuid
          type:
          - 'null'
          - string
        sourceConnectorUUID:
          format: uuid
          type:
          - 'null'
          - string
        sourceType:
          type: string
      type: object
    PayloadsTableAdvancedSettings:
      properties:
        alias:
          type: string
        backfillFromDatabases:
          items:
            type: string
          type:
          - array
          - 'null'
        backfillFromSchemas:
          items:
            type: string
          type:
          - array
          - 'null'
        bigQueryPartitionSettings:
          $ref: '#/components/schemas/PayloadsBigQuerySettings'
        bufferRows:
          type: integer
        columnsToCompress:
          items:
            type: string
          type: array
        columnsToEncrypt:
          items:
            type: string
          type: array
        columnsToHash:
          items:
            type: string
          type: array
        ctidSettings:
          $ref: '#/components/schemas/PayloadsCTIDSettings'
        encryptJSONBColumns:
          type: boolean
        endingPrimaryKey:
          type: string
        excludeColumns:
          items:
            type: string
          type: array
        flushIntervalSeconds:
          type: integer
        flushSizeKb:
          type: integer
        historyTableBackfillFromSchemas:
          items:
            type: string
          type:
          - array
          - 'null'
        includeColumns:
          items:
            type: string
          type: array
        k8sRequestCPU:
          minimum: 0
          type: integer
        k8sRequestMemoryMB:
          minimum: 0
          type: integer
        mergePredicates:
          items:
            $ref: '#/components/schemas/PayloadsMergePredicates'
          type: array
        msmFlushCount:
          minimum: 0
          type: integer
        primaryKeysOverride:
          items:
            type: string
          type:
          - array
          - 'null'
        rangeSettings:
          $ref: '#/components/schemas/PayloadsRangeSettings'
        shouldBackfillHistoryTable:
          type:
          - 'null'
          - boolean
        skipBackfill:
          type: boolean
        skipDelete:
          type: boolean
        skipNoOpUpdates:
          type: boolean
        softPartitioning:
          $ref: '#/components/schemas/PayloadsSoftPartitioning'
        startingPrimaryKey:
          type: string
        streamARN:
          type: string
        unifyAcrossDatabases:
          type: boolean
        unifyAcrossSchemas:
          type: boolean
      type: object
    RouterPipelineDetailResponse:
      properties:
        destinationConnector:
          $ref: '#/components/schemas/PayloadsFullConnector'
        pipeline:
          $ref: '#/components/schemas/PayloadsFullPipeline'
        sourceConnector:
          $ref: '#/components/schemas/PayloadsFullConnector'
        sourceReader:
          $ref: '#/components/schemas/PayloadsSourceReader'
      required:
      - pipeline
      - sourceReader
      - sourceConnector
      type: object
    PayloadsTable:
      properties:
        advancedSettings:
          $ref: '#/components/schemas/PayloadsTableAdvancedSettings'
        backfillStage:
          type: string
        createdAt:
          format: date-time
          type: string
        destinationTableName:
          type: string
        disableReplication:
          type: boolean
        enableHistoryMode:
          type: boolean
        historyTableBackfillStage:
          type: string
        historyTableStatus:
          type: string
        individualDeployment:
          type: boolean
        name:
          type: string
        schema:
          type: string
        status:
          type: string
        updatedAt:
          format: date-time
          type: string
        uuid:
          format: uuid
          type: string
      type: object
    PayloadsConnectorPayload:
      properties:
        dataPlaneName:
          type: string
        defaultDatabase:
          type:
          - 'null'
          - string
        environmentUUID:
          format: uuid
          type:
          - 'null'
          - string
        label:
          type: string
        privateLinkUUID:
          format: uuid
          type:
          - 'null'
          - string
        sharedConfig:
          additionalProperties: {}
          type:
          - object
          - 'null'
        snapshotPrivateLinkUUID:
          format: uuid
          type:
          - 'null'
          - string
        sshTunnelUUID:
          format: uuid
          type:
          - 'null'
          - string
        type:
          type: string
        uuid:
          type: string
      type: object
    PayloadsDynamoDBSnapshotConfig:
      properties:
        bucket:
          type: string
        enabled:
          type: boolean
        exportArn:
          type: string
        optionalFolder:
          type: string
      type: object
    RouterPipelineValidateUnsavedSourceRequest:
      properties:
        dataPlaneName:
          type: string
        dynamoDBBackfillConfig:
          $ref: '#/components/schemas/PayloadsDynamoDBSnapshotConfig'
        sourceConnector:
          $ref: '#/components/schemas/PayloadsConnectorPayload'
        sourceReader:
          $ref: '#/components/schemas/PayloadsSourceReader'
        sourceReaderUUID:
          format: uuid
          type:
          - 'null'
          - string
        tables:
          items:
            $ref: '#/components/schemas/PayloadsTable'
          type: array
        validateTables:
          type: boolean
      required:
      - validateTables
      - tables
      type: object
    PayloadsPipelinePayload:
      properties:
        advancedSettings:
          $ref: '#/components/schemas/PayloadsAdvancedPipelineSettingsPayload'
        columnHashingSaltUUID:
          format: uuid
          type:
          - 'null'
          - string
        dataPlaneName:
          type: string
        destinationUUID:
          format: uuid
          type:
          - 'null'
          - string
        encryptionKeyUUID:
          format: uuid
          type:
          - 'null'
          - string
        name:
          type: string
        snowflakeEcoScheduleUUID:
          format: uuid
          type:
          - 'null'
          - string
        sourceReaderUUID:
          format: uuid
          type: string
        specificDestCfg:
          $ref: '#/components/schemas/PayloadsSpecificConfig'
        tables:
          items:
            $ref: '#/components/schemas/PayloadsTablePayload'
          type:
          - array
          - 'null'
      type: object
    PayloadsAdvancedPipelineSettingsPayload:
      properties:
        appendOnly:
          type:
          - 'null'
          - boolean
        autoEnableHistoryForNewTables:
          type:
          - 'null'
          - boolean
        autoReplicateIgnoreRegex:
          type:
          - 'null'
          - string
        autoReplicateNewTables:
          type:
          - 'null'
          - boolean
        bigQueryReservation:
          type:
          - 'null'
          - string
        bufferRows:
          type:
          - 'null'
          - integer
        castAllColumnsToString:
          type:
          - 'null'
          - boolean
        defaultSourceSchema:
          type:
          - 'null'
          - string
        disableAlerts:
          type:
          - 'null'
          - boolean
        dropDeletedColumns:
          type:
          - 'null'
          - boolean
        dynamoDBBackfillConfig:
          $ref: '#/components/schemas/PayloadsDynamoDBSnapshotConfig'
        enableSoftDelete:
          type:
          - 'null'
          - boolean
        flushIntervalSeconds:
          type:
          - 'null'
          - integer
        flushSizeKb:
          type:
          - 'null'
          - integer
        forceUTCTimezone:
          type:
          - 'null'
          - boolean
        includeArtieOperationColumn:
          type:
          - 'null'
          - boolean
        includeArtieUpdatedAtColumn:
          type:
          - 'null'
          - boolean
        includeDatabaseUpdatedAtColumn:
          type:
          - 'null'
          - boolean
        includeFullSourceTableNameColumn:
          type:
          - 'null'
          - boolean
        includeFullSourceTableNameColumnAsPrimaryKey:
          type:
          - 'null'
          - boolean
        includeSourceMetadataColumn:
          type:
          - 'null'
          - boolean
        maxConcurrentSnapshots:
          minimum: 0
          type:
          - 'null'
          - integer
        snowpipeStreamingMaxChannels:
          type:
          - 'null'
          - integer
        splitEventsByType:
          type:
          - 'null'
          - boolean
        stagingSchema:
          type:
          - 'null'
          - string
        staticColumns:
          items:
            $ref: '#/components/schemas/PayloadsStaticColumn'
          type:
          - 'null'
          - array
        truncateExceededValues:
          type:
          - 'null'
          - boolean
        turboLatencyThresholdMinutes:
          type:
          - 'null'
          - integer
        turboRowThreshold:
          type:
          - 'null'
          - integer
        turboWarehouse:
          type:
          - 'null'
          - string
        useBQBatchPriority:
          type:
          - 'null'
          - boolean
        useBigNumericForVariableNumeric:
          type:
          - 'null'
          - boolean
        useNewStringMethod:
          type:
          - 'null'
          - boolean
        useSnowpipeStreaming:
          type:
          - 'null'
          - boolean
        writeRawBinaryValues:
          type:
          - 'null'
          - boolean
      type: object
    PayloadsFullConnector:
      properties:
        companyUUID:
          format: uuid
          type: string
        connectionLabel:
          type: string
        createdAt:
          format: date-time
          type: string
        dataPlaneName:
          type:
          - 'null'
          - string
        defaultDatabase:
          type: string
        environmentUUID:
          format: uuid
          type: string
        isValid:
          type: boolean
        label:
          type: string
        privateLinkUUID:
          format: uuid
          type:
          - 'null'
          - string
        sharedConfig: {}
        snapshotPrivateLinkUUID:
          format: uuid
          type:
          - 'null'
          - string
        sshTunnelUUID:
          format: uuid
          type:
          - 'null'
          - string
        type:
          $ref: '#/components/schemas/EnumsConnectorSlug'
        updatedAt:
          format: date-time
          type: string
        uuid:
          format: uuid
          type: string
      required:
      - label
      - uuid
      - createdAt
      - updatedAt
      - type
      - companyUUID
      - environmentUUID
      - isValid
      type: object
    PayloadsSourceReaderTable:
      properties:
        excludeColumns:
          items:
            type: string
          type: array
        includeColumns:
          items:
            type: string
          type: array
        name:
          type: string
        schema:
          type: string
        unifyAcrossDatabases:
          type: boolean
        unifyAcrossSchemas:
          type: boolean
      type: object
    PayloadsSourceReader:
      properties:
        apiBaseURL:
          type: string
        companyUUID:
          format: uuid
          type: string
        connectorUUID:
          format: uuid
          type: string
        containerName:
          type: string
        createdAt:
          format: date-time
          type: string
        dataPlaneName:
          type: string
        database:
          type: string
        environmentUUID:
          format: uuid
          type: string
        isShared:
          type:
          - 'null'
          - boolean
        isValid:
          type: boolean
        name:
          type: string
        settings:
          $ref: '#/components/schemas/PayloadsSourceReaderSettingsPayload'
        status:
          $ref: '#/components/schemas/EnumsSourceReaderStatus'
        tablesConfig:
          $ref: '#/components/schemas/PayloadsSourceReaderTablesConfig'
        updatedAt:
          format: date-time
          type: string
        uuid:
          format: uuid
          type: string
      required:
      - uuid
      - name
      - companyUUID
      - dataPlaneName
      - environmentUUID
      - connectorUUID
      - status
      - isValid
      - database
      - containerName
      - settings
      type: object
    RouterPipelineCancelBackfillRequest:
      properties:
        historyTableUUIDs:
          items:
            format: uuid
            type: string
          type: array
        optionalReason:
          type: string
        tableUUIDs:
          items:
            format: uuid
            type: string
          type: array
      required:
      - tableUUIDs
      - historyTableUUIDs
      type: object
    PayloadsAzureBlobStorageConfig:
      properties:
        accountURL:
          type: string
        containerName:
          type: string
        sasToken:
          type: string
      type: object
    RouterPipelineCreateRequest:
      properties:
        pipeline:
          $ref: '#/components/schemas/PayloadsPipelinePayload'
      required:
      - pipeline
      type: object
    PayloadsCompactionQuietWindow:
      properties:
        end:
          type: string
        start:
          type: string
      type: object
    PayloadsSourceReaderSettingsPayload:
      properties:
        archiveLogPassword:
          type:
          - 'null'
          - string
        archiveLogPath:
          type:
          - 'null'
          - string
        azureBlobStorageConfig:
          $ref: '#/components/schemas/PayloadsAzureBlobStorageConfig'
        backfillBatchSize:
          minimum: 0
          type:
          - 'null'
          - integer
        compositeTypesAsText:
          type:
          - 'null'
          - boolean
        databasesToSync:
          items:
            type: string
          type:
          - 'null'
          - array
        disableAutoFetchTables:
          type:
          - 'null'
          - boolean
        disableFullDocumentBeforeChange:
          type:
          - 'null'
          - boolean
        disableNoCursorTimeout:
          type:
          - 'null'
          - boolean
        enableClientSideFullDocumentLookup:
          type:
          - 'null'
          - boolean
        enableHeartbeats:
          type:
          - 'null'
          - boolean
        enableSchemaHistoryCompaction:
          type:
          - 'null'
          - boolean
        maxConnIdleTimeSeconds:
          type:
          - 'null'
          - integer
        messageCompression:
          enum:
          - gzip
          - ''
          type:
          - 'null'
          - string
        mssqlChangeTrackingConcurrency:
          type:
          - 'null'
          - integer
        mssqlChangeTrackingMaxIdleConns:
          type:
          - 'null'
          - integer
        mssqlChangeTrackingPollIntervalMs:
          minimum: 0
          type:
          - 'null'
          - integer
        mssqlReplicationMethod:
          type:
          - 'null'
          - string
        oneTopicPerSchema:
          type:
          - 'null'
          - boolean
        publicationAutoCreateMode:
          type:
          - 'null'
          - string
        publicationNameOverride:
          type:
          - 'null'
          - string
        publishViaPartitionRoot:
          type:
          - 'null'
          - boolean
        replicationSlotOverride:
          type:
          - 'null'
          - string
        unifyAcrossDatabases:
          type:
          - 'null'
          - boolean
        unifyAcrossSchemas:
          type:
          - 'null'
          - boolean
        unifyAcrossSchemasMaxParallelism:
          maximum: 3
          minimum: 0
          type:
          - 'null'
          - integer
        unifyAcrossSchemasRegex:
          type:
          - 'null'
          - string
        useAdvanceOnPrimaryKeepAlive:
          type:
          - 'null'
          - boolean
        useNumericTypesForMoney:
          type:
          - 'null'
          - boolean
        useReaderForOracleStreaming:
          type:
          - 'null'
          - boolean
      type: object
    RouterPipelineUpdateWithSourceReaderRequest:
      properties:
        pipeline:
          $ref: '#/components/schemas/PayloadsPipelinePayload'
        sourceReader:
          $ref: '#/components/schemas/PayloadsSourceReader'
      required:
      - pipeline
      - sourceReader
      type: object
    RouterPipelineUpdateStatusResponse:
      properties:
        pipeline:
          $ref: '#/components/schemas/PayloadsFullPipeline'
      required:
      - pipeline
      type: object
    RouterPipelineUpdateWithSourceReaderResponse:
      properties:
        pipeline:
          $ref: '#/components/schemas/PayloadsFullPipeline'
        sourceReader:
          $ref: '#/components/schemas/PayloadsSourceReader'
      required:
      - pipeline
      - sourceReader
      type: object
    RouterPipelineUpdateRequest:
      properties:
        pipeline:
          $ref: '#/components/schemas/PayloadsPipelinePayload'
      required:
      - pipeline
      type: object
    ListResponseBodyLightPipeline:
      properties:
        items:
          items:
            $ref: '#/components/schemas/PayloadsLightPipeline'
          type: array
      required:
      - items
      type: object
    PayloadsPipelineAdvancedSettings:
      properties:
        appendOnly:
          type: boolean
        autoEnableHistoryForNewTables:
          type: boolean
        autoReplicateIgnoreRegex:
          type: string
        autoReplicateNewTables:
          type: boolean
        bigQueryReservation:
          type: string
        bufferRows:
          type: integer
        castAllColumnsToString:
          type: boolean
        defaultSourceSchema:
          type: string
        disableAlerts:
          type: boolean
        dropDeletedColumns:
          type: boolean
        dynamoDBBackfillConfig:
          $ref: '#/components/schemas/PayloadsDynamoDBSnapshotConfig'
        enableSoftDelete:
          type: boolean
        flushIntervalSeconds:
          type: integer
        flushSizeKb:
          type: integer
        forceUTCTimezone:
          type: boolean
        includeArtieOperationColumn:
          type: boolean
        includeArtieUpdatedAtColumn:
          type: boolean
        includeDatabaseUpdatedAtColu

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