canonical: https://jentic.com/apis/multiwoven.com/multiwoven

# MultiWoven API

MultiWoven is an open-source Reverse ETL platform that activates warehouse data into downstream SaaS tools - CRMs, ad platforms, marketing automation - through a structured connector model. The API exposes models (the SQL or table definitions that select the source rows), connectors (warehouse and destination connections), syncs (the scheduled flows between them), and sync runs that report execution outcomes. Across 25 endpoints it gives full programmatic control of a Reverse ETL deployment so data teams can register sources, author syncs, and audit runs without using the UI.

## For AI agents

Author and operate Reverse ETL syncs from a data warehouse into SaaS tools - define models, register connectors, schedule syncs, and audit runs.

## Scope

Does not handle event-stream ingestion, transformation modelling, or BI dashboards - use for Reverse ETL activation from a warehouse into SaaS destinations only.

## Capabilities

- Register and update warehouse and destination connectors via `/api/v1/connectors`
- Define source-row queries as models via `/api/v1/models`
- Configure scheduled syncs from a model into a destination connector via `/api/v1/syncs`
- List and inspect sync runs and per-record outcomes via `/api/v1/sync_runs` and `/api/v1/sync_records`
- Browse the catalogue of supported connector types via `/api/v1/connector_definitions`
- Test a connector configuration before saving via POST `/api/v1/connector_definitions/check_connection`
- Generate operational reports across syncs via `/api/v1/reports`

## Use cases

### Activate Warehouse Customer Data into a CRM

Revenue teams sync enriched customer profiles from Snowflake or BigQuery into HubSpot or Salesforce so SDRs see warehouse-derived signals without leaving the CRM. MultiWoven's model defines the SQL that selects the right rows, the destination connector points at the CRM, and a sync runs the activation on schedule. Sync runs and sync records expose any rows that failed to write so the team can correct upstream data quality issues.

Example prompt: Call POST `/api/v1/connectors` for both source and destination, POST `/api/v1/models` with the activation query, then POST `/api/v1/syncs` to schedule the sync.

### Programmatic Setup of New Destination Connectors

Platform teams adding a new destination - a marketing automation tool or ad platform - register it through `/api/v1/connectors` after testing the configuration via POST `/api/v1/connector_definitions/check_connection.` The check-connection endpoint surfaces credential or network errors before persistence so the connector never lands in a broken state in production.

Example prompt: Call POST `/api/v1/connector_definitions/check_connection` with the candidate config, and only POST `/api/v1/connectors` if the check responds with success.

### Sync Run Auditing and Failure Triage

Data engineering teams audit overnight sync runs to catch destination write failures before the business notices stale data. `/api/v1/sync_runs` lists run-level outcomes and `/api/v1/sync_records` exposes per-row results, letting an operator pinpoint a failed contact or account. The structured failure data feeds an alerting workflow without UI scraping.

Example prompt: List GET `/api/v1/sync_runs` filtered to the last 24 hours, then for each failed run pull GET `/api/v1/sync_records` to surface the failing row identifiers.

### Agent-Driven Reverse ETL Configuration

An AI ops agent provisions a new Reverse ETL pipeline on demand. Through Jentic the agent searches for 'set up a reverse etl sync', loads the schemas for connectors, models, and syncs, and chains the four creation calls into one workflow. The agent only needs to surface destination credentials at the secure vault step - the rest of the orchestration is structured API calls.

Example prompt: Search Jentic for 'set up a reverse etl sync', chain POST `/api/v1/connectors` twice, POST `/api/v1/models`, and POST `/api/v1/syncs` with the model and destination ids.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/v1/connectors` | Register a source or destination connector |
| POST | `/api/v1/connector_definitions/check_connection` | Test a connector configuration before saving |
| POST | `/api/v1/models` | Define a source-row model |
| GET | `/api/v1/models` | List defined models |
| GET | `/api/v1/connector_definitions` | List supported connector types |
| GET | `/api/v1/connector_definitions/{connector_name}` | Inspect a specific connector definition |

## Key resources

- **Connectors** — Source warehouse and destination SaaS connections
- **Connector Definitions** — Catalogue of supported connector types and their config schemas
- **Models** — SQL or table definitions selecting source rows for activation
- **Syncs** — Scheduled mappings from a model into a destination connector
- **Sync Runs** — Run-level execution outcomes for each sync
- **Sync Records** — Per-row write results inside a sync run
- **Reports** — Operational reporting across syncs and runs

## Why Jentic

- **Setup:** Wiring the MultiWoven API by hand means learning its bearer auth and stepping through the connector, model, and sync resource hierarchy to stand up a Reverse ETL activation yourself. Through Jentic you install once, import the MultiWoven API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Sync setup passes its targets in the request body, so limit the agent to the operations it needs, such as listing connector definitions or creating a model. You choose which operations are in scope, so write operations like creating a connector are not included unless you add them.
- **Credential handling:** Your MultiWoven bearer token is stored once, encrypted, by your own Jentic One instance and injected into the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'set up a reverse etl sync' or 'list available connectors', and Jentic returns the matching MultiWoven operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Airbyte API** — Airbyte focuses on ingestion ETL - pulling data from SaaS into the warehouse - with overlapping connector tooling
- **Segment API** — Segment provides a hosted activation rail for warehouse and event data into SaaS destinations
- **Snowflake API** — Snowflake is the warehouse that MultiWoven reads from when defining a model

## FAQ

### What authentication does the MultiWoven API use?

The MultiWoven API uses Bearer token authentication on every request. Through Jentic the token is held in the encrypted vault and injected at execution, so the agent never holds the raw bearer secret.

### Can I test a connector before saving it?

Yes. POST `/api/v1/connector_definitions/check_connection` takes a candidate configuration, attempts the connection, and returns success or a structured error. Use it before POST `/api/v1/connectors` to keep broken connectors out of the catalogue.

### What are the rate limits for the MultiWoven API?

MultiWoven self-hosted deployments have no built-in rate limit beyond the underlying Rails app's defaults. The hosted offering applies per-account throttling tuned to the plan tier - check your dashboard for the current limit before scripting heavy connector or sync creation.

### How do I set up a Reverse ETL sync through Jentic?

Search Jentic for 'set up a reverse etl sync', chain POST `/api/v1/connectors` for the source and destination, POST `/api/v1/models` for the activation query, then POST `/api/v1/syncs` to bind the model to the destination on a schedule.

### Is the MultiWoven API free?

MultiWoven is open source and self-hosting is free. The hosted product applies per-row metered pricing, and connector availability matches the OSS catalogue.

### Can I audit per-record write outcomes for a sync run?

Yes. GET `/api/v1/sync_runs` returns run-level state and GET `/api/v1/sync_records` exposes per-record results inside a run, so operators can identify exactly which rows failed to write to a destination.

### Can I limit what my agent is allowed to do with the MultiWoven API?

Yes. Because you run Jentic One yourself, your own rules decide which MultiWoven operations and credentials the agent may use, so you can grant read-only calls like listing connector definitions with GET `/api/v1/connector_definitions` or defining a model with POST `/api/v1/models` while withholding everything else. Sync setup passes its targets in the request body, so write operations such as creating a connector with POST `/api/v1/connectors` stay out of scope unless you explicitly add them. This lets an operator hand the agent exactly the connector, model, and sync endpoints a task needs and nothing more.
