Get Cashflow History
This endpoint returns cashflow history for a specified financial account, broken down by time segments within the requested period. The response includes both a detailed data array of period-level cashflow records and a rolled-up total covering the entire requested range. Use this endpoint to build cashflow dashboards, trend charts, or account health summaries for your customers.
Endpoint
GET /Report/cashflow
Authentication
Bearer token required. Obtain via:
POST https://api.banking.netevia.dev/api/auth/v2
Include in header: Authorization: Bearer {token}
Token lifetime: 10 minutes. Refresh via POST /api/auth/refresh.
When to use
Use this endpoint when you need to display or analyze the inflow and outflow of funds for a financial account over a defined period — for example, rendering a monthly cashflow chart in a customer dashboard or generating a periodic financial summary report. It supports multiple period granularities (last 7 days, 1 month, 6 months, 1 year, quarter-to-date, year-to-date) to accommodate different reporting needs. Both business and personal customer accounts are supported.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| period | string (enum) | No | Time period for the report. Allowed values: None, D7 (last 7 days), M1 (last 1 month), M6 (last 6 months), Y1 (last 1 year), QTD (quarter-to-date), YTD (year-to-date). |
| profileId | integer (int32) | No | The ID of the customer profile whose account is being queried. |
| financialAccountId | string | No | The unique identifier of the financial account to retrieve cashflow data for. |
Response
200 OK
| Field | Type | Description |
|---|---|---|
| data | array | List of cashflow records broken down by sub-period intervals within the requested range. Each element contains cashIn, cashOut, dateFrom, and dateTo. |
| data[].cashIn | integer (int64) | Total funds received (cash in) during the sub-period, in the smallest currency unit (e.g., cents). |
| data[].cashOut | integer (int64) | Total funds sent (cash out) during the sub-period, in the smallest currency unit (e.g., cents). |
| data[].dateFrom | string (date-time) | Start timestamp of the sub-period interval (ISO 8601). |
| data[].dateTo | string (date-time) | End timestamp of the sub-period interval (ISO 8601). |
| total | object | Aggregate cashflow totals covering the entire requested period. Contains cashIn, cashOut, dateFrom, and dateTo. |
| total.cashIn | integer (int64) | Total funds received across the full period, in the smallest currency unit (e.g., cents). |
| total.cashOut | integer (int64) | Total funds sent across the full period, in the smallest currency unit (e.g., cents). |
| total.dateFrom | string (date-time) | Start timestamp of the full period (ISO 8601). |
| total.dateTo | string (date-time) | End timestamp of the full period (ISO 8601). |
{
"data": [
{
"cashIn": 500000,
"cashOut": 120000,
"dateFrom": "2026-05-01T00:00:00Z",
"dateTo": "2026-05-07T23:59:59Z"
},
{
"cashIn": 300000,
"cashOut": 95000,
"dateFrom": "2026-05-08T00:00:00Z",
"dateTo": "2026-05-14T23:59:59Z"
},
{
"cashIn": 450000,
"cashOut": 210000,
"dateFrom": "2026-05-15T00:00:00Z",
"dateTo": "2026-05-21T23:59:59Z"
},
{
"cashIn": 620000,
"cashOut": 180000,
"dateFrom": "2026-05-22T00:00:00Z",
"dateTo": "2026-05-31T23:59:59Z"
}
],
"total": {
"cashIn": 1870000,
"cashOut": 605000,
"dateFrom": "2026-05-01T00:00:00Z",
"dateTo": "2026-05-31T23:59:59Z"
}
}Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing required fields or validation error (e.g., invalid period value) |
| 401 | Token missing, expired, or invalid |
| 403 | Insufficient permissions to access the requested profile or account |
| 404 | Financial account or profile not found |
| 500 | Internal server error |
Common Mistakes
- Passing an unrecognized value for
period— only the exact enum values (None,D7,M1,M6,Y1,QTD,YTD) are accepted; any other string will result in a 400 error. - Omitting
financialAccountIdorprofileId— while technically optional in the schema, omitting both may return empty or unexpected results; always supply both for precise cashflow data. - Treating cashflow amounts as dollars —
cashInandcashOutare returned in the smallest currency unit (cents); divide by 100 to display as dollar amounts. - Using an expired Bearer token — tokens have a 10-minute lifetime; refresh via
POST /api/auth/refreshbefore calling this endpoint if the token may have expired.
Related Endpoints
GET /Report/transactions— Retrieve individual transaction history for a financial accountGET /Report/balance— Get current balance details for a financial accountGET /FinancialAccount— List financial accounts associated with a customer profile
Example
curl -X GET "https://api.banking.netevia.dev/Report/cashflow?period=M1&profileId=98765&financialAccountId=XXXXXXXXXX" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"