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

# Update Graph Node

> Update Graph Node



## OpenAPI

````yaml patch /agent-graphs/update-node
openapi: 3.0.0
info:
  title: Public API
  description: Public endpoints to interact with agents and orchestrate tasks
  version: '1.0'
  contact: {}
servers:
  - url: https://api.beamstudio.ai
security: []
tags: []
paths:
  /agent-graphs/update-node:
    patch:
      tags:
        - Agent Graph
      summary: Update Graph Node
      description: Update Graph Node
      operationId: AgentGraphController_updateNode
      parameters:
        - name: current-workspace-id
          in: header
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateNodeDto'
      responses:
        '200':
          description: Graph node updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MinimalAgentGraphNodeDto'
      security:
        - x-api-key: []
components:
  schemas:
    UpdateNodeDto:
      type: object
      properties:
        node:
          $ref: '#/components/schemas/AgentGraphNodeDto'
        agentId:
          type: string
        graphId:
          type: string
      required:
        - node
        - agentId
        - graphId
    MinimalAgentGraphNodeDto:
      type: object
      properties:
        id:
          type: string
        customId:
          type: string
        objective:
          type: string
        evaluationCriteria:
          type: array
          items:
            type: string
        isEntryNode:
          type: boolean
        isExitNode:
          type: boolean
        xCoordinate:
          type: number
        yCoordinate:
          type: number
        isEvaluationEnabled:
          type: boolean
        autoRetryWhenAccuracyLessThan:
          type: number
        autoRetryLimitWhenAccuracyIsLow:
          type: number
        enableAutoRetryWhenAccuracyIsLow:
          type: boolean
        enableAutoRetryWhenFailure:
          type: boolean
        autoRetryDescription:
          type: string
          default: null
        enableAutoRetryDescription:
          type: boolean
          default: false
        autoRetryCountWhenFailure:
          type: number
        autoRetryWaitTimeWhenFailureInMs:
          type: number
        isAttachmentDataPulledIn:
          type: boolean
        isEdited:
          type: boolean
        createdAt:
          format: date-time
          type: string
        onError:
          enum:
            - CONTINUE
            - STOP
          type: string
        nodeType:
          enum:
            - executionNode
            - conditionNode
            - waitingNode
            - entryNode
            - exitNode
          type: string
        nodeConfigurations:
          $ref: '#/components/schemas/NodeConfigurations'
        toolConfiguration:
          $ref: '#/components/schemas/MinimalToolConfigurationDto'
        childEdges:
          type: array
          items:
            $ref: '#/components/schemas/MinimalAgentGraphEdgeDto'
        parentEdges:
          type: array
          items:
            $ref: '#/components/schemas/MinimalAgentGraphEdgeDto'
      required:
        - id
        - customId
        - objective
        - evaluationCriteria
        - isEntryNode
        - isExitNode
        - isEvaluationEnabled
        - autoRetryWhenAccuracyLessThan
        - autoRetryLimitWhenAccuracyIsLow
        - enableAutoRetryWhenAccuracyIsLow
        - enableAutoRetryWhenFailure
        - autoRetryDescription
        - enableAutoRetryDescription
        - autoRetryCountWhenFailure
        - autoRetryWaitTimeWhenFailureInMs
        - isAttachmentDataPulledIn
        - isEdited
        - createdAt
        - toolConfiguration
        - childEdges
        - parentEdges
    AgentGraphNodeDto:
      type: object
      properties:
        onError:
          default: STOP
          enum:
            - CONTINUE
            - STOP
          type: string
        isEvaluationEnabled:
          type: boolean
          default: false
        autoRetryLimitWhenAccuracyIsLow:
          type: number
          default: 1
        enableAutoRetryWhenAccuracyIsLow:
          type: boolean
          default: false
        enableAutoRetryWhenFailure:
          type: boolean
          default: false
        autoRetryWhenAccuracyLessThan:
          type: number
          default: 80
          minimum: 50
          maximum: 100
        autoRetryCountWhenFailure:
          type: number
          default: 1
        autoRetryWaitTimeWhenFailureInMs:
          type: number
          default: 1000
        isAttachmentDataPulledIn:
          type: boolean
        nodeType:
          default: executionNode
          enum:
            - executionNode
            - conditionNode
            - waitingNode
            - entryNode
            - exitNode
          type: string
        nodeConfigurations:
          nullable: true
          default: null
          allOf:
            - $ref: '#/components/schemas/NodeConfigurations'
        autoRetryDescription:
          type: string
          default: null
          nullable: true
        enableAutoRetryDescription:
          type: boolean
          default: false
        toolConfiguration:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/AddToolAndConfigurationDto'
        evaluationCriteria:
          type: array
          items:
            type: string
        id:
          type: string
        customId:
          type: string
        isExitNode:
          type: boolean
          default: false
        xCoordinate:
          type: number
        yCoordinate:
          type: number
        objective:
          type: string
      required:
        - isAttachmentDataPulledIn
        - evaluationCriteria
        - objective
    NodeConfigurations:
      type: object
      properties:
        conditionType:
          type: string
          enum:
            - llm_based
            - rule_based
        llmModel:
          type: string
        fallbackModels:
          type: string
        waitType:
          enum:
            - time_based
            - condition_based
          type: string
        timeToWaitValue:
          type: number
        timeToWaitUnit:
          enum:
            - minutes
            - hours
            - days
            - months
          type: string
        linkedAgentGraphNodeId:
          type: string
        rule:
          type: string
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/AgentTriggerConfigurationFiltersGroup'
        timeoutType:
          enum:
            - no_timeout
            - set_timeout
          type: string
        timeoutValue:
          type: number
        timeoutUnit:
          enum:
            - minutes
            - hours
            - days
            - months
          type: string
        onTimeout:
          enum:
            - continue
            - fail
          type: string
    MinimalToolConfigurationDto:
      type: object
      properties:
        id:
          type: string
        toolFunctionName:
          type: string
        toolName:
          type: string
        iconSrc:
          type: string
        description:
          type: string
        requiresConsent:
          type: boolean
        isMemoryTool:
          type: boolean
        memoryLookupInstruction:
          type: string
        isBackgroundTool:
          type: boolean
        isBatchExecutionEnabled:
          type: boolean
        accuracyScore:
          type: number
        integrationProviderId:
          type: string
        dynamicPropsId:
          type: string
          nullable: true
        fallbackModels:
          type: string
          nullable: true
        code:
          type: string
          nullable: true
        codeLanguage:
          type: string
          nullable: true
        inputParams:
          type: array
          items:
            $ref: '#/components/schemas/AgentToolConfigurationInputParams'
        outputParams:
          type: array
          items:
            $ref: '#/components/schemas/AgentToolConfigurationOutputParams'
        originalTool:
          $ref: '#/components/schemas/MinimalOriginalToolDto'
        preferredModel:
          type: string
          nullable: true
          description: Preferred LLM model for this tool configuration.
      required:
        - id
        - toolFunctionName
        - toolName
        - requiresConsent
        - isMemoryTool
        - isBackgroundTool
        - isBatchExecutionEnabled
        - inputParams
        - outputParams
    MinimalAgentGraphEdgeDto:
      type: object
      properties:
        id:
          type: string
        sourceAgentGraphNodeId:
          type: string
        targetAgentGraphNodeId:
          type: string
        condition:
          type: string
        isAttachmentDataPulledIn:
          type: boolean
        conditionGroups:
          type: array
          items:
            $ref: '#/components/schemas/AgentGraphEdgeConditionGroup'
      required:
        - id
        - sourceAgentGraphNodeId
        - targetAgentGraphNodeId
        - isAttachmentDataPulledIn
        - conditionGroups
    AddToolAndConfigurationDto:
      type: object
      properties:
        toolName:
          type: string
          maxLength: 200
        prompt:
          type: string
          nullable: true
        inputParams:
          type: array
          items:
            $ref: '#/components/schemas/UserInputParamConfigDto'
        outputParams:
          type: array
          items:
            $ref: '#/components/schemas/CustomToolOutput'
        shortDescription:
          type: string
          maxLength: 200
        description:
          type: string
          nullable: true
        isAvailableToWorkspace:
          type: boolean
          nullable: true
        iconSrc:
          type: string
          nullable: true
        preferredModel:
          type: string
          nullable: true
        fallbackModels:
          type: string
          nullable: true
          pattern: /^[^\s]*$/
          description: Comma-separated fallback models. No spaces allowed.
          example: DEEP_SEEK,BEDROCK_CLAUDE_3_7_SONNET
        requiresConsent:
          type: boolean
          nullable: true
        isMemoryTool:
          type: boolean
          nullable: true
        isBackgroundTool:
          type: boolean
          nullable: true
        memoryLookupInstruction:
          type: string
          nullable: true
        isBatchExecutionEnabled:
          type: boolean
          nullable: true
        toolFunctionName:
          type: string
        dynamicPropsId:
          type: string
          nullable: true
        integrationProviderId:
          type: string
          nullable: true
        code:
          type: string
          nullable: true
        codeLanguage:
          type: string
          nullable: true
      required:
        - toolFunctionName
    AgentTriggerConfigurationFiltersGroup:
      type: object
      properties:
        operator:
          enum:
            - AND
            - OR
          type: string
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/AgentTriggerConfigurationFiltersConditions'
      required:
        - operator
        - conditions
    AgentToolConfigurationInputParams:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the input parameter.
          example: param-123e4567-e89b-12d3-a456-426614174000
        paramName:
          type: string
          description: Name of the input parameter.
          example: customerId
        position:
          type: number
          description: Position/order of the parameter in the input list.
          example: 1
        fillType:
          enum:
            - ai_fill
            - static
            - user_fill
            - from_memory
            - from_task_attachment
            - linked
          type: string
          description: How the parameter value should be filled.
          example: ai_fill
        agentToolConfigurationId:
          type: string
          description: UUID of the parent tool configuration.
          example: config-123e4567-e89b-12d3-a456-426614174000
        question:
          type: string
          description: Question to ask the user when fillType is USER_FILL.
          example: What is the customer ID?
        linkParamOutputId:
          type: string
          description: ID of the linked output parameter for data flow.
        paramDescription:
          type: string
          description: Human-readable description of what this parameter represents.
          example: The unique identifier for the customer record.
        paramTip:
          type: string
          nullable: true
          description: Helpful tip or hint for providing this parameter value.
          example: Enter the 8-digit customer ID from their account.
        staticValue:
          type: string
          description: Static value to use when fillType is STATIC.
          example: default_value
        required:
          type: boolean
          description: Whether this parameter is required.
          example: true
        dataType:
          type: string
          description: Data type of the parameter.
          example: string
        outputExample:
          type: string
          description: Example value demonstrating the expected input format.
          example: CUST-12345678
        reloadProps:
          type: boolean
          description: Whether to reload dynamic properties when this parameter changes.
          example: false
        remoteOptions:
          type: boolean
          description: Whether options are loaded from a remote source.
          example: false
        options:
          nullable: true
          type: array
          items:
            type: object
            properties:
              label:
                type: string
              value:
                type: string
          description: Available options for selection-type parameters.
        createdAt:
          format: date-time
          type: string
          description: Timestamp when the parameter was created.
        updatedAt:
          format: date-time
          type: string
          description: Timestamp when the parameter was last updated.
        linkOutputParam:
          $ref: '#/components/schemas/AgentToolConfigurationOutputParams'
        linkedOutputParamRules:
          type: array
          items:
            $ref: '#/components/schemas/LinkedOutputParamRules'
        linkedParamRulePrompt:
          type: string
        ruleConditionConfig:
          $ref: '#/components/schemas/ParamRuleConditionConfig'
      required:
        - id
        - paramName
        - fillType
        - agentToolConfigurationId
        - createdAt
        - updatedAt
        - linkOutputParam
        - linkedOutputParamRules
    AgentToolConfigurationOutputParams:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the output parameter.
          example: param-123e4567-e89b-12d3-a456-426614174000
        paramName:
          type: string
          description: Name of the output parameter.
          example: customerData
        position:
          type: number
          description: Position/order of the parameter in the output list.
          example: 1
        paramDescription:
          type: string
          description: Human-readable description of what this output parameter represents.
          example: The customer data retrieved from the database.
        agentToolConfigurationId:
          type: string
          description: UUID of the parent tool configuration.
          example: config-123e4567-e89b-12d3-a456-426614174000
        parentId:
          type: string
          description: UUID of the parent parameter for nested structures.
        paramPath:
          type: string
          description: JSON path to this parameter in the output structure.
          example: response.data.customer
        outputExample:
          type: string
          description: Example value demonstrating the expected output format.
          example: '{"name": "John Doe", "email": "john@example.com"}'
        dataType:
          nullable: true
          enum:
            - string
            - number
            - boolean
            - object
            - enum
          type: string
          description: Data type of the output parameter.
          example: string
        isArray:
          type: boolean
          default: false
          description: Whether this parameter returns an array of values.
          example: false
        typeOptions:
          type: object
          nullable: true
          description: Additional type-specific configuration options.
        createdAt:
          format: date-time
          type: string
          description: Timestamp when the parameter was created.
        updatedAt:
          format: date-time
          type: string
          description: Timestamp when the parameter was last updated.
      required:
        - id
        - agentToolConfigurationId
        - isArray
        - createdAt
        - updatedAt
    MinimalOriginalToolDto:
      type: object
      properties:
        toolName:
          type: string
        toolFunctionName:
          type: string
        iconSrc:
          type: string
        type:
          type: string
        prompt:
          type: string
        description:
          type: string
        preferredModel:
          type: string
        meta:
          type: object
        integrationId:
          type: string
        isIntegrationRequired:
          type: boolean
        isIntegrationConnected:
          type: boolean
        allowWaiting:
          type: boolean
        integration:
          $ref: '#/components/schemas/MinimalIntegrationDto'
        inputParams:
          type: array
          items:
            $ref: '#/components/schemas/UserInputParamConfigDto'
        outputParams:
          type: array
          items:
            $ref: '#/components/schemas/CustomToolOutput'
      required:
        - toolName
        - toolFunctionName
        - allowWaiting
    AgentGraphEdgeConditionGroup:
      type: object
      properties:
        agentGraphEdgeId:
          type: string
        nextGroupOperator:
          enum:
            - AND
            - OR
          type: string
        edge:
          $ref: '#/components/schemas/AgentGraphEdge'
        rules:
          type: array
          items:
            $ref: '#/components/schemas/AgentGraphEdgeConditionRule'
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
        - agentGraphEdgeId
        - edge
        - rules
        - id
        - createdAt
        - updatedAt
    UserInputParamConfigDto:
      type: object
      properties:
        position:
          type: number
          description: Position/order of the parameter in the input list.
          example: 1
        paramName:
          type: string
          description: Name of the input parameter.
          example: customerId
        fillType:
          default: ai_fill
          enum:
            - ai_fill
            - static
            - user_fill
            - from_memory
            - from_task_attachment
            - linked
          type: string
          description: How the parameter value should be filled.
          example: ai_fill
        question:
          type: string
          nullable: true
          description: Question to ask the user when fillType is USER_FILL.
          example: What is the customer ID?
        linkParams:
          description: Configuration for linking this parameter to another tool output.
          allOf:
            - $ref: '#/components/schemas/LinkParamsDto'
        linkParamOutputId:
          type: string
          nullable: true
          description: ID of the linked output parameter for data flow.
        paramDescription:
          type: string
          description: Human-readable description of what this parameter represents.
          example: The unique identifier for the customer record.
        paramTip:
          type: string
          nullable: true
          description: Helpful tip or hint for providing this parameter value.
          example: Enter the 8-digit customer ID from their account.
        staticValue:
          type: string
          nullable: true
          description: Static value to use when fillType is STATIC.
          example: default_value
        required:
          type: boolean
          default: true
          description: Whether this parameter is required.
          example: true
        dataType:
          type: string
          default: string
          description: Data type of the parameter.
          example: string
        isArray:
          type: boolean
          default: false
          description: Whether this parameter accepts an array of values.
          example: false
        typeOptions:
          type: object
          additionalProperties: true
          description: Additional type-specific configuration options.
          nullable: true
        outputExample:
          type: string
          description: Example value demonstrating the expected input format.
          example: CUST-12345678
        reloadProps:
          type: boolean
          description: Whether to reload dynamic properties when this parameter changes.
          example: false
        remoteOptions:
          type: boolean
          description: Whether options are loaded from a remote source.
          example: false
        options:
          nullable: true
          type: array
          items:
            type: object
            properties:
              label:
                type: string
              value:
                type: string
          description: Available options for selection-type parameters.
        linkedOutputParamRulesData:
          description: Rules for linked output parameters.
          allOf:
            - $ref: '#/components/schemas/LinkedOutputParamRulesDto'
      required:
        - paramName
        - fillType
    CustomToolOutput:
      type: object
      properties:
        position:
          type: number
        paramName:
          type: string
        paramDescription:
          type: string
        id:
          type: string
        agentToolConfigurationId:
          type: string
        dataType:
          type: string
          enum:
            - string
            - number
            - boolean
            - object
            - enum
          nullable: true
        isArray:
          type: boolean
        typeOptions:
          type: object
          additionalProperties: true
          nullable: true
        parentId:
          type: string
        paramPath:
          type: string
        outputExample:
          type: string
    AgentTriggerConfigurationFiltersConditions:
      type: object
      properties:
        condition:
          enum:
            - is
            - is_not
            - contain
            - does_not_contain
            - any
            - all
            - less_than
            - GREATER_than
            - count
            - exist
            - does_not_exist
          type: string
        operator:
          enum:
            - AND
            - OR
          type: string
        property:
          type: string
        value:
          type: string
      required:
        - condition
        - operator
        - property
        - value
    LinkedOutputParamRules:
      type: object
      properties:
        elementKey:
          type: string
        agentToolConfigurationInputParamsId:
          type: string
        operator:
          enum:
            - equals
            - not_equals
            - greater_than
            - less_than
            - contains
            - does_not_contain
            - starts_with
            - ends_with
            - is_empty
            - is_not_empty
          type: string
        comparisonValueType:
          enum:
            - static
            - output_param
          type: string
        comparisonValue:
          type: string
        nextRuleOperator:
          enum:
            - AND
            - OR
          type: string
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
        - elementKey
        - agentToolConfigurationInputParamsId
        - operator
        - comparisonValueType
        - id
        - createdAt
        - updatedAt
    ParamRuleConditionConfig:
      type: object
      properties:
        conditionType:
          type: string
          enum:
            - llm_based
            - rule_based
    MinimalIntegrationDto:
      type: object
      properties:
        systemIntegrationProvider:
          type: string
        systemIntegrationIdentifier:
          type: string
        customAuthParameters:
          type: object
    AgentGraphEdge:
      type: object
      properties:
        sourceAgentGraphNodeId:
          type: string
        targetAgentGraphNodeId:
          type: string
        condition:
          type: string
        isAttachmentDataPulledIn:
          type: boolean
        conditionGroups:
          type: array
          items:
            $ref: '#/components/schemas/AgentGraphEdgeConditionGroup'
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
        - sourceAgentGraphNodeId
        - targetAgentGraphNodeId
        - isAttachmentDataPulledIn
        - conditionGroups
        - id
        - createdAt
        - updatedAt
    AgentGraphEdgeConditionRule:
      type: object
      properties:
        agentGraphEdgeConditionGroupId:
          type: string
        sourceAgentToolConfigurationOutputParamsId:
          type: string
        operator:
          enum:
            - equals
            - not_equals
            - greater_than
            - less_than
            - contains
            - does_not_contain
            - starts_with
            - ends_with
            - is_empty
            - is_not_empty
          type: string
        comparisonValueType:
          enum:
            - static
            - output_param
          type: string
        comparisonValue:
          type: string
        comparisonAgentToolConfigurationOutputParamsId:
          type: string
        nextRuleOperator:
          enum:
            - AND
            - OR
          type: string
        group:
          $ref: '#/components/schemas/AgentGraphEdgeConditionGroup'
        sourceOutputParam:
          $ref: '#/components/schemas/AgentToolConfigurationOutputParams'
        comparisonOutputParam:
          $ref: '#/components/schemas/AgentToolConfigurationOutputParams'
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
        - agentGraphEdgeConditionGroupId
        - sourceAgentToolConfigurationOutputParamsId
        - operator
        - comparisonValueType
        - group
        - sourceOutputParam
        - id
        - createdAt
        - updatedAt
    LinkParamsDto:
      type: object
      properties:
        toolId:
          type: string
        toolFunctionName:
          type: string
        outputParam:
          type: string
        outputId:
          type: string
    LinkedOutputParamRulesDto:
      type: object
      properties:
        rules:
          description: Array of linked output param rules.
          type: array
          items:
            $ref: '#/components/schemas/LinkedOutputParamRuleDto'
        linkedParamRulePrompt:
          type: string
          description: Prompt for the linked param rule.
        linkedParamConfigurations:
          description: Configuration for linked param nodes.
          allOf:
            - $ref: '#/components/schemas/ParamRuleConditionConfig'
      required:
        - linkedParamConfigurations
    LinkedOutputParamRuleDto:
      type: object
      properties:
        elementKey:
          type: string
          description: Element key for the rule.
        operator:
          enum:
            - equals
            - not_equals
            - greater_than
            - less_than
            - contains
            - does_not_contain
            - starts_with
            - ends_with
            - is_empty
            - is_not_empty
          type: string
          description: Comparison operator for the rule.
        comparisonValueType:
          enum:
            - static
            - output_param
          type: string
          description: Type of the comparison value.
        comparisonValue:
          type: string
          nullable: true
          description: Value to compare against.
        nextRuleOperator:
          enum:
            - AND
            - OR
          type: string
          description: Logical operator linking to the next rule.
      required:
        - elementKey
        - operator
        - comparisonValueType
  securitySchemes:
    x-api-key:
      type: apiKey
      in: header
      name: x-api-key

````