Misar IO Docs

List transactions

GET /io/wallet/transactions — paginated credit ledger history for a user.

Returns a paginated list of ledger entries (top-ups and deductions) for a user, newest first.

GET https://api.misar.io/io/wallet/transactions

Authentication

Either mode is accepted:

  • SSO bearer (self): Authorization: Bearer <token> — history is for the token's user; omit user_id.
  • Service key: x-wallet-service-key: <key> plus ?user_id=<id>.

Query parameters

user_idstring

The Misar SSO user id. Required with the service key; derived from the token with an SSO bearer.

limitnumber

Maximum number of items to return in this page.

cursorstring

Opaque pagination cursor. Pass the nextCursor from the previous response to fetch the next page.

Request

curl "https://api.misar.io/io/wallet/transactions?user_id=usr_123&limit=20" \
  -H "x-wallet-service-key: $WALLET_SERVICE_KEY"

Response

{
  "items": [
    {
      "id": "txn_456",
      "type": "deduct",
      "feature": "blog.article.generate",
      "credits": -1,
      "balance_after": 41,
      "created_at": "2026-06-02T10:15:00Z"
    },
    {
      "id": "txn_123",
      "type": "topup",
      "credits": 25,
      "balance_after": 42,
      "stripe_session_id": "cs_live_...",
      "created_at": "2026-06-01T09:00:00Z"
    }
  ],
  "nextCursor": "eyJpZCI6InR4bl8xMjMifQ"
}
itemsobject[]

Ledger entries, newest first. Each entry includes the signed credits delta and the resulting balance_after.

nextCursorstring | null

Cursor for the next page, or null when there are no more pages.

Paginating

Keep calling with the returned nextCursor until it is null:

# page 2
curl "https://api.misar.io/io/wallet/transactions?user_id=usr_123&cursor=eyJpZCI6InR4bl8xMjMifQ" \
  -H "x-wallet-service-key: $WALLET_SERVICE_KEY"