---
title: "Move up to 100 assets to another library."
method: POST
path: "/organizations/{organizationId}/libraries/{libraryId}/assets/transfer"
tags: ["Assets"]
---

# Move up to 100 assets to another library.

`POST /organizations/{organizationId}/libraries/{libraryId}/assets/transfer`

## Request

- Base URL: `https://api.raster.app`
- URL: `https://api.raster.app/organizations/{organizationId}/libraries/{libraryId}/assets/transfer`
- Auth: HTTP bearer

Moves assets from the library in the path to another library in the same organization. An asset's variants move with it; a variant cannot be transferred on its own — transfer its original and the variants follow. The credential needs write access to both libraries.

## Path parameters

- `organizationId` string, required
- `libraryId` string, required

## Headers

- `Api-Version` string, required

## Request body

- object
  - `targetLibraryId` string, required
  - `assetIds` string[], required

## Response `200`

OK

- object
  - `data` object, required
    - `transferredCount` integer, required
    - `sourceLibraryId` string, required
    - `targetLibraryId` string, required

## Other responses

- `400`: Invalid input (BAD_USER_INPUT), quota, or API-version error.
- `401`: Missing or invalid API key or access token.
- `403`: The credential may not perform this operation, or the organization's plan does not allow it. A key without access to a library gets 404, not 403.
- `404`: Resource not found, or the credential is not authorized for it.
- `429`: Rate limit exceeded. Wait for the number of seconds in `Retry-After` before retrying.
- `500`: Unexpected server fault (INTERNAL_SERVER_ERROR). Safe to retry an idempotent operation.

---

[API](https://skmtc.dev/raster/apis/raster-rest-api.md) · [All operations](https://skmtc.dev/raster/apis/raster-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/raster/apis/raster-rest-api/revisions/5e1b9d912d01?raw)
