Ingestion
Bring data in — connect databases, files, APIs, and webhooks, and keep signals flowing on a schedule.
Ingestion turns external data into signals — continuously. You connect a source once; the platform tests it, maps its fields, and syncs new rows on a schedule from then on:
Source (a stored connection: database, file, API, webhook)
└── Job (what to pull, how fields map, when to sync)
└── Execution (one run of a job: progress, stats, errors)You don't always need it. If your own code can push values, use the signal push API directly — it's one call. Use ingestion when the data lives somewhere else: a Postgres table, a CSV, a REST endpoint, or a provider that can only POST webhooks at you.
Thirty seconds of API
# 1. Inspect: paste a connection string; get back tested,
# auto-mapped tables. Nothing is persisted.
curl -X POST "$API_BASE/v1/ingestion/connect/inspect" \
-H "Authorization: Bearer $TOKEN" \
-H "X-Workspace-Id: $WORKSPACE_ID" \
-H "Content-Type: application/json" \
-d '{ "connection_string": "postgresql://reader:[email protected]:5432/analytics" }'
# 2. Create: confirm the tables you want. One source + one sync
# job per table; the historical backfill starts immediately.
curl -X POST "$API_BASE/v1/ingestion/connect/create" \
-H "Authorization: Bearer $TOKEN" \
-H "X-Workspace-Id: $WORKSPACE_ID" \
-H "Content-Type: application/json" \
-d '{
"connection_string": "postgresql://reader:[email protected]:5432/analytics",
"import_historical": true,
"tables": [{ "table_name": "daily_sales", "frequency": "1h" }]
}'{
"data": {
"status": "created",
"source_id": "3f8a1c2e-…",
"job_ids": ["b7d94e10-…"],
"import_historical": true,
"message": "Connected. Importing history and syncing 1 table(s)."
}
}Data starts landing as signals within seconds. Ingested volume counts toward the workspace's included monthly allowance; overage bills per GB — see Billing.
In this section
Concepts
Sources, connectors, jobs, executions — and events vs signals.
Data sources
Create, list, update, delete, inspect schema, test connections.
Connect & import
Inspect a connection, upload files, stage multi-file datasets.
Jobs
Create sync jobs, schedule them, pause, trigger on demand.
Executions
Track runs, read errors, cancel, retry, and get workspace stats.
OAuth connectors
Connect providers like Stripe and X with a consent flow.
Webhooks
Let external systems push events or signals, verified with HMAC.
Once data is in, browse it in Signals, shape it into a segment, and train on it with Pipelines.

