# Reports (`reports`)

## `get-workload` vs `get-flexq-data`

- **`reports get-workload`** — built-in workload report. Use for utilization, capacity, or team workload views that match that report.
- **`reports get-flexq-data`** — flexible FlexQ query. Use when you need custom attributes, aggregations, groupings, filters, sorts, or transforms.

Both commands share the same JSON shape: a top-level `payload` whose body includes every required key (`aggregation_filters`, `aggregations`, `attributes`, `filters`, `groupings`, `limit`, `ordinations`, `pagination`, `period`, `transformations`). Arrays may be empty for a minimal valid body; real analysis needs a meaningful `period` and populated dimensions.

## Minimal `--data` (validate with `--dry-run`)

```bash
toggl reports get-workload --dry-run --data '{"payload":{"aggregation_filters":[],"aggregations":[],"attributes":[],"filters":[],"groupings":[],"limit":100,"ordinations":[],"pagination":{"page":1,"per_page":50},"period":{"from":"","preset":"","to":""},"transformations":[]}}'
```

Use the same JSON for `reports get-flexq-data`, changing only the subcommand.

Prefer `--data-file` or `--data -` when editing larger FlexQ bodies to avoid shell quoting mistakes.
