You can export and import a manifest either in the Mezmo Web App with no code, or through the Mezmo v3 API. Both use the same manifest format.
What a Pipeline Manifest Contains
A manifest describes the Pipeline’s identity and its components. It uses these top-level fields:manifest_version: The manifest schema version, currently1.title: The Pipeline title.description: An optional description of the Pipeline.deploy_type: The deployment type. Only SaaS Pipelines are supported.sources: The array of Sources in the Pipeline.transforms: The array of Processors in the Pipeline.sinks: The array of Destinations in the Pipeline.secrets: An informational block that lists every secret placeholder in the manifest.
transforms as Processors and sinks as Destinations.
To make a manifest portable across accounts, the export applies these transforms:
- The export removes every database UUID and gives each node a short, unique
alias(up to 64 characters) that becomes its identity in the manifest. The export rewrites the links between nodes to reference those aliases. - The export flattens processor groups into ordinary transform nodes. A manifest has no
transform_groupsblock. - The export does not include system or operational fields. These include internal IDs, account and pipeline IDs, gateway routes, timestamps, revision and internal engine IDs, operational state, and the durability profile.
- The export does not include Responsive Pipeline configuration, Pipeline alerts, or node alerts.
Secret Placeholders
The export replaces every secret field with a<SECRET:NAME> placeholder so no secret values leave your account.
Each placeholder’s secrets entry includes its name, node_alias, field, and display_type.
The following manifest snippet shows a Destination that references a placeholder in its
ingestion_key field, along with the matching secrets entry that describes it:
Export or Import in the Web App
The Web App gives you a no-code way to export and import a manifest. For the Web App path you only need access to the Mezmo Web App with permission to view and create Pipelines. No API key is required.Export a Pipeline in the Web App
- Log in to the Mezmo Web App.
- Open the Pipeline you want to export.
- Go to the Pipeline’s Configure page (its settings page).
- In the Export Pipeline card, click Export as JSON or Export as YAML.
.json or .yaml extension (for example, My Pipeline.yaml). The card exports the current draft version of the Pipeline’s manifest. The export does not include Responsive Pipeline configuration, Pipeline alerts, or node alerts. If the export fails, an error message appears in the card. The most common cause is a non-public component in the Pipeline, for example an internal, experimental, deprecated, or hidden component. The error names each such component so you can remove or replace it, then export again.
Import a Pipeline in the Web App
Importing a manifest creates a new draft Pipeline. Start the import from the new-pipeline screen.- Log in to the Mezmo Web App.
- Start creating a New Pipeline.
- On the new-pipeline screen, click the Import Pipeline link.
- Drag a manifest file onto the upload area, or click Import file to browse for one. Accepted file types are JSON, YAML, and YML. You can upload only one file at a time, up to 2 MB. This 2 MB client-side upload cap is separate from the 1 MiB manifest-size limit enforced on import (see Limits and Constraints), so a file under 2 MB can still be rejected if the manifest itself exceeds 1 MiB.
- Click Continue.
- Enter the value for each secret the manifest requires. The wizard lists every secret the manifest references, because a manifest never contains secret values (see Secret Placeholders). You can see which secrets a manifest requires ahead of time by checking the manifest’s
secretsblock, so you can gather values before starting the wizard. Every listed secret is required. Each field matches the secret’s type. A standard secret is a masked password field. A secret file is a file upload. A Mezmo ingestion key field lets you select an existing ingestion key from your account, generate a new one, or enter a key manually. If the manifest references no secrets, the wizard tells you none are required and lets you finish the import.
Before You Begin With the API
The Web App path needs no API key, only Web App access. Make sure you have the following:- An access key (Pipeline Service Key) with
pipeline:readpermission to export a Pipeline, orpipeline:writepermission to inspect and import a manifest. - The API base URL
https://api.mezmo.com/v3. - The
Authorization: Token <your_pipeline_service_key>header on each request.
Export a Pipeline to a Manifest With the API
UseGET /v3/pipeline/to-manifest/{pipeline_id} to export a Pipeline. This route requires pipeline:read permission. The optional format query parameter returns the manifest as YAML by default, or as JSON when you set format=json. The response body is the raw manifest text, not a JSON-wrapped envelope.
- Find the
pipeline_idof the SaaS Pipeline you want to export. - Send a
GETrequest to/v3/pipeline/to-manifest/{pipeline_id}, optionally setting theformatquery parameter. - Save the response body to a file so you can inspect, version, or import it later.
Export refuses any Pipeline that contains a non-public component, for example an internal, experimental, deprecated, or hidden component. The error names each such component so you can remove or replace them before exporting.
Inspect a Manifest’s Required Secrets
UsePOST /v3/pipeline/from-manifest/prepare to inspect a manifest before you import it. This route requires pipeline:write permission. It creates nothing and simply reports which secrets you must supply when you import, which lets a UI build a secret-entry form. The Web App import wizard performs this inspection for you.
Send the manifest text in the request body:
required_secrets array, returned under data in the standard response envelope:
Import a Manifest as a New Pipeline With the API
UsePOST /v3/pipeline/from-manifest to import a manifest. This route requires pipeline:write permission. Send the manifest text and a required_secrets array that supplies a value for each placeholder:
201. The new Pipeline’s id and title are returned under data in the standard response envelope.
POST /v3/pipeline/from-manifest creates a new, separate draft Pipeline, and the route does not deduplicate or update an existing Pipeline. Automated or repeated imports, such as a retried CI job, can create duplicate Pipelines, so scripts should check for an existing Pipeline before importing again.
Reference
Limits and Constraints
Import Error Modes
Related
- Build a Pipeline with Terraform: A separate infrastructure-as-code approach.
- Edit or Delete a Pipeline: Review, change, and remove a Pipeline after import.
- Authenticating with the API: Set up the access keys and headers each request needs.
- Mezmo Pipeline API quickstart: Get started with the Mezmo v3 Pipeline API.

