---
title: "List My Transactions"
method: GET
path: "/api/users/me/transactions"
tags: ["users"]
---

# List My Transactions

`GET /api/users/me/transactions`

## Request

- Base URL: `https://api.stellara.natlex.it` (the document declares no server; this is the origin it was published from)
- URL: `https://api.stellara.natlex.it/api/users/me/transactions`
- Auth: HTTP bearer

Paginated coin-transaction journal for the current user.

Ordered by ``created_at DESC, id DESC`` (the second tiebreaker
matters when ``spend_coins`` and ``refund_coins`` write within the
same statement_timestamp — without it the frontend can see an item
flicker between pages on infinite scroll).

``total_earned`` / ``total_spent`` are computed under the SAME
filter as the list — switching the chip strip from "Все" to "Траты"
re-flips the header counters so the user always sees a summary
consistent with the visible rows.

Entry shape mirrors the DB row verbatim so Flutter can switch on
``operation`` to pick localized labels without the backend having
to know every feature's ARB key.

## Query parameters

- `limit` integer
- `offset` integer
- `operation` 'all' | 'spend' | 'earn' | 'refund' | 'subscription'

## Response `200`

Successful Response

- UserTransactionsResponse
  - `transactions` CoinTransactionItem[]
    - `id` integer, required
    - `amount` integer, required
    - `operation` string, required
    - `description` string, nullable
    - `created_at` string, date-time, required
  - `total` integer
  - `limit` integer
  - `offset` integer
  - `total_earned` integer
  - `total_spent` integer

## Other responses

- `422`: Validation Error

---

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