Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Gianluca-X/DigitalMoney/llms.txt

Use this file to discover all available pages before exploring further.

Query a subset of an account’s activity history using one or more filter criteria. All filter fields are optional — omitting a field means no constraint is applied for that dimension. If startDate and endDate are both provided, the service validates that startDate is not after endDate, returning 400 Bad Request otherwise. Default amount bounds (0 to 1,000,000,000) are applied server-side when minAmount or maxAmount are absent.

Endpoint

POST /accounts/{accountId}/activity/filter
Base URL: http://localhost:8085

Authentication

A valid Bearer JWT is required in the Authorization header. Token validation is handled by the API Gateway security filter before the request reaches this controller.

Path Parameters

accountId
long
required
The numeric identifier of the account whose activity will be filtered.

Request Body

Send a JSON object mapped to ActivityFilterEntryDTO. All fields are optional:
startDate
string
Filter lower bound for activity date. ISO-8601 date format YYYY-MM-DD (e.g. "2024-01-01"). Activities on or after this date are included. Must not be after endDate.
endDate
string
Filter upper bound for activity date. ISO-8601 date format YYYY-MM-DD (e.g. "2024-03-31"). Activities on or before this date are included.
activityType
string
Filter by activity type. Accepted values:
  • "deposit"
  • "transfer-out"
  • "transfer-in"
Omit this field to include all types.
minAmount
BigDecimal
Minimum transaction amount (inclusive). Defaults to 0 when omitted.
maxAmount
BigDecimal
Maximum transaction amount (inclusive). Defaults to 1000000000 when omitted.

Response

Returns 200 OK with a JSON array of matching ActivityOutDTO objects. Returns an empty array [] when no activities match the supplied criteria.

Response Fields

id
long
Unique identifier of the activity record.
accountId
long
Account this activity belongs to.
type
string
Activity type: "deposit", "transfer-out", or "transfer-in".
amount
BigDecimal
Monetary value of the activity. Negative for transfer-out entries.
date
string
ISO-8601 timestamp of the activity.
cvu
string
CVU of the counterpart for transfers; null for deposits.

Example Requests

Filter by date range:
curl -X POST "http://localhost:8085/accounts/42/activity/filter" \
  -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9..." \
  -H "Content-Type: application/json" \
  -d '{
    "startDate": "2024-01-01",
    "endDate": "2024-03-31"
  }'
Filter deposits above a minimum amount:
curl -X POST "http://localhost:8085/accounts/42/activity/filter" \
  -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9..." \
  -H "Content-Type: application/json" \
  -d '{
    "activityType": "deposit",
    "minAmount": 1000.00
  }'
Combined filter — transfers in during Q1 2024:
curl -X POST "http://localhost:8085/accounts/42/activity/filter" \
  -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9..." \
  -H "Content-Type: application/json" \
  -d '{
    "startDate": "2024-01-01",
    "endDate": "2024-03-31",
    "activityType": "transfer-in",
    "minAmount": 500.00,
    "maxAmount": 10000.00
  }'

Example Response

[
  {
    "id": 301,
    "accountId": 42,
    "type": "transfer-in",
    "amount": 2500.00,
    "date": "2024-03-15T14:22:05",
    "cvu": "0000003100012345678901"
  },
  {
    "id": 298,
    "accountId": 42,
    "type": "transfer-in",
    "amount": 800.00,
    "date": "2024-02-20T09:05:12",
    "cvu": "0000003100087654321098"
  }
]

Error Responses

StatusExceptionCondition
400 Bad RequestBadRequestExceptionstartDate is chronologically after endDate.
Providing a startDate that is later than endDate always returns 400 Bad Request with a descriptive message. Ensure your date range is ordered correctly before sending the request.
Send an empty JSON body {} to retrieve all activity with no filtering — equivalent to calling GET /accounts/{accountId}/activity but using the filter endpoint.

Build docs developers (and LLMs) love