canonical: https://jentic.com/apis/dagster.io/dagster

# Dagster External Assets API

The Dagster External Assets API reports events about assets that live outside Dagster into Dagster Cloud, so an orchestration graph stays aware of work done elsewhere. It records materializations when an external job writes a table or file, check results when a data-quality test runs, and observations that capture metadata without a materialization. Each report can carry a data version, a partition key, and arbitrary metadata, which keeps lineage and freshness accurate for assets Dagster does not compute itself. Data and platform teams use it to fold external pipelines, notebooks, and warehouse jobs into a single Dagster asset view.

## For AI agents

Report asset materializations, check results, and observations for external assets into Dagster Cloud, each with optional metadata, data version, and partition.

## Scope

Does not run pipelines, manage deployments, or query historical asset events. Use it to report materializations, asset-check results, and observations for external assets only.

## Capabilities

- Report an asset materialization when an external job writes data
- Report the result of an asset check against a materialized asset
- Report an asset observation to record metadata without a materialization
- Attach a partition key to a reported asset event
- Record a data version and custom metadata on an asset event for lineage

## Use cases

### External Pipeline Materialization Reporting

When a warehouse job or notebook outside Dagster finishes writing a table, an agent calls POST /report_asset_materialization/ with the asset_key and a metadata payload. Dagster Cloud then shows the asset as freshly materialized even though Dagster never ran the job, keeping the lineage graph honest.

Example prompt: After an external job writes the orders table, report a materialization for its asset_key with row-count metadata

### Data-Quality Check Reporting

A data-quality test that runs in an external system posts its pass or fail verdict with POST `/report_asset_check/.` This surfaces the check status next to the asset in Dagster Cloud so freshness and quality signals stay in one place rather than in a separate dashboard.

Example prompt: When the nightly null-rate test finishes, report its pass or fail result against the asset it validated

### Metadata Observation Without Materialization

To record that an asset was inspected without rewriting it, an agent sends POST /report_asset_observation/ with updated metadata such as size or last-modified time. This keeps observability metrics current for slowly changing sources that are not recomputed on every run.

Example prompt: Report an observation carrying the current file size and last-modified metadata for a source asset

### Partition-Aware External Reporting

For partitioned assets, each report includes a partition key so Dagster tracks which slice was updated. An agent processing a daily partition reports the materialization for that specific partition, keeping the partition status map accurate for backfills and freshness checks.

Example prompt: Report a materialization for the 2026-09-14 daily partition of the events asset

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/report_asset_materialization/` | Report a materialization event for an external asset |
| POST | `/report_asset_check/` | Report the result of an asset check |
| POST | `/report_asset_observation/` | Report an observation with metadata for an asset |

## Key resources

- **Asset Materializations** — Report materialization events for externally managed assets
- **Asset Checks** — Report pass or fail results of asset checks
- **Asset Observations** — Report metadata observations without a materialization

## Why Jentic

- **Setup:** Calling the Dagster External Assets API by hand means building the `Dagster-Cloud-Api-Token` header, pointing at your organization's Dagster Cloud deployment, and shaping each report body yourself. Through Jentic you install once, import the API from the API Directory, store the token once, and your agent reports events.
- **Permission scoping:** This API reports events through three operations and takes its target asset in the request body, so scope it by operation: allow only the reports the agent should send, for example materializations and observations, and leave check reporting out unless you add it.
- **Credential handling:** Your Dagster Cloud agent token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'report an asset materialization' or 'record an asset check result', and Jentic returns the matching Dagster operation with its input schema so the agent reports against the right endpoint.

## Related APIs

- **Prefect Cloud API** — Prefect Cloud orchestrates flow runs; Dagster centers on assets and their lineage.
- **Airbyte API** — Airbyte moves the data; Dagster records that the resulting asset was materialized.
- **New Relic Gateway API** — New Relic watches infrastructure and app telemetry; Dagster watches data-asset freshness and checks.

## FAQ

### What does the Dagster External Assets API do?

It reports events about assets that live outside Dagster into Dagster Cloud. You can report a materialization when an external job writes data, an asset check result from a data-quality test, or an observation that records metadata without a materialization, each with an optional data version and partition.

### What authentication does the Dagster External Assets API use?

Requests carry an agent token in the `Dagster-Cloud-Api-Token` header, scoped to your organization and deployment. Through Jentic the token is held by your own instance and supplied at execution time, so the agent never reads the raw value.

### Can I report a materialization for an external job?

Yes. POST /report_asset_materialization/ records that an asset was written outside Dagster, including its `asset_key`, a `data_version`, a `partition`, and any `metadata` you attach. Dagster Cloud then treats the asset as freshly materialized.

### How do I record a data-quality result?

Send the verdict with POST /report_asset_check/ so the check status appears next to the asset in Dagster Cloud. Use POST /report_asset_observation/ instead when you only want to update metadata without marking a materialization.

### What are the rate limits for the Dagster External Assets API?

The OpenAPI specification does not declare rate limits. Report events as work completes rather than in tight loops, and back off if a request returns an error response; confirm current limits in the Dagster Cloud documentation.

### Do I need an MCP server to use the Dagster External Assets API with an agent?

You do not. Jentic connects the API to your agent directly from the API Directory: import it, store your token once, and the agent calls the reporting operations without a separate server to run.

### Can I limit what my agent is allowed to do with the Dagster External Assets API?

Yes. Because you run Jentic One yourself, you pick which of the three reporting operations the agent may call. A reporting agent can be given materialization and observation reporting while asset-check reporting stays out of its allowed set, and the token stays with your instance so the agent acts only within that choice.
