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

# Clone action



## OpenAPI

````yaml /api-reference/membrane-api.json post /actions/{selector}/clone
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:
  /actions/{selector}/clone:
    post:
      tags:
        - Actions
      summary: Clone action
      operationId: cloneAction
      parameters:
        - name: selector
          required: true
          in: path
          schema:
            type: string
        - name: layer
          in: query
          required: false
          schema:
            type: string
            enum:
              - universal
              - integration
              - connection
        - name: integrationKey
          in: query
          required: false
          schema:
            type: string
        - name: integrationId
          in: query
          required: false
          schema:
            type: string
        - name: connectionId
          in: query
          required: false
          schema:
            type: string
        - name: connectionKey
          in: query
          required: false
          schema:
            type: string
        - name: instanceKey
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionApiResponse'
components:
  schemas:
    ActionApiResponse:
      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/ActionApiResponse__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:
          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
        parentId:
          description: >-
            Internal ID of the parent workspace element. Used for hierarchy
            (e.g. integration-level under universal). Child key uniqueness is
            scoped by parent and integration.
          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:
          description: >-
            Connection ID for filtering or for connection-level instances. Same
            semantics as base integration-level property.
          type: string
        instanceKey:
          description: >-
            Key for the connection-level instance when multiple exist per
            connection. Same semantics as base integration-level property.
          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 when this action is published in a package
            that has an external app. Populated in API responses for published
            actions.
          type: string
        externalAppKey:
          description: >-
            Key of the external app; alternative to externalAppId. Resolved to
            externalAppId by the API.
          type: string
        inputSchema:
          $ref: '#/components/schemas/ActionApiResponse__schema1'
          description: >-
            JSON Schema for the action input. Used by the action engine for
            template output schema, run-time variables, and output mapping.
        type:
          description: >-
            Action type (e.g. HttpRequest, RunJavascript). Determines which
            handler runs and which config schema is used for validation.
          type: string
          enum:
            - api-request-to-external-app
            - api-request-to-your-app
            - http-request
            - run-javascript
            - api-request
        config:
          description: >-
            Type-specific configuration object. Validated by the handler's
            config schema; passed to handler setup/run and
            getTemplateOutputSchema.
          type: object
          properties: {}
          additionalProperties:
            type: object
        outputMapping:
          description: >-
            Mapping expression to transform the action's raw output. Evaluated
            with access to input, output, and user; used to compute transformed
            output schema and at run time.
        customOutputSchema:
          $ref: '#/components/schemas/ActionApiResponse__schema1'
          description: >-
            Explicit output schema for the action. Takes precedence over the
            transformed or default output schema when resolving outputSchema.
        isCustomized:
          type: boolean
        userId:
          type: string
        tenantId:
          type: string
        ownerName:
          type: string
          nullable: true
        universalParentId:
          description: >-
            For connection-level instances: ID of the universal (root) action in
            the hierarchy. Set automatically when creating an instance; used in
            list/selector queries to filter by universal parent.
          type: string
        outputSchema:
          $ref: '#/components/schemas/ActionApiResponse__schema1'
        isPublic:
          description: >-
            When true, the element is publicly listed (e.g. in universe). Used
            for published packages; publish/unpublish updates this on published
            elements.
          type: boolean
        logoUri:
          description: >-
            Resolved app logo for this element (integration -> connector ->
            external app -> favicon).
          type: string
        appliedToIntegrations:
          type: array
          items:
            type: object
            properties:
              element:
                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/ActionApiResponse__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:
                    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
                  parentId:
                    description: >-
                      Internal ID of the parent workspace element. Used for
                      hierarchy (e.g. integration-level under universal). Child
                      key uniqueness is scoped by parent and integration.
                    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:
                    description: >-
                      Connection ID for filtering or for connection-level
                      instances. Same semantics as base integration-level
                      property.
                    type: string
                  instanceKey:
                    description: >-
                      Key for the connection-level instance when multiple exist
                      per connection. Same semantics as base integration-level
                      property.
                    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 when this action is published in
                      a package that has an external app. Populated in API
                      responses for published actions.
                    type: string
                  externalAppKey:
                    description: >-
                      Key of the external app; alternative to externalAppId.
                      Resolved to externalAppId by the API.
                    type: string
                  inputSchema:
                    $ref: '#/components/schemas/ActionApiResponse__schema1'
                    description: >-
                      JSON Schema for the action input. Used by the action
                      engine for template output schema, run-time variables, and
                      output mapping.
                  type:
                    description: >-
                      Action type (e.g. HttpRequest, RunJavascript). Determines
                      which handler runs and which config schema is used for
                      validation.
                    type: string
                    enum:
                      - api-request-to-external-app
                      - api-request-to-your-app
                      - http-request
                      - run-javascript
                      - api-request
                  config:
                    description: >-
                      Type-specific configuration object. Validated by the
                      handler's config schema; passed to handler setup/run and
                      getTemplateOutputSchema.
                    type: object
                    properties: {}
                    additionalProperties:
                      type: object
                  outputMapping:
                    description: >-
                      Mapping expression to transform the action's raw output.
                      Evaluated with access to input, output, and user; used to
                      compute transformed output schema and at run time.
                  customOutputSchema:
                    $ref: '#/components/schemas/ActionApiResponse__schema1'
                    description: >-
                      Explicit output schema for the action. Takes precedence
                      over the transformed or default output schema when
                      resolving outputSchema.
                  isCustomized:
                    type: boolean
                  userId:
                    type: string
                  tenantId:
                    type: string
                  ownerName:
                    type: string
                    nullable: true
                  universalParentId:
                    description: >-
                      For connection-level instances: ID of the universal (root)
                      action in the hierarchy. Set automatically when creating
                      an instance; used in list/selector queries to filter by
                      universal parent.
                    type: string
                  outputSchema:
                    description: >-
                      Resolved output schema (cached after setup). Derived from
                      customOutputSchema, transformed schema from outputMapping,
                      default output schema, or parent custom output schema.
                      Read-only.
                  isPublic:
                    description: >-
                      When true, the element is publicly listed (e.g. in
                      universe). Used for published packages; publish/unpublish
                      updates this on published elements.
                    type: boolean
                required:
                  - id
                  - name
              integrationId:
                type: string
            required:
              - element
              - integrationId
        defaultOutputSchema:
          $ref: '#/components/schemas/ActionApiResponse__schema1'
        transformedOutputSchema:
          $ref: '#/components/schemas/ActionApiResponse__schema1'
        dependencies:
          type: array
          items:
            type: object
      required:
        - id
        - name
    ActionApiResponse__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/ActionApiResponse__schema0'
        logs:
          type: array
          items:
            type: object
      required:
        - message
    ActionApiResponse__schema1:
      type: object
      properties:
        $ref: b083eddf-85ea-464c-9897-4350f9ab93cb
        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/ActionApiResponse__schema1'
        items:
          $ref: '#/components/schemas/ActionApiResponse__schema1'
        additionalProperties:
          anyOf:
            - type: boolean
            - $ref: '#/components/schemas/ActionApiResponse__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
        referenceDataTable:
          type: object
          properties:
            dataTableId:
              type: string
            value:
              type: string
            label:
              type: string
            filter:
              type: array
              items:
                type: object
                properties:
                  field:
                    type: string
                  operator:
                    type: string
                    enum:
                      - is
                      - is_not
                      - is_one_of
                      - is_not_one_of
                      - is_true
                      - is_false
                      - contains
                      - does_not_contain
                      - array_includes
                      - array_does_not_include
                      - less_than
                      - less_than_or_equal
                      - more_than
                      - more_than_or_equal
                      - is_not_empty
                      - is_empty
                  value:
                    type: object
                required:
                  - field
                  - operator
          required:
            - dataTableId
        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/ActionApiResponse__schema1'
        isImplied:
          type: boolean
        isSensitive:
          type: boolean
        referenceCollectionPath:
          type: string
        referenceCollectionUri:
          type: string
      additionalProperties:
        type: object
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````