---
title: "Move or copy objects between accessible vaults"
method: POST
path: "/vault/{id}/objects/move"
tags: ["Vault Objects"]
---

# Move or copy objects between accessible vaults

`POST /vault/{id}/objects/move`

## Request

- Base URL: `https://api.case.dev`
- URL: `https://api.case.dev/vault/{id}/objects/move`
- Auth: HTTP bearer

Copies storage and search data without downloading the file through the client. Moves preserve object IDs; copies return new IDs. Extracted ZIP children travel with their parent. Retry failed objects with the same Idempotency-Key; successful objects are replayed without transfer. Object ID order does not affect the key.

## Path parameters

- `id` string, required

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `destinationVaultId` string, required
  - `objectIds` string[], required
  - `mode` 'move' | 'copy', required
  - `path` string, nullable

## Response `200`

Per-object transfer results, including any extracted children

- object
  - `sourceVaultId` string
  - `destinationVaultId` string
  - `mode` string
  - `results` object[]

## Other responses

- `400`: Invalid request
- `401`: Invalid API key
- `403`: Write access required
- `404`: Vault not found or access denied
- `409`: Idempotency conflict or transfer already in progress

## Changes

- **2026-10-16** `a21d188f4b21`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/casemark/apis/case-dev-api/changes/vault/:id/objects/move/post.md)

---

[API](https://skmtc.dev/casemark/apis/case-dev-api.md) - [All operations](https://skmtc.dev/casemark/apis/case-dev-api/llms.txt) - [OpenAPI document](https://skmtc.dev/casemark/apis/case-dev-api/revisions/9a3245c00044?raw)
