Skip to main content
POST
Single-shot pipeline creation. Accepts a declarative payload describing pipeline steps, schedule, and metadata — returns the created pipeline ID.
This endpoint uses API key authentication. Pass your key via Authorization: Bearer trvh_sdk_... or x-api-key header.

Request Body

name
string
required
Pipeline name displayed in the UI.
description
string
Optional description for the pipeline.
category
string
Pipeline category (e.g., "Real Estate", "E-Commerce").
tags
array
Tags for the pipeline (e.g., ["adp", "mls", "automated"]).
source
object
required
Where data comes FROM. This connection is inherited by all source type steps.
destination
object
required
Where data goes TO. This connection is inherited by load, stage, and reconcile steps.
steps
array
required
Ordered array of pipeline step definitions. Steps execute sequentially — each step depends on the previous one.
schedule
object
Optional schedule for automatic execution.

Step Type Configs

Source

Extract data from a database, API, file, or S3 bucket. Inherits connectionId and connection config from the top-level source object. You typically don’t need a source step in the steps array — one is auto-generated from the top-level source definition. Only add explicit source steps when you need multiple sources (e.g., a second API call mid-pipeline for enrichment).
config.connectionId
string
Override connection ID (for additional sources beyond the primary). If omitted, inherits from top-level source.connectionId.
config.endpoint
string
Override API endpoint (for API sources).
config.tableName
string
Table name to extract from (for DB sources).

Transform

Field mapping and data transformation rules.
config.fieldMappings
array
Array of field mapping objects.
config.rules
array
Array of transformation rules.

Validate

Data validation rules.
config.rules
array

Quality

Data quality checks.
config.rules
array

DB Lookup

Read from another database for reference/enrichment.
config.connectionId
string
required
Connection ID for lookup database.
config.schemaName
string
Schema name.
config.tableName
string
required
Table to look up from.
config.lookupKey
string
required
Field from pipeline data to match on.
config.joinField
string
required
Field in lookup table to join on.
config.selectFields
string
Comma-separated list of fields to pull from lookup table.

Stage

Write to a staging/temporary table for intermediate processing.
config.schemaName
string
Staging schema name.
config.tableName
string
required
Staging table/view name.

Load

Write to the final destination database (Postgres for v1). Inherits connectionId, vendor, and schemaName from the top-level destination object.
config.tableName
string
required
Destination table name.
config.connectionId
string
Override connection ID. If omitted, inherits from top-level destination.connectionId.
config.schemaName
string
Override schema. If omitted, inherits from top-level destination.schemaName.

Reconcile

Post-load data reconciliation — compares source vs destination.
config.mappingSource
string
default:"default"
"default" uses the built-in ADP screen map. "custom" expects a mapping file at execution time.
config.compareRowCounts
boolean
default:true
Compare source and destination row counts.
config.checkFieldCompleteness
boolean
default:true
Check non-null completeness per field.
config.screenMapEnabled
boolean
default:true
Run ADP screen-level validation.

Response

success
boolean
Whether the import succeeded.
data
object
The created pipeline document.