> ## 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.

# Get agent setup session

> Retrieves the current setup session state for a specific agent, including configuration and progress.



## OpenAPI

````yaml get /agent-setup/session/{agentId}
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-setup/session/{agentId}:
    get:
      tags:
        - Agent Setup
      summary: Get agent setup session
      description: >-
        Retrieves the current setup session state for a specific agent,
        including configuration and progress.
      operationId: AgentSetupController_session
      parameters:
        - name: agentId
          required: true
          in: path
          description: UUID of the agent to retrieve the session for
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Agent setup session retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentSetupResponseDto'
        '404':
          description: Agent setup session not found.
      security:
        - x-api-key: []
components:
  schemas:
    AgentSetupResponseDto:
      type: object
      properties:
        agentIntroMessage:
          type: string
          description: Introduction message describing the agent and its capabilities.
          example: >-
            I am a customer support agent designed to help users with their
            inquiries.
        processInstructions:
          type: string
          description: Instructions outlining the process and workflow the agent follows.
          example: >-
            First, I will gather information about your issue. Then, I will
            provide relevant solutions.
        agentSop:
          type: string
          description: >-
            Standard Operating Procedures (SOP) that define how the agent
            handles tasks.
          example: >-
            Step 1: Greet the user. Step 2: Identify the issue. Step 3: Provide
            resolution.
        status:
          type: string
          description: Current status of the agent setup process.
          example: in_progress
        step:
          type: string
          description: Current step in the agent setup workflow.
          example: GRAPH_GENERATION
        generatedGraph:
          description: >-
            Generated workflow graph for the agent, including nodes and their
            connections.
          allOf:
            - $ref: '#/components/schemas/AgentSetupGeneratedGraphDto'
      required:
        - agentIntroMessage
        - processInstructions
        - agentSop
        - status
        - step
    AgentSetupGeneratedGraphDto:
      type: object
      properties:
        preliminaryReasoning:
          type: string
          description: >-
            Initial reasoning and analysis used to determine the graph
            structure.
          example: >-
            Based on the SOP, the agent needs to handle user inquiries through a
            multi-step verification process.
        graphDescription:
          type: string
          description: Human-readable description of the workflow graph and its purpose.
          example: >-
            This graph handles customer support requests by routing them through
            identification, verification, and resolution nodes.
        trigger:
          type: string
          description: The event or condition that initiates the workflow execution.
          example: User sends a message to the agent
        graphSummary:
          type: string
          description: Brief summary of the graph structure and flow.
          example: >-
            A 5-node workflow that processes customer inquiries from intake to
            resolution.
        mermaidGraph:
          type: string
          description: Mermaid diagram syntax representing the visual workflow graph.
          example: |-
            graph TD
              A[Start] --> B[Process]
              B --> C[End]
        graphNodes:
          description: List of nodes that make up the workflow graph.
          type: array
          items:
            $ref: '#/components/schemas/AgentSetupGeneratedGraphNodeDto'
      required:
        - preliminaryReasoning
        - graphDescription
        - trigger
        - graphSummary
        - mermaidGraph
    AgentSetupGeneratedGraphNodeDto:
      type: object
      properties:
        isEntryNode:
          type: boolean
          description: Indicates if this node is the starting point of the workflow.
          example: true
        id:
          type: string
          description: Unique identifier for the graph node.
          example: node-123e4567-e89b-12d3-a456-426614174000
        expertReasoning:
          type: string
          description: Reasoning behind the expert configuration and behavior of this node.
          example: >-
            This node handles initial user authentication before proceeding to
            data retrieval.
        objective:
          type: string
          description: The goal or purpose this node is designed to accomplish.
          example: Verify user identity and gather account information.
        toolCategory:
          type: string
          description: Category of tools this node uses for its operations.
          example: authentication
        nodeType:
          enum:
            - executionNode
            - conditionNode
            - waitingNode
            - entryNode
            - exitNode
          type: string
          description: type of node.
          example: executionNode
        edgeReasoning:
          type: string
          description: Reasoning for how this node connects to other nodes in the graph.
          example: >-
            Routes to verification node on success, or error handling node on
            failure.
        evaluationCriteria:
          description: >-
            List of criteria used to evaluate if the node has completed its
            objective successfully.
          example:
            - User identity verified
            - Account status is active
            - No security flags detected
          type: array
          items:
            type: string
        xCoordinate:
          type: number
          nullable: true
          description: X coordinate for positioning the node in the visual graph editor.
          example: 250
        yCoordinate:
          type: number
          nullable: true
          description: Y coordinate for positioning the node in the visual graph editor.
          example: 100
        isAttachmentDataPulledIn:
          type: boolean
          description: >-
            Whether attachment data from previous nodes should be pulled into
            this node.
          example: true
        childEdges:
          description: Outgoing edges connecting this node to its child nodes.
          type: array
          items:
            $ref: '#/components/schemas/NodeEdge'
        parentEdges:
          description: Incoming edges connecting parent nodes to this node.
          type: array
          items:
            $ref: '#/components/schemas/NodeEdge'
        toolConfiguration:
          description: Configuration for the tool associated with this node.
          allOf:
            - $ref: '#/components/schemas/AgentSetupGeneratedGraphNodeToolDto'
        isExitNode:
          type: boolean
          description: Indicates if this node is a terminal point where the workflow ends.
          example: false
        nodeConfigurations:
          type: object
          properties:
            conditionType:
              type: string
              enum:
                - llm_based
                - rule_based
            llmModel:
              type: string
            fallbackModels:
              type: string
      required:
        - isEntryNode
        - id
        - expertReasoning
        - objective
        - toolCategory
        - nodeType
        - edgeReasoning
        - evaluationCriteria
        - xCoordinate
        - yCoordinate
        - isAttachmentDataPulledIn
        - childEdges
        - parentEdges
        - toolConfiguration
        - isExitNode
        - nodeConfigurations
    NodeEdge:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the edge.
          example: edge-123e4567-e89b-12d3-a456-426614174000
        targetAgentGraphNodeId:
          type: string
          description: ID of the target node this edge connects to.
          example: node-target-123e4567-e89b-12d3-a456-426614174000
        sourceAgentGraphNodeId:
          type: string
          description: ID of the source node this edge originates from.
          example: node-source-123e4567-e89b-12d3-a456-426614174000
        name:
          type: string
          nullable: true
          description: Human-readable name or label for this edge.
          example: On Success
        condition:
          type: string
          nullable: true
          description: Condition that must be met for this edge to be traversed.
          example: userVerified === true
        isAttachmentDataPulledIn:
          type: boolean
          default: true
          description: >-
            Whether attachment data should be passed along this edge to the
            target node.
          example: true
      required:
        - id
        - targetAgentGraphNodeId
        - sourceAgentGraphNodeId
        - name
        - condition
        - isAttachmentDataPulledIn
    AgentSetupGeneratedGraphNodeToolDto:
      type: object
      properties:
        toolFunctionName:
          type: string
          description: The function name used to invoke this tool.
          example: fetchCustomerData
        fallbackModels:
          type: string
          description: The fallback model names used to invoke this tool.
          example: gpt-3.5-turbo
        actionType:
          type: string
          description: The type of action this tool performs.
          example: api_call
        inputParams:
          description: List of input parameters required by this tool.
          type: array
          items:
            $ref: >-
              #/components/schemas/AgentSetupGeneratedGraphNodeToolInputParamsDto
        outputParams:
          description: List of output parameters returned by this tool.
          type: array
          items:
            $ref: >-
              #/components/schemas/AgentSetupGeneratedGraphNodeToolOutputParamsDto
        originalTool:
          description: Reference to the original tool definition.
          allOf:
            - $ref: '#/components/schemas/AgentSetupGeneratedGraphNodeOriginalToolDto'
        isMemoryTool:
          type: boolean
          description: Whether this tool accesses or stores data in memory.
          example: false
        isIntegrationRequired:
          type: boolean
          description: Whether this tool requires an external integration to function.
          example: true
        isIntegrationConnected:
          type: boolean
          description: Whether the required integration is currently connected and active.
          example: true
        memoryLookupInstruction:
          type: string
          nullable: true
          description: Instructions for how the tool should look up data from memory.
          example: Retrieve customer records matching the provided email address.
        isBatchExecutionEnabled:
          type: boolean
          description: Whether this tool supports batch processing of multiple items.
          example: false
        isBackgroundTool:
          type: boolean
          description: >-
            Whether this tool runs in the background without blocking workflow
            execution.
          example: false
        requiresConsent:
          type: boolean
          description: Whether user consent is required before executing this tool.
          example: false
        consentRequired:
          type: boolean
          description: Whether consent from the user is required for this tool.
          example: false
        integrationProviderId:
          type: string
          nullable: true
          description: ID of the integration provider associated with this tool.
          example: provider-123e4567-e89b-12d3-a456-426614174000
        dynamicPropsId:
          type: string
          nullable: true
          description: ID for dynamic properties configuration.
        code:
          type: string
          nullable: true
        codeLanguage:
          type: string
          nullable: true
        preferredModel:
          type: string
          description: Preferred LLM model for this tool configuration.
          example: GPT40
      required:
        - toolFunctionName
        - actionType
        - inputParams
        - outputParams
        - originalTool
        - isIntegrationRequired
        - isIntegrationConnected
    AgentSetupGeneratedGraphNodeToolInputParamsDto:
      type: object
      properties:
        id:
          type: string
        paramName:
          type: string
        dataType:
          type: string
        paramDescription:
          type: string
        paramTip:
          type: string
          nullable: true
        fillType:
          enum:
            - ai_fill
            - static
            - user_fill
            - from_memory
            - from_task_attachment
            - linked
          type: string
        staticValue:
          type: string
          nullable: true
        question:
          type: string
          nullable: true
        reloadProps:
          type: boolean
        remoteOptions:
          type: boolean
        options:
          nullable: true
          type: array
          items:
            type: object
            properties:
              label:
                type: string
              value:
                type: string
      required:
        - paramName
        - dataType
        - paramDescription
        - fillType
    AgentSetupGeneratedGraphNodeToolOutputParamsDto:
      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
        dataType:
          type: string
          description: Data type of the output parameter.
          example: string
        position:
          type: number
          description: Position/order of the parameter in the output list.
          example: 1
        agentToolConfigurationId:
          type: string
          nullable: true
          description: ID of the associated agent tool configuration.
          example: config-123e4567-e89b-12d3-a456-426614174000
        outputExample:
          type: string
          description: Example value demonstrating the expected output format.
          example: '{"name": "John Doe", "email": "john@example.com"}'
        linkParamOutputId:
          type: string
          nullable: true
          description: ID linking this parameter to another output parameter for data flow.
        required:
          type: boolean
          description: Whether this output parameter is required.
          example: true
        typeOptions:
          type: object
          additionalProperties: true
          description: Additional type-specific configuration options.
          nullable: true
        isArray:
          type: boolean
          default: false
          description: Whether this parameter returns an array of values.
          example: false
        paramDescription:
          type: string
          description: Human-readable description of what this output parameter represents.
          example: >-
            The customer data retrieved from the database including name and
            contact information.
      required:
        - paramName
        - dataType
        - paramDescription
    AgentSetupGeneratedGraphNodeOriginalToolDto:
      type: object
      properties:
        id:
          type: string
        toolFunctionName:
          type: string
        toolName:
          type: string
        iconSrc:
          type: string
        type:
          enum:
            - beam_tool
            - gpt_tool
            - custom_gpt_tool
            - custom_integration_tool
            - code_executor_tool
          type: string
        prompt:
          type: string
        integrationId:
          type: string
        inputParams:
          type: array
          items:
            $ref: '#/components/schemas/UserInputParamConfigDto'
        outputParams:
          type: array
          items:
            $ref: '#/components/schemas/CustomToolOutput'
        preferredModel:
          type: string
        description:
          type: string
        shortDescription:
          type: string
        isIntegrationConnected:
          type: boolean
        isIntegrationRequired:
          type: boolean
      required:
        - id
        - toolFunctionName
        - toolName
        - iconSrc
        - type
    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
    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
    ParamRuleConditionConfig:
      type: object
      properties:
        conditionType:
          type: string
          enum:
            - llm_based
            - rule_based
  securitySchemes:
    x-api-key:
      type: apiKey
      in: header
      name: x-api-key

````