> ## Documentation Index
> Fetch the complete documentation index at: https://artie.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Update a source reader

> Updates an existing source reader by UUID. Echo the last source_reader_detail payload and change only the intended fields; omitting name, database, or connectorUUID overwrites them with empty values.



## OpenAPI

````yaml https://raw.githubusercontent.com/artie-labs/artie-api-spec/refs/heads/master/openapi.yaml post /source-readers/{uuid}
openapi: 3.1.0
info:
  description: External API endpoints for Artie
  title: Artie API
  version: v1.0.95
servers:
  - url: https://api.artie.com
security:
  - ApiKey: []
paths:
  /source-readers/{uuid}:
    post:
      tags:
        - Source Readers
      summary: Update a source reader
      description: >-
        Updates an existing source reader by UUID. Echo the last
        source_reader_detail payload and change only the intended fields;
        omitting name, database, or connectorUUID overwrites them with empty
        values.
      operationId: source_reader_update
      parameters:
        - in: path
          name: uuid
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayloadsSourceReader'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayloadsSourceReader'
          description: OK
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
components:
  schemas:
    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
    PayloadsSourceReaderSettingsPayload:
      properties:
        archiveLogPassword:
          type:
            - 'null'
            - string
        archiveLogPath:
          type:
            - 'null'
            - string
        azureBlobStorageConfig:
          $ref: '#/components/schemas/PayloadsAzureBlobStorageConfig'
        backfillBatchSize:
          minimum: 0
          type:
            - 'null'
            - integer
        collectionScopedMode:
          type:
            - 'null'
            - boolean
        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
        enableRelationMessageCaching:
          type:
            - 'null'
            - boolean
        enableSchemaHistoryCompaction:
          type:
            - 'null'
            - boolean
        maxConnIdleTimeSeconds:
          type:
            - 'null'
            - integer
        messageCompression:
          enum:
            - gzip
            - ''
            - null
          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
        s3PathMappings:
          items:
            $ref: '#/components/schemas/PayloadsS3PathMapping'
          type:
            - 'null'
            - array
        unifyAcrossDatabases:
          type:
            - 'null'
            - boolean
        unifyAcrossSchemas:
          type:
            - 'null'
            - boolean
        unifyAcrossSchemasMaxParallelism:
          maximum: 3
          minimum: 0
          type:
            - 'null'
            - integer
        unifyAcrossSchemasRegex:
          type:
            - 'null'
            - string
        useAdvanceOnPrimaryKeepAlive:
          type:
            - 'null'
            - boolean
        useFailoverReplicationSlot:
          type:
            - 'null'
            - boolean
        useNumericTypesForMoney:
          type:
            - 'null'
            - boolean
        useReaderForOracleStreaming:
          type:
            - 'null'
            - boolean
      type: object
    EnumsSourceReaderStatus:
      enum:
        - draft
        - paused
        - running
      type: string
    PayloadsSourceReaderTablesConfig:
      additionalProperties:
        $ref: '#/components/schemas/PayloadsSourceReaderTable'
      type:
        - 'null'
        - object
    PayloadsAzureBlobStorageConfig:
      properties:
        accountURL:
          type: string
        containerName:
          type: string
        sasToken:
          type: string
      type: object
    PayloadsS3PathMapping:
      properties:
        id:
          type: string
        match:
          $ref: '#/components/schemas/PayloadsS3Match'
        metadata:
          $ref: '#/components/schemas/PayloadsS3MetadataColumns'
        parser:
          $ref: '#/components/schemas/PayloadsS3Parser'
        prefix:
          type: string
        primaryKey:
          items:
            type: string
          type: array
        referenceID:
          type: string
      required:
        - id
        - referenceID
        - prefix
        - match
        - parser
        - metadata
      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
    PayloadsS3Match:
      properties:
        fileNameRegex:
          type: string
      type: object
    PayloadsS3MetadataColumns:
      properties:
        columns:
          items:
            enum:
              - artieSourcePath
              - artieSourceFileName
              - artieSourceLastModified
              - artieSourceETag
              - artieSourceRecordNumber
              - artieSourceIngestedAt
            type: string
          type: array
      type: object
    PayloadsS3Parser:
      properties:
        columnOrder:
          items:
            type: string
          type: array
        csv:
          $ref: '#/components/schemas/PayloadsS3CSVParser'
        type:
          enum:
            - csv
            - json
            - parquet
            - ach
          type: string
      required:
        - type
      type: object
    PayloadsS3CSVParser:
      properties:
        commentPrefix:
          type: string
        delimiter:
          type: string
        headers:
          items:
            type: string
          type: array
        nullValues:
          items:
            type: string
          type: array
        trimWhitespace:
          type: boolean
      type: object
  securitySchemes:
    ApiKey:
      description: API key passed as a Bearer token in the Authorization header.
      scheme: bearer
      type: http

````