---
title: Airbyte API Integration on Truto
slug: airbyte
category: iPaaS
canonical: "https://truto.one/integrations/detail/airbyte/"
---

# Airbyte API Integration on Truto



**Category:** iPaaS  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 63 tools for Airbyte that AI agents can call directly.

- **list_all_airbyte_applications** — List all Airbyte applications you have permission to view. Returns: id, name, clientId, clientSecret, createdAt.
- **create_a_airbyte_application** — Create a new Airbyte application. Returns: id, name, clientId, clientSecret, createdAt. Required: name.
- **get_single_airbyte_application_by_id** — Get a single Airbyte application by id. Returns: id, name, clientId, clientSecret, createdAt. Required: id.
- **delete_a_airbyte_application_by_id** — Delete an Airbyte application by id. Returns the deleted application: id, name, clientId, clientSecret, createdAt. Required: id.
- **create_a_airbyte_applications_token** — Create an Airbyte access token by exchanging client credentials via the client-credentials grant. Returns: access_token, token_type, expires_in. Required: client_id, client_secret.
- **list_all_airbyte_sources** — List Airbyte sources, optionally filtered by workspace. Returns: sourceId, name, sourceType, workspaceId, configuration.
- **create_a_airbyte_source** — Create an Airbyte source with a name, workspace, and connector-specific configuration blob. Returns: sourceId, name, sourceType, workspaceId, configuration. Required: name, workspaceId, configuration.
- **get_single_airbyte_source_by_id** — Get a single Airbyte source by id. Returns: sourceId, name, sourceType, workspaceId, configuration. Required: id.
- **delete_a_airbyte_source_by_id** — Delete an Airbyte source by id. Returns an empty 204 response on success. Required: id.
- **update_a_airbyte_source_by_id** — Update an Airbyte source by id with a partial update (only specified properties are modified; use PUT to remove properties). Returns SourceResponse fields including sourceId, name, sourceType, and workspaceId. Required: id.
- **airbyte_sources_partial_update** — Partially update a Source in Airbyte: only the properties you send are modified (use the replace endpoint to remove properties). Returns: sourceId, name, sourceType, workspaceId. Required: source_id.
- **create_a_airbyte_sources_initiate_o_auth** — Initiate OAuth for an Airbyte source. Returns the fully formed URL for authenticating the user against the source's identity provider; after authentication, your redirectUrl receives a secret ID that can create a source with credentials. Required: redirectUrl, workspaceId, sourceType.
- **list_all_airbyte_destinations** — List Airbyte destinations across the allowed workspaces. Returns: destinationId, name, destinationType, workspaceId, configuration.
- **create_a_airbyte_destination** — Create an Airbyte destination with a name, workspace, and its connector configuration. Returns: destinationId, name, destinationType, workspaceId, configuration. Requires name, workspaceId, and configuration. Required: name, workspaceId, configuration.
- **get_single_airbyte_destination_by_id** — Get details of a single Airbyte destination by id. Returns: destinationId, name, destinationType, workspaceId, configuration. Required: id.
- **delete_a_airbyte_destination_by_id** — Delete an Airbyte destination by id. Returns an empty 204 response on success. Required: id.
- **update_a_airbyte_destination_by_id** — Update a destination in Airbyte by id, fully overwriting all property fields. Returns: destinationId, name, sourceType, workspaceId, configuration. Required: id, name, configuration. Pass '**********' as a secret value to carry the existing secret forward unchanged.
- **airbyte_destinations_partial_update** — Partially update an Airbyte destination by id — only the fields you send in name and/or configuration are modified. Returns: destinationId, name, sourceType, workspaceId, configuration. Required: destination_id.
- **list_all_airbyte_connections** — List Airbyte connections across workspaces. Returns: connectionId, name, sourceId, destinationId, workspaceId, status, schedule, dataResidency, nonBreakingSchemaUpdatesBehavior, namespaceDefinition, namespaceFormat, prefix, configurations, createdAt.
- **create_a_airbyte_connection** — Create an Airbyte connection between a source and a destination. Returns: connectionId, name, sourceId, destinationId, workspaceId, status, schedule, dataResidency, nonBreakingSchemaUpdatesBehavior, namespaceDefinition, namespaceFormat, prefix, configurations, createdAt. Required: sourceId, destinationId.
- **get_single_airbyte_connection_by_id** — Get details of a single Airbyte connection by id. Returns: connectionId, name, sourceId, destinationId, workspaceId, status, schedule, dataResidency, nonBreakingSchemaUpdatesBehavior, namespaceDefinition, namespaceFormat, prefix, configurations, createdAt. Required: id.
- **update_a_airbyte_connection_by_id** — Update an Airbyte connection's details by id. Returns: connectionId, name, sourceId, destinationId, workspaceId, status, schedule, dataResidency, nonBreakingSchemaUpdatesBehavior, namespaceDefinition, namespaceFormat, prefix, configurations, createdAt. Required: id.
- **delete_a_airbyte_connection_by_id** — Delete an Airbyte connection by id (connection UUID). Returns an empty 204 response on success. Required: id.
- **list_all_airbyte_tags** — List all Airbyte tags. Returns: tagId, name, color, workspaceId.
- **create_a_airbyte_tag** — Create a new tag in Airbyte. Returns the created tag including tagId, name, color, and workspaceId. Requires name, color, and workspaceId. Required: name, color, workspaceId.
- **get_single_airbyte_tag_by_id** — Get a single Airbyte tag by id. Returns: tagId, name, color, workspaceId. Required: id.
- **update_a_airbyte_tag_by_id** — Update an Airbyte tag by id. Returns the updated tag including tagId, name, color, and workspaceId. Requires id, name, and color. Required: id, name, color.
- **delete_a_airbyte_tag_by_id** — Delete a tag in Airbyte by id. Returns an empty 204 response on success. Required: id.
- **list_all_airbyte_streams** — Get the available stream properties for a source/destination pair in Airbyte. Returns stream records with id and source-catalog-specific attributes. Required: sourceId.
- **list_all_airbyte_workspaces** — List Airbyte workspaces. Returns: workspaceId, name, dataResidency, notifications. Max 100 per page.
- **create_a_airbyte_workspace** — Create a new Airbyte workspace. Returns: workspaceId, name, dataResidency, notifications. Required: name.
- **get_single_airbyte_workspace_by_id** — Get the details of an Airbyte workspace by id. Returns: workspaceId, name, dataResidency, notifications. Required: id.
- **update_a_airbyte_workspace_by_id** — Update an Airbyte workspace's name or notification settings by id. Returns: workspaceId, name, dataResidency, notifications. Required: id.
- **delete_a_airbyte_workspace_by_id** — Delete an Airbyte workspace by id. Returns an empty 204 response on success. Required: id.
- **airbyte_workspace_oauth_credentials_bulk_update** — Create or update a set of OAuth override credentials for a workspace and source type in Airbyte, replacing the Airbyte-provided OAuth credentials used for source/destination OAuth. Returns 200 with no response body on success. Required: workspace_id, actorType, name, configuration.
- **get_single_airbyte_permission_by_id** — Get a permission in Airbyte by id. Returns: permissionId, permissionType, userId, workspaceId, organizationId. Required: id.
- **update_a_airbyte_permission_by_id** — Update a permission in Airbyte by id. Returns: permissionId, permissionType, userId, workspaceId, organizationId. Required: id, permissionType.
- **delete_a_airbyte_permission_by_id** — Delete a permission in Airbyte by id. Returns an empty 204 response on success. Required: id.
- **list_all_airbyte_permissions** — List permissions in Airbyte, filterable by user or organization. Returns: permissionId, permissionType, userId, scopeId, scope.
- **create_a_airbyte_permission** — Create a permission in Airbyte. Returns: permissionId, permissionType, userId, workspaceId, organizationId. Required: permissionType, userId.
- **list_all_airbyte_users** — List all users within an Airbyte organization, with optional filtering by user ids or emails. Returns: name, id, email. Required: organizationId.
- **list_all_airbyte_organizations** — List all organizations for a user in Airbyte. Returns: organizationId, organizationName, email.
- **airbyte_organization_oauth_credentials_bulk_update** — Create or update Airbyte OAuth credentials for an organization and source type, overriding the Airbyte-provided OAuth credentials. Returns a 200 confirmation with no response body. Required: organization_id, actorType, name, configuration.
- **list_all_airbyte_healths** — Check the health of the Airbyte API to confirm it is reachable. Returns an empty 200 response on success; a 404 response indicates the service was not found. Takes no parameters.
- **list_all_airbyte_definitions_sources** — List source definitions in an Airbyte workspace. Returns: id, name, dockerRepository, dockerImageTag, documentationUrl. Required: workspace_id.
- **create_a_airbyte_definitions_source** — Create a source definition in an Airbyte workspace. Returns: id, name, dockerRepository, dockerImageTag, documentationUrl. Required: workspace_id, name, dockerRepository, and dockerImageTag.
- **get_single_airbyte_definitions_source_by_id** — Get source definition details by id in an Airbyte workspace. Returns: id, name, dockerRepository, dockerImageTag, documentationUrl. Required: workspace_id and id.
- **update_a_airbyte_definitions_source_by_id** — Update source definition details in an Airbyte workspace. Returns: id, name, dockerRepository, dockerImageTag, documentationUrl. Required: workspace_id, id, name, and dockerImageTag.
- **delete_a_airbyte_definitions_source_by_id** — Delete a source definition by id from an Airbyte workspace. Returns the deleted definition with id, name, dockerRepository, dockerImageTag, and documentationUrl. Required: workspace_id and id.
- **list_all_airbyte_definitions_destinations** — List Airbyte destination definitions in a workspace. Returns: id, name, dockerRepository, dockerImageTag, documentationUrl. Required: workspace_id.
- **create_a_airbyte_definitions_destination** — Create an Airbyte destination definition in a workspace. Returns the created definition with id, name, dockerRepository, dockerImageTag, and documentationUrl. Required: workspace_id, name, dockerRepository, dockerImageTag.
- **get_single_airbyte_definitions_destination_by_id** — Get Airbyte destination definition details by id. Returns: id, name, dockerRepository, dockerImageTag, documentationUrl. Required: id, workspace_id.
- **update_a_airbyte_definitions_destination_by_id** — Update Airbyte destination definition details by id. Returns the updated definition with id, name, dockerRepository, dockerImageTag, and documentationUrl. Required: id, workspace_id, name, dockerImageTag.
- **delete_a_airbyte_definitions_destination_by_id** — Delete an Airbyte destination definition by id. Returns the deleted definition with id, name, dockerRepository, dockerImageTag, and documentationUrl. Required: id, workspace_id.
- **list_all_airbyte_definitions_declarative_sources** — List declarative source definitions in an Airbyte workspace. Returns: id, name, manifest, version. Required: workspace_id.
- **create_a_airbyte_definitions_declarative_source** — Create a declarative source definition in an Airbyte workspace. Returns: id, name, manifest, version. Required: workspace_id, name, and manifest.
- **get_single_airbyte_definitions_declarative_source_by_id** — Get a single declarative source definition by id in an Airbyte workspace. Returns: id, name, manifest, version. Required: workspace_id and id.
- **update_a_airbyte_definitions_declarative_source_by_id** — Update a declarative source definition by id in an Airbyte workspace. Returns: id, name, manifest, version. Required: workspace_id, id, and manifest.
- **delete_a_airbyte_definitions_declarative_source_by_id** — Delete a declarative source definition by id in an Airbyte workspace. Returns the deleted definition with id, name, manifest, and version. Required: workspace_id and id.
- **list_all_airbyte_jobs** — List Airbyte jobs. Returns each job's jobId, status, jobType, startTime, and connectionId. Max 100 per page.
- **get_single_airbyte_job_by_id** — Get an Airbyte job's status and details by id. Returns: jobId, status, jobType, startTime, connectionId, lastUpdatedAt, duration, bytesSynced, rowsSynced. Required: id.
- **create_a_airbyte_job** — Start an Airbyte job (a sync or a reset) for a connection. Returns the new job: jobId, status, jobType, startTime, connectionId. Use the returned jobId with the get or cancel job tools. Required: connectionId, jobType.
- **delete_a_airbyte_job_by_id** — Cancel a running Airbyte job by its jobId. Returns the job with its updated status (cancelled). Required: id (the jobId).

## How it works

1. **Link your customer's Airbyte account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Airbyte.** The Proxy API is a 1-to-1 mapping of the Airbyte API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed a 700+ connector catalog overnight** — Offer your customers an instant integration marketplace spanning databases, SaaS tools, and niche long-tail connectors without building each one yourself. Truto handles the Airbyte API plumbing so your team ships integrations in days, not quarters.
- **Power AI copilots with customer context** — Let your end users connect sources like Confluence, Jira, Notion, or Google Drive, then pipe the data through Airbyte into your vector database for RAG. Your AI product gets fresh, permissioned context without you managing extraction pipelines.
- **Launch a multi-tenant data ingestion layer** — Provision isolated Airbyte workspaces per customer so each tenant's sources, destinations, and OAuth credentials remain cleanly separated. Ideal for RevOps, MarTech, and analytics SaaS consolidating customer data into their own warehouse.
- **Offer white-labeled OAuth to your users** — Inject your own OAuth client IDs and secrets into Airbyte workspaces so end users see your brand on the consent screen, not Airbyte's. Delivers a native integration experience inside your product.
- **Trigger on-demand syncs from your UI** — Let users hit a 'Refresh Data' button in your product and fire an Airbyte job immediately instead of waiting for the next scheduled run. Keeps dashboards and workflows accurate without exposing cron internals.

## What you can build

- **Per-tenant workspace provisioning** — Automatically create a dedicated Airbyte workspace for every new customer signup so sources, destinations, and credentials are fully isolated.
- **In-app source connection flow** — Trigger OAuth for any supported source directly from your UI and persist the resulting Airbyte source against the correct tenant workspace.
- **On-demand sync button** — Fire a sync job the moment a user clicks refresh and surface progress by polling the job endpoint for status and row counts.
- **Connection health dashboard** — Show real-time sync status, last run time, and error logs inside your own app by reading from the Airbyte jobs and connections endpoints.
- **Custom connector deployment** — Ship niche connectors built with the Airbyte Connector Builder into customer workspaces programmatically using the declarative source definitions endpoint.
- **White-labeled OAuth credentials manager** — Let customers (or your platform) inject custom OAuth client IDs and secrets at the workspace or organization level so the consent screen carries your brand.

## FAQs

### How does Truto authenticate with Airbyte?

Truto connects to the Airbyte API using Airbyte application credentials (client ID and secret) that mint access tokens via the applications token endpoint. Truto manages token lifecycle so your backend only deals with Truto's unified auth.

### Can we isolate data per end customer?

Yes. The recommended pattern is to call create_a_airbyte_workspace for each of your tenants, then scope all sources, destinations, and connections to that workspace. OAuth credentials can also be set per workspace via airbyte_workspace_oauth_credentials_bulk_update.

### How do we trigger a sync programmatically instead of waiting for a schedule?

Use create_a_airbyte_job to kick off a sync for a specific connection on demand, then poll get_single_airbyte_job_by_id to surface progress, row counts, and errors inside your UI.

### Can we deploy our own custom connectors?

Yes. Connectors built with the Airbyte Connector Builder can be deployed programmatically through create_a_airbyte_definitions_declarative_source, or you can register standard source and destination definitions via the definitions endpoints.

### Does Airbyte support destinations beyond warehouses, like vector databases?

Yes. You can create destinations against the full Airbyte catalog, including vector stores, warehouses, lakes, and operational systems, by calling create_a_airbyte_destination with the appropriate destination definition.

### How do we surface sync errors to our end users?

List jobs for a connection with list_all_airbyte_jobs and fetch details with get_single_airbyte_job_by_id. The response includes status and error information you can render natively inside your product's connection management UI.

## Related reading

- [Connect Airbyte to ChatGPT: Manage pipelines and monitor sync status](https://truto.one/blog/connect-airbyte-to-chatgpt-manage-pipelines-and-monitor-sync-status/) — Learn how to connect Airbyte to ChatGPT using Truto's MCP Server. This guide covers server creation, pipeline management, sync status monitoring, and real-world AI workflows.
- [Connect Airbyte to Claude: Configure Connectors and Workspaces](https://truto.one/blog/connect-airbyte-to-claude-configure-connectors-and-workspaces/) — Learn how to connect Airbyte to Claude using a managed MCP server. A technical guide to automating workspaces, configuring connectors, and managing sync jobs.
- [Connect Airbyte to AI Agents: Orchestrate ELT and sync workflows](https://truto.one/blog/connect-airbyte-to-ai-agents-orchestrate-elt-and-sync-workflows/) — Learn how to safely connect AI agents to Airbyte using Truto. Orchestrate ELT pipelines, manage connections, and handle API rate limits programmatically.
