---
title: "Transfer multiple objects."
method: POST
path: "/v2/collections/storages/{storage_id}/bulk/transfer/"
---

# Transfer multiple objects.

`POST /v2/collections/storages/{storage_id}/bulk/transfer/`

## Request

- Base URL: `https://app.iconik.io/API/files`
- URL: `https://app.iconik.io/API/files/v2/collections/storages/{storage_id}/bulk/transfer/`
- Auth: none declared. Required headers: `Auth-Token`, `App-ID`
- TypeScript: <https://skmtc.dev/iconik/apis/iconik-files/docs/v2/collections/storages/:storage_id/bulk/transfer/post.ts> (a function with typed inputs; its response is checked against the schema)

Required roles:
 - can_write_transfers

## Path parameters

- `storage_id` string, required

## Query parameters

- `allow_host_transfer` boolean

## Headers

- `Auth-Token` string, required
- `App-ID` string, required

## Request body

- BulkTransferCollectionRequestSchema
  - `objects` TransferCollectionToStorageRequest[]: List of collections to transfer. Each collection should contain the collection ID.
    - `all_versions` boolean
    - `delete_only_from_source` boolean
    - `delete_only_from_source_context` SourceContext
      - `external_id` string, nullable: external storage path / id
      - `root_collection_path` string, nullable: root collection path
      - `root_collection_storage_id` string, uuid, nullable: root collection storage ID
      - `storage_id` string, uuid, nullable
    - `delete_original` boolean
    - `destination_directory_path` string, nullable
    - `formats` string[]: List of format names to transfer. If not specified, ORIGINAL will be transferred.
    - `id` string, uuid, required: ID of the object to transfer.
    - `keep_collection_structure` boolean: Whether to keep the collection structure when transferring collections.
    - `keep_parent_collection_structure` boolean: Whether to keep the parent collection structure when transferring collections.
    - `preferred_original_storage_id` string, uuid, nullable

## Response `202`

Transfer jobs created

## Other responses

- `400`: Bad request
- `401`: Token is invalid
- `403`: Permission on storage denied
- `404`: Format or storage not found
- `409`: Format already exists on storage.
- `default`: Error response

---

[API](https://skmtc.dev/iconik/apis/iconik-files.md) - [All operations](https://skmtc.dev/iconik/apis/iconik-files/llms.txt) - [OpenAPI document](https://skmtc.dev/iconik/apis/iconik-files/revisions/ed57d13791a2?raw)
