> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plungeai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflow YAML by id

> Resource template plungeai://workflows/{id}, read with resources/read.


`plungeai://workflows/{id}` · `text/yaml` · `template`

The saved CNL YAML of one of **your** workflows, as `text/yaml`. The id is the workflow id from
`plungeai_list_workflows` or `plungeai://workflows/list`. The ownership check comes first: an id
that does not exist and an id owned by someone else get the same `-32002` answer, so you cannot
probe for other accounts' ids. A workflow whose YAML body is missing from storage returns the text
`No YAML content found`.

```bash
# needs one of your workflow ids — not auto-verified
curl -s https://mcp.plungeai.com/v1 \
  -H "Authorization: Bearer $PLUNGE_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":12,"method":"resources/read","params":{"uri":"plungeai://workflows/<workflow id>"}}'
```

## Result shape

`resources/read` answers one entry:

```json
{
  "contents": [
    {
      "uri": "plungeai://workflows/{id}",
      "mimeType": "text/yaml",
      "text": "…"
    }
  ]
}
```

## Errors

`resources/read` answers JSON-RPC errors, not outcomes; the SDK prefixes each message with `MCP error <code>:` ([resources/read](/mcp-reference/protocol/resources-read)).

- `-32002` `Workflow not found: <id>`: the workflow is unknown or not yours.
- `-32002` `Resource not found: <uri>`: the URI matches no resource or template.
