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
Example response
{
"action_id": "1234567890"
}