---
title: "Perform a bulk action for artifacts in subchannel"
method: PUT
path: "/channels/{channel_name}/subchannels/{subchannel_name}/artifacts/bulk"
tags: ["channels"]
---

# Perform a bulk action for artifacts in subchannel

`PUT /channels/{channel_name}/subchannels/{subchannel_name}/artifacts/bulk`

## Request

- Base URL: `https://api.anaconda.cloud/api`
- URL: `https://api.anaconda.cloud/api/channels/{channel_name}/subchannels/{subchannel_name}/artifacts/bulk`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Auth`
- TypeScript: <https://skmtc.dev/anaconda/apis/anaconda-server-api/docs/channels/:channel_name/subchannels/:subchannel_name/artifacts/bulk/put.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `channel_name` string, required
- `subchannel_name` string, required

## Request body

- ArtifactBulkActionRequest
  - `action` 'copy' | 'move' | 'delete', required: Bulk action name
  - `target_channel` string: Target channel name (only for copy and move actions)
  - `target_subchannel` string: Target subchannel name (target_channel is also required as a parent)
  - `items` object[], required
    - `name` string, required
    - `family` 'anaconda_project' | 'anaconda_env' | 'cve' | 'conda' | 'python' | 'cran' | 'notebook' | 'docker' | 'sbom', required
    - `ckey` string

## Response `202`

bulk did something to artifacts in the subchannel successfully

## Other responses

- `401`: Unauthenticated, no token is provided or token is invalid
- `403`: Access is forbidden
- `404`: The specified resource was not found
- `500`: Internal server error

---

[API](https://skmtc.dev/anaconda/apis/anaconda-server-api.md) - [All operations](https://skmtc.dev/anaconda/apis/anaconda-server-api/llms.txt) - [OpenAPI document](https://skmtc.dev/anaconda/apis/anaconda-server-api/revisions/6aef0cb7a151?raw)
