Skip to main content
The tools on this page inspect your account and its upstream systems without modifying your pipelines, connections, or schedules, so they are safe to use on production accounts. (One diagnostic, validate_package, records a validation and writes a workflow’s script to S3, noted on its entry, but it never alters a pipeline.) Some of them (schema discovery, previews, connection tests, docs lookup) reach out to an external service on each call, so use those sparingly. Tools that create, edit, run, or schedule pipelines are documented on the Building & Editing Packages and Jobs & Schedules pages.

Tool index

ToolWhat it does
list_connectionsLists database and cloud-storage connections with id, name, type, and status.
get_connectionOne connection’s non-credential shape plus suggested source/destination components.
list_workspacesWorkspaces with cached package counts and recent job-activity snapshots.
list_packagesPackage definitions with flow type, status, last run status, and last validation.
get_packageOne package’s flow-graph summary, or the full graph with secrets redacted.
list_clustersCompute clusters with status, node count, region, and lifecycle timestamps.
search_allFree-text search across connections, packages, clusters, and workspaces.
validate_packageRuns structural plus script validation and returns per-component errors.
validate_expressionEvaluates a single Pig expression and returns its value or error.
discover_schemaLists tables available through a database connection.
discover_file_schemaDetects the columns of a delimited file on a storage or SFTP connection.
preview_dataColumn metadata plus a sample of rows from a database table.
preview_transformationThe output columns and rows a single component produces mid-build.
profile_dataPer-column data-quality profile over a sample of rows.
test_connectionPings a connection’s upstream system to verify reachability and auth.
ask_docsAsks the live docs a question and returns a sourced answer.

Account inventory

list_connections

Read-only. Lists database and cloud-storage connections in the current account. By default only active connections are returned; archived connections (for example, an OAuth connection whose token refresh failed) are hidden, the same way they are removed from the dashboard. Credentials and connection-specific properties are never returned.
connection_type_filter
string
Filter by connection type. Accepts short names like postgres or s3 (the same vocabulary get_connection uses), and the corresponding STI class names like PostgresDatabaseConnection for backward compatibility.
status
string
default:"active"
Which connections to list. One of active or archived.
limit
integer
default:"50"
Maximum connections to return. 1 to 200.
offset
integer
default:"0"
Number of connections to skip, for paging.
connections
array
Each entry includes id, name, type (short form), and status only.
pagination
object
offset, limit, and returned (the count in this page).

get_connection

Read-only. Returns details for a single connection by id. Credentials, TLS certificates, and SSL keys are never returned, only a curated set of non-credential identifying fields.
connection_id
integer
required
The connection id.
connection_type
string
Short name (for example postgres, amazon_s3) or STI class name. Only needed to disambiguate a rare id collision across the database and cloud-storage tables.
id
integer
The connection id.
name
string
The connection name.
type
string
Short type identifier, for example postgres or amazon_s3.
status
string
Connection status.
owner_id
integer
The owning user id.
created_at
string
ISO 8601 creation timestamp.
updated_at
string
ISO 8601 last-updated timestamp.
shape
object
Non-credential identifying fields, present when set: host, port, database, tunnel_type, local_port, plus allowlisted properties (schema, region, account_name, warehouse, s3_staging_dir, auth_method, ssl).
suggested_components
object
The source and destination component types to use for this connection (for example a Snowflake connection suggests snowflake_destination_component, not the generic database component). Absent when there is no suggestion.

list_workspaces

Read-only. Lists workspaces in the current account. Workspaces are the recommended starting point for orienting on what work exists. The activity counts come from a cached reporting table, so they are a snapshot, not realtime.
limit
integer
default:"50"
Maximum workspaces to return. 1 to 200.
offset
integer
default:"0"
Number of workspaces to skip, for paging.
workspaces
array
Each entry includes id, name, description, package_count, last_failed_jobs_count, last_completed_jobs_count, last_stopped_jobs_count, created_at, and updated_at.
pagination
object
offset, limit, and returned.

list_packages

Read-only. Lists package definitions (ETL pipelines) in the current account. Defaults to active packages. Includes two quality signals (last_run_status and last_validation) so an agent can prefer healthy packages when picking a reference template.
limit
integer
default:"50"
Maximum packages to return. 1 to 200.
offset
integer
default:"0"
Number of packages to skip, for paging.
flow_type
string
Filter by flow type. One of dataflow (single-stage data movement) or workflow (multi-stage orchestration).
status
string
default:"active"
Filter by status. One of active or archived.
workspace_id
integer
Restrict to packages in a single workspace.
packages
array
Each entry includes id, name, description, flow_type, status, workspace_id, version, version_description, owner_id, last_run_status, last_validation ({valid, status, errors_count, validated_at} or null), created_at, and updated_at.
pagination
object
offset, limit, and returned.

get_package

Read-only. Returns a single package by id. By default you get a curated flow-graph summary (component count, edge count, component-type tally, variable count). Request the full graph to get the complete data_flow_json.
package_id
integer
required
The package (job) id.
include_full_graph
boolean
default:"false"
Return the full data_flow_json blob instead of just the summary. Inline secrets (REST ?api_key= query params, Authorization headers, basic-auth passwords, secrets in bash/script bodies) are masked as [REDACTED] server-side before the graph leaves the tool. See Inline secret redaction in get_package.
id
integer
The package id.
name
string
The package name.
flow_type
string
dataflow or workflow.
status
string
Package status.
last_run_status
string
Status of the most recent run, or null if never run.
last_validation
object
Most recent validation as {valid, status, errors_count, validated_at}, or null if never validated.
graph
object
Summary of the flow graph: component_count, edge_count, variables_count, and component_types (a per-type tally). null if the graph is missing or malformed. Also returned: description, workspace_id, version, version_description, owner_id, created_at, updated_at.
data_flow_json
object
The full graph. Present only when include_full_graph is true, with inline secret values redacted.

list_clusters

Read-only. Lists compute clusters (the resources package runs execute on) in the current account. Defaults to active clusters only; terminated, terminating, and pending-terminate clusters are hidden unless you pass an explicit status. Ordered most-recently-created first.
limit
integer
default:"50"
Maximum clusters to return. 1 to 200.
offset
integer
default:"0"
Number of clusters to skip, for paging.
status
string
Filter by status (for example available, idle, terminated). When omitted, only active clusters are returned.
clusters
array
Each entry includes id, name, description, status, type, nodes, region, plan_id, owner_id, terminate_on_idle, time_to_idle, and lifecycle timestamps (launched_at, available_since, idle_since, terminated_at, created_at, updated_at).
pagination
object
offset, limit, and returned.

search_all

Read-only. Searches across connections, packages, clusters, and workspaces using free text, so you can locate the right record without iterating through list_* calls. Runs (job executions) are intentionally excluded: use list_runs with a status filter for those.
query
string
required
The free-text search query.
types
array
Which resource categories to search. Any of connection, package, cluster, workspace. Defaults to all four.
per_type_limit
integer
default:"10"
Maximum hits per resource type. 1 to 50.
results
object
Matching records grouped by type. Connection hits carry connection_type; package hits carry flow_type and status; cluster hits carry status; workspace hits carry description. Every hit includes type, id, and name.
total
integer
Total number of hits across all searched types. Also returned: query and per_type_limit.

Pipeline diagnostics

validate_package

Read-only from the agent’s point of view, but not free of side effects. Validates a package without running it: a structural check followed by a Job Management Service (JMS) script validation, returning the per-component error list. Each call creates a JobValidation record and makes a network call to JMS (typically about 5 seconds, up to a few minutes for very large packages), and for workflow packages writes the script and variables to S3. It counts against the mutation rate-limit cap. Use it as a pre-flight check before running a package.
package_id
integer
required
The package (job) id to validate.
valid
boolean
true when the package validates (status completed with no errors).
status
string
The validation status, for example completed or failed.
errors
array
The raw validation error list.
errors_by_component
array
Errors mapped to the named component and field, with suggested fixes.
summary
string
A human-readable summary of the validation outcome.
next_steps
array
Suggested next steps to reach a valid package. Also returned: validation_id, package_id, status_message, runtime_seconds, and validated_at.

validate_expression

Read-only. Returns no account data. Evaluates a single Pig expression and returns its computed value or a syntax error. It has no source-column context, so expressions that reference input fields must be checked with preview_transformation instead.
expression
string
required
The Pig expression, for example ADDDURATION(NOW(),'P1D') or UPPER($name). Max 4000 characters.
variables
object
A map of $var name to sample value. Quote string literals, for example { "name": "'Al'" }.
valid
boolean
true with a result, or false with an error.
result
The evaluated value, when valid is true.
error
string
The syntax or validation error, when valid is false. Also returned: expression (echoed back).

discover_schema

Read-only. Database connections only. Lists the tables available through a database connection (Postgres, MySQL, Snowflake, and so on). Cloud-storage and SaaS connections return an error; use discover_file_schema for files. Each call hits the schema-importer over the network and issues a metadata query against the customer’s database, so use sparingly.
connection_id
integer
required
A database connection id from list_connections.
schema_name
string
Narrow to a single schema, for example public for Postgres.
limit
integer
default:"50"
Maximum tables to return. 1 to 200.
offset
integer
default:"0"
Number of tables to skip, for paging.
Substring filter applied at the schema-importer level.
tables
array
The list of table names. Also returned: connection_id, connection_type, schema_name, total_returned, and pagination.

discover_file_schema

Read-only. Cloud-storage or SFTP connections only. Detects the columns of a delimited file (CSV, TSV, and similar). The file-source equivalent of discover_schema, which handles database connections only. Each call reads a sample of the actual file over the network, so use sparingly.
connection_id
integer
required
A cloud-storage or SFTP connection id.
path
string
required
File path on the connection, for example /data/customers.csv.
delimiter
string
default:","
Field delimiter. Use \t for TSV.
header_row
boolean
default:"true"
Whether the first row holds column names. When true, the detected field names come from that header.
lines
integer
default:"20"
Sample size the importer reads. 1 to 200.
column_names
array
A flat, best-effort list of the detected column names. Use it to wire a Select.
fields
array
The importer’s raw field objects, passed through unchanged, ready to copy into a source component’s schema.fields. Also returned: connection_id, connection_type, path, and field_count.

preview_data

Read-only. Database connections only. Returns column metadata plus a small sample of rows from a database table. Each call hits the schema-importer and the customer’s database, so use sparingly.
connection_id
integer
required
A database connection id from list_connections.
table
string
required
Table name to sample.
schema_name
string
Schema the table lives in, when the database uses schemas (for example public).
row_count
integer
default:"20"
Rows to return. 1 to 200.
where_clause
string
A single SQL filter fragment. Semicolons (;) and comment markers (--, /*) are rejected as defense against multi-statement injection.
columns
array
Column metadata for the sampled table.
rows
array
The sampled rows.
truncated
boolean
true when the table has more rows than were returned. Also returned: connection_id, connection_type, schema_name, table, requested_row_count, where_clause, and row_count_returned.

preview_transformation

Read-only. Database-backed sources only (v1). Previews what a single component produces on sample data, mid-build, without a destination. It runs the source-through-target chain on a small sample of the real source data (the same engine the dashboard “preview” button uses), so it works before a pipeline is finished, unlike validate_package, which needs a complete graph. Components fed by SaaS, REST, or file sources return a clear “not yet supported” error.
package_id
integer
required
The package (job) id the component belongs to.
component_name
string
required
The inner name of the component whose output you want to see.
variables
object
Overrides for package variables during this preview run, for example for parameterized sources.
component_name
string
The previewed component’s name.
columns
array
The output columns, each { name, type }.
rows
array
A sample of the component’s output rows.
row_count
integer
Number of rows returned. A message is included when the preview produced no rows.

profile_data

Read-only. Database connections only. Profiles a table’s columns over a sample of rows so an agent can reason about data quality before designing a pipeline. Statistics are sample-based estimates (the leading N rows returned by the database, not a random sample), not full-table figures.
connection_id
integer
required
A database connection id.
table
string
required
Table to profile.
schema_name
string
Schema the table lives in.
columns
array
Restrict profiling to this subset of columns. Omit to profile all.
sample_size
integer
default:"500"
Rows to sample. 1 to 2000.
where_clause
string
A single SQL filter fragment. ;, --, and /* are rejected.
columns
array
Per column: type (inferred from sampled values), null %, approximate distinct count, min/max/mean (numeric), most common values, and quality flags (all_null, high_null, constant, unique).
sample_size_returned
integer
How many rows the sample actually contained. Also returned: connection_id, schema_name, table, and note (a reminder that the statistics are estimates).

test_connection

Read-only from Integrate.io’s side (no state is persisted), but it does ping the customer’s upstream system. Actively tests a connection to verify reachability and authentication, returning success or failure with the upstream error message. Failed tests can produce upstream side effects (audit log entries, rare account lockouts on bad credentials), so use it sparingly, typically once after a user reports a connection problem, not as a repeated health check.
connection_id
integer
required
The connection id to test.
connection_type
string
Short name (for example postgres, s3) or STI class name. Disambiguates when the same integer id exists across the database and cloud-storage tables. Without it, the database row wins on collision.
success
boolean
true if the connection was reachable and authenticated.
error_message
string
The upstream error message on failure, so the agent can suggest a specific next step (re-auth, host/port fix, and so on).
elapsed_ms
integer
How long the test took, in milliseconds. Also returned: connection_id and connection_type.

Documentation

ask_docs

Read-only. Returns public documentation, no account data. Asks the live Integrate.io ETL & Reverse ETL documentation a question and returns an answer grounded in the docs plus source links. Consult it before guessing about component configuration, connector setup, expression functions, write modes, variables, scheduling, or clusters. Each call hits the external Mintlify API.
question
string
required
Your question. Max 2000 characters.
answer
string
The grounded answer.
sources
array
Supporting doc links, each { url, title }.
Last modified on July 14, 2026