Recipes

DEPRECATED Create automated recipe

Deprecated: use POST /api/v3.1/automated-recipes/. This version stays available until it is switched off; see Moving recipes to v3.1.

When the recipes service fails, this version answers 500 with an HTML page, and an error in the 4xx range can arrive with a body that is not JSON. It also repeats the request to the recipes service up to three times, create included, so a create can run twice. v3.1 does neither: every error is {code, message, details}, and a request is repeated only when it provably never reached the service.

Creates an automated recipe from a template. The recipe is created empty - no data sources, no connections, no accounts - so the next call must be PUT /api/v3/automated-recipes/{recipe_id}/.

Only one recipe per template per workspace. A second create from the same template returns 400 with existing_recipe_ids; treat that as "already deployed" and reuse one of the returned recipes.

The output table name is derived from the template's title, not from title in this body. title names the recipe in the UI and has no effect on the table. Two deployments of the same template with different titles produce the same table name. Uniqueness of that name is scoped to (agency, workspace), so the same name repeating across workspaces is expected and correct - do not try to make table names unique across your fleet. To learn the physical name, take datatable_id from this response and call GET /api/v3/data-tables/{data_table_id}, then read sql_name.

post/api/v3/automated-recipes/

Request

Request body

template_idinteger required

ID of the automated recipe template

titlestring

Recipe name. If not specified, template name is used

Response

Automated recipe created successfully

recipe_idstring

Unique recipe identifier (numeric string)

template_idinteger

ID of the template this recipe was created from

titlestring

Recipe title

state'Extracting Data' | 'Building Dependencies' | 'Ready to work' | 'Failed'

Initial recipe state, always "Extracting Data". It is the model default written at creation and does not mean that anything is configured or running yet.

datatable_idinteger nullable

ID of the output data table. Resolve the physical table name with GET /api/v3/data-tables/{data_table_id} rather than deriving it from the recipe title.

Changes

No recorded changes to this operation across all 1 revision of this API.