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

# Get port configuration

> Retrieve the complete port configuration system including available data types,
compatibility rules, and default settings. This configuration determines how
nodes can be connected in workflows based on port data types.




## OpenAPI

````yaml /api-reference/openapi.yaml get /port-config
openapi: 3.0.3
info:
  title: FlowDrop™ API
  description: >
    FlowDrop is a visual workflow editor for AI applications and data processing
    pipelines.

    This API provides comprehensive endpoints for managing workflows, node
    types, pipeline execution, and port configuration.


    ## Features

    - **Workflow Management**: Complete CRUD operations for workflows with nodes
    and edges

    - **Node Type Discovery**: Browse and search available node processors with
    metadata

    - **Pipeline Execution**: Execute workflows with real-time status tracking
    and job management

    - **Port Configuration**: Dynamic port compatibility system with data type
    management

    - **Real-time Updates**: Track node execution status and pipeline progress

    - **Import/Export**: Import and export workflows in JSON format

    - **Validation**: Workflow validation before execution

    - **Agent Spec Integration**: Import/export Oracle Open Agent Spec flows and
    execute on compatible runtimes (WayFlow/PyAgentSpec)


    ## Architecture

    - **Frontend**: Svelte 5 + XYFlow for visual workflow editing

    - **Backend**: Drupal 10/11 with custom node processor plugins

    - **API**: RESTful JSON API with consistent response format

    - **Storage**: Drupal entity system with workflow versioning


    ## Authentication

    API endpoints require Drupal authentication. Use Bearer token or
    session-based authentication.


    ## Rate Limiting

    - Node Discovery: 100 requests/minute

    - Workflow Operations: 50 requests/minute

    - Pipeline Execution: 20 requests/minute


    ## Error Handling

    All errors return a consistent format with success flag, error message, and
    optional details.
  version: 1.0.0
  contact:
    name: FlowDrop Support
    email: shibinkidd@gmail.com
    url: https://www.drupal.org/project/issues/flowdrop?categories=All
servers:
  - url: http://localhost:5173/api/flowdrop
    description: Local development server (Svelte)
  - url: https://flowdrop.ddev.site/api/flowdrop
    description: Local Drupal server
security:
  - BearerAuth: []
  - SessionAuth: []
tags:
  - name: System
    description: System health and status endpoints
  - name: Node Types
    description: Node type discovery and metadata endpoints
  - name: Configuration
    description: System configuration endpoints including port configuration
  - name: Workflows
    description: Workflow CRUD operations
  - name: Pipeline
    description: Pipeline execution and monitoring
  - name: Playground
    description: Interactive workflow testing and chat interface
  - name: Interrupts
    description: |
      Human-in-the-Loop (HITL) interrupt endpoints for workflow interactions.
      Interrupts allow workflows to pause execution and request user input.
  - name: Validation
    description: Workflow validation
  - name: Import/Export
    description: Workflow import and export operations
  - name: Chat
    description: |
      LLM Chat Interface for natural language workflow building.
      Translates user intent into DSL commands via a backend LLM integration.
  - name: Agent Spec
    description: >
      Oracle Open Agent Spec integration endpoints.

      Provides bidirectional conversion between FlowDrop workflows and Agent
      Spec format,

      plus runtime execution on compatible runtimes (WayFlow, PyAgentSpec).

      @see https://github.com/oracle/agent-spec
paths:
  /port-config:
    get:
      tags:
        - Configuration
      summary: Get port configuration
      description: >
        Retrieve the complete port configuration system including available data
        types,

        compatibility rules, and default settings. This configuration determines
        how

        nodes can be connected in workflows based on port data types.
      operationId: getPortConfig
      responses:
        '200':
          description: Port configuration retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortConfigResponse'
              example:
                success: true
                data:
                  version: 1.0.0
                  defaultDataType: mixed
                  dataTypes:
                    - id: string
                      name: String
                      description: Text data type
                      color: '#3b82f6'
                      category: primitive
                      aliases:
                        - text
                        - str
                      enabled: true
                    - id: number
                      name: Number
                      description: Numeric data type
                      color: '#10b981'
                      category: primitive
                      enabled: true
                    - id: mixed
                      name: Mixed
                      description: Any data type
                      color: '#6b7280'
                      category: special
                      enabled: true
                  compatibilityRules:
                    - from: string
                      to: mixed
                      description: Strings can connect to mixed ports
                    - from: number
                      to: mixed
                      description: Numbers can connect to mixed ports
                    - from: mixed
                      to: string
                      description: Mixed can connect to string with conversion
                message: Port configuration loaded successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    PortConfigResponse:
      allOf:
        - $ref: '#/components/schemas/ApiResponse'
        - type: object
          properties:
            data:
              $ref: '#/components/schemas/PortConfig'
    ApiResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the request was successful
        data:
          description: Response data (type varies by endpoint)
        message:
          type: string
          description: Response message
        error:
          type: string
          description: Error message (if any)
    PortConfig:
      type: object
      properties:
        version:
          type: string
          description: Version of the port configuration
          example: 1.0.0
        defaultDataType:
          type: string
          description: Default data type to use when none specified
          example: mixed
        dataTypes:
          type: array
          items:
            $ref: '#/components/schemas/PortDataTypeConfig'
          description: Available data types
        compatibilityRules:
          type: array
          items:
            $ref: '#/components/schemas/PortCompatibilityRule'
          description: Compatibility rules between data types
      required:
        - dataTypes
        - defaultDataType
    ErrorResponse:
      allOf:
        - $ref: '#/components/schemas/ApiResponse'
        - type: object
          properties:
            success:
              type: boolean
              example: false
            error:
              type: string
              description: Error message
            code:
              type: string
              description: Error code
            details:
              type: object
              description: Additional error details
    PortDataTypeConfig:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the data type
          example: string
        name:
          type: string
          description: Display name for the data type
          example: String
        description:
          type: string
          description: Description of the data type
          example: Text data type
        color:
          type: string
          description: Color for the data type (CSS color value)
          example: '#3b82f6'
        category:
          type: string
          description: Category grouping for the data type
          example: primitive
        aliases:
          type: array
          items:
            type: string
          description: Alternative names for this data type
          example:
            - text
            - str
        enabled:
          type: boolean
          default: true
          description: Whether this data type is enabled
      required:
        - id
        - name
        - color
    PortCompatibilityRule:
      type: object
      properties:
        from:
          type: string
          description: Source data type ID (what you're connecting FROM)
          example: string
        to:
          type: string
          description: Target data type ID (what you're connecting TO)
          example: mixed
        description:
          type: string
          description: Optional description of why this connection is allowed
          example: Strings can connect to mixed ports
      required:
        - from
        - to
  responses:
    Unauthorized:
      description: Unauthorized - authentication required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            error: Authentication required
            code: UNAUTHORIZED
    InternalServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            error: Internal server error
            code: INTERNAL_ERROR
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT token for authentication
    SessionAuth:
      type: apiKey
      in: cookie
      name: SESS
      description: Drupal session cookie

````