Showing the first 18000 characters. Load the complete file to read the remainder.
# dbt Developer Hub
> End user documentation, guides and technical reference for dbt
- [The dbt Developer Hub](https://docs.getdbt.com/index.md)
## API Reference
- [About the Discovery API](https://docs.getdbt.com/docs/dbt-apis/discovery-api.md): Every time runs a project, it generates and stores information about the project. The metadata includes details about your project’s models, sources, and other nodes along with their execution results. With the Discovery API, you can query this comprehensive information to gain a better understanding of your DAG and the data it produces.
- [About the Discovery API schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-about.md): With the Discovery API, you can query the metadata in dbt to learn more about your dbt deployments and the data they generate. You can analyze the data to make improvements. If you are new to the API, refer to About the Discovery API for an introduction. You might also find the use cases and examples helpful.
- [Account-scoped personal access tokens](https://docs.getdbt.com/docs/dbt-apis/user-tokens.md): User API tokens have been deprecated and will no longer work. Migrate to personal access tokens to resume services.
- [API rate limits](https://docs.getdbt.com/docs/dbt-apis/rate-limits.md): Learn how request limits apply when you use the dbt platform Administrative API, Discovery (GraphQL) API, SCIM provisioning, and remote MCP.
- [APIs overview](https://docs.getdbt.com/docs/dbt-apis/overview.md): Learn how dbt accounts on the Enterprise-tier plans can query the dbt APIs.
- [Applied object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-environment-applied.md): The applied object allows you to query information about a particular model based on environmentId.
- [Authentication tokens](https://docs.getdbt.com/docs/dbt-apis/authentication.md): Learn how to authenticate with user tokens and service account tokens
- [dbt Administrative API](https://docs.getdbt.com/docs/dbt-apis/admin-api.md): The Administrative API is enabled by default for Starter, Enterprise, and Enterprise+ plans. It can be used to:
- [Definition object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-environment-definition.md): The definition object allows you to query the logical state of a given project node given its most recent manifest generated models.
- [Environment object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-environment.md): You can use the environment object to query and compare definition (intended) and applied (actual) states for nodes (models, seeds, snapshots, models, and more) in your dbt project. For example, you specify an environmentId to learn more about a particular model (or other node type) in that environment.
- [Exposure object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-job-exposure.md): The exposure object allows you to query information about a particular exposure. To learn more, refer to Add Exposures to your DAG.
- [Exposure tile object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-environment-applied-exposure-tile.md): Exposure health tiles distill data health signals for data consumers and can be embedded in downstream tools. You can query information on these tiles from the Discovery API.
- [Exposures object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-environment-applied-exposures.md): Exposures are dbt resources that represent downstream uses of your project, such as dashboards, applications, or data science pipelines. You can query exposures through the Discovery API to understand which assets depend on your models.
- [Exposures object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-job-exposures.md): The exposures object allows you to query information about all exposures in a given job. To learn more, refer to Add Exposures to your DAG.
- [GraphQL](https://docs.getdbt.com/docs/dbt-apis/sl-graphql.md): Integrate and use the GraphQL API to query your metrics.
- [JDBC API](https://docs.getdbt.com/docs/dbt-apis/sl-jdbc.md): Integrate and use the JDBC API to query your metrics.
- [Job object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-job.md): The job object allows you to query information about a particular model based on jobId and, optionally, a runId.
- [Lineage object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-environment-applied-lineage.md): The lineage object allows you to query lineage across your resources.
- [Model Historical Runs object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-environment-applied-modelHistoricalRuns.md): The model historical runs object allows you to query information about a model's run history.
- [Model object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-job-model.md): The model object allows you to query information about a particular model in a given job.
- [Models object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-environment-applied-models.md): Models are the foundational dbt resource that transform raw data into curated datasets using SQL (or Python). Each model represents a single SELECT statement, typically materialized as a table or view in your warehouse. You can query information about models through the Discovery API.
- [Models object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-job-models.md): The models object allows you to query information about all models in a given job.
- [Owners object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-environment-applied-owners.md): Owners help you identify the user or domain responsible for a dbt asset. For most assets, owners are defined in your project code using groups. Exposures are an exception: for downstream exposures that represent BI assets, owners are automatically pulled from the downstream tool based on who owns that asset. You can query ownership information through the Discovery API.
- [Packages object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-environment-applied-packages.md): dbt packages are libraries with models, macros, and other resources that tackle a specific problem area utilized by dbt projects. You can query project packages through the Discovery API.
- [Project state in dbt](https://docs.getdbt.com/docs/dbt-apis/project-state.md): provides a stateful way of deploying dbt. Artifacts are accessible programmatically via the Discovery API in the metadata platform.
- [Python SDK](https://docs.getdbt.com/docs/dbt-apis/sl-python.md): Learn how to use the dbt Semantic Layer Python SDK library to interact with the dbt Semantic Layer.
- [Query the Discovery API](https://docs.getdbt.com/docs/dbt-apis/discovery-querying.md): The Discovery API supports ad-hoc queries and integrations. If you are new to the API, refer to About the Discovery API for an introduction.
- [Resources object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-environment-applied-resources.md): The resources object allows you to paginate across all resources in your environment.
- [Seed object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-job-seed.md): The seed object allows you to query information about a particular seed in a given job.
- [Seeds object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-environment-applied-seeds.md): Seeds are CSV files in your dbt project that dbt can load into your data warehouse. You can query seeds through the Discovery API.
- [Seeds object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-job-seeds.md): The seeds object allows you to query information about all seeds in a given job.
- [Semantic Layer APIs](https://docs.getdbt.com/docs/dbt-apis/sl-api-overview.md): Integrate and query metrics and dimensions in downstream tools using the Semantic Layer APIs
- [Service account tokens](https://docs.getdbt.com/docs/dbt-apis/service-tokens.md): Service account tokens help you define permissions for securing access to your dbt account and its projects.
- [Service principals](https://docs.getdbt.com/docs/dbt-apis/service-principals.md): TODO
- [Snapshots object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-environment-applied-snapshots.md): Snapshots represent point-in-time copies of your data, allowing you to track historical changes. You can query your snapshots from the Discovery API.
- [Snapshots object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-job-snapshots.md): The snapshots object allows you to query information about all snapshots in a given job.
- [Source object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-job-source.md): The source object allows you to query information about a particular source in a given job.
- [Sources object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-environment-applied-sources.md): Sources make it possible to name and describe the data loaded into your warehouse by your extract and load tools. You can query sources through the Discovery API.
- [Sources object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-job-sources.md): The sources object allows you to query information about all sources in a given job.
- [Tags object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-environment-applied-tags.md): Tags provide a mechanism to categorize and group resources within a dbt project, enabling selective execution and management of these resources. You can query tags through the Discovery API.
- [Test object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-job-test.md): The test object allows you to query information about a particular test.
- [Tests object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-environment-applied-tests.md): Tests are assertions you make about your models and other resources in your dbt project. When you run dbt test, dbt will tell you if each test in your project passes or fails. You can query tests through the Discovery API to understand information about them.
- [Tests object schema](https://docs.getdbt.com/docs/dbt-apis/discovery-schema-job-tests.md): The tests object allows you to query information about all tests in a given job.
- [Use cases and examples for the Discovery API](https://docs.getdbt.com/docs/dbt-apis/discovery-use-cases-and-examples.md): With the Discovery API, you can query the metadata in to learn more about your dbt deployments and the data it generates to analyze them and make improvements.
## Best Practices
- [Adding data-informed tests with dbt Wizard](https://docs.getdbt.com/best-practices/how-to-use-wizard/wizard-4-data-informed-tests.md): Use dbt Wizard CLI to find test coverage gaps, check assumptions against warehouse data, and add focused dbt data tests.
- [Available materializations](https://docs.getdbt.com/best-practices/materializations/2-available-materializations.md): Read this guide to understand the different types of materializations you can create in dbt.
- [Best practice guides](https://docs.getdbt.com/best-practices.md): Learn how dbt Labs approaches building projects through our current viewpoints on structure, style, and setup.
- [Best practices](https://docs.getdbt.com/best-practices/how-we-build-our-metrics/semantic-layer-9-conclusion.md): Getting started with the dbt Semantic Layer
- [Best practices for dbt and Unity Catalog](https://docs.getdbt.com/best-practices/dbt-unity-catalog-best-practices.md): Learn how to configure your.
- [Best practices for materializations](https://docs.getdbt.com/best-practices/materializations/5-best-practices.md): Read this guide to understand the different types of materializations you can create in dbt.
- [Best practices for workflows](https://docs.getdbt.com/best-practices/best-practice-workflows.md): This page contains the collective wisdom of experienced users of dbt on how to best use it in your analytics work. Observing these best practices will help your analytics team work as effectively as possible, while implementing the pro-tips will add some polish to your dbt projects!
- [Building metrics](https://docs.getdbt.com/best-practices/how-we-build-our-metrics/semantic-layer-4-build-metrics.md): Getting started with the dbt Semantic Layer
- [Building Semantic Layer definitions with dbt Wizard](https://docs.getdbt.com/best-practices/how-to-use-wizard/wizard-7-semantic-layer.md): Use dbt Wizard to plan, write, and validate Semantic Layer entities, dimensions, metrics, and saved queries.
- [Building semantic models](https://docs.getdbt.com/best-practices/how-we-build-our-metrics/semantic-layer-3-build-semantic-models.md): Getting started with the dbt Semantic Layer
- [Change data capture in dbt](https://docs.getdbt.com/best-practices/how-we-handle-cdc/1-intro.md): Learn how change data capture works in dbt, and how to choose incremental models, snapshots, or both.
- [Choosing incremental models or snapshots](https://docs.getdbt.com/best-practices/how-we-handle-cdc/2-choosing-incremental-or-snapshots.md): Choose incremental models, snapshots, or both for change data capture in dbt.
- [Clone incremental models as the first step of your CI job](https://docs.getdbt.com/best-practices/clone-incremental-models.md): Learn how to define clone incremental models as the first step of your CI job.
- [Conclusion](https://docs.getdbt.com/best-practices/materializations/7-conclusion.md): Read this conclusion to our guide on using materializations in dbt and how it is a crucial skill for effective analytics engineering.
- [Configuring materializations](https://docs.getdbt.com/best-practices/materializations/3-configuring-materializations.md): Read this guide to understand how to configure materializations in dbt.
- [Coordinating model versions](https://docs.getdbt.com/best-practices/how-we-mesh/mesh-6-coordinate-versions.md): Use this guide to coordinate producers and consumers when introducing model versions
- [dbt Mesh FAQs](https://docs.getdbt.com/best-practices/how-we-mesh/mesh-5-faqs.md): Read the FAQs to learn more about dbt Mesh, how it works, compatibility, and more.
- [Debugging a failed dbt job with dbt Wizard](https://docs.getdbt.com/best-practices/how-to-use-wizard/wizard-5-debug-failed-job.md): Use dbt Wizard CLI to gather job evidence, classify a failure, identify its root cause, and validate a proposed fix.
- [Deciding how to structure your dbt Mesh](https://docs.getdbt.com/best-practices/how-we-mesh/mesh-3-structures.md): Getting started with dbt Mesh patterns
- [Developing with production deferral in dbt Wizard](https://docs.getdbt.com/best-practices/how-to-use-wizard/wizard-6-production-deferral.md): Configure dbt Wizard CLI to reuse production state while developing and validating a subset of a dbt project.
- [Don't nest your curlies](https://docs.getdbt.com/best-practices/dont-nest-your-curlies.md): Poetry
- [Examining our builds](https://docs.getdbt.com/best-practices/materializations/6-examining-builds.md): Read this guide to understand how to examine your builds in dbt.
- [Extending dbt Wizard with plugins and hooks](https://docs.getdbt.com/best-practices/how-to-use-wizard/wizard-8-plugins-hooks.md): Install dbt Wizard CLI plugins from marketplaces and review lifecycle hooks before allowing them to run.
- [How to use Wizard in your dbt project](https://docs.getdbt.com/best-practices/how-to-use-wizard/wizard-1-intro.md): Recommended workflows for using dbt Wizard CLI on a real dbt project, from understanding a codebase to shipping and validating changes.
- [How we structure our dbt projects](https://docs.getdbt.com/best-practices/how-we-structure/1-guide-overview.md): Learn how we structure our dbt projects.
- [How we style our dbt models](https://docs.getdbt.com/best-practices/how-we-style/1-how-we-style-our-dbt-models.md): Fields and model names
- [How we style our dbt projects](https://docs.getdbt.com/best-practices/how-we-style/0-how-we-style-our-dbt-projects.md): Why does style matter?
- [How we style our Jinja](https://docs.getdbt.com/best-practices/how-we-style/4-how-we-style-our-jinja.md): Jinja style guide
- [How we style our Python](https://docs.getdbt.com/best-practices/how-we-style/3-how-we-style-our-python.md): Python tooling
- [How we style our SQL](https://docs.getdbt.com/best-practices/how-we-style/2-how-we-style-our-sql.md): Basics
- [How we style our YAML](https://docs.getdbt.com/best-practices/how-we-style/5-how-we-style-our-yaml.md): YAML Style Guide
- [Idempotence in dbt](https://docs.getdbt.com/best-practices/idempotence.md): Learn about best practices for configuring your dbt project to ensure idempotent results.
- [Implementing your mesh plan](https://docs.getdbt.com/best-practices/how-we-mesh/mesh-4-implementation.md): Getting started with dbt Mesh patterns
- [Incremental models in-depth](https://docs.getdbt.com/best-practices/materializations/4-incremental-models.md): Read this guide to understand the incremental models you can create in dbt.
- [Incremental patterns for near real-time data](https://docs.getdbt.com/best-practices/how-we-handle-real-time-data/2-incremental-patterns.md): Learn how to implement incremental models with MERGE, CDC, and microbatch strategies for near real-time data processing
- [Intermediate: Purpose-built transformation steps](https://docs.getdbt.com/best-practices/how-we-structure/3-intermediate.md): Purpose-built transformation steps.
- [Intro to dbt Mesh](https://docs.getdbt.com/best-practices/how-we-mesh/mesh-1-intro.md): Getting started with dbt Mesh patterns
- [Intro to the dbt Semantic Layer](https://docs.getdbt.com/best-practices/how-we-build-our-metrics/semantic-layer-1-intro.md): Getting started with the dbt Semantic Layer
- [Lambda views for near real-time dashboards](https://docs.getdbt.com/best-practices/how-we-handle-real-time-data/4-lambda-views.md): Combine batch and real-time data in a single view for operati
Measured from the saved file
Linked document
UTF-8 text size
230.3 KB235869 bytes
Token count
56516o200k_base encoding
Markdown links
13471336 distinct URLs
Fenced code blocks
01430 lines in the file
Size measures the captured UTF-8 text, not compressed transfer size. Tokens are counted with a named tokenizer; other models can count differently. Neither measure establishes context compatibility or answer quality.
Project H1
dbt Developer Hub
Opening blockquote
End user documentation, guides and technical reference for dbt
Context architecture
How the content is divided
18 H2 sections organize 1347 parsed Markdown links. 1331 links point to .md or .markdown paths; 2 link occurrences use another hostname. Linked destinations have not been recursively validated.
H2 section
Links
UTF-8 bytes
Tokens
API ReferenceLine 8
44
10438
2337
Best PracticesLine 55
59
11649
2902
CategoryLine 117
25
2116
544
CommunityLine 145
18
4219
881
DocsLine 166
254
45582
10926
FaqsLine 423
169
29664
7422
FusionLine 596
7
1149
289
Getting StartedLine 606
3
496
115
GuidesLine 612
63
10179
2649
Navigation OptionsLine 678
1
72
17
PlatformLine 682
40
7252
1725
ReferenceLine 725
350
66587
14795
SearchLine 1078
1
66
17
Set up dbtLine 1082
150
27590
6524
Sql ReferenceLine 1259
45
9354
2140
TagsLine 1307
114
8727
3039
Show 2 more sections
H2 section
Links
UTF-8 bytes
Tokens
TermsLine 1424
1
64
22
OptionalLine 1428 · Optional
2
284
88
Link counts exclude parsed fenced and inline code and resolve relative destinations against the final endpoint. Section sizes cover the text below each H2 until the next H2.
Embedded material
Code, installation and API examples
Fenced blocks
0 closed
Declared languages
No fenced blocks detected
Package-install commands
1 detected in fenced or inline code
Authentication examples
0 fenced lines match API-key, Authorization, Bearer, OAuth or access-token patterns
HTTP request examples
0 fenced lines match request-method patterns
Authentication links
13 links have authentication-related labels
Embedded example text and links to further documentation are counted separately. A code block does not establish that a sample runs or that an authentication flow succeeds.
Detected installation lines
Source line 1429 · inline
python -m pip install dbt
Publisher prioritization
The Optional section
1 H2 section named “Optional” contain 2 parsed links. 1345 links sit outside those sections. That puts 0.1% of the file’s parsed links under Optional.
The community proposal uses Optional by convention for secondary links that can be skipped for a shorter context. This label does not establish that everything outside it is critical, or that the material inside it is deprecated.
Machine-readable routes
MCP references and configuration text
MCP-related text was detected in the captured file. 36 links have MCP-related labels or paths. 0 fenced lines match mcpServers, mcp_servers or an mcp add command.
Bounded prefix inspected; the whole body was not downloaded
A verified text response establishes a companion at the checked URL. It does not prove the bundle contains all product documentation, that generation is automated, or that it fits an assistant’s context window.
Change evidence
What can be said about freshness
This capture establishes a baseline. Update frequency cannot be determined from one observation.
Linked release and migration material
28 links have release, changelog, deprecation or migration terms in their labels or paths. These provide places to investigate product changes separately.
File changes can reveal documentation edits or navigation changes. They do not by themselves measure product release velocity, accuracy, agent adoption or AI visibility.
Counts use a deterministic parser, not a spec-compliance grade. Unusual Markdown and indented code can fall outside its recognized patterns. See the llms.txt proposal and tokenizer implementation.