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

# Bulk attaches volumes to target project and allows for authorized user impersonation

> Bulk attaches volumes to target project and allows for authorized user impersonation,
returns success/failure per volume



## OpenAPI

````yaml /api-specs/6.3/domino-volumes-api.json post /rpc/bulk-attach-volumes-to-project
openapi: 3.0.3
info:
  description: >-
    Microservice responsible for managing Domino Volumes for NetApp ONTAP
    feature
  title: Domino Volumes for NetApp ONTAP Microservice API
  termsOfService: http://swagger.io/terms/
  contact:
    name: Domino Data Lab
    url: https://tickets.dominodatalab.com/hc/en-us
    email: support@dominodatalab.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: '1.0'
servers:
  - url: https://mycluster.domino.tech/remotefs/v1
    description: >-
      Replace 'mycluster.domino.tech' with your Domino cluster hostname. For
      Domino Cloud customers, that is `your-subdomain`.domino.tech (e.g.,
      acme.domino.tech). For self-hosted deployments, it is the hostname you
      reach the Domino UI at.
security: []
externalDocs:
  description: OpenAPI
  url: https://swagger.io/resources/open-api/
paths:
  /rpc/bulk-attach-volumes-to-project:
    post:
      tags:
        - volumes
      summary: >-
        Bulk attaches volumes to target project and allows for authorized user
        impersonation
      description: >-
        Bulk attaches volumes to target project and allows for authorized user
        impersonation,

        returns success/failure per volume
      parameters:
        - description: JWT of the user to impersonate (requires ImpersonateUser permission)
          name: X-Domino-Impersonate-User
          in: header
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/server.BulkAttachVolumesRequest'
        description: Volume IDs to attach and target Project ID
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/server.AttachVolumeOperationResults'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/server.HTTPError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/server.HTTPError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/server.HTTPError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/server.HTTPError'
components:
  schemas:
    server.BulkAttachVolumesRequest:
      type: object
      required:
        - projectId
        - volumeIds
      properties:
        projectId:
          type: string
        volumeIds:
          type: array
          items:
            type: string
    server.AttachVolumeOperationResults:
      type: object
      required:
        - results
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/server.AttachVolumeOperationResult'
    server.HTTPError:
      type: object
      properties:
        message:
          type: string
    server.AttachVolumeOperationResult:
      type: object
      required:
        - action
        - status
        - volumeId
      properties:
        action:
          $ref: '#/components/schemas/remotefs.Action'
        data:
          $ref: '#/components/schemas/remotefs.Volume'
        error:
          type: string
        status:
          type: integer
        volumeId:
          type: string
    remotefs.Action:
      type: string
      enum:
        - copy
        - attach
      x-enum-varnames:
        - ActionCopy
        - ActionAttach
    remotefs.Volume:
      type: object
      required:
        - capacity
        - createdAt
        - createdBy
        - dataPlaneId
        - filesystemId
        - id
        - maxSnapshots
        - name
        - numSnapshots
        - path
        - status
        - uniqueName
        - updatedAt
        - updatedBy
      properties:
        capacity:
          description: Maximum size in bytes
          type: integer
        createdAt:
          type: string
        createdBy:
          $ref: '#/components/schemas/remotefs.UserSummary'
        dataPlaneId:
          type: string
        description:
          type: string
        filesystemId:
          type: string
        filesystemName:
          type: string
        grants:
          type: array
          items:
            $ref: '#/components/schemas/remotefs.VolumeGrant'
        id:
          type: string
        lastMountedTime:
          type: string
        maxSnapshots:
          type: integer
        name:
          type: string
        numSnapshots:
          type: integer
        path:
          type: string
        projects:
          type: array
          items:
            $ref: '#/components/schemas/remotefs.Project'
        properties:
          type: array
          items:
            $ref: '#/components/schemas/remotefs.PropertyValueGroup'
        status:
          $ref: '#/components/schemas/remotefs.ResourceStatus'
        storageSize:
          description: Used size in bytes
          type: integer
        taxonomyTags:
          type: array
          items:
            $ref: '#/components/schemas/remotefs.TaxonomyTag'
        uniqueName:
          type: string
        updatedAt:
          type: string
        updatedBy:
          $ref: '#/components/schemas/remotefs.UserSummary'
    remotefs.UserSummary:
      type: object
      required:
        - firstName
        - id
        - lastName
        - userName
      properties:
        firstName:
          type: string
        id:
          type: string
        lastName:
          type: string
        userName:
          type: string
    remotefs.VolumeGrant:
      type: object
      required:
        - isOrganization
        - targetId
        - targetName
        - targetRole
      properties:
        isOrganization:
          type: boolean
        targetId:
          description: References Mongo user ID (including organizations)
          type: string
        targetName:
          type: string
        targetRole:
          $ref: '#/components/schemas/remotefs.VolumeRole'
    remotefs.Project:
      type: object
      required:
        - addedAt
        - addedBy
        - name
        - projectId
        - volumeId
      properties:
        addedAt:
          type: string
        addedBy:
          $ref: '#/components/schemas/remotefs.UserSummary'
        name:
          type: string
        projectId:
          description: References Mongo project ID
          type: string
        volumeId:
          type: string
    remotefs.PropertyValueGroup:
      type: object
      properties:
        fields:
          type: array
          items:
            $ref: '#/components/schemas/remotefs.PropertyValueField'
        groupName:
          type: string
    remotefs.ResourceStatus:
      type: string
      enum:
        - Active
        - MarkedForDeletion
        - Deleted
      x-enum-varnames:
        - Active
        - MarkedForDeletion
        - Deleted
    remotefs.TaxonomyTag:
      type: object
      properties:
        description:
          type: string
        fullPath:
          type: array
          items:
            type: string
        id:
          type: string
        label:
          type: string
        namespaceId:
          type: string
        namespaceLabel:
          type: string
    remotefs.VolumeRole:
      type: string
      enum:
        - VolumeOwner
        - VolumeEditor
        - VolumeReader
        - Service
      x-enum-varnames:
        - VolumeOwner
        - VolumeEditor
        - VolumeReader
        - Service
    remotefs.PropertyValueField:
      type: object
      properties:
        propertyId:
          type: string
        propertyLabel:
          type: string
        status:
          type: string
        type:
          type: string
        updatedAt:
          type: string
        updatedBy:
          $ref: '#/components/schemas/remotefs.PropertyUser'
        value:
          type: string
    remotefs.PropertyUser:
      type: object
      properties:
        userID:
          type: string
        username:
          type: string

````

## Related topics

- [Bulk copies volumes and contents to target project and allows for authorized user impersonation](/6.3/api-reference/volumes/bulk-copies-volumes-and-contents-to-target-project-and-allows-for-authorized-user-impersonation.md)
- [Attach volume to project](/6.3/api-reference/volumes/attach-volume-to-project.md)
- [Bulk add attachments to bundles](/6.3/api-reference/attachments/bulk-add-attachments-to-bundles.md)
- [Add or remove NetApp Volumes on Projects](/6.3/platform-capabilities/core-concepts/data/netapp-volumes/add-remove-netapp-volumes.md)
