Skip to main content
Any project can be exported as a single TOML file with its definition: settings, data source selections, Knowledge Base pages, metrics, notebooks, and Workflows. The file is plain text, and two exports of an unchanged project are identical, so a diff shows only real changes. Use it to keep projects under version control or to import a project into another tenant.

What the File Contains

References between exported items use slugs derived from names. Workflow bodies retain embedded IDs and include reference maps used during import. Groups and catalog metrics also retain their IDs as external references. Cross-tenant imports depend on matching data sources and other existing dependencies; review the import requirements and warnings.

What Is Not Included

  • Outputs: run results, reports, slide decks, CSV exports, and podcasts
  • Chat conversations, memories, and uploaded files
  • Data source connections and credentials. A source is named by data source name and type only
  • User identities, ownership, timestamps, and other audit fields
  • Private and draft content. The file includes shared, published, or pinned metrics, published or template notebooks, and shared Workflows. A draft that a shared Workflow depends on is included so the Workflow can be re-imported in working order

Who Can Export

Export needs admin capability on the project: a tenant Admin, the project owner, or a Group Admin of a group with access to the project. Analysts and Viewers do not see the option. See Roles at a Glance.

From the App

1

Open the actions menu

Go to Projects, hover over the project, and click the three-dot menu. The same menu is available next to each project in the left-hand navigation menu.
2

Click Export Project Data

The Projects page with one project's actions menu open. The menu lists Settings, Members, Clone Project, Export Project Data, and Delete. Export Project Data is outlined in red

Export Project Data in the project menu

3

Export

A dialog summarizes what the file will contain. Leave Include run history off for a file meant for version control. Click Export. The browser downloads <project-name>.dsl.toml.
The Export project dialog over the Projects page. It says the download holds the project's definition as a TOML file and that deliverables are not included. Below that are an Include run history switch, turned off, and Cancel and Export buttons

Leave run history off for version control

Include run history

Turn this on to append what ran and whether it failed, for each metric, notebook, and Workflow. The file gains a [meta] block with the export time and a history list per item: run times, status, and error messages, no payloads. Runs per item caps each list, 50 by default and 500 at most. The timestamp makes every export unique, so keep history off for version control. Files with history are for incident review and audit sampling. Import accepts them but drops the history.

From the API

The export endpoint is the same one the app uses. Authenticate with a bearer token, then request the file.

Get a token

Exchange a username and password for a token at the login endpoint. The token is valid for four weeks.
The password login endpoint requires a stored Orion password. An SSO-only account without one cannot use this endpoint. Run this example as a dedicated account with an Orion password. See Export Orion Snapshots to Git.

Download the file

The project ID is the last segment of the project’s URL in the app, /projects/<project-id>.
Keep the trailing slash on /dsl-export/. A different path can return a redirect instead of the TOML file; curl -f alone does not reject redirects.
The response body is the TOML document with content type application/toml. Two response headers are set:
  • Content-Disposition gives the filename: the project name as a slug, plus .dsl.toml
  • X-Dsl-Export-Summary counts what was left out or could not be resolved, for example excluded_metrics=3 when three private metrics were skipped

Sample Export

An abridged export. SQL and Python are stored as multi-line strings, exactly as written, so a diff of this file shows query changes line by line.
The Workflow body keeps the IDs it was saved with, and the refs table maps each one to a slug in the same file. Import uses that map to connect the Workflow to the metrics it recreates.

Next Steps

Export Orion Snapshots to Git (Beta)

Schedule snapshots and review exported differences in pull requests

Import a Project

Create a project from a committed file