Business Intelligence
dbt Labs
API integration
Ship Business Intelligence features without building the integration. Full dbt Labs API access via Proxy, normalized data through Unified APIs, and 200+ MCP-ready tools for AI agents — all extensible to your exact use case.
Talk to usUse Cases
Why integrate with dbt Labs
Common scenarios for SaaS companies building dbt Labs integrations for their customers.
Sync dbt Cloud users and roles for access governance
Security and compliance SaaS products can pull dbt Cloud user lists, roles, and workspace assignments to audit access policies, enforce least-privilege principles, and automate offboarding across their customers' data infrastructure.
Map dbt Cloud workspaces to your multi-tenant permission model
SaaS platforms that manage cross-tool permissions can sync dbt Cloud accounts and projects as workspaces, giving end users a unified view of who has access to which data transformation environments alongside other tools in their stack.
Automate SOC2 and compliance reporting across data tools
Compliance-focused SaaS companies can continuously sync dbt Cloud user directories to detect orphaned accounts, verify role assignments, and generate audit-ready reports — without asking customers to manually export user lists.
Enrich your user directory with dbt Cloud identity data
Identity and IT management platforms can ingest dbt Cloud users, roles, and workspace memberships alongside other SaaS tools, giving IT teams a single pane of glass for managing their analytics engineering team's access.
What You Can Build
Ship these features with Truto + dbt Labs
Concrete product features your team can ship faster by leveraging Truto’s dbt Labs integration instead of building from scratch.
Unified user directory with dbt Cloud roles
Display dbt Cloud users alongside users from other integrated tools, normalized into a consistent schema with roles and workspace assignments.
Cross-platform access audit dashboard
Show which users have Developer, Read-Only, or IT Admin licenses in dbt Cloud and flag discrepancies against your customers' HR systems or identity providers.
Automated offboarding alerts for dbt Cloud
Detect when a user has been deactivated in an identity provider but still has an active dbt Cloud account, and surface an actionable alert to the end user.
Workspace-level permission mapping
Sync dbt Cloud accounts and projects as normalized workspaces so customers can define and enforce granular data access policies across their entire analytics stack.
License utilization reporting
Aggregate dbt Cloud user and role data to help customers understand license consumption and identify unused or over-provisioned seats.
SuperAI
dbt Labs AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_dbt_labs_users
List the dbt Cloud users associated with an account. Returns: id, created_at, updated_at. Required: account_id.
get_single_dbt_labs_user_by_id
Get a single dbt Cloud user by id. Returns: id, created_at, updated_at. Required: account_id, id.
update_a_dbt_labs_user_by_id
Update an existing dbt Cloud user by id. Returns the updated user record: id plus the user's schema-defined attributes. Required: id (integer user id) and a UserRequest JSON body.
list_all_dbt_labs_accounts
List the dbt accounts your API token is authorized to access. Returns: id, created_at, updated_at.
get_single_dbt_labs_account_by_id
Get a single dbt Cloud account by its numeric id. Returns: id, created_at, updated_at. Required: id, account_id.
dbt_labs_accounts_partial_update
Partially update a dbt Labs account. Returns the updated account with its id, created_at, and updated_at. Required: account_id.
update_a_dbt_labs_account_by_id
Update a dbt Labs account by id. Returns the updated account with its id, created_at, and updated_at. Required: id.
list_all_dbt_labs_groups
List groups in a dbt Labs account, filterable by name, primary key, and soft-deletion state. Returns: id, name, state, group_permissions. Required: account_id.
get_single_dbt_labs_group_by_id
Get a single group in a dbt Labs account by id. Returns: id, name, state, group_permissions. Required: account_id and id.
create_a_dbt_labs_group
Create a group in a dbt Cloud account with a GroupRequest JSON body. Returns the created group object including its id, name, created_at, and updated_at. Required: account_id.
update_a_dbt_labs_group_by_id
Update an existing group in a dbt Cloud account by id with a GroupRequest JSON body. Returns the updated group object including its id, name, created_at, and updated_at. Required: id, account_id.
create_a_dbt_labs_account_assign_group
Assign groups to a dbt account via a required request body that specifies the groups to assign. Returns the list of groups assigned to the account, including each group's id and name. Required: account_id.
list_all_dbt_labs_account_audit_logs
List dbt Cloud audit log events for an account. Returns a paginated collection of audit log event records with id and content-type-specific attributes. Required: account_id. Enterprise plans only.
list_all_dbt_labs_account_connections
List all Account Connections in a dbt account. Returns: id, name, adapter_version, created_at. Required: account_id. Filter by adapter_version, name__icontains, private_endpoint_id, or the has_* feature flags.
create_a_dbt_labs_account_connection
Create a new Account Connection in a dbt account. Returns: id, name, adapter_version, created_at. Required: account_id. Body fields are adapter-specific — use the adapter-schema endpoint to discover them.
get_single_dbt_labs_account_connection_by_id
Get a specific Account Connection in a dbt account by id. Returns: id, name, adapter_version, created_at. Required: id and account_id.
update_a_dbt_labs_account_connection_by_id
Update an existing Account Connection in a dbt account by id. Returns: id, name, adapter_version, created_at. Required: id and account_id. Body fields are adapter-specific — use the adapter-schema endpoint to discover them.
delete_a_dbt_labs_account_connection_by_id
Delete an Account Connection in a dbt account by id. Returns an empty 204 response on success. Requires id and account_id.
list_all_dbt_labs_account_favorite_assets
List the favorite assets in a dbt account. Returns each favorited asset with its id and the environment_id, project_id, and user_id it is associated with. Required: account_id.
create_a_dbt_labs_account_group_permission
Set the permissions for a group in a dbt Cloud account. Returns the saved group permission payload as JSON; its fields are not enumerated in the available dbt API documentation. Required: account_id, group_permission_id, group_id, and a JSON request body (GroupPermissionListRequest).
list_all_dbt_labs_account_invites
List invites for a dbt account. Returns: id, attributes (invite fields defined by dbt's Invite schema; the docs do not enumerate them). Required: account_id.
create_a_dbt_labs_account_invite
Send email invites to users to add them to a dbt account. Returns: id, attributes (fields defined by dbt's InviteUsersResponse schema). Required: account_id and the invite request body.
get_single_dbt_labs_account_invite_by_id
Get an invite by id for a dbt account. Returns: id, attributes (invite fields defined by dbt's Invite schema; the docs do not enumerate them). Required: account_id and id.
list_all_dbt_labs_account_ip_restrictions
List the ip restriction rules configured for a dbt Cloud account. Returns ip restriction rules including id, created_at, and updated_at. Required: account_id.
create_a_dbt_labs_account_ip_restriction
Save a new ip restriction rule for a dbt Cloud account. Returns the created rule including id, created_at, and updated_at. Required: account_id. A 2XX is returned as long as at least one cidr saves successfully.
get_single_dbt_labs_account_ip_restriction_by_id
Get a single ip restriction rule by id for a dbt Cloud account. Returns the rule including id, created_at, and updated_at. Required: account_id and id.
update_a_dbt_labs_account_ip_restriction_by_id
Update an existing IP restriction rule in dbt by id. Returns the updated rule with its id, cidrs, and extra listing any CIDRs that failed to save. Required: account_id, id.
delete_a_dbt_labs_account_ip_restriction_by_id
Delete an IP restriction rule from a dbt account by id. Returns an empty 204 response on success. Required: account_id, id.
create_a_dbt_labs_account_ip_restrictions_set
Toggle the enablement of the IP restriction feature for a dbt Cloud account. Returns the resulting IP restriction rule set object (dbt's IPRestrictionRuleSetEnveloped schema; its fields are not enumerated in the source docs). Required: account_id and a JSON request body.
list_all_dbt_labs_account_license_maps
List license maps for a dbt Cloud account. Returns license map records with id and attributes. Required: account_id. Only active records are returned by default.
create_a_dbt_labs_account_license_map
Create a license map in a dbt Cloud account. Returns the created license map record with id and attributes. Required: account_id. The request body follows the upstream LicenseMapRequest schema.
get_single_dbt_labs_account_license_map_by_id
Get a single license map for a dbt Cloud account by id. Returns the license map record with id and attributes. Required: account_id and id.
update_a_dbt_labs_account_license_map_by_id
Update a license map for a dbt Cloud account by id. Returns the updated license map record with id and attributes. Required: account_id, id. The request body follows the upstream LicenseMapRequest schema.
delete_a_dbt_labs_account_license_map_by_id
Delete a license map from a dbt Cloud account by id. Returns an empty 204 response on success. Required: account_id and id.
list_all_dbt_labs_account_oauth_configurations
List OAuth configurations for a dbt Cloud account. Returns each configuration's id, account_id, client_id, type, and state. Filter by client_id, type, or soft-deletion state (defaults to active); results order by id by default. Required: account_id.
create_a_dbt_labs_account_oauth_configuration
Create an OAuth configuration for a dbt Cloud account. Returns: id, account_id, client_id, type. Required: account_id. The request body follows the OAuthConfigurationRequest schema; its fields are not enumerated in the dbt API docs.
get_single_dbt_labs_account_oauth_configuration_by_id
Get an OAuth configuration of a dbt Cloud account by id. Returns: id, account_id, client_id, type. Required: account_id, id.
update_a_dbt_labs_account_oauth_configuration_by_id
Update an OAuth configuration of a dbt Cloud account by id. Returns: id, account_id, client_id, type. Required: account_id, id. The request body follows the OAuthConfigurationRequest schema; its fields are not enumerated in the dbt API docs.
delete_a_dbt_labs_account_oauth_configuration_by_id
Delete an OAuth configuration from a dbt Cloud account by id. Returns an empty 204 response on success. Required: id and account_id.
list_all_dbt_labs_account_private_endpoints
List all Private Endpoints for a dbt account, filterable by search term and endpoint type. Returns: pl_endpoint_ksuid, name, type, private_link_endpoint. Required: account_id.
create_a_dbt_labs_account_private_endpoint
Create a new Private Endpoint in a dbt account. Returns an empty response on success. Required: account_id.
dbt_labs_account_private_endpoints_bulk_update
Update an existing Private Endpoint in a dbt account, addressed by its KSUID identifier. Returns an empty response on success. Required: account_id, pl_endpoint_ksuid.
dbt_labs_account_private_endpoints_bulk_delete
Delete a Private Endpoint from a dbt account, addressed by its KSUID identifier. Returns an empty 204 response on success. Required: account_id, pl_endpoint_ksuid.
list_all_dbt_labs_account_private_endpoints_private_endpoints
Retrieve the details of a specific Private Endpoint in dbt. Returns the endpoint record with its id and attributes (fields are defined upstream in the PrivateEndpointDetailResponse schema). Required: account_id, pl_endpoint_ksuid.
list_all_dbt_labs_account_projects
List dbt Cloud projects in an account. Returns: id, name, state, created_at, updated_at, plus repository, connection, group_permissions, docs_job, or freshness_job when include_related is set. Required: account_id. Active projects only by default.
create_a_dbt_labs_account_project
Create a dbt Cloud project in an account. Returns the created project: id, name, state, created_at, updated_at. Required: account_id and a project request body.
get_single_dbt_labs_account_project_by_id
Get a single dbt Cloud project by id. Returns: id, name, state, created_at, updated_at, plus repository, connection, group_permissions, docs_job, or freshness_job when include_related is set. Required: account_id and id.
update_a_dbt_labs_account_project_by_id
Update a dbt Cloud project by id with a JSON request body. Returns the updated project: id, name, state, created_at, updated_at. Required: account_id and id.
delete_a_dbt_labs_account_project_by_id
Delete a dbt Cloud project by id. Returns an empty 204 response on success. Required: id and account_id. Deleted projects remain listable with state=deleted.
list_all_dbt_labs_account_projects_accounts
List dbt Cloud projects in an account. Returns each project with its id, name, state, created_at, and updated_at. Deprecated: dbt recommends using the v3 API instead. Required: account_id.
create_a_dbt_labs_account_projects_account
Create a dbt Cloud project in an account. Returns the created project with its id, name, state, and created_at. Deprecated: dbt recommends using the v3 API instead. Required: account_id, name.
get_single_dbt_labs_account_projects_account_by_id
Get a single dbt Cloud project by id. Returns the project's id, name, state, created_at, and updated_at. Deprecated: dbt recommends using the v3 API instead. Required: account_id, id.
update_a_dbt_labs_account_projects_account_by_id
Update a dbt Cloud project by id. Returns the updated project with its id, name, state, and created_at. Deprecated: dbt recommends using the v3 API instead. Required: account_id, id.
delete_a_dbt_labs_account_projects_account_by_id
Delete a dbt Cloud project by id. Returns an empty 204 response on success. Deprecated: dbt recommends using the v3 API instead. Required: account_id, id.
get_single_dbt_labs_audit_logs_download_by_id
Generate and download a dbt Cloud account's audit log as a CSV file. Returns the raw CSV file itself; no JSON object is returned. Required: id (the dbt Cloud account id). Available to enterprise plans only.
create_a_dbt_labs_audit_logs_export
Submit a bulk audit-log export request for a dbt Labs account. Returns the created export record's id and its upstream-defined attributes. Required: account_id. Enterprise accounts only; the export is processed asynchronously - poll its status with the get method.
get_single_dbt_labs_audit_logs_export_by_id
Check the status of a bulk audit-log export request for a dbt Labs account. Returns the export status record's id and its upstream-defined attributes. Required: id and account_id (the dbt account identifier). Enterprise accounts only.
list_all_dbt_labs_downloads
Download a bulk export of audit log events for a dbt Labs account. Returns the download record (id, attributes). Required: account_id, job_identifier. Enterprise plan only.
dbt_labs_environment_sao_caches_bulk_delete
Clear the dbt environment SAO (State Aware Orchestration) cache in Redis for the given environment. Returns an empty 204 response on success. Required: account_id, environment_id.
get_single_dbt_labs_ip_restrictions_set_validate_by_id
Check whether the client IP address is acceptable under a dbt Cloud IP restriction set's configured rules. Returns an opaque JSON validation payload; the upstream docs do not enumerate its fields. Required: id, account_id.
get_single_dbt_labs_ip_restrictions_set_validates_validate_by_id
Validate whether the calling client IP is acceptable under a dbt account's IP restriction rules, excluding the ip rule identified by id from the check. Returns the vendor-defined validation verdict object (its fields are not enumerated in the dbt docs). Required: account_id, ip_restrictions_set_id, id.
get_single_dbt_labs_collection_by_id
Get a collection from a lineage integration in dbt. Returns the collection record including its id and integration-specific attributes. Required: id, collection_id, account_id, project_id, and lineage_id.
list_all_dbt_labs_collections
List the collections of a lineage integration in dbt. Returns collection records with their ids and integration-specific attributes. Required: account_id, project_id, lineage_id.
get_single_dbt_labs_environment_variables_environment_by_id
Get the environment variables configured for a dbt Cloud project, grouped by environment scope. Returns: environments (scope names such as project, production, staging, dev) and variables (each variable name mapped per scope to its id and value, with secret values masked). Required: account_id, project_id (supplied as the record id).
get_single_dbt_labs_environment_variables_job_by_id
Get environment variables resolved at the job scope for a dbt Cloud project. Returns a map of variable names to their project, environment, and job scope values (id, value). Required: id (the project id), account_id, project_id, job_definition_id.
get_single_dbt_labs_environment_variables_user_by_id
Get the user environment variables for a dbt Cloud project. Returns a map keyed by variable name, each entry with project, environment, and user scoped values (id, value). Required: project_id, account_id, user_id.
create_a_dbt_labs_integrations_lineage
Create a lineage integration on a dbt Cloud project. Returns the created lineage integration record including its id and attributes defined by the upstream DetailLineageIntegrationResponse schema. Required: account_id, project_id. The request body must follow the PostLineageIntegrationRequest schema.
delete_a_dbt_labs_integrations_lineage_by_id
Delete a lineage integration from a dbt project by id. Returns an empty 204 response on success. Required: id, account_id, and project_id.
get_single_dbt_labs_integrations_lineage_by_id
Get the lineage integrations configured on a dbt Cloud project. Returns lineage integration records including their id and attributes defined by the upstream ListLineageIntegrationResponse schema. Required: id, account_id, and project_id.
update_a_dbt_labs_integrations_lineage_by_id
Update a lineage integration on a dbt Cloud project by id. Returns the updated lineage integration record including its id and attributes defined by the upstream DetailLineageIntegrationResponse schema. Required: id, account_id, and project_id. The request body follows the PatchLineageIntegrationRequest schema (partial update).
get_single_dbt_labs_integrations_lineages_lineage_by_id
Get a lineage integration by id in dbt Cloud. Returns the lineage integration detail record: id and attributes (the field set is defined by dbt's DetailLineageIntegrationResponse schema). Required: id, account_id, project_id.
update_a_dbt_labs_selection_by_id
Update the watch selection for a lineage integration in dbt Labs. Returns the updated selection including id, created_at, and updated_at. Required: id, account_id, project_id.
get_single_dbt_labs_managed_repositorie_download_by_id
Download a dbt Cloud managed repository as a ZIP archive. Returns the raw ZIP file as a binary download with no JSON fields. Required: account_id, project_id, repository_id, and id (the managed repository id).
create_a_dbt_labs_project_managed_repository
Create a new dbt Cloud managed repository for a project. Returns the created repository object with its id, created_at, and updated_at. Required: account_id, project_id, plus a JSON request body.
create_a_dbt_labs_project_adapter
Create a new adapter for a dbt Cloud project. Returns the created adapter record including its id, created_at, and updated_at; the returned id can be used to create Connections or Credentials. Required: account_id, project_id.
delete_a_dbt_labs_project_adapter_by_id
Delete a dbt Cloud project adapter by id. Returns an empty 204 response on success. Required: account_id, project_id, id.
get_single_dbt_labs_project_adapter_by_id
Get a single adapter for a dbt Cloud project by id. Returns the adapter record including its id, created_at, and updated_at. Required: account_id, project_id, id.
update_a_dbt_labs_project_adapter_by_id
Update an adapter for a dbt Cloud project by id. Returns the updated adapter record including its id, created_at, and updated_at. Required: account_id, project_id, id.
create_a_dbt_labs_project_connection
Create a new connection in a dbt Cloud project. Returns the created connection record including id, adapter_version, state, and created_at. Required: account_id, project_id, and a connection configuration body (BaseConnectionV3Request).
delete_a_dbt_labs_project_connection_by_id
Delete a connection in a dbt Cloud project by id. Returns an empty 204 response on success. Requires account_id, project_id, and id.
get_single_dbt_labs_project_connection_by_id
Get a single connection in a dbt Cloud project by id. Returns the connection record including id, adapter_version, state, and created_at; pass include_related to embed related objects in the response. Required: account_id, project_id, id.
list_all_dbt_labs_project_connections
List connections in a dbt Cloud project. Filter by adapter_version, soft-deletion state, and catalog-ingestion or cost-insights flags, and sort with order_by. Returns connection records including id, adapter_version, state, and created_at. Required: account_id, project_id.
update_a_dbt_labs_project_connection_by_id
Update a connection in a dbt Cloud project by id. Returns the updated connection record including id, adapter_version, state, and created_at. Required: account_id, project_id, id, and a connection configuration body (BaseConnectionV3Request).
create_a_dbt_labs_project_credential
Create a new set of credentials to associate with a user or environment for a dbt Cloud project. Returns the created credentials record with its id, created_at, and updated_at. Required: account_id, project_id. Credential fields vary by adapter type.
delete_a_dbt_labs_project_credential_by_id
Delete a set of dbt Cloud project credentials by id. Returns an empty 204 response on success. Required: account_id, project_id, id.
get_single_dbt_labs_project_credential_by_id
Fetch a specific set of dbt Cloud project credentials by id. Returns: id, created_at, updated_at. Required: account_id, project_id, id.
list_all_dbt_labs_project_credentials
List the credentials configured for a given dbt Cloud project. Returns: id, created_at, updated_at. Required: account_id, project_id.
dbt_labs_project_credentials_partial_update
Partially update a set of credentials for a dbt Cloud project. Returns the updated credentials record with its id, created_at, and updated_at. Required: account_id, project_id, credential_id. Credential fields vary by adapter type.
update_a_dbt_labs_project_credential_by_id
Update a set of credentials for a dbt project. Returns the updated credentials record: id plus adapter-specific credential fields whose exact shape depends on the credential type. Required: account_id, project_id, id.
dbt_labs_project_environment_variables_bulk_create
Bulk create environment variables for a dbt Cloud project. Returns one bulk result entry per variable, each with its id and upstream-defined attributes. Required: account_id, project_id.
dbt_labs_project_environment_variables_bulk_delete
Bulk delete environment variables for a dbt Cloud project. Returns an empty 204 response on success. Required: account_id, project_id.
dbt_labs_project_environment_variables_bulk_update
Bulk update or rename project environment variables by name, or delete overrides by setting values to empty or null. Returns the bulk update result with its id and upstream-defined attributes. Required: account_id, project_id, env_vars.
create_a_dbt_labs_project_environment_variable
Create a project environment variable in a dbt Cloud project. Returns the created variable record with its id and upstream-defined attributes. Required: account_id, project_id.
delete_a_dbt_labs_project_environment_variable_by_id
Delete a project environment variable by id in a dbt Cloud project. Returns an empty 204 response on success. Required: account_id, project_id, id.
update_a_dbt_labs_project_environment_variable_by_id
Update an existing project environment variable in dbt Labs. Returns the updated variable record: id, value. Required: id, account_id, project_id.
create_a_dbt_labs_project_environment
Create a new environment in a dbt Cloud project. Returns the created environment record: id, attributes (the field set is defined by the upstream EnvironmentV3 schema). Required: account_id, project_id.
delete_a_dbt_labs_project_environment_by_id
Delete an environment by id from a dbt Cloud project. Returns an empty 204 response on success. Required: account_id, project_id, id.
get_single_dbt_labs_project_environment_by_id
Get a single environment by id in a dbt Cloud project. Returns the environment record: id, attributes (the field set is defined by the upstream EnvironmentV3 schema). Required: account_id, project_id, id.
list_all_dbt_labs_project_environments
List the environments of a dbt Cloud project. Returns environment records including id, name, dbt_version, deployment_type, credentials_id, and state. Required: account_id, project_id.
update_a_dbt_labs_project_environment_by_id
Replace a dbt Cloud environment by id. This is a full-replace operation: omitted fields are reset to null, so include current values such as credentials_id and connection_id. Returns: id, name, dbt_version, deployment_type. Required: account_id, project_id, id.
create_a_dbt_labs_project_extended_attribute
Create a new Extended Attributes record for a dbt Cloud project by posting the record payload in the request body. Returns the created record with id and attributes. Required: account_id, project_id.
delete_a_dbt_labs_project_extended_attribute_by_id
Delete an Extended Attributes record from a dbt Cloud project by id. Returns an empty 204 response on success. Required: account_id, project_id, id.
get_single_dbt_labs_project_extended_attribute_by_id
Get an Extended Attributes record by id for a dbt Cloud project. Returns the Extended Attributes record with content-type-specific fields (id, attributes). Required: account_id, project_id, id.
update_a_dbt_labs_project_extended_attribute_by_id
Update an existing Extended Attributes record for a dbt Cloud project by id, sending the changed fields in the request body. Returns the updated record with id and attributes. Required: account_id, project_id, id.
create_a_dbt_labs_project_profile
Create a new profile in a dbt project. Profiles are the set of connection, credentials, and attributes used to connect to a data warehouse and can be assigned to deployment environments to run jobs. Returns: id, key, connection_id, created_at. Required: account_id, project_id.
delete_a_dbt_labs_project_profile_by_id
Delete an existing profile by id in a dbt project. The profile must not be assigned to any deployment environments in order to be deleted. Returns an empty 204 response on success. Required: account_id, project_id, id.
get_single_dbt_labs_project_profile_by_id
Get a single profile by id within a dbt project. Profiles are the set of connection, credentials, and attributes used to connect to a data warehouse. Returns: id, key, connection_id, created_at. Required: account_id, project_id, id.
list_all_dbt_labs_project_profiles
List profiles for a dbt project. Profiles are the set of connection, credentials, and attributes used to connect to a data warehouse and can be assigned to deployment environments. Returns: id, key, connection_id, created_at. Required: account_id, project_id.
update_a_dbt_labs_project_profile_by_id
Update an existing profile by id within a dbt project. Profiles are the set of connection, credentials, and attributes used to connect to a data warehouse. Returns: id, key, connection_id, created_at. Required: account_id, project_id, id.
create_a_dbt_labs_account_scim_config
Create the SCIM configuration for a dbt Cloud account. Returns the created config record with its id and upstream-defined attributes. Required: account_id and a JSON request body.
get_single_dbt_labs_account_scim_config_by_id
Retrieve the SCIM configuration for a dbt Cloud account. Returns the config record with its id and upstream-defined attributes. Required: id (the account's numeric id).
list_all_dbt_labs_account_semantic_layer_credentials
List the semantic layer credentials of a dbt Cloud account. Returns: id, state. Required: account_id.
create_a_dbt_labs_account_service_token
Create a new service token for a dbt account. Returns the created token record: id and attributes, whose fields follow dbt's upstream token schema. Required: account_id and a request body. The token value is shown only once at creation.
delete_a_dbt_labs_account_service_token_by_id
Delete a service token from a dbt account by id. Returns an empty 204 response on success. Required: account_id and id.
get_single_dbt_labs_account_service_token_by_id
Get a single service token for a dbt account by id. Returns the token record: id and attributes, whose fields follow dbt's upstream token schema. Required: account_id and id.
list_all_dbt_labs_account_service_tokens
List service tokens for a dbt account. Returns each token record with id and attributes; the attribute fields follow dbt's upstream token schema. Required: account_id.
update_a_dbt_labs_account_service_token_by_id
Update a service token in a dbt Labs account by id. Returns the updated service token record: id, name, state, and related permission mappings. Required: account_id, id, and a request body.
create_a_dbt_labs_project_repository
Create a new repository for a dbt Cloud project by posting the repository configuration as a JSON request body. Returns: id, remote_url, project_id, state, created_at. Required: account_id, project_id.
delete_a_dbt_labs_project_repository_by_id
Delete a repository from a dbt Cloud project by id. Returns an empty 204 response on success. Required: id, account_id, project_id.
get_single_dbt_labs_project_repository_by_id
Get a single repository in a dbt Cloud project by id. Returns the repository record including id, remote_url, project_id, state, and created_at. Required: id, account_id, project_id.
list_all_dbt_labs_project_repositories
List repositories for a dbt Cloud project. Returns repository records including id, remote_url, project_id, state, and created_at. Required: account_id, project_id.
update_a_dbt_labs_project_repository_by_id
Update a repository in a dbt Cloud project by id, posting the updated repository configuration as a JSON request body. Returns: id, remote_url, project_id, state, updated_at. Required: id, account_id, project_id.
get_single_dbt_labs_receipt_by_id
Get the delivery receipt for a dbt Cloud webhook event, identified by subscription and event. Returns the receipt record as returned by dbt. Required: account_id, subscription_id, event_id, and id (the event id, supplied via the ID field).
list_all_dbt_labs_receipts
List all delivery receipts recorded for a dbt Cloud webhook event. Returns the receipt records as returned by dbt. Required: account_id, event_id. Deprecated upstream — should not be called anymore.
create_a_dbt_labs_scim_config_token
Create a SCIM token for a dbt account. Returns the created token record including id, created_at, and updated_at. Required: account_id and a request body.
delete_a_dbt_labs_scim_config_token_by_id
Delete a SCIM token by id from a dbt account. Returns an empty 204 response on success. Required: account_id and id.
get_single_dbt_labs_scim_config_token_by_id
Retrieve a specific SCIM token by id for a dbt account. Returns: id, created_at, updated_at. Required: account_id and id.
list_all_dbt_labs_scim_config_tokens
List all SCIM tokens configured for a dbt account. Returns each token with id, created_at, and updated_at. Required: account_id.
create_a_dbt_labs_scim_group
Create a group via SCIM in a dbt Cloud account. Returns the created SCIM group detail response (application/scim+json). Required: account_id and a required SCIM group creation body.
delete_a_dbt_labs_scim_group_by_id
Delete a group via SCIM in a dbt Cloud account by id. Returns an empty 204 response on success. Required: id, account_id.
get_single_dbt_labs_scim_group_by_id
Get a group via SCIM in a dbt Cloud account by id. Returns the SCIM group detail response (application/scim+json). Required: id, account_id.
list_all_dbt_labs_scim_groups
List all groups via SCIM in a dbt Cloud account. Returns the SCIM group list response (application/scim+json). Required: account_id.
dbt_labs_scim_groups_partial_update
Partially update a SCIM group in a dbt Cloud account using a SCIM PATCH payload. Returns the updated SCIM group detail response (application/scim+json). Required: group_id, account_id, and a required SCIM patch body.
update_a_dbt_labs_scim_group_by_id
Replace a dbt Labs group via SCIM using PUT. Returns: id, BearerAuthentication. Required: account_id, id (the SCIM group id), group_id, and a required group representation request body.
list_all_dbt_labs_scim_resource_types
List the SCIM resource types supported for a dbt Cloud account. Returns the SCIM detail list response containing the account's resource type definitions; optionally include related objects via include_related. Required: account_id.
list_all_dbt_labs_scim_resource_types_resourcetypes
Get the details of a supported SCIM resource type in a dbt Labs account. Returns the resource type record including its id and content-type-specific SCIM attributes. Required: account_id, resource_type.
list_all_dbt_labs_scim_schemas
List the supported SCIM schemas for a dbt Cloud account. Returns: id, attributes, BearerAuthentication. Required: account_id.
list_all_dbt_labs_scim_schemas_v_2
Get details of a supported SCIM schema in dbt Cloud by its schema URI. Returns the SCIM schema definition with SCIM-specific fields (application/scim+json). Required: account_id, schema_uri.
get_single_dbt_labs_scim_service_provider_config_by_id
Get the SCIM Service Provider Config for a dbt account. Returns an empty 200 response with no response body on success. Required: id (the dbt account id).
create_a_dbt_labs_scim_user
Create a user in a dbt account via SCIM. Returns the created SCIM user record including its id. Required: account_id and a SCIM user request body.
delete_a_dbt_labs_scim_user_by_id
Delete a user from a dbt account via SCIM, which removes the user's license from the account. Returns an empty 204 response on success. Requires account_id and id.
get_single_dbt_labs_scim_user_by_id
Get a single user in a dbt account via SCIM. Returns the SCIM user record including its id. Required: account_id and user_id.
list_all_dbt_labs_scim_users
List all users in a dbt account via SCIM. Returns SCIM user records including their ids. Required: account_id.
dbt_labs_scim_users_partial_update
Update one or more attributes of a user in a dbt account via SCIM. Returns the updated SCIM user record including its id. Required: account_id, user_id, and a SCIM patch request body.
update_a_dbt_labs_scim_user_by_id
Replace a dbt SCIM user with a full PUT to the account's Users endpoint. Returns the updated user resource: id and the upstream DetailUserSCIMResponse attributes payload. Required: account_id, user_id (the SCIM user id), and a ReplaceUserSCIMRequestRequest body.
list_all_dbt_labs_service_token_permissions
List the permissions assigned to a service account token in dbt. Returns: id, attributes — the attribute fields (permission set and project scoping) are schema-specific upstream. Required: account_id, service_token_id.
create_a_dbt_labs_user_account_apikey
Create an account-scoped personal access token for a user in a dbt account. Returns: id, user_id, account_id, created_at, updated_at. Required: account_id and user_id. The token value is only available immediately after creation.
delete_a_dbt_labs_user_account_apikey_by_id
Delete an account-scoped personal access token by id for a user in a dbt account. Returns an empty 204 response on success. Required: id, account_id, user_id.
get_single_dbt_labs_user_account_apikey_by_id
Get an account-scoped personal access token by id for a user in a dbt account. Returns: id, user_id, account_id, created_at, updated_at. Required: id, account_id, user_id.
list_all_dbt_labs_user_account_apikeys
List account-scoped personal access tokens for a user in a dbt account. Returns: id, user_id, account_id, created_at, updated_at. Required: account_id, user_id.
update_a_dbt_labs_user_account_apikey_by_id
Update an account-scoped personal access token by id for a user in a dbt account. Returns: id, user_id, account_id, created_at, updated_at. Required: id, account_id, user_id.
get_single_dbt_labs_webhooks_event_by_id
Get a specific webhook event in dbt Labs by event id. Deprecated and should not be called anymore. Returns the event record's id and its schema-specific attributes envelope. Required: account_id, id, event_id.
get_single_dbt_labs_webhooks_receipt_by_id
Get a specific dbt Labs webhook receipt by id. Returns: id. Required: id, account_id, receipt_id. This endpoint is deprecated and should not be called anymore.
create_a_dbt_labs_webhooks_subscription
Create a new webhook subscription for a dbt account. Returns the created subscription including id, name, event_types, client_url, active, and job_ids. Requires account_id, event_types, name, and client_url.
delete_a_dbt_labs_webhooks_subscription_by_id
Delete a dbt webhook subscription by id. Returns the deleted subscription including id, name, event_types, client_url, active, and job_ids. Requires account_id, subscription_id, and id.
get_single_dbt_labs_webhooks_subscription_by_id
Get a dbt webhook subscription by id. Returns: id, name, event_types, client_url, active, job_ids. Requires account_id, subscription_id, and id.
list_all_dbt_labs_webhooks_subscriptions
List all webhook subscriptions for a dbt account. Returns subscriptions including id, name, event_types, client_url, active, and job_ids. Requires account_id.
update_a_dbt_labs_webhooks_subscription_by_id
Edit a dbt webhook subscription by id. Returns the updated subscription including id, name, event_types, client_url, active, and job_ids. Requires account_id, subscription_id, id, event_types, name, and client_url.
list_all_dbt_labs_webhooks_subscriptions_events
List all webhook events for a specific webhook subscription in dbt Labs. Returns records with event_types, name, client_url, active, description, and job_ids. Required: account_id, subscription_id.
create_a_dbt_labs_account_encryption
Create a new SSH tunnel to encrypt traffic for a dbt Labs connection. Returns the created tunnel record including its id and attributes. Required: account_id and the SSH tunnel request body (upstream ConnectionEncryptionRequest fields).
delete_a_dbt_labs_account_encryption_by_id
Delete an SSH tunnel by id. Returns an empty 204 response on success. Requires account_id and id.
get_single_dbt_labs_account_encryption_by_id
Get a single SSH tunnel for a dbt Labs account by id. Returns the tunnel record including its id and attributes. Required: account_id and id.
list_all_dbt_labs_account_encryptions
List the SSH tunnels that encrypt traffic for connections in a dbt account. Returns: id, connection_id. Required: account_id.
update_a_dbt_labs_account_encryption_by_id
Update an SSH tunnel in a dbt account. Returns the updated tunnel record including its id and connection_id. Required: account_id and id.
create_a_dbt_labs_account_environment
Create an environment in a dbt Cloud account. Returns the created environment record including id, project_id, dbt_version, state, and created_at. Required: account_id and an environment request body. Deprecated: use the v3 API instead.
delete_a_dbt_labs_account_environment_by_id
Delete an environment in a dbt Cloud account by id. Returns an empty 204 response on success. Required: account_id and id. Deprecated: use the v3 API instead.
get_single_dbt_labs_account_environment_by_id
Get a single environment in a dbt Cloud account by id. Returns: id, project_id, dbt_version, state, created_at, updated_at; include_related can also fetch repository and connection. Required: account_id and id. Deprecated: use the v3 API instead.
list_all_dbt_labs_account_environments
List environments in a dbt Cloud account. Returns environment records with id, project_id, dbt_version, state, created_at, and updated_at; supports filtering by project_id and dbt_version. Required: account_id. Deprecated: use the v3 API instead.
update_a_dbt_labs_account_environment_by_id
Update an environment in a dbt Cloud account by id. Deprecated: use the v3 API instead. Returns the updated environment record: id plus upstream-defined environment attributes. Required: account_id, id, and a request body.
create_a_dbt_labs_account_job
Create a new dbt job in the specified account. Returns: id, name, environment_id, project_id. Required: account_id. The job definition is passed in the JSON request body.
delete_a_dbt_labs_account_job_by_id
Delete a dbt Labs job by id. Returns an empty 204 response on success. Required: id, account_id.
get_single_dbt_labs_account_job_by_id
Get the details of a single dbt Labs job by id. Returns: id, name, environment_id, project_id, triggers_schedule. Required: id, account_id. Use include_related to embed environment, custom_environment_variables, most_recent_run, most_recent_completed_run, or fusion_readiness.
list_all_dbt_labs_account_jobs
List dbt Labs jobs for an account. Returns: id, name, environment_id, project_id, triggers_schedule. Required: account_id. Filter by project_id, environment_id, name__icontains, state, or triggers_schedule; order results with order_by.
update_a_dbt_labs_account_job_by_id
Update an existing dbt job by id. Returns: id, name, environment_id, project_id. Required: id, account_id. The updated job definition is passed in the JSON request body.
list_all_dbt_labs_account_licenses
List license allocations for a dbt Cloud account. Returns each allocation's id, created_at, and updated_at. Required: account_id.
create_a_dbt_labs_account_notification
Create a Job Notification configuration in dbt Cloud to trigger notifications for job successes, failures, or cancelations to a dbt Cloud user, external email address, or Slack channel. Returns: id, attributes. Required: account_id.
delete_a_dbt_labs_account_notification_by_id
Delete a Job Notification configuration by id in a dbt Cloud account. Returns an empty 204 response on success. Required: account_id and id.
get_single_dbt_labs_account_notification_by_id
Get a Job Notification configuration by id in a dbt Cloud account. Returns the record's id and attributes. Required: account_id and id.
list_all_dbt_labs_account_notifications
List Job Notification configurations for a dbt Cloud account, filterable by user, external email, Slack channel, type, and state. Returns each record's id and attributes. Required: account_id.
update_a_dbt_labs_account_notification_by_id
Update an existing Job Notification configuration by id in a dbt Cloud account. Returns: id, attributes. Required: account_id, id.
update_a_dbt_labs_account_permission_by_id
Update a user's license and permission assignment in a dbt account. Returns the updated record's id and attributes. Required: account_id, id.
create_a_dbt_labs_account_repository
Create a new git repository connected to a dbt Cloud account (v2 endpoint, deprecated in favor of the v3 API). Returns the created repository record including its id and repository attributes. Required: account_id.
delete_a_dbt_labs_account_repository_by_id
Delete a repository from a dbt Cloud account by id (v2 endpoint, deprecated in favor of the v3 API). Returns an empty 204 response on success. Required: account_id and the numeric repository id.
get_single_dbt_labs_account_repository_by_id
Get a single dbt Cloud repository by its numeric id (v2 endpoint, deprecated in favor of the v3 API). Returns: id, deploy_key, created_at, updated_at. Required: account_id, id.
list_all_dbt_labs_account_repositories
List git repositories connected to a dbt Cloud account (v2 endpoint, deprecated in favor of the v3 API). Returns repository records including their id and repository attributes. Required: account_id.
dbt_labs_account_runs_cancel
Cancel a run in dbt Cloud by id. Returns the run record including id, status, created_at, finished_at, and dbt_version. Required: account_id, run_id.
get_single_dbt_labs_account_run_by_id
Get a single run in dbt Cloud by id. Returns the run record including id, status, created_at, finished_at, and environment_id. Required: id, account_id.
dbt_labs_account_runs_get_retry
Get details about a retryable run that has failed in dbt Cloud. Returns: id. Required: account_id, run_id.
list_all_dbt_labs_account_runs
List runs for a dbt Cloud account. Returns run records including id, status, created_at, finished_at, and dbt_version. Required: account_id.
dbt_labs_account_runs_retry
Retry a failed run in dbt Cloud; on success a new run is enqueued that callers can poll via the get endpoint. Returns the run record including id, status, created_at, and finished_at. Required: account_id, run_id.
get_single_dbt_labs_account_step_by_id
Get the details of a specific step of a dbt Cloud job run by id. Returns: id, attributes (the run step's detail fields). Required: account_id, id.
list_all_dbt_labs_adapter_schemas
Fetch the field schema for a dbt Cloud adapter version. Returns the adapter's schema definition listing its available connection and credential fields. Required: adapter_version. Note: salesforce_v0 is in beta and not available to all users.
list_all_dbt_labs_job_artifacts
Download the latest matching run artifact for a dbt Cloud job by artifact path (e.g. manifest.json, run_results.json, catalog.json). Returns the raw artifact file itself; its contents depend on the requested artifact path and are not enumerable here. Required: account_id, job_id, remainder.
create_a_dbt_labs_job_rerun
Rerun a dbt Cloud job: retries a failed run from the point of failure, or triggers a new run if the last run succeeded. Returns: id (the newly enqueued run's id, poll the Get run endpoint with it). Required: account_id, job_id.
create_a_dbt_labs_job_run
Trigger a run for a job in a dbt Cloud account. The run is enqueued asynchronously; poll the Get run endpoint until it completes, then fetch artifacts. Returns: id, created_at, updated_at. Required: account_id, job_id.
create_a_dbt_labs_notifications_unsubscribe
Clear all email notification configurations for the authenticated dbt Cloud user making the request. Returns an empty 200 response on success.
list_all_dbt_labs_run_artifacts
List the artifact file paths generated for a dbt Cloud run. Returns an array of strings naming each artifact (e.g. manifest.json, run_results.json, catalog.json). Required: account_id, run_id.
list_all_dbt_labs_run_artifacts_runs
Download a completed run's artifact file from dbt Cloud, such as manifest.json, run_results.json, or catalog.json (or per-step OTel parquet telemetry for Fusion runs). Returns the raw artifact file contents; the shape is artifact-specific. Required: account_id, run_id, remainder.
get_single_dbt_labs_test_by_id
Test the client endpoint of a dbt webhook subscription. Returns the tested subscription's id, confirming the endpoint responded. Required: id (subscription id), account_id, subscription_id.
create_a_dbt_labs_user_credential
Associate a set of development credentials with a user in dbt Labs. Returns the created association record including id, user_id, and the related credentials and project objects when requested. Required: user_id and a credentials request body.
delete_a_dbt_labs_user_credential_by_id
Delete a development credentials / user association in dbt Labs by id. Returns an empty 204 response on success. Required: user_id and id.
get_single_dbt_labs_user_credential_by_id
Get a development credentials association for a user in dbt Labs by id. Returns the association record including id, user_id, and the related credentials and project objects when requested via include_related. Required: user_id and id.
list_all_dbt_labs_user_credentials
List the development credentials associated with a user in dbt Labs. Returns each association record with id, user_id, and the related credentials and project objects when requested via include_related. Required: user_id.
update_a_dbt_labs_user_credential_by_id
Update which development credentials are associated with a specific user in dbt Labs. Returns the updated association record with its id and upstream-defined attributes. Required: user_id and id. Requires a JSON request body.
get_single_dbt_labs_users_v_2_by_id
Get a single dbt Cloud user by their numeric id. Returns the user record: id, created_at, updated_at. Set include_related to a comma-separated list of related objects to embed in the response. Required: id.
Why Truto
Why use Truto’s MCP server for dbt Labs
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 1000+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
Unified APIs
Unified APIs for dbt Labs
Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.
How It Works
From zero to integrated
Start with dbt Labs in a free sandbox, usually ready within one business day. No boilerplate, no maintenance burden.
Link your customer’s dbt Labs account
Use Truto’s frontend SDK to connect your customer’s dbt Labs account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call dbt Labs
Truto’s Proxy API is a 1-to-1 mapping of the dbt Labs API. You call us, we call dbt Labs, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate dbt Labs’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about dbt Labs on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What authentication method does the dbt Cloud integration use?
dbt Cloud supports token-based authentication using Service Account Tokens or User API Tokens. Truto handles token storage and injection so your end users can connect their dbt Cloud accounts securely without your team managing credentials.
What data can I access through the Unified User Directory API for dbt Cloud?
The Unified User Directory API maps dbt Cloud data into three normalized resources: Users (individual dbt Cloud users), Roles (license types and permission levels like Developer, Read-Only, IT Admin), and Workspaces (dbt Cloud accounts and projects).
Are dbt Cloud-specific tools available out of the box?
dbt Labs tools beyond the Unified User Directory API are built on request. If you need access to job management, artifact fetching, or Semantic Layer queries, Truto can build and ship those endpoints for your use case.
How does Truto handle pagination and rate limits for the dbt Cloud API?
Truto manages pagination and rate limit handling automatically. The dbt Cloud API enforces rate limits on a per-token basis, and Truto respects these limits with built-in retry and backoff logic so your integration doesn't get throttled.
Can I use this integration for write operations like creating or deactivating dbt Cloud users?
The current Unified User Directory API focuses on read operations — syncing users, roles, and workspaces. Write capabilities depend on what the dbt Cloud Admin API supports and can be scoped as a custom build request through Truto.
How fresh is the user and workspace data from dbt Cloud?
Data freshness depends on your sync frequency. Truto supports both on-demand API calls for real-time reads and scheduled syncs for periodic snapshots, so you can balance freshness against API usage based on your product's needs.
dbt Labs
Get dbt Labs integrated into your app
Our team understands what it takes to make a dbt Labs integration successful. A short, crisp 30 minute call with folks who understand the problem.