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

# Get raw workflow

> Returns the workflow's canvas nodes as they are stored, with real coordinates, as a map keyed by node ID. Pass blockIDs to narrow the read to some blocks; it is larger than the standard workflow read, so use it only when that read cannot answer.



## OpenAPI

````yaml /specs-prettified/realtime/openapi.stable.json get /v1/stable/workflow/{workflowID}/raw
openapi: 3.0.0
info:
  title: Realtime
  description: Realtime gateway API service
  version: 1.0.0
  contact: {}
servers:
  - url: https://realtime-api.voiceflow.com
security: []
tags: []
paths:
  /v1/stable/workflow/{workflowID}/raw:
    get:
      tags:
        - Workflow
      summary: Get raw workflow
      description: Returns the workflow's canvas nodes as they are stored, with real
        coordinates, as a map keyed by node ID. Pass blockIDs to narrow the read
        to some blocks; it is larger than the standard workflow read, so use it
        only when that read cannot answer.
      operationId: StableWorkflowController_getRaw
      parameters:
        - name: workflowID
          required: true
          in: path
          schema:
            type: string
          x-vf-doc:
            description: The ID of the workflow to read.
          description: The ID of the workflow to read.
        - name: projectID
          required: true
          in: query
          schema:
            type: string
            description: The ID of the project to operate on.
        - name: environmentAlias
          required: true
          in: query
          schema:
            type: string
            description: The alias of the environment to operate on (e.g. `main`).
        - name: blockIDs
          required: false
          in: query
          schema:
            description: 'Read only these blocks, or the Start step ID, with their steps and
              the actions on their exits, as an array: ["blk_1", "blk_2"]. Leave
              it out to read every node.'
            minItems: 1
            maxItems: 50
            type: array
            items:
              type: string
      responses:
        "200":
          description: Returns the workflow's ID, name and canvas ID, the stored nodes by
            ID with rich text rendered as strings, and any requested block IDs
            that matched no block.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StableWorkflowRawReadResponse"
          x-vf-doc:
            description: Returns the workflow's ID, name and canvas ID, the stored nodes by
              ID with rich text rendered as strings, and any requested block IDs
              that matched no block.
      security:
        - token: []
components:
  schemas:
    StableWorkflowRawReadResponse:
      type: object
      properties:
        workflow:
          type: object
          properties:
            id:
              type: string
            name:
              type: string
            diagramID:
              type: string
              description: The canvas the nodes belong to. A Go to block into this workflow
                names it.
          required:
            - id
            - name
            - diagramID
        nodes:
          type: object
          additionalProperties:
            type: object
            additionalProperties: {}
            description: "One stored node: nodeID, type, coords when it has them, and data."
          description: "The stored nodes by ID: blocks, steps, the Start and action lists.
            A block lists its step IDs in data.steps, and ports keep their
            targets in data.portsV2. Text the canvas stores as rich text reads
            as a string, with {name} for a variable, entity or secret and `name`
            for a tool, playbook or workflow. Every other field is exactly as
            stored, and its shape can change without notice."
        missingBlockIDs:
          description: IDs in blockIDs that name no block or Start in this workflow.
          type: array
          items:
            type: string
      required:
        - workflow
        - nodes
  securitySchemes:
    token:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: Voiceflow bearer token
````
