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

# Run a flow



## OpenAPI

````yaml /api-reference/membrane-api.json post /flows/{selector}/run
openapi: 3.0.0
info:
  title: Membrane API
  description: API documentation for Membrane Engine
  version: '1.0'
  contact: {}
servers:
  - url: https://api.getmembrane.com
security:
  - bearer: []
tags: []
paths:
  /flows/{selector}/run:
    post:
      tags:
        - RunFlow
      summary: Run a flow
      operationId: runFlow
      parameters:
        - name: selector
          required: true
          in: path
          schema:
            type: string
        - name: layer
          required: false
          in: query
          schema:
            type: string
            enum:
              - universal
              - integration
              - connection
        - name: integrationKey
          required: false
          in: query
          schema:
            type: string
        - name: integrationId
          required: false
          in: query
          schema:
            type: string
        - name: connectionId
          required: false
          in: query
          schema:
            type: string
        - name: connectionKey
          required: false
          in: query
          schema:
            type: string
        - name: instanceKey
          required: false
          in: query
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunFlowRequestDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlowRunDto'
components:
  schemas:
    RunFlowRequestDto:
      type: object
      properties:
        nodeKey:
          type: string
        input:
          type: object
        meta:
          type: object
          additionalProperties:
            type: object
    FlowRunDto:
      type: object
      properties:
        userId:
          type: string
        tenantId:
          type: string
        id:
          type: string
        integrationId:
          type: string
        connectionId:
          type: string
        externalAppId:
          type: string
        name:
          type: string
        connectionFlowId:
          type: string
        integrationFlowId:
          type: string
        universalFlowId:
          type: string
        startNodeKey:
          type: string
        input:
          type: object
        state:
          type: string
          enum:
            - queued
            - running
            - completed
            - stopped
            - failed
        startTime:
          type: string
        endTime:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/FlowRunDto__schema0'
        nodes:
          type: object
          additionalProperties:
            type: object
            properties:
              state:
                type: string
                enum:
                  - running
                  - completed
                  - stopped
                  - failed
              runs:
                type: number
              erroredRuns:
                type: number
              outputs:
                type: number
            required:
              - state
        launchedBy:
          type: object
          properties:
            type:
              type: string
              enum:
                - api-trigger
                - schedule-trigger
                - app-event-trigger
                - data-source-trigger
                - external-event
            ids:
              type: array
              items:
                type: string
          required:
            - type
        meta:
          type: object
          additionalProperties:
            type: object
        flowInstance:
          type: object
          properties:
            id:
              type: string
              description: >-
                Internal database ID of the element. Assigned by the API; unique
                per element.
            name:
              type: string
              description: >-
                Display name. Always present in API responses (filled by API if
                not set on create).
            uuid:
              description: >-
                Stable unique identifier (UUID). Can be provided on create;
                otherwise generated. Must be unique across elements of this
                type.
              type: string
            key:
              description: >-
                Stable key for referencing the element (e.g. in selectors).
                Unique per (parent, integration) scope. Generated from name if
                not provided on create.
              type: string
            description:
              description: Optional human-readable description.
              type: string
            meta:
              description: Optional key-value metadata.
              type: object
              additionalProperties:
                type: object
            state:
              type: string
              enum:
                - BUILDING
                - CLIENT_ACTION_REQUIRED
                - CONFIGURATION_ERROR
                - SETUP_FAILED
                - READY
                - DISCONNECTING
            errors:
              description: Validation or setup errors when state is not READY.
              type: array
              items:
                $ref: '#/components/schemas/FlowRunDto__schema0'
            revision:
              description: >-
                Opaque revision token; changes on each update. Used for
                optimistic concurrency.
              type: string
            createdAt:
              type: string
            updatedAt:
              type: string
            archivedAt:
              description: >-
                When set, the element is archived (soft-deleted). Archived
                elements cannot be patched.
              type: string
            isDeactivated:
              description: >-
                When true, setup is skipped and the element is treated as
                inactive (e.g. when dependencies are deactivated or the element
                is archived).
              type: boolean
            isReadOnly:
              description: >-
                When true, the element cannot be modified (e.g. published
                package elements or elements from another workspace).
              type: boolean
            integrationId:
              description: >-
                Internal ID of the integration this element belongs to. Omit for
                universal elements; set for integration-specific elements.
                Uniqueness of key is scoped per integration.
              type: string
            integrationUuid:
              description: >-
                UUID of the integration; alternative to integrationId when
                creating from export. Resolved to integrationId by the API.
              type: string
            integrationKey:
              description: >-
                Key of the integration; alternative to integrationId. Resolved
                to integrationId by the API.
              type: string
            parentUuid:
              description: >-
                UUID of the parent element; alternative to parentId when
                creating (e.g. from export). Resolved to parentId by the API.
              type: string
            parentKey:
              description: >-
                Key of the parent element; alternative to parentId. Resolved to
                parentId by the API.
              type: string
            connectionId:
              type: string
            instanceKey:
              type: string
            isUniversal:
              description: >-
                When true, the element is universal (shared across all
                integrations). Requires universal-element access. Omit or false
                for integration-specific elements.
              type: boolean
            externalAppId:
              description: >-
                Internal ID of the external app this element belongs to.
                Auto-populated from the integration when integrationId is set
                and the integration has an externalAppId.
              type: string
            externalAppUuid:
              description: >-
                UUID of the external app; alternative to externalAppId when
                creating from export. Resolved to externalAppId by the API.
              type: string
            externalAppKey:
              description: >-
                Key of the external app; alternative to externalAppId. Resolved
                to externalAppId by the API.
              type: string
            flowId:
              type: string
            universalFlowId:
              type: string
            parametersSchema:
              $ref: '#/components/schemas/FlowRunDto__schema1'
            parameters:
              type: object
            enabled:
              type: boolean
            nodes:
              type: object
              additionalProperties:
                type: object
                properties:
                  type:
                    type: string
                  version:
                    type: number
                  name:
                    type: string
                  description:
                    type: string
                  config:
                    type: object
                  concurrency:
                    type: number
                  onError:
                    type: string
                    enum:
                      - stop
                      - continue
                  ui:
                    type: object
                  inputSchema:
                    type: object
                  outputSchema:
                    type: object
                  outputExample:
                    type: object
                  links:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                        filter:
                          type: object
                        name:
                          type: string
                  isCustomized:
                    type: boolean
                  state:
                    type: string
                    enum:
                      - SETUP_FAILED
                      - READY
                  errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/FlowRunDto__schema0'
                  userConfig:
                    type: object
                  testInput:
                    type: object
                  dependencies:
                    type: array
                    items:
                      type: object
            autoCreateInstances:
              type: boolean
            isCustomized:
              type: boolean
            userId:
              type: string
            tenantId:
              type: string
            flowRevision:
              type: string
            universalFlowRevision:
              type: string
            customized:
              type: object
              properties:
                name:
                  type: boolean
                nodes:
                  type: boolean
            dependencies:
              type: array
              items:
                type: object
          required:
            - id
            - name
        connection:
          type: object
          properties:
            id:
              type: string
              description: >-
                Internal database ID of the element. Assigned by the API; unique
                per element.
            name:
              type: string
            userId:
              type: string
            tenantId:
              type: string
            type:
              type: string
              enum:
                - connector
                - mcp
            key:
              type: string
            isTest:
              type: boolean
            connected:
              type: boolean
            disconnected:
              description: Use `connected` instead.
              type: boolean
              deprecated: true
            isDefunct:
              type: boolean
            state:
              type: string
              enum:
                - BUILDING
                - CLIENT_ACTION_REQUIRED
                - CONFIGURATION_ERROR
                - SETUP_FAILED
                - READY
                - DISCONNECTING
            errors:
              type: array
              items:
                $ref: '#/components/schemas/FlowRunDto__schema0'
            requestError:
              $ref: '#/components/schemas/FlowRunDto__schema0'
            error:
              $ref: '#/components/schemas/FlowRunDto__schema0'
              description: Use `requestError` and `errors` instead.
              deprecated: true
            integrationId:
              type: string
            connectorId:
              type: string
            externalAppId:
              type: string
            connectorVersion:
              type: string
            authOptionKey:
              type: string
            createdAt:
              type: string
            updatedAt:
              type: string
            lastActiveAt:
              type: string
            nextCredentialsRefreshAt:
              type: string
            nextRetryTimestamp:
              type: string
            retryAttempts:
              type: number
            canTest:
              type: boolean
            canRefreshCredentials:
              type: boolean
            archivedAt:
              type: string
            isDeactivated:
              type: boolean
            meta:
              type: object
              additionalProperties:
                type: object
            buildingAgentSessionId:
              description: >-
                Session ID for building the element via intent-based endpoints
                (create/update with intent). Present when state is BUILDING.
              type: string
            clientAction:
              description: >-
                Action the client must perform to advance this connection.
                Present if and only if state is CLIENT_ACTION_REQUIRED.
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - connect
                    - provide-input
                description:
                  type: string
                uiUrl:
                  type: string
                agentInstructions:
                  type: string
                handoffAgentInstructions:
                  type: string
              required:
                - type
                - description
          required:
            - id
            - name
            - userId
            - createdAt
            - updatedAt
        integration:
          type: object
          properties:
            id:
              type: string
              description: >-
                Internal database ID of the element. Assigned by the API; unique
                per element.
            name:
              type: string
              description: >-
                Display name. Always present in API responses (filled by API if
                not set on create).
            uuid:
              description: >-
                Stable unique identifier (UUID). Can be provided on create;
                otherwise generated. Must be unique across elements of this
                type.
              type: string
            key:
              description: >-
                Stable key for referencing the element (e.g. in selectors).
                Unique per (parent, integration) scope. Generated from name if
                not provided on create.
              type: string
            description:
              description: Optional human-readable description.
              type: string
            meta:
              description: Optional key-value metadata.
              type: object
              additionalProperties:
                type: object
            state:
              description: >-
                Current lifecycle or health state (e.g. READY, SETUP_FAILED,
                CONFIGURATION_ERROR, BUILDING). Set by the engine during setup
                and validation.
              type: string
              enum:
                - BUILDING
                - CLIENT_ACTION_REQUIRED
                - CONFIGURATION_ERROR
                - SETUP_FAILED
                - READY
                - DISCONNECTING
            errors:
              description: Validation or setup errors when state is not READY.
              type: array
              items:
                $ref: '#/components/schemas/FlowRunDto__schema0'
            revision:
              description: >-
                Opaque revision token; changes on each update. Used for
                optimistic concurrency.
              type: string
            createdAt:
              description: ISO date when the element was created.
              type: string
            updatedAt:
              description: ISO date when the element was last updated.
              type: string
            archivedAt:
              type: string
            isDeactivated:
              type: boolean
            isReadOnly:
              description: >-
                When true, the element cannot be modified (e.g. published
                package elements or elements from another workspace).
              type: boolean
            logoUri:
              type: string
            connectorId:
              type: string
            connectorVersion:
              type: string
            oAuthCallbackUri:
              type: string
            parameters:
              type: object
            hasMissingParameters:
              type: boolean
            hasDocumentation:
              type: boolean
            hasOperations:
              type: boolean
            operationsCount:
              type: number
            hasData:
              type: boolean
            dataCollectionsCount:
              type: number
            hasEvents:
              type: boolean
            eventsCount:
              type: number
            hasGlobalWebhooks:
              type: boolean
            hasUdm:
              type: boolean
            isTest:
              type: boolean
            externalAppId:
              type: string
            authType:
              type: string
              enum:
                - integration-app-token
                - membrane-token
                - oauth2
                - oauth1
                - client-credentials
                - proxy
            optionsConfig:
              type: object
              additionalProperties:
                type: object
                properties:
                  disabled:
                    type: boolean
                  parameters:
                    type: object
                    additionalProperties:
                      type: object
          required:
            - id
            - name
            - logoUri
        user:
          type: object
          properties:
            id:
              type: string
            name:
              type: string
            meta:
              type: object
              additionalProperties:
                type: object
            internalId:
              type: string
            fields:
              type: object
              additionalProperties:
                type: object
            credentials:
              type: object
            lastActiveAt:
              type: string
            isTest:
              type: boolean
            isBillable:
              type: boolean
            isActive:
              type: boolean
            aiCreditsRolling30DayLimit:
              type: number
              minimum: 0
              nullable: true
            createdAt:
              type: string
            archivedAt:
              type: string
          required:
            - id
            - name
            - internalId
      required:
        - userId
        - id
        - connectionFlowId
        - startNodeKey
        - state
        - startTime
    FlowRunDto__schema0:
      type: object
      properties:
        type:
          type: string
          enum:
            - bad_request
            - connection
            - configuration
            - dependency_error
            - flow_run
            - flow_instance_setup
            - concurrency
            - internal
            - action_run
            - action_instance_setup
            - unit_run
            - custom_code
            - insufficient_credit
            - openrouter_not_configured
        key:
          type: string
        message:
          type: string
        data:
          type: object
        stack:
          type: object
        causedByError:
          $ref: '#/components/schemas/FlowRunDto__schema0'
        logs:
          type: array
          items:
            type: object
      required:
        - message
    FlowRunDto__schema1:
      type: object
      properties:
        $ref: 429e8c70-18f2-4268-9585-1b955da25136
        title:
          type: string
        description:
          type: string
        type:
          anyOf:
            - type: string
            - type: array
              items:
                type: string
        format:
          type: string
        properties:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/FlowRunDto__schema1'
        items:
          $ref: '#/components/schemas/FlowRunDto__schema1'
        additionalProperties:
          anyOf:
            - type: boolean
            - $ref: '#/components/schemas/FlowRunDto__schema1'
        enum:
          type: array
          items:
            anyOf:
              - type: string
              - type: number
        referenceRecords:
          type: array
          items:
            type: object
        referenceCollection:
          type: object
          properties:
            key:
              type: object
            parameters:
              type: object
              additionalProperties:
                type: object
        referenceUdm:
          type: string
        default:
          type: object
        allowCustom:
          type: boolean
        required:
          type: array
          items:
            type: string
        minLength:
          type: number
        maxLength:
          type: number
        minimum:
          type: number
        maximum:
          type: number
        maxItems:
          type: number
        readOnly:
          type: boolean
        writeOnly:
          type: boolean
        examples:
          type: array
          items:
            type: object
        anyOf:
          type: array
          items:
            $ref: '#/components/schemas/FlowRunDto__schema1'
        isImplied:
          type: boolean
        isSensitive:
          type: boolean
        referenceCollectionPath:
          type: string
        referenceCollectionUri:
          type: string
      additionalProperties:
        type: object
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````