v14

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

Pipelines

Updates the current pipeline completely, or creates it if it doesn't exist, using the provided configuration. Before creating or updating, validates the provided configuration for schema compliance and integrity.

post/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 created or updated successfully

action_idstring nullable

Example response

{
  "action_id": "1234567890"
}