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

# Post apiv1workflowsruns nodes approve

> Approve a pending workflow step



## OpenAPI

````yaml /api-reference/openapi.yaml post /api/v1/workflows/runs/{runId}/nodes/{nodeId}/approve
openapi: 3.0.0
info:
  title: QYL Observability API
  version: '2026-01-26'
servers:
  - url: https://api.staging.qyl.dev
    description: QYL Staging API
    variables: {}
  - url: https://api.qyl.dev
    description: QYL Production API
    variables: {}
security: []
tags:
  - name: Streaming
  - name: Traces
  - name: Logs
  - name: Metrics
  - name: Sessions
  - name: Errors
  - name: Deployments
  - name: Services
  - name: Health
  - name: Workspaces
  - name: Onboarding
  - name: Configurator
  - name: Issues
  - name: Workflows
  - name: Search
  - name: Alerts
paths:
  /api/v1/workflows/runs/{runId}/nodes/{nodeId}/approve:
    post:
      tags:
        - Workflows
      description: Approve a pending workflow step
      operationId: WorkflowsApi_approveStep
      parameters:
        - name: runId
          in: path
          required: true
          schema:
            type: string
        - name: nodeId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Qyl.Domains.Workflow.WorkflowNodeEntity'
        '400':
          description: Bad request - validation failed (400)
          headers:
            X-Trace-Id:
              required: false
              description: Trace ID for correlation
              schema:
                type: string
            X-Request-Id:
              required: false
              description: Request ID for support
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Qyl.Common.Errors.ValidationError'
        '404':
          description: Resource not found (404)
          headers:
            X-Trace-Id:
              required: false
              description: Trace ID for correlation
              schema:
                type: string
            X-Request-Id:
              required: false
              description: Request ID for support
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Qyl.Common.Errors.NotFoundError'
        '500':
          description: Internal server error (500)
          headers:
            X-Trace-Id:
              required: false
              description: Trace ID for correlation
              schema:
                type: string
            X-Request-Id:
              required: false
              description: Request ID for support
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Qyl.Common.Errors.InternalServerError'
components:
  schemas:
    Qyl.Domains.Workflow.WorkflowNodeEntity:
      type: object
      required:
        - id
        - run_id
        - node_id
        - node_type
        - node_name
        - attempt
        - status
        - retry_count
        - max_retries
        - created_at
      properties:
        id:
          type: string
          description: Execution ID
        run_id:
          type: string
          description: Parent run
        node_id:
          type: string
          description: Node definition ID
        node_type:
          allOf:
            - $ref: '#/components/schemas/Qyl.Domains.Workflow.WorkflowNodeType'
          description: Node type
        node_name:
          type: string
          description: Node name
        attempt:
          type: integer
          format: int32
          description: Attempt number (1-based)
        input_json:
          type: string
          description: Node input data
          x-duckdb-type: JSON
        output_json:
          type: string
          description: Node output data
          x-duckdb-type: JSON
        status:
          allOf:
            - $ref: '#/components/schemas/Qyl.Domains.Workflow.WorkflowRunStatus'
          description: Node status
        error_message:
          type: string
          description: Error message if failed
        retry_count:
          type: integer
          format: int32
          description: Retry count
        max_retries:
          type: integer
          format: int32
          description: Maximum retries allowed
        timeout_ms:
          type: integer
          format: int32
          description: Timeout in milliseconds
        started_at:
          type: string
          format: date-time
          description: Start timestamp
        completed_at:
          type: string
          format: date-time
          description: Completion timestamp
        duration_ms:
          type: integer
          format: int32
          description: Duration in milliseconds
        created_at:
          type: string
          format: date-time
          description: Creation timestamp
      description: Individual DAG node execution
      x-csharp-type: WorkflowNodeEntity
      x-duckdb-table: workflow_nodes
    Qyl.Common.Errors.ValidationError:
      type: object
      required:
        - title
        - errors
      properties:
        title:
          type: string
          enum:
            - Validation Failed
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Qyl.Common.Errors.ValidationErrorDetail'
          description: List of validation errors
      allOf:
        - $ref: '#/components/schemas/Qyl.Common.Errors.ProblemDetails'
      description: Bad request - validation failed (400)
    Qyl.Common.Errors.NotFoundError:
      type: object
      required:
        - title
      properties:
        title:
          type: string
          enum:
            - Not Found
        resource_type:
          type: string
          description: The type of resource that was not found
        resource_id:
          type: string
          description: The identifier that was not found
      allOf:
        - $ref: '#/components/schemas/Qyl.Common.Errors.ProblemDetails'
      description: Resource not found (404)
    Qyl.Common.Errors.InternalServerError:
      type: object
      required:
        - title
      properties:
        title:
          type: string
          enum:
            - Internal Server Error
        error_code:
          type: string
          description: Error code for support reference
      allOf:
        - $ref: '#/components/schemas/Qyl.Common.Errors.ProblemDetails'
      description: Internal server error (500)
    Qyl.Domains.Workflow.WorkflowNodeType:
      type: string
      enum:
        - agent
        - tool
        - condition
        - fork
        - join
        - approval
        - sub_workflow
        - transform
        - wait
      description: Workflow node types
    Qyl.Domains.Workflow.WorkflowRunStatus:
      type: string
      enum:
        - pending
        - running
        - paused
        - completed
        - failed
        - cancelled
        - timed_out
      description: Workflow run status
    Qyl.Common.Errors.ValidationErrorDetail:
      type: object
      required:
        - field
        - message
        - code
      properties:
        field:
          type: string
          description: The field/property that failed validation
        message:
          type: string
          description: The error message
        code:
          type: string
          description: The validation rule that failed
        rejected_value:
          type: string
          description: The rejected value (if safe to include)
      description: Individual validation error detail
    Qyl.Common.Errors.ProblemDetails:
      type: object
      required:
        - type
        - title
        - status
      properties:
        type:
          type: string
          format: uri
          description: A URI reference identifying the problem type
          default: about:blank
        title:
          type: string
          description: A short, human-readable summary of the problem type
        status:
          type: integer
          format: int32
          description: >-
            The HTTP status code (informational only, actual code set by
            subtype)
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence
        instance:
          type: string
          format: uri
          description: A URI reference identifying the specific occurrence
        timestamp:
          type: string
          format: date-time
          description: Timestamp of the error
      description: RFC 7807 Problem Details for HTTP APIs

````