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

# Get dbt exposures

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

<Note>
  **Connection Admin** permissions are required to use this endpoint.
</Note>

Retrieve dbt exposures for the specified model. This endpoint computes exposures on-demand by analyzing which dbt models are referenced by dashboards that use the specified model.

This enables automated retrieval of exposure data previously only available via the manual **Sync exposures** flow in Omni, making it ideal for CI/CD pipelines and automated workflows.

## Path parameters

- `modelId` string, uuid, required

## Query parameters

- `pageSize` integer
- `cursor` string
- `branch_id` string, uuid

## Response `200`

dbt exposures successfully retrieved

- object
  - `pageInfo` PageInfo, required — Pagination information for paginated responses.
    - `hasNextPage` boolean — Indicates if there are more records available.
    - `nextCursor` string, nullable — Cursor for the next page of results. `null` if no more results.
    - `pageSize` integer — Number of records per page.
    - `totalRecords` integer — Total number of records matching the query.
  - `records` object[], required
    - `dashboard_identifier` string, required — Unique identifier of the dashboard associated with this exposure.
    - `deduplication_name` string, required — Unique name used for deduplication, combining the exposure name and dashboard identifier.
    - `exposure` object, required — The generated exposure, with a structure matching the format defined in [dbt's exposures documentation](https://docs.getdbt.com/docs/build/exposures). This field will be `null` if the dashboard doesn't reference any dbt models.
      - `name` string, required — Name of the exposure. Generated from dashboard title.
      - `type` string, required — Type of the exposure
      - `owner` object, required
        - `name` string, required — Owner's name
        - `email` string, required — Owner's email address
      - `depends_on` string[], required — Array of dbt ref strings for models this exposure depends on
      - `label` string, required — Human-readable label for the exposure
      - `url` string, required — URL to the dashboard

## Other responses

- `400` — Bad Request Possible error messages: - `Bad Request: Invalid modelId format` - `cursor: Invalid UUID` - `pageSize: Page size must be at least 1` - `pageSize: Page size cannot exceed 100` - `Bad Request: branch_id: Invalid uuid`
- `403` — Forbidden - Insufficient permissions
- `404` — Not Found Possible error messages: - `Model with id <modelId> does not exist`
- `429` — Too Many Requests - Rate limit exceeded (60 requests/minute)

---

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