> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://uploadcare.com/docs/llms.txt.

# Group commands

> Complete reference for Uploadcare CLI group commands — create, list, inspect, and delete file groups.

File groups bundle multiple files under a single group ID (format: `<uuid>~<count>`).
They are useful for multi-file uploads and batch operations.
See the [file groups concept page](/docs/file-groups/) for details.

> **Tip**
>
> **Tip:** Global flags like `--json`, `--jq`, `-v`, and `--quiet` are available on every command.
> See [Configuration](/docs/cli/configuration/#global-flags) for the full list.

## group list

List file groups in the current project.

```bash
uploadcare group list [flags]
```

**Flags:**

| Flag               | Default            | Description                                |
| ------------------ | ------------------ | ------------------------------------------ |
| `--ordering`       | `datetime_created` | Sort order. Prefix with `-` for descending |
| `--limit`          | `100`              | Groups per page                            |
| `--starting-point` |                    | Starting point (RFC 3339 datetime)         |
| `--page-all`       | `false`            | Stream all pages as NDJSON                 |

**JSON fields:** `id`, `files_count`, `datetime_created`, `datetime_stored`, `cdn_url`, `url`

**Examples:**

```bash
uploadcare group list --json all
uploadcare group list --ordering -datetime_created --json all
uploadcare group list --page-all --json id
```

---

## group info

Get details for a file group, including its files.

```bash
uploadcare group info <group-id>
```

**JSON fields:** `id`, `files_count`, `datetime_created`, `datetime_stored`, `cdn_url`, `url`, `files`

**Examples:**

```bash
uploadcare group info "740e1b8c-1ad8-4324-b7ec-112345678900~3"
uploadcare group info "740e1b8c-1ad8-4324-b7ec-112345678900~3" --json all
```

> **Tip**
>
> **Tip:** Quote group IDs in your shell to prevent the `~` character from being expanded.

---

## group create

Create a file group from one or more file UUIDs.

```bash
uploadcare group create <uuid>... [flags]
```

**Flags:**

| Flag           | Default | Description               |
| -------------- | ------- | ------------------------- |
| `--from-stdin` | `false` | Read UUIDs from stdin     |
| `--dry-run`    | `false` | Validate without creating |

**JSON fields:** `id`, `files_count`, `datetime_created`, `cdn_url`

**Examples:**

```bash
uploadcare group create UUID1 UUID2 UUID3
uploadcare group create UUID1 UUID2 --json all
uploadcare file list --page-all --stored true --json uuid | head -5 | uploadcare group create --from-stdin
uploadcare group create UUID1 UUID2 --dry-run
```

---

## group delete

Delete a file group. This removes the group, not the files in it.

```bash
uploadcare group delete <group-id> [flags]
```

**Flags:**

| Flag        | Default | Description                          |
| ----------- | ------- | ------------------------------------ |
| `--dry-run` | `false` | Verify group exists without deleting |

**JSON fields:** `id`, `status`

**Examples:**

```bash
uploadcare group delete "740e1b8c-1ad8-4324-b7ec-112345678900~3"
uploadcare group delete "740e1b8c-1ad8-4324-b7ec-112345678900~3" --json all
uploadcare group delete "740e1b8c-1ad8-4324-b7ec-112345678900~3" --dry-run
```