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

# Get the workflow DAG enriched with plugin metadata

> Nodes and edges enriched with plugin category, description, UI design and config-aware output ports, plus the topological execution order



## OpenAPI

````yaml /api/openapi.json get /api/sessions/{sessionId}/workflows/{workflowId}/graph
openapi: 3.1.0
info:
  title: Yukta REST API
  version: 0.0.1-SNAPSHOT
  description: >-
    Create sessions and workflows, start and steer executions, and read their
    status, logs and results. Pre-beta: paths and schemas may change before
    v0.1.0.
servers:
  - url: http://localhost:8080
    description: Local server (default address)
security:
  - bearerAuth: []
  - apiKeyAuth: []
tags:
  - name: Supervisors API
    description: Supervisors and control planes on the control bus
  - name: Workflow Versions API
    description: List the saved versions and roll back
  - name: Workflow API
    description: Endpoints for starting workflows and listing their executions
  - name: Execution API
    description: Stop, restart and observe workflow executions
  - name: Execution Search API
    description: Find runs across sessions
  - name: Control Bus & Observability API
    description: >-
      Endpoints for control bus operations, node management, and execution
      observability
  - name: Execution Control API
    description: Pause, resume, step and stop nodes
  - name: Session API
    description: Endpoints for session and workflow discovery, configuration management
  - name: Session API
    description: Validate a draft workflow without saving it
  - name: Workers API
    description: Workers connected to the control plane
  - name: Events API
    description: Live feed of execution events
  - name: Workflow Details API
    description: Workflow DAG graph with plugin metadata and per-workflow execution history
  - name: Execution Results API
    description: Follow the result of an execution
  - name: Execution Logs API
    description: Stream execution logs
  - name: Control audit API
    description: Control commands and who sent them
  - name: Plugin API
    description: Endpoints for discovering workflow plugins
paths:
  /api/sessions/{sessionId}/workflows/{workflowId}/graph:
    get:
      tags:
        - Workflow Details API
      summary: Get the workflow DAG enriched with plugin metadata
      description: >-
        Nodes and edges enriched with plugin category, description, UI design
        and config-aware output ports, plus the topological execution order
      operationId: getWorkflowGraph
      parameters:
        - name: sessionId
          in: path
          description: The unique identifier of the session
          required: true
          schema:
            type: string
        - name: workflowId
          in: path
          description: The unique identifier of the workflow
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApiResponseWorkflowGraph'
components:
  schemas:
    ApiResponseWorkflowGraph:
      type: object
      description: >-
        Unified API response wrapper for both success and error responses.
        Success responses include data field; error responses include error,
        path, and errors fields.
      properties:
        timestamp:
          type: string
          format: date-time
          description: The time the response was generated
        status:
          type: integer
          format: int32
          description: The HTTP status code
          example: 200
        message:
          type: string
          description: A human-readable message
          example: Operation successful
        data:
          $ref: '#/components/schemas/WorkflowGraph'
          description: The response data
        error:
          type: string
          description: The HTTP status error name
          example: Bad Request
        path:
          type: string
          description: The request path
          example: /api/files
        errors:
          type: array
          description: The list of field validation errors
          items:
            $ref: '#/components/schemas/FieldError'
    WorkflowGraph:
      type: object
      description: A workflow DAG with plugin-enriched nodes for UI canvas rendering
      properties:
        workflowId:
          type: string
          description: The workflow identifier
        description:
          type: string
          description: The workflow description
        nodes:
          type: array
          description: The enriched DAG nodes
          items:
            $ref: '#/components/schemas/WorkflowGraphNode'
        edges:
          type: array
          description: The DAG edges
          items:
            $ref: '#/components/schemas/WorkflowGraphEdge'
        topologicalOrder:
          type: array
          description: Node identifiers in topological execution order
          items:
            type: string
    FieldError:
      type: object
      description: Field-specific validation error detail
      properties:
        field:
          type: string
          description: The name of the field that failed validation
          example: sessionId
        message:
          type: string
          description: The validation error message explaining the failure
          example: 'Session not found: ''unknown-session'''
    WorkflowGraphNode:
      type: object
      description: A workflow DAG node enriched with plugin metadata for UI rendering
      properties:
        nodeId:
          type: string
          description: The unique node identifier within the workflow
        type:
          type: string
          description: The plugin type backing this node
        category:
          type:
            - string
            - 'null'
          description: The plugin category, null if the plugin type is unknown
          enum:
            - TRIGGER
            - PROCESSOR
            - TERMINAL
        description:
          type:
            - string
            - 'null'
          description: The plugin description, null if the plugin type is unknown
        uiDesign:
          $ref: '#/components/schemas/UiDesign'
          type: 'null'
          description: The UI design metadata, null when the plugin provides none
        outputPorts:
          type: array
          description: The config-aware output port names for this node
          items:
            type: string
    WorkflowGraphEdge:
      type: object
      description: A directed edge between two workflow DAG nodes
      properties:
        source:
          type: string
          description: The source node identifier
        target:
          type: string
          description: The target node identifier
        sourcePort:
          type:
            - string
            - 'null'
          description: The output port on the source node, null routes all messages
    UiDesign:
      type: object
      properties:
        html:
          type: string
        width:
          type: integer
          format: int32
        height:
          type: integer
          format: int32
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API key sent as `Authorization: Bearer <key>`. Needed only when the
        server has a key configured.
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: The same API key sent as `X-API-Key`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.