---
title: "Get Income Expenses"
method: GET
path: "/api/reports/income-expenses"
tags: ["reports"]
---

# Get Income Expenses

`GET /api/reports/income-expenses`

## Request

- Base URL: `https://demo.usesecuro.com` (the document declares no server; this is the origin it was published from)
- URL: `https://demo.usesecuro.com/api/reports/income-expenses`
- Auth: OAuth 2
  - Password
  - Token URL: `/api/auth/login`
- TypeScript: <https://skmtc.dev/usesecuro/apis/securo/docs/api/reports/income-expenses/get.ts> (a function with typed inputs; its response is checked against the schema)

`days` overrides `months` with an exact rolling window ending today.

Alternatively `start_date`/`end_date` (both required together) pin the
window to an explicit historical calendar range, overriding `months`,
`period`, and `days`. Custom ranges include actuals only, without estimates.

## Query parameters

- `months` integer
- `interval` string
- `account_ids` string[], nullable
- `period` string, nullable
- `days` integer, nullable
- `start_date` string, date, nullable
- `end_date` string, date, nullable

## Headers

- `X-Workspace-Id` string, nullable

## Response `200`

Successful Response

- ReportResponse
  - `summary` ReportSummary, required
    - `primary_value` number, required
    - `change_amount` number, required
    - `change_percent` number, nullable, required
    - `breakdowns` ReportBreakdown[], required
      - `key` string, required
      - `label` string, required
      - `value` number, required
      - `color` string, required
  - `trend` ReportDataPoint[], required
    - `date` string, required
    - `value` number, required
    - `breakdowns` object, required
    - `change` number, nullable
    - `composition` ReportCompositionItem[]
      - `key` string, required
      - `label` string, required
      - `value` number, required
      - `color` string, required
      - `group` string, required
  - `meta` ReportMeta, required
    - `type` string, required
    - `series_keys` string[], required
    - `currency` string, required
    - `interval` string, required
    - `forecast_start_date` string, nullable
    - `baseline_active` boolean
    - `baseline_lookback_days` integer, nullable
    - `runway_date` string, nullable
    - `lowest_balance` number, nullable
    - `lowest_balance_date` string, nullable
  - `composition` ReportCompositionItem[]
    - `key` string, required
    - `label` string, required
    - `value` number, required
    - `color` string, required
    - `group` string, required
  - `category_trend` CategoryTrendItem[]
    - `key` string, required
    - `label` string, required
    - `color` string, required
    - `total` number, required
    - `group` string, required
    - `series` ReportDataPoint[], required
      - `date` string, required
      - `value` number, required
      - `breakdowns` object, required
      - `change` number, nullable
      - `composition` ReportCompositionItem[]
        - `key` string, required
        - `label` string, required
        - `value` number, required
        - `color` string, required
        - `group` string, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-11-05** `416a7752fec4`: 5 info
  - added the new optional `query` request parameter `end_date`
  - added the new optional `query` request parameter `start_date`
  - added the optional property `meta/lowest_balance` to the response with the `200` status
  - added the optional property `meta/lowest_balance_date` to the response with the `200` status
  - …1 more

[Operation history](https://skmtc.dev/usesecuro/apis/securo/changes/api/reports/income-expenses/get.md)

---

[API](https://skmtc.dev/usesecuro/apis/securo.md) - [All operations](https://skmtc.dev/usesecuro/apis/securo/llms.txt) - [OpenAPI document](https://skmtc.dev/usesecuro/apis/securo/revisions/416a7752fec4?raw)
