---
title: "Returns the Recipe based on the specified Recipe Id"
method: GET
path: "/recipes/{recipe_id}"
tags: ["recipes"]
---

# Returns the Recipe based on the specified Recipe Id

`GET /recipes/{recipe_id}`

You need workspace memberships to access this resource

## Path parameters

- `recipe_id` string, required

## Query parameters

- `include` 'recipe-deployments'

## Response `200`

OK

- object
  - `data` object, required
    - `id` string, required
    - `type` 'recipe', required
    - `links` object, required
      - `self` string, required
    - `attributes` object, required
      - `allow_modification` boolean — When this attribute is set to true, the Recipe activator can change step configurations before activation. In this scenario, the created integration Flow is not linked to the original recipe, and users do not receive the Recipe's updates.The feature is activated only on Recipe creation and can't be changed.
      - `declarations` object
        - `variables` object[] — List of variables used by steps in a flow
          - `id` string, required
          - `title` string, required
          - `help` object
            - `description` string, required
            - `link` string
        - `credentials` object[] — List of credentials used by steps in a flow
          - `id` string, required
          - `help` object
            - `description` string, required
        - `topics` object[] — List of Topics data used by steps in a flow that will be created upon Recipe activation
          - `id` string, required
          - `schema` object, required — JSON schema describing the objects to be exchanged
      - `visibility` 'workspace' | 'contract' | 'tenant' | 'global', required
      - `info` object, required
        - `title` string, required — Recipe title
        - `author` string
        - `description` string, required — Recipe description. Markdown is supported
        - `short_description` string, required — Recipe short description
      - `flow_templates` object[], required
        - `title` string, required — Flow template title
        - `cron` string — Cron expression to schedule executions for polling flows
        - `type` 'ordinary' | 'long_running', required — Flow template type
        - `graph` object, required — Recipe graph representing component connections
          - `nodes` union[], required
            - union
              - …
          - `edges` object[], required
            - `config` object
              - …
      - `created_at` string, required
      - `updated_at` string, required
      - `version` number
    - `relationships` object, required
      - `user` object, required
        - `data` object, required
          - `id` string, required — User ID
          - `type` 'user', required
        - `links` object, required
          - `self` string, required
      - `workspace` object, required
        - `data` object, required
          - `id` string, required — Workspace ID
          - `type` 'workspace', required
        - `links` object, required
          - `self` string, required
      - `contract` object, required
        - `data` object, required
          - `id` string, required — Contract ID
          - `type` 'contract', required
        - `links` object, required
          - `self` string, required

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

[API](https://skmtc.net/elastic/apis/elastic-io-rest-api-documentation-v2.md) · [All operations](https://skmtc.net/elastic/apis/elastic-io-rest-api-documentation-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/elastic/elastic-io-rest-api-documentation-v2/revisions/411f9f98c01e/schema)
