airbyte_trigger_refresh
Trigger a refresh of Airbyte streams to re-read source data and merge or truncate destination records, ensuring no downtime. For self-managed Airbyte only.
Instructions
Trigger a refresh for one or more streams in a connection.
Uses the internal Configuration API to start a refresh job. Unlike a reset (which drops destination data first), a refresh re-reads from source and swaps/merges data only on success — no downtime.
Requires a self-managed Airbyte deployment where the Configuration API (/api/v1) is accessible. NOT available on Airbyte Cloud.
When to Use: - A stream has data gaps from a connector bug and you want to re-read without clearing the destination table first. - You need to reconcile stale rows in an incremental-append stream without risking downtime from a full reset. - Source data was corrected and you want to pull a fresh copy while the old data remains queryable.
When NOT to Use: - On Airbyte Cloud (internal API not available). - If a full reset is acceptable, use airbyte_trigger_sync with job_type='reset' instead (simpler, public API). - If the connection is already running a job, wait for it to finish first.
Refresh Types: - 'merge' (default): Retain previous records and merge new data. Old and new generations coexist, distinguished by _airbyte_generation_id. Safest option. - 'truncate': Replace destination data with the fresh read. Only newly synced rows appear after completion.
Returns: The created job with its jobId and initial status.
Examples: Refresh a single stream (merge): params = { "connection_id": "a1b2c3d4-...", "streams": [{"name": "oe-trailer"}] } Refresh multiple streams (truncate): params = { "connection_id": "a1b2c3d4-...", "streams": [ {"name": "oe-trailer"}, {"name": "arinvitm", "namespace": "public"} ], "refresh_type": "truncate" }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |