The recipe editor

The recipe editor is the full-screen workspace for a Connect Any API connector's recipe: the manifest, its connection settings and its streams. Open it whenever the connector's recipe needs a change, a check or a move to another environment. For the connector end to end, see Connect any API.

Open the editor

  1. Open the connector and go to its Recipe step.
  2. On the recipe card, click Open recipe editor; the editor opens full screen.

While the recipe is empty, the same step offers ways into the editor: Paste manifest opens it with a starter manifest, Import zip with the recipe zip you pick, and Describe your API to the AI with the assistant.

While the editor loads it reads "Loading recipe". If it cannot load the connector, it reads "This connector is not available." Close the editor and open it again from the Recipe step.

The tree on the left carries the connector's name (or "Recipe") and three nodes: manifest.yaml, config and streams. Beside it, the active pane shows the selected node. The tree also shows:

When the assistant edits the recipe, the editor refreshes itself.

Write and check the manifest

The manifest.yaml node opens a YAML editor.

Issues carry a severity, fatal, error, warning or info, and a code such as YAML_SYNTAX, SCHEMA_INVALID, SECRET_LITERAL_IN_MANIFEST, NO_STREAMS, HOST_NOT_APPROVED or PRIMARY_KEY_MISSING. Fatal and error issues block the recipe check; warnings and info are shown without blocking it. If the manifest schema cannot be loaded, the pane notes "Schema hints are unavailable right now (the manifest schema could not be loaded). Validation on save still runs on the server."

When the assistant saves a new version while you have unsaved edits, the two changes meet:

Fill in the connection settings

The config node holds the recipe's settings. Connection settings is built from the recipe itself: text, secret, number, switch, picker, list, JSON, file or either-or fields, with hints such as "Enter value", "One value per line." and "JSON object." A file setting takes a text file up to 48 KB ("The file must be 48 KB or smaller."), and a setting whose shape has no form control reads "This setting uses a shape the form cannot render yet. Edit it as JSON or ask the assistant."

While the recipe declares no settings, the section reads "The manifest declares no connection settings yet. Add spec.connection_specification in manifest.yaml or ask the assistant."

Save is unavailable until you change something; it saves the settings and confirms with "Connection saved - nothing synced." A stored secret can be turned into a plain setting with Declassify: the dialog asks "Make "{key}" a plain setting?" and warns "Its stored value is deleted and the version history that mentioned it is scrubbed. Enter the value again afterwards." Keep secret cancels.

The node also carries Hosts and, for the admin role, Data access; both work as on the Connection step, and Hosts, streams and data access explains them.

Change the runner options

The Runner options section controls how the recipe runs. Every change is applied and saved straight away, confirming with "Runner option saved".

OptionWhat it does
Verify TLS certificateChecks the server's certificate before the connector sends its credentials. Turning it off asks "Disable certificate verification?" with "Credentials for this source will be sent without verifying the server's certificate. Only do this for a trusted internal host."
Rate limit (requests / min)Caps the requests per minute the connector sends. Whole numbers from 1; leave it empty for no limit.
Parallel pagesFetches this many pages at once (1-16). Use it only for offset or page-number APIs with a stable sort.

Check the streams

The streams node shows the connector's streams in the same panel the wizard uses, and its tree row carries the stream count. Refresh streams runs discovery again and Open in Lake picker hands over to importing streams as tables. The table, its states and the schema editor are described in Hosts, streams and data access.

Move the recipe with a zip

Export recipe as zip and Import recipe zip sit on the tree.

  1. Click Import recipe zip and pick the file, then confirm Import this recipe zip?: "manifest.yaml and the public connection settings in the archive replace the current recipe."
  2. Read the consequences the dialog lists: "Secrets are never inside a recipe zip - re-enter them in the form after importing.", "The current recipe is kept as a version, so the assistant's history can restore it.", "The connector becomes unconfirmed until you Save and sync." and "Nothing is loaded into Lake."
  3. If there are unsaved edits, it warns "You have unsaved edits in manifest.yaml. Importing discards them." Click Import zip to apply the archive.
  4. A zip must be a .zip file, not empty and at most 20 MB; otherwise the editor answers "Only .zip files are accepted.", "This zip is empty." or "The zip must be 20MB or smaller (this one is {size}MB)."

On success it confirms "Recipe imported - {count} settings applied". When secrets are missing or warnings remain, a Recipe imported dialog reads "Some parts need your attention before the connector can run." and lists Secrets to enter in the form and Warnings; close it with Done. A failed import reads "Import failed"; a failed export reads "Could not export the recipe ({error})."

Save and keep your edits

Questions, answered

What do the three nodes in the recipe editor show?

manifest.yaml opens the YAML editor for the recipe, config the connection settings, runner options and hosts, and streams the discovered streams. The tree marks unsaved edits with a dot and shows an Unconfirmed chip while the saved recipe awaits validation; Connect any API explains what validates it.

When do I click Validate and when Validate & confirm?

Both run the same check on the server. The label follows your edits: Validate while the manifest has unsaved changes, Validate & confirm once everything is saved. A clean check is what marks the recipe Confirmed.

My validation failed. What do the issues mean?

Each issue carries a severity, fatal, error, warning or info, and a code. The bar summarises them ("{count} errors - {message}") and clicking it jumps to the first issue. Fatal and error issues block the recipe check; warnings and info do not. Frequent codes include YAML_SYNTAX, SCHEMA_INVALID, SECRET_LITERAL_IN_MANIFEST (a secret value written into the file), NO_STREAMS, HOST_NOT_APPROVED (a host still to approve) and PRIMARY_KEY_MISSING.

Why does the editor say "The assistant changed manifest.yaml"?

Because the assistant saved a new version of the manifest while you had unsaved edits that overlap it. Click Reload to take the assistant's version (your unsaved edits are lost) or Keep mine to keep yours and save over it. Until you choose, saving is refused: "Reload the assistant version or choose Keep mine before saving". When the edits do not overlap, the editor merges them itself and reports "Merged AI changes".

Why is Save unavailable in the config pane?

It becomes available when you change something: it saves the connection settings, so with nothing changed there is nothing to save. A save confirms with "Connection saved - nothing synced."

Do runner options need saving?

No. Every change is applied straight away and confirms with "Runner option saved", so there is no separate save step.

What does Declassify do to a setting?

It turns a secret setting into a plain one. The dialog asks "Make "{key}" a plain setting?" and warns "Its stored value is deleted and the version history that mentioned it is scrubbed. Enter the value again afterwards." Choose Keep secret to cancel. Use it only when the value does not need to stay secret.

Why must I re-enter secrets after importing a recipe zip?

Because a recipe zip never carries secrets: "Secrets are never inside a recipe zip - re-enter them in the form after importing." The archive holds the manifest and the public connection settings, so after the import enter each missing secret in the connector's form and click Save and sync. See Connector secrets.

Does a page reload keep my unsaved recipe changes?

No. Drafts live in memory only, so a reload drops everything you had not saved. Minimising the editor keeps your edits while it stays open; press Ctrl+S before you close it.

Why does the manifest pane say schema hints are unavailable?

The editor could not load the manifest schema, so the inline hints are off: "Schema hints are unavailable right now (the manifest schema could not be loaded). Validation on save still runs on the server." Keep editing; saving and validating still check the recipe on the server.