---
title: Artie API Integration on Truto
slug: artie
category: Analytics
canonical: "https://truto.one/integrations/detail/artie/"
---

# Artie API Integration on Truto



**Category:** Analytics  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 61 tools for Artie that AI agents can call directly.

- **create_a_artie_track** — Track a single event in artie by submitting an event object for ingestion. Returns a success response on recording. If messageId is not supplied, artie will generate one automatically.
- **create_a_artie_bulk_track** — Track multiple events in bulk in artie by submitting an array of event objects in a single request. Returns a success response when all events are recorded. Required: a non-empty array of event objects in the request body. The total uncompressed payload must not exceed 10 MB.
- **list_all_artie_column_hashing_salts** — List all column hashing salts in artie. Returns a collection of column hashing salt objects.
- **get_single_artie_column_hashing_salt_by_id** — Get a single artie column hashing salt by id. Returns the column hashing salt object. Required: id.
- **create_a_artie_column_hashing_salt** — Create a new column hashing salt in artie. Returns the created column hashing salt object.
- **update_a_artie_column_hashing_salt_by_id** — Update an existing artie column hashing salt by id. Returns the updated column hashing salt object. Required: id.
- **delete_a_artie_column_hashing_salt_by_id** — Delete an artie column hashing salt by id. Returns an empty response on success. Required: id.
- **artie_column_hashing_salts_preview** — Preview the effect of an artie column hashing salt by id. Returns a preview of the hashed output for the specified salt configuration. Required: id.
- **get_single_artie_connector_by_id** — Get a connector in Artie by id. Returns the connector object. Required: id.
- **create_a_artie_connector** — Create a new connector in Artie. Returns the created connector object.
- **update_a_artie_connector_by_id** — Update an existing connector in Artie by id. Returns the updated connector object. Required: id.
- **delete_a_artie_connector_by_id** — Delete a connector in Artie by id. Returns an empty response on success. Required: id.
- **artie_connectors_ping** — Test the connectivity of a connector configuration in Artie. Returns a result indicating whether the connection succeeded.
- **artie_connectors_fetch_schemas** — Fetch available database schemas for a connector configuration in Artie. Returns a list of schema names.
- **artie_connectors_fetch_tables** — Fetch available tables for a connector configuration in Artie. Returns a list of table names.
- **artie_connectors_fetch_databases** — Fetch available databases for a connector configuration in Artie. Returns a list of database names.
- **artie_connectors_fetch_table_detail** — Get detailed information about a specific connector's table in Artie by id. Returns table detail including column definitions and metadata. Required: id.
- **artie_connectors_list_postgres_publications** — List PostgreSQL publications available for a connector configuration in Artie. Returns a list of publication names.
- **artie_connectors_create_snowflake_warehouse** — Create a new Snowflake warehouse via an Artie connector configuration. Returns the created warehouse details.
- **artie_connectors_create_database** — Create a new database via an Artie connector configuration. Returns the created database details.
- **artie_connectors_create_schema** — Create a new database schema via an Artie connector configuration. Returns the created schema details.
- **artie_connectors_start_dynamodb_export** — Start a DynamoDB export for a connector in Artie by id. Returns the export job details. Required: id.
- **artie_connectors_generate_oracle_shadow_script** — Generate an Oracle shadow script for a connector in Artie by id. Returns the generated script content. Required: id.
- **artie_connectors_drop_postgres_replication_slot** — Drop a PostgreSQL replication slot for a connector in Artie by id. Returns an empty response on success. Required: id.
- **artie_data_catalog_search** — Search the artie data catalog. Returns matching data catalog entries based on the provided search criteria.
- **list_all_artie_encryption_keys** — List all encryption keys in Artie. Returns a collection of encryption key objects.
- **get_single_artie_encryption_key_by_id** — Get a single encryption key in Artie by id. Returns the encryption key object. Required: id.
- **create_a_artie_encryption_key** — Create a new encryption key in Artie. Returns the created encryption key object including its id.
- **update_a_artie_encryption_key_by_id** — Update an existing encryption key in Artie by id. Returns the updated encryption key object. Required: id.
- **delete_a_artie_encryption_key_by_id** — Delete an encryption key in Artie by id. Returns an empty response on success. Required: id.
- **create_a_artie_ingestion_api_key** — Create a new ingestion API key in artie. Returns the created key object including its id.
- **update_a_artie_ingestion_api_key_by_id** — Update an existing ingestion API key in artie by id. Returns the updated key object. Required: id.
- **delete_a_artie_ingestion_api_key_by_id** — Delete an ingestion API key in artie by id. Returns an empty response on success. Required: id.
- **list_all_artie_pipelines** — List all artie pipelines available in the account. Returns a collection of pipeline objects.
- **get_single_artie_pipeline_by_id** — Get a single artie pipeline by id. Returns the full pipeline object. Required: id.
- **create_a_artie_pipeline** — Create a new artie pipeline. Returns the created pipeline object including its id.
- **update_a_artie_pipeline_by_id** — Update an existing artie pipeline by id. Returns the updated pipeline object. Required: id.
- **delete_a_artie_pipeline_by_id** — Delete an artie pipeline by id. Returns an empty response on success. Required: id.
- **artie_pipelines_start** — Start an artie pipeline by id, initiating data replication. Required: id.
- **artie_pipelines_update_status** — Update the status of an artie pipeline by id. Required: id.
- **artie_pipelines_create_from_source** — Create a new artie pipeline from a source configuration. Returns the created pipeline object including its id.
- **artie_pipelines_update_with_source_reader** — Update an artie pipeline using a source reader configuration by id. Returns the updated pipeline object. Required: id.
- **artie_pipelines_cancel_backfill** — Cancel an in-progress backfill for an artie pipeline by id. Required: id.
- **artie_pipelines_validate_unsaved_destination** — Validate an unsaved destination configuration for an artie pipeline before saving. Returns validation results.
- **artie_pipelines_validate_unsaved_source** — Validate an unsaved source configuration for an artie pipeline before saving. Returns validation results.
- **create_a_artie_privatelink_connection** — Create a new private link connection in Artie. Returns the created connection object including its id.
- **get_single_artie_privatelink_connection_by_id** — Get a single Artie private link connection by id. Returns the connection object. Required: id.
- **update_a_artie_privatelink_connection_by_id** — Update an existing Artie private link connection by id. Returns the updated connection object. Required: id.
- **delete_a_artie_privatelink_connection_by_id** — Delete an Artie private link connection by id. Returns an empty response on success. Required: id.
- **list_all_artie_source_readers** — List all source readers in artie. Returns a collection of source reader objects.
- **get_single_artie_source_reader_by_id** — Get a single source reader in artie by id. Returns the full source reader object. Required: id.
- **create_a_artie_source_reader** — Create a new source reader in artie. Returns the created source reader object.
- **update_a_artie_source_reader_by_id** — Update an existing source reader in artie by id. Returns the updated source reader object. Required: id.
- **delete_a_artie_source_reader_by_id** — Delete a source reader in artie by id. Returns an empty response on success. Required: id.
- **artie_source_readers_deploy** — Deploy a source reader in artie by id, applying its current configuration. Required: id.
- **artie_source_readers_validate_unsaved** — Validate an unsaved source reader configuration in artie before it is created or deployed. Returns any validation errors or confirmation that the configuration is valid.
- **artie_source_readers_update_status** — Update the status of a source reader in artie by id. Required: id.
- **create_a_artie_ssh_tunnel** — Create a new SSH tunnel in artie. Returns the created SSH tunnel object including its id.
- **get_single_artie_ssh_tunnel_by_id** — Get a specific SSH tunnel in artie by id. Returns the SSH tunnel object. Required: id.
- **update_a_artie_ssh_tunnel_by_id** — Update an existing SSH tunnel in artie by id. Returns the updated SSH tunnel object. Required: id.
- **delete_a_artie_ssh_tunnel_by_id** — Delete an SSH tunnel in artie by id. Returns an empty response on success. Required: id.

## How it works

1. **Link your customer's Artie 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 Artie.** The Proxy API is a 1-to-1 mapping of the Artie 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 real-time CDC onboarding for your customers** — Let your end users connect their production databases (Postgres, MySQL, DynamoDB, MongoDB) and stream changes into your warehouse in under a minute. Replace fragile CSV imports and overnight syncs with programmatic pipeline provisioning.
- **Power AI agents with sub-minute customer context** — AI support, sales, and ops agents need fresh data to avoid hallucinating stale answers. Use Artie to stream your users' operational databases into your vector store or feature store with sub-60-second latency.
- **Offer compliant data ingestion for regulated industries** — Fintech, healthcare, and enterprise SaaS customers can't ship raw PII to third parties. Apply column-level hashing salts before data lands in your infrastructure so you stay SOC2/HIPAA/GDPR-aligned by default.
- **Replace direct production queries in embedded analytics** — Stop hammering your customers' production databases with dashboard queries. Provision a mirrored warehouse and CDC pipeline programmatically so your analytics product reads from a replica with zero impact on the source.
- **Securely reach into enterprise VPCs and on-prem databases** — Enterprise buyers won't open public network access. Provision SSH tunnels or PrivateLink connections from your app so customers can connect locked-down databases without IP whitelisting gymnastics.

## What you can build

- **One-click database source connector** — Build a guided flow that validates user-supplied database credentials and spins up a working source reader and pipeline without your team touching infrastructure.
- **Native table and column picker UI** — Use schema, table, and table-detail introspection to render a wizard where users select exactly which databases, schemas, tables, and columns to replicate.
- **PII masking configurator** — Let users mark sensitive columns, generate hashing salts, and preview the hashed output before the pipeline goes live so they can verify masking with their security team.
- **Pipeline health and backfill controls** — Surface pipeline status, start/pause controls, and cancel-backfill actions inside your product so users manage their replication without leaving your UI.
- **Unified event + database telemetry ingestion** — Combine frontend behavioral events sent through the track and bulk-track endpoints with backend CDC streams into a single analytics surface.
- **Enterprise-grade secure connectivity setup** — Programmatically create SSH tunnels and AWS PrivateLink connections so enterprise customers can self-serve secure database connectivity from your onboarding flow.

## FAQs

### How does authentication to Artie work through Truto?

Truto manages Artie API key storage, rotation, and injection on every request. Your application calls Truto's unified endpoints and we handle the underlying Artie auth so you never store or proxy keys yourself.

### Which databases and warehouses can my users connect?

Artie supports OLTP sources including PostgreSQL, MySQL, DynamoDB, and MongoDB, and OLAP destinations including Snowflake, BigQuery, Redshift, and MotherDuck. You provision these through the connector and pipeline tools exposed via Truto.

### How fresh is the replicated data?

Artie is push-based CDC with sub-minute latency, typically under 60 seconds end-to-end. This is meaningfully different from batched ETL and is suitable for AI context, fraud scoring, and live operational dashboards.

### Can I validate a user's source before creating a pipeline?

Yes. Use the validate-unsaved-source and validate-unsaved-destination actions plus the connector ping to confirm credentials, network reachability, and required permissions before you commit to creating the pipeline.

### How do I handle customers on private networks?

Create SSH tunnels or AWS PrivateLink connections through the corresponding Truto tools. This lets you onboard enterprise customers whose databases are not exposed to the public internet without manual IP whitelisting.

### Can sensitive columns be hashed before they reach our warehouse?

Yes. You can create and manage column hashing salts and use the preview action to verify the hashed output for specific columns, so PII is transformed in-flight before landing downstream.

### Can I control pipeline lifecycle from my own product UI?

Yes. Truto exposes create, update, delete, start, status update, and cancel-backfill actions for pipelines and source readers, so you can build full lifecycle controls inside your app instead of sending users to Artie.
