---
title: "Agrega transações do workspace da chave por dimensão"
method: GET
path: "/api/v1/transactions/aggregate"
tags: ["Transações"]
---

# Agrega transações do workspace da chave por dimensão

`GET /api/v1/transactions/aggregate`

## Request

- Base URL: `https://snabber.com.br`
- URL: `https://snabber.com.br/api/v1/transactions/aggregate`
- Auth: HTTP bearer

Agrupa transações (receitas e despesas) do workspace vinculado à chave de API por uma ou mais dimensões (category, category_parent, account, month, description, partner), somando receita/despesa/saldo por grupo. `category_parent` soma as subcategorias na categoria pai delas; `category` separa cada subcategoria. Aceita os mesmos filtros de `/api/v1/transactions` (from, to, category, include_subcategories, account, type). Não é paginado — varre todo o período pedido até um teto interno de linhas; se excedido, `meta.truncated=true` e o período deve ser reduzido. Por padrão exclui dos totais as categorias que não são entrada/saída real (as fora dos totais, ex.: Ignorado, Pagamento de Cartão de Crédito, Investimentos) — use `include_ignorable_categories=true` para incluí-las (ex.: ao pedir explicitamente o total movimentado em transferências ou investimentos).

## Query parameters

- `workspace_id` integer
- `from` string, date
- `to` string, date
- `category` string
- `include_subcategories` boolean
- `account` string
- `type` 'income' | 'expense'
- `group_by` string
- `top_n` integer
- `include_ignorable_categories` boolean

## Response `200`

Transações agregadas por grupo

- AggregateResult
  - `buckets` AggregateBucket[]
    - `keys` object: Chaves do grupo, uma por dimensão pedida em group_by
      - `category` string
      - `category_parent` string: Categoria pai (ou a própria, se for raiz)
      - `account` string
      - `month` string
      - `description` string
    - `income` number
    - `expense` number
    - `net` number
    - `count` integer
  - `totals` object
    - `income` number
    - `expense` number
    - `net` number
    - `count` integer
  - `meta` object
    - `workspace_id` integer
    - `scanned_count` integer
    - `truncated` boolean: true se o período excedeu o teto interno de linhas escaneadas

## Other responses

- `400`: Parâmetro inválido
- `401`: Chave de API ausente, inválida, revogada ou expirada
- `403`: Plano do usuário não tem acesso à API (downgrade para free)
- `429`: Limite de requisições excedido

---

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