> ## 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 input/output parameters for a node tool configuration

> Updates the input and/or output parameters of a tool configuration associated with a specific node in the agent graph. Input parameters define how data flows into the tool (e.g., AI-filled, user-provided, static values, or linked from other node outputs). Output parameters define the data structure returned by the tool. Only the parameters provided in the request body will be updated; omitted parameters remain unchanged.



## OpenAPI

````yaml patch /agent-graphs/{agentId}/nodes/{nodeId}/input-output-params
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/{agentId}/nodes/{nodeId}/input-output-params:
    patch:
      tags:
        - Agent Graph
      summary: Update input/output parameters for a node tool configuration
      description: >-
        Updates the input and/or output parameters of a tool configuration
        associated with a specific node in the agent graph. Input parameters
        define how data flows into the tool (e.g., AI-filled, user-provided,
        static values, or linked from other node outputs). Output parameters
        define the data structure returned by the tool. Only the parameters
        provided in the request body will be updated; omitted parameters remain
        unchanged.
      operationId: AgentGraphController_updateNodeParams
      parameters:
        - name: agentId
          required: true
          in: path
          schema:
            type: string
        - name: nodeId
          required: true
          in: path
          schema:
            type: string
        - name: current-workspace-id
          in: header
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateInputOutputParamsDto'
      responses:
        '200':
          description: Parameters updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentGraphNode'
      security:
        - x-api-key: []
components:
  schemas:
    UpdateInputOutputParamsDto:
      type: object
      properties:
        outputParams:
          description: Output parameters configuration for the node tool
          type: array
          items:
            $ref: '#/components/schemas/CustomToolOutput'
        inputParams:
          description: Input parameters configuration for the node tool
          type: array
          items:
            $ref: '#/components/schemas/UserInputParamConfigDto'
    AgentGraphNode:
      type: object
      properties:
        evaluationCriteria:
          type: array
          items:
            type: string
        agentToolConfigurationId:
          type: string
        toolConfiguration:
          $ref: '#/components/schemas/AgentToolConfiguration'
        objective:
          type: string
        customId:
          type: string
        isExitNode:
          type: boolean
        isEntryNode:
          type: boolean
        agentGraphId:
          type: string
        xCoordinate:
          type: number
        yCoordinate:
          type: number
        onError:
          enum:
            - CONTINUE
            - STOP
          type: string
        isEvaluationEnabled:
          type: boolean
        autoRetryWhenAccuracyLessThan:
          type: number
        autoRetryLimitWhenAccuracyIsLow:
          type: number
        enableAutoRetryWhenAccuracyIsLow:
          type: boolean
        enableAutoRetryWhenFailure:
          type: boolean
        autoRetryCountWhenFailure:
          type: number
        autoRetryWaitTimeWhenFailureInMs:
          type: number
        isAttachmentDataPulledIn:
          type: boolean
        nodeType:
          enum:
            - executionNode
            - conditionNode
            - waitingNode
            - entryNode
            - exitNode
          type: string
        nodeConfigurations:
          $ref: '#/components/schemas/NodeConfigurations'
        saveAsVersion:
          type: boolean
        isEdited:
          type: boolean
        isActiveNodeVersion:
          type: boolean
        userId:
          type: string
        autoRetryDescription:
          type: string
        enableAutoRetryDescription:
          type: boolean
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
        - evaluationCriteria
        - toolConfiguration
        - objective
        - customId
        - isExitNode
        - isEntryNode
        - agentGraphId
        - onError
        - isEvaluationEnabled
        - autoRetryWhenAccuracyLessThan
        - autoRetryLimitWhenAccuracyIsLow
        - enableAutoRetryWhenAccuracyIsLow
        - enableAutoRetryWhenFailure
        - autoRetryCountWhenFailure
        - autoRetryWaitTimeWhenFailureInMs
        - isAttachmentDataPulledIn
        - nodeType
        - saveAsVersion
        - isEdited
        - isActiveNodeVersion
        - autoRetryDescription
        - enableAutoRetryDescription
        - id
        - createdAt
        - updatedAt
    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
    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
    AgentToolConfiguration:
      type: object
      properties:
        toolFunctionName:
          type: string
          description: Function name used to invoke this tool.
          example: fetchCustomerData
        integrationProviderId:
          type: string
          description: UUID of the integration provider for this tool.
          example: provider-123e4567-e89b-12d3-a456-426614174000
        inputParams:
          description: Input parameter configurations for this tool.
          type: array
          items:
            $ref: '#/components/schemas/AgentToolConfigurationInputParams'
        outputParamsData:
          description: JSON representation of output parameters.
          type: array
          items:
            $ref: '#/components/schemas/CustomToolOutput'
        inputParamsData:
          description: JSON representation of input parameters.
          type: array
          items:
            $ref: '#/components/schemas/UserInputParamConfigDto'
        agentId:
          type: string
          description: UUID of the agent this tool configuration belongs to.
          example: agent-123e4567-e89b-12d3-a456-426614174000
        requiresConsent:
          type: boolean
          description: Whether user consent is required before executing this tool.
          example: false
        isBackgroundTool:
          type: boolean
          description: >-
            Whether this tool runs in the background without blocking workflow
            execution.
          example: false
        isMemoryTool:
          type: boolean
          description: Whether this tool accesses or stores data in memory.
          example: false
        isBatchExecutionEnabled:
          type: boolean
          description: Whether this tool supports batch processing of multiple items.
          example: false
        accuracyScore:
          type: number
          description: Accuracy score for this tool configuration.
          example: 0.95
        memoryLookupInstruction:
          type: string
          description: Instructions for how the tool should look up data from memory.
          example: Retrieve customer records matching the provided email address.
        fallbackModels:
          type: string
          description: >-
            Comma-separated list of fallback models to use if preferred model
            fails
          example: DEEP_SEEK,BEDROCK_CLAUDE_3_7_SONNET,BEDROCK_CLAUDE_OPUS_4_5
        dynamicPropsId:
          type: string
          nullable: true
          description: ID for dynamic properties configuration.
        outputParams:
          type: array
          items:
            $ref: '#/components/schemas/AgentToolConfigurationOutputParams'
        codeLanguage:
          type: string
        code:
          type: string
        originalTool:
          $ref: '#/components/schemas/ToolsViewWithIntegrationConnectionStatus'
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
        preferredModel:
          type: string
          description: Preferred LLM model for this tool configuration.
          example: GPT40
      required:
        - toolFunctionName
        - inputParams
        - agentId
        - outputParams
        - originalTool
        - id
        - createdAt
        - updatedAt
    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
    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
    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
    ToolsViewWithIntegrationConnectionStatus:
      type: object
      properties:
        toolFunctionName:
          type: string
          description: Function name used to invoke this tool.
        toolName:
          type: string
          description: Display name of the tool.
        iconSrc:
          type: string
          nullable: true
          description: Icon source URL.
        type:
          enum:
            - beam_tool
            - gpt_tool
            - custom_gpt_tool
            - custom_integration_tool
            - code_executor_tool
          type: string
          description: Type of tool.
        isVisibleOnUi:
          type: boolean
          description: Whether this tool is visible on the UI.
        integrationId:
          type: string
          nullable: true
          description: UUID of the associated integration.
        meta:
          description: Tool metadata.
          allOf:
            - $ref: '#/components/schemas/GetToolsMetaDto'
        outputId:
          type: string
          description: UUID of the output configuration.
        prompt:
          type: string
          description: Prompt template for the tool.
        inputParams:
          description: Input parameters configuration.
          type: array
          items:
            $ref: '#/components/schemas/UserInputParamConfigDto'
        requiresConsent:
          type: boolean
          description: Whether user consent is required before execution.
        isMemoryTool:
          type: boolean
          nullable: true
          description: Whether this tool accesses or stores data in memory.
        isBackgroundTool:
          type: boolean
          description: Whether this tool runs in the background.
        memoryLookupInstruction:
          type: string
          nullable: true
          description: Instructions for memory lookup.
        outputParams:
          description: Output parameters configuration.
          type: array
          items:
            $ref: '#/components/schemas/CustomToolOutput'
        isBatchExecutionEnabled:
          type: boolean
          nullable: true
          description: Whether batch execution is enabled.
        description:
          type: string
          nullable: true
          description: Description of the tool.
        isActive:
          type: boolean
          description: Whether the tool is active.
        workspaceId:
          type: string
          nullable: true
          description: UUID of the workspace.
        userId:
          type: string
          nullable: true
          description: UUID of the user.
        agentId:
          type: string
          nullable: true
          description: UUID of the agent.
        httpMethod:
          nullable: true
          enum:
            - post
            - get
            - delete
            - patch
            - put
          type: string
          description: HTTP method for custom integration tools.
        url:
          type: string
          nullable: true
          description: URL for custom integration tools.
        isAvailableToWorkspace:
          type: boolean
          nullable: true
          description: Whether the tool is available to the workspace.
        preferredModel:
          type: string
          description: Preferred model for the tool.
        shortDescription:
          type: string
          description: Short description of the tool.
        isSharable:
          type: boolean
          nullable: true
          description: Whether the tool is sharable.
        systemIntegrationIdentifier:
          type: string
          nullable: true
          description: System integration identifier.
        apiKeyType:
          type: string
          nullable: true
          description: API key type.
        parameter:
          type: string
          nullable: true
          description: Parameter configuration.
        allowWaiting:
          type: boolean
          description: Whether the tool allows waiting.
        queryParams:
          description: Query parameters for custom integration tools.
          type: array
          items:
            $ref: '#/components/schemas/CustomIntegrationToolQueryParamsDTO'
        bodyParams:
          description: Body parameters for custom integration tools.
          type: array
          items:
            $ref: '#/components/schemas/CustomIntegrationToolBodyParamsDTO'
        urlParams:
          description: URL parameters for custom integration tools.
          type: array
          items:
            $ref: '#/components/schemas/CustomIntegrationToolUrlParamsDTO'
        createdAt:
          format: date-time
          type: string
          description: Timestamp when the tool was created.
        updatedAt:
          format: date-time
          type: string
          description: Timestamp when the tool was last updated.
        deletedAt:
          format: date-time
          type: string
          description: Timestamp when the tool was deleted.
        toolConfigurations:
          type: array
          items:
            $ref: '#/components/schemas/AgentToolConfiguration'
        questions:
          type: array
          items:
            $ref: '#/components/schemas/Question'
        isIntegrationRequired:
          type: boolean
          default: false
        isIntegrationConnected:
          type: boolean
          default: false
        integrationProvider:
          type: string
        integrationIdentifier:
          type: string
        integrationCustomAuthParameters:
          type: object
        embedding:
          type: string
          nullable: true
        integration:
          $ref: '#/components/schemas/IntegrationsViewEntity'
        toolConfiguration:
          $ref: '#/components/schemas/AgentToolConfiguration'
        id:
          type: string
      required:
        - toolFunctionName
        - toolName
        - type
        - meta
        - requiresConsent
        - isBackgroundTool
        - isActive
        - createdAt
        - updatedAt
        - id
    AgentTriggerConfigurationFiltersGroup:
      type: object
      properties:
        operator:
          enum:
            - AND
            - OR
          type: string
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/AgentTriggerConfigurationFiltersConditions'
      required:
        - operator
        - conditions
    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
    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
    GetToolsMetaDto:
      type: object
      properties:
        integration_provider_details:
          $ref: '#/components/schemas/IntegrationProviderDetails'
        agent_category:
          $ref: '#/components/schemas/AgentCategoryInfo'
        payload:
          type: string
        tool_name:
          type: string
        function_name:
          type: string
        requires_consent:
          type: boolean
        requires_translation:
          type: boolean
        description:
          type: string
        required_extracted_args:
          type: array
          items:
            type: string
        optional_extracted_args:
          type: array
          items:
            type: string
        content:
          type: string
        prompt:
          type: string
        type:
          enum:
            - beam_tool
            - gpt_tool
            - custom_gpt_tool
            - custom_integration_tool
            - code_executor_tool
          type: string
        integrationIdentifier:
          type: string
        categories:
          type: array
          items:
            type: string
        icon_src:
          type: string
        integration_provider_auth:
          type: string
        integration_provider_executor:
          type: string
        preferred_model:
          type: string
        integration_id:
          type: string
        apiKeyType:
          type: string
        parameter:
          type: string
        tool_category_id:
          type: string
        isActive:
          type: boolean
        agent_categories:
          type: array
          items:
            type: string
        required_generated_args:
          type: array
          items:
            type: string
        optional_generated_args:
          type: array
          items:
            type: string
        is_memory_tool:
          type: boolean
        memory_lookup_instruction:
          type: string
        workspace_id:
          type: string
      required:
        - tool_name
        - function_name
        - requires_consent
        - requires_translation
        - description
        - required_extracted_args
        - content
        - prompt
        - type
        - isActive
    CustomIntegrationToolQueryParamsDTO:
      type: object
      properties:
        key:
          type: string
        parameterHint:
          type: string
        type:
          type: string
        required:
          type: boolean
      required:
        - key
        - parameterHint
        - required
    CustomIntegrationToolBodyParamsDTO:
      type: object
      properties:
        key:
          type: string
        parameterHint:
          type: string
        type:
          type: string
        required:
          type: boolean
      required:
        - key
        - parameterHint
        - type
        - required
    CustomIntegrationToolUrlParamsDTO:
      type: object
      properties:
        key:
          type: string
        parameterHint:
          type: string
        type:
          type: string
        required:
          type: boolean
      required:
        - key
        - parameterHint
        - required
    Question:
      type: object
      properties:
        id:
          type: string
        question:
          type: string
        keywordInPrompt:
          type: string
      required:
        - id
        - question
        - keywordInPrompt
    IntegrationsViewEntity:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the integration.
        name:
          type: string
          description: Name of the integration.
        description:
          type: string
          description: Description of the integration.
        systemIntegrationIdentifier:
          type: string
          description: System integration identifier.
        integrationCategoryId:
          type: string
          description: UUID of the integration category.
        iconSrc:
          type: string
          description: Icon source URL.
        type:
          enum:
            - integration
            - custom_integration
          type: string
          description: Type of integration.
        userId:
          type: string
          description: UUID of the user.
        workspaceId:
          type: string
          description: UUID of the workspace.
        privacyPolicyUrl:
          type: string
          description: Privacy policy URL.
        shortDescription:
          type: string
          description: Short description of the integration.
        longDescription:
          type: string
          description: Detailed description of the integration.
        systemIntegrationProvider:
          type: string
          description: System integration provider.
        customAuthParameters:
          type: object
          description: Custom authentication parameters.
        category:
          type: string
          description: Category of the integration.
        authenticationMeta:
          description: Authentication metadata.
          allOf:
            - $ref: '#/components/schemas/CustomIntegrationAuthenticationMetaDTO'
        syncModels:
          type: object
          description: Sync models configuration.
        isPublished:
          type: boolean
          description: Whether the integration is published.
        attributes:
          type: object
          description: Integration attributes.
        status:
          type: string
          description: Current status of the integration.
        customHeaders:
          type: object
          description: Custom headers for API requests.
        allowWaiting:
          type: boolean
          description: Whether the integration allows waiting.
        authType:
          type: string
        provider:
          $ref: '#/components/schemas/IntegrationProvider'
        providers:
          type: array
          items:
            $ref: '#/components/schemas/IntegrationProvider'
        integrationCategory:
          $ref: '#/components/schemas/IntegrationCategory'
        actions:
          type: array
          items:
            $ref: '#/components/schemas/Tool'
      required:
        - id
        - type
        - provider
        - providers
        - integrationCategory
        - actions
    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
    IntegrationProviderDetails:
      type: object
      properties:
        request:
          $ref: '#/components/schemas/IntegrationProviderRequest'
        response:
          type: object
    AgentCategoryInfo:
      type: object
      properties:
        id:
          type: string
        title:
          type: string
    CustomIntegrationAuthenticationMetaDTO:
      type: object
      properties:
        clientId:
          type: string
        customOAuthUrl:
          type: string
        clientSecret:
          type: string
        authorizationUrl:
          type: string
        accessTokenUrl:
          type: string
        refreshTokenUrl:
          type: string
        scopes:
          type: array
          items:
            type: string
        apiKeyType:
          type: string
          enum:
            - default
            - bearer
            - header
            - query
        grantType:
          type: string
          enum:
            - client_credentials
            - authorization_code
        parameter:
          type: string
        clientAuthentication:
          type: string
          enum:
            - headers
            - body
      required:
        - clientId
        - clientSecret
        - authorizationUrl
        - accessTokenUrl
        - refreshTokenUrl
        - scopes
        - apiKeyType
        - grantType
        - parameter
        - clientAuthentication
    IntegrationProvider:
      type: object
      properties:
        userId:
          type: string
        credentialId:
          type: string
        connectionName:
          type: string
        integration:
          type: string
        status:
          type: string
        integrationId:
          type: string
        isOAuth2:
          type: boolean
        provider:
          enum:
            - custom
            - nango
            - nango_cloud
            - pipedream
            - none
          type: string
        workspace:
          type: string
        tokenExpiresIn:
          type: number
        credentials:
          type: object
        isDefault:
          type: boolean
        creator:
          $ref: '#/components/schemas/User'
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
        - userId
        - credentialId
        - connectionName
        - integration
        - status
        - isOAuth2
        - provider
        - workspace
        - tokenExpiresIn
        - credentials
        - isDefault
        - creator
        - id
        - createdAt
        - updatedAt
    IntegrationCategory:
      type: object
      properties:
        title:
          type: string
          description: Title of the integration category.
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
        - title
        - id
        - createdAt
        - updatedAt
    Tool:
      type: object
      properties:
        toolFunctionName:
          type: string
          description: Function name used to invoke this tool.
        toolName:
          type: string
          description: Display name of the tool.
        iconSrc:
          type: string
          nullable: true
          description: Icon source URL.
        type:
          enum:
            - beam_tool
            - gpt_tool
            - custom_gpt_tool
            - custom_integration_tool
            - code_executor_tool
          type: string
          description: Type of tool.
        isVisibleOnUi:
          type: boolean
          description: Whether this tool is visible on the UI.
        integrationId:
          type: string
          nullable: true
          description: UUID of the associated integration.
        meta:
          description: Tool metadata.
          allOf:
            - $ref: '#/components/schemas/GetToolsMetaDto'
        outputId:
          type: string
          description: UUID of the output configuration.
        prompt:
          type: string
          description: Prompt template for the tool.
        inputParams:
          description: Input parameters configuration.
          type: array
          items:
            $ref: '#/components/schemas/UserInputParamConfigDto'
        requiresConsent:
          type: boolean
          description: Whether user consent is required before execution.
        isMemoryTool:
          type: boolean
          nullable: true
          description: Whether this tool accesses or stores data in memory.
        isBackgroundTool:
          type: boolean
          description: Whether this tool runs in the background.
        memoryLookupInstruction:
          type: string
          nullable: true
          description: Instructions for memory lookup.
        outputParams:
          description: Output parameters configuration.
          type: array
          items:
            $ref: '#/components/schemas/CustomToolOutput'
        isBatchExecutionEnabled:
          type: boolean
          nullable: true
          description: Whether batch execution is enabled.
        description:
          type: string
          nullable: true
          description: Description of the tool.
        isActive:
          type: boolean
          description: Whether the tool is active.
        workspaceId:
          type: string
          nullable: true
          description: UUID of the workspace.
        userId:
          type: string
          nullable: true
          description: UUID of the user.
        agentId:
          type: string
          nullable: true
          description: UUID of the agent.
        httpMethod:
          nullable: true
          enum:
            - post
            - get
            - delete
            - patch
            - put
          type: string
          description: HTTP method for custom integration tools.
        url:
          type: string
          nullable: true
          description: URL for custom integration tools.
        isAvailableToWorkspace:
          type: boolean
          nullable: true
          description: Whether the tool is available to the workspace.
        preferredModel:
          type: string
          description: Preferred model for the tool.
        shortDescription:
          type: string
          description: Short description of the tool.
        isSharable:
          type: boolean
          nullable: true
          description: Whether the tool is sharable.
        systemIntegrationIdentifier:
          type: string
          nullable: true
          description: System integration identifier.
        apiKeyType:
          type: string
          nullable: true
          description: API key type.
        parameter:
          type: string
          nullable: true
          description: Parameter configuration.
        allowWaiting:
          type: boolean
          description: Whether the tool allows waiting.
        queryParams:
          description: Query parameters for custom integration tools.
          type: array
          items:
            $ref: '#/components/schemas/CustomIntegrationToolQueryParamsDTO'
        bodyParams:
          description: Body parameters for custom integration tools.
          type: array
          items:
            $ref: '#/components/schemas/CustomIntegrationToolBodyParamsDTO'
        urlParams:
          description: URL parameters for custom integration tools.
          type: array
          items:
            $ref: '#/components/schemas/CustomIntegrationToolUrlParamsDTO'
        createdAt:
          format: date-time
          type: string
          description: Timestamp when the tool was created.
        updatedAt:
          format: date-time
          type: string
          description: Timestamp when the tool was last updated.
        deletedAt:
          format: date-time
          type: string
          description: Timestamp when the tool was deleted.
        toolConfigurations:
          type: array
          items:
            $ref: '#/components/schemas/AgentToolConfiguration'
        questions:
          type: array
          items:
            $ref: '#/components/schemas/Question'
        embedding:
          type: string
          nullable: true
        integration:
          $ref: '#/components/schemas/IntegrationsViewEntity'
        toolConfiguration:
          $ref: '#/components/schemas/AgentToolConfiguration'
        id:
          type: string
      required:
        - toolFunctionName
        - toolName
        - type
        - meta
        - requiresConsent
        - isBackgroundTool
        - isActive
        - createdAt
        - updatedAt
        - id
    IntegrationProviderRequest:
      type: object
      properties:
        endpoint:
          type: string
        method:
          type: string
        query:
          type: array
          items:
            type: string
        body:
          type: object
        bypassTLS:
          type: boolean
    User:
      type: object
      properties:
        name:
          type: string
          description: Full name of the user.
          example: John Doe
        avatarSrc:
          type: string
          description: URL to the user profile avatar image.
          example: https://example.com/avatars/user123.png
        email:
          type: string
        cognitoUserId:
          type: string
        socialProvider:
          type: string
        socialProviderId:
          type: string
        password:
          type: string
        paymentProviderCustomerId:
          type: string
        rememberToken:
          type: string
        emailVerified:
          type: boolean
        referralCode:
          type: string
        role_name:
          type: string
        isInternalUser:
          type: boolean
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
        - name
        - email
        - cognitoUserId
        - role_name
        - isInternalUser
        - id
        - createdAt
        - updatedAt
  securitySchemes:
    x-api-key:
      type: apiKey
      in: header
      name: x-api-key

````