> ## 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 copies volumes and contents to target project and allows for authorized user impersonation

> Bulk copies volumes and contents to target project and allows for authorized user impersonation,
does not copy snapshots and returns success/failure per volume



## OpenAPI

````yaml /api-specs/cloud/domino-volumes-api.json post /rpc/bulk-copy-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-copy-volumes-to-project:
    post:
      tags:
        - volumes
      summary: >-
        Bulk copies volumes and contents to target project and allows for
        authorized user impersonation
      description: >-
        Bulk copies volumes and contents to target project and allows for
        authorized user impersonation,

        does not copy snapshots and 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.BulkCopyVolumesRequest'
        description: Volume IDs to copy and target Project ID
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/server.CopyVolumeOperationResults'
        '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.BulkCopyVolumesRequest:
      type: object
      required:
        - projectId
        - volumes
      properties:
        projectId:
          type: string
        volumes:
          type: array
          items:
            $ref: '#/components/schemas/remotefs.VolumeCopyDTO'
    server.CopyVolumeOperationResults:
      type: object
      required:
        - results
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/server.CopyVolumeOperationResult'
    server.HTTPError:
      type: object
      properties:
        message:
          type: string
    remotefs.VolumeCopyDTO:
      type: object
      required:
        - grants
        - sourceVolumeId
      properties:
        grants:
          type: array
          items:
            $ref: '#/components/schemas/remotefs.VolumeGrantDTO'
        sourceVolumeId:
          type: string
    server.CopyVolumeOperationResult:
      type: object
      required:
        - action
        - sourceVolumeId
        - status
      properties:
        action:
          $ref: '#/components/schemas/remotefs.Action'
        data:
          $ref: '#/components/schemas/remotefs.Volume'
        error:
          type: string
        sourceVolumeId:
          type: string
        status:
          type: integer
    remotefs.VolumeGrantDTO:
      type: object
      required:
        - targetId
        - targetRole
      properties:
        targetId:
          type: string
        targetRole:
          $ref: '#/components/schemas/remotefs.VolumeRole'
    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.VolumeRole:
      type: string
      enum:
        - VolumeOwner
        - VolumeEditor
        - VolumeReader
        - Service
      x-enum-varnames:
        - VolumeOwner
        - VolumeEditor
        - VolumeReader
        - Service
    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.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 attaches volumes to target project and allows for authorized user impersonation](/api-reference/volumes/bulk-attaches-volumes-to-target-project-and-allows-for-authorized-user-impersonation.md)
- [Copy all tags from one entity to another](/api-reference/tagging--internal/copy-all-tags-from-one-entity-to-another.md)
- [Copy all property values from one entity to another](/api-reference/properties--internal/copy-all-property-values-from-one-entity-to-another.md)
- [Create a new project by copying an existing project and providing optional overrides.](/api-reference/projects/create-a-new-project-by-copying-an-existing-project-and-providing-optional-overrides.md)
