---
title: "Get dbt exposures"
method: GET
path: "/api/v1/models/{modelId}/dbt-exposures"
tags: ["Models"]
---

# Get dbt exposures

`GET /api/v1/models/{modelId}/dbt-exposures`

Returns the dbt exposures for a model, computed on-demand by analyzing which dbt models are referenced by dashboards that use this model. Returns exactly one record per dashboard. The exposure field is null when a dashboard does not reference any dbt models. Exposure names (exposure.name) may contain duplicates when multiple dashboards produce the same name; use deduplication_name for a guaranteed-unique value, or use it as a fallback when names collide.

## Path parameters

- `modelId` string, uuid, required — Model UUID

## Query parameters

- `cursor` string — Cursor for pagination (from previous response nextCursor)
- `pageSize` integer — Number of results per page (1-100, integer)
- `sortDirection` 'asc' | 'desc' — Sort direction for results
- `sortField` string — Field to sort results by
- `branch_id` string, uuid — Branch ID to use for branch-aware operations

## Response `200`

List of dbt exposures for the model

- ModelsDbtExposuresResponse
  - `pageInfo` PageInfo, required
    - `hasNextPage` boolean, required — Whether more results are available
    - `nextCursor` string, nullable, required — Cursor for fetching the next page
    - `pageSize` number, required — Number of results per page
    - `totalRecords` number, required — Total number of records matching the query
  - `records` DbtExposureWithMeta[], required
    - `dashboard_identifier` string, required — Identifier of the dashboard that generated this exposure
    - `deduplication_name` string, required — A unique name for this exposure. Use this instead of exposure.name to avoid duplicate names, or use it as a fallback when exposure.name collides with another exposure.
    - `exposure` DbtExposure, required — The dbt exposure for this dashboard.
      - `depends_on` string[], required — List of dbt model references (e.g. ref('model_name'))
      - `label` string — Original dashboard name
      - `name` string, required — Sanitized exposure name. May contain duplicates across exposures; use deduplication_name for a guaranteed-unique alternative.
      - `owner` DbtExposureOwner, required
        - `email` string, required — Email of the dashboard owner
        - `name` string, required — Name of the dashboard owner
      - `type` 'dashboard' | 'notebook' | 'analysis' | 'ml' | 'application', required — Type of the exposure
      - `url` string — URL of the dashboard

## Other responses

- `400` — Invalid request parameters
- `401` — Authentication required
- `403` — Permission denied
- `404` — Model not found

---

[API](https://skmtc.net/omniapp/apis/omni-api.md) · [All operations](https://skmtc.net/omniapp/apis/omni-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/omniapp/omni-api/versions/4701f292c621/schema)
