v14

latestOpenAPI 3.1.0raw.githubusercontent.com2026-08-016793230.7 KB
secure
deploy

Patch Pipelines

Updates the current pipeline partially by merging with the provided configuration using JSON Merge Patch semantics. Before updating, validates the merged configuration for schema compliance and integrity.

patch/api/v1/pipelines

Query parameters

dry_runboolean nullable

Only validate the provided configuration without making changes

Only validate the provided configuration without making changes

Request body

object required

Example request

{
  "sources": {
    "psql": {
      "type": "cdc",
      "logging": {
        "level": "debug"
      },
      "connection": {
        "type": "postgresql",
        "host": "host.docker.internal",
        "port": 5432,
        "database": "chinook",
        "user": "postgres",
        "password": "postgres"
      },
      "tables": {
        "public.invoice": {
          "columns": [
            "billingaddress",
            "billingcity",
            "billingcountry",
            "billingpostalcode",
            "total",
            "customerid",
            "billingstate",
            "invoiceid",
            "invoicedate"
          ],
          "keys": [
            "invoiceid"
          ]
        },
        "public.track": {
          "columns": [
            "genreid",
            "milliseconds",
            "mediatypeid",
            "trackid",
            "composer",
            "bytes",
            "name",
            "albumid",
            "unitprice"
          ],
          "keys": [
            "trackid"
          ]
        },
        "public.mediatype": {
          "columns": [
            "mediatypeid",
            "name"
          ],
          "keys": [
            "mediatypeid"
          ]
        },
        "public.customer": {
          "columns": [
            "country",
            "firstname",
            "address",
            "city",
            "lastname",
            "phone",
            "postalcode",
            "customerid",
            "company",
            "state",
            "fax",
            "email",
            "supportrepid"
          ],
          "keys": [
            "customerid"
          ]
        },
        "public.genre": {
          "columns": [
            "genreid",
            "name"
          ],
          "keys": [
            "genreid"
          ]
        },
        "public.invoiceline": {
          "columns": [
            "quantity",
            "trackid",
            "invoicelineid",
            "invoiceid",
            "unitprice"
          ],
          "keys": [
            "invoicelineid"
          ]
        },
        "public.playlist": {
          "columns": [
            "playlistid",
            "name"
          ],
          "keys": [
            "playlistid"
          ]
        },
        "public.employee": {
          "columns": [
            "country",
            "firstname",
            "birthdate",
            "address",
            "city",
            "reportsto",
            "title",
            "employeeid",
            "hiredate",
            "lastname",
            "phone",
            "postalcode",
            "state",
            "fax",
            "email"
          ],
          "keys": [
            "employeeid"
          ]
        },
        "public.album": {
          "columns": [
            "albumid",
            "artistid",
            "title"
          ],
          "keys": [
            "albumid"
          ]
        },
        "public.artist": {
          "columns": [
            "name",
            "artistid"
          ],
          "keys": [
            "artistid"
          ]
        },
        "public.playlisttrack": {
          "columns": [
            "playlistid",
            "trackid"
          ],
          "keys": [
            "playlistid",
            "trackid"
          ]
        }
      }
    }
  },
  "targets": {
    "target": {
      "type": "redis",
      "host": "host.docker.internal",
      "port": 12002,
      "password": "test"
    }
  },
  "processors": {
    "target_data_type": "hash"
  },
  "jobs": [
    {
      "name": "chinook_customer",
      "source": {
        "schema": "public",
        "table": "Customer"
      },
      "output": [
        {
          "uses": "redis.write",
          "with": {
            "connection": "target",
            "key": {
              "expression": "concat(['CustomerId:', CustomerId])",
              "language": "jmespath"
            },
            "expire": 100
          }
        }
      ]
    }
  ]
}

Response

Pipeline updated successfully

action_idstring nullable

Example response

{
  "action_id": "1234567890"
}