---
updatedAt: 2026-05-11T11:35:15.000Z
agentTools:
  projectIndex: https://docs.neonomics.io/llms.txt
---

# /ics/v3/card-accounts/{id}/transactions

**Beta:** This endpoint is currently in beta and subject to change.
Returns a list of transactions for the card account ID given as an endpoint parameter. The card account ID must first be retrieved via the Get Card Accounts call.
This API will return a 1426 error if consent is required.


# OpenAPI definition

````json
{
  "openapi": "3.0.1",
  "info": {
    "title": "Welcome to Open API",
    "description": "Discover APIs that enable you to create great user experiences and start integrating with our Payments and Accounts APIs.\nTo start with our APIs first create a Neonomics application on the [developer portal](https://developer.neonomics.io/login) to get a Neonomics application Client ID and Secret ID. Links for developer portal are mentioned below.\nAuthenticate with the Neonomics API, to obtain an access_token so Neonomics can allow you to make requests to the Neonomics API. Use Authorization API to Get\naccess token which will be used in all APIs.\n\nReference Links :\n\n[Neonomics API Documentation](https://docs.neonomics.io/documentation/development/quickstart)\n\n[Sandbox Developer Portal](https://developer.neonomics.io/login)\n\n[Production Developer Portal](https://portal.neonomics.io)\n",
    "version": "3.0"
  },
  "servers": [
    {
      "url": "https://sandbox.neonomics.io",
      "description": "Test env which connects banks Sandbox env"
    },
    {
      "url": "https://api.neonomics.io",
      "description": "Production env which connects live banks"
    }
  ],
  "paths": {
    "/ics/v3/card-accounts/{id}/transactions": {
      "get": {
        "tags": [
          "Card Accounts (Beta)"
        ],
        "operationId": "getCardAccountTransactions",
        "description": "**Beta:** This endpoint is currently in beta and subject to change.\n\nReturns a list of transactions for the card account ID given as an endpoint parameter.\nThe card account ID must first be retrieved via the Get Card Accounts call.\n\nThis API will return a 1426 error if consent is required.\n\n**API Usage Restrictions (PSD2 Compliance):**\n- Each unique API call is limited to 4 requests per 24 hours per session.\n- Pagination does NOT count against the same limit. Each unique cursor value has its own separate 4-call counter.\n- This means you can browse through unlimited transaction pages, but can only revisit the same page 4 times within 24 hours.\n- The 24-hour window is a rolling period starting from your first call to that specific operation.\n- New sessions get fresh counters.\n",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "required": true,
            "description": "Authentication scheme used to transmit the access token. Valid value is \"Bearer {access token}\".",
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/x-session-id"
          },
          {
            "$ref": "#/components/parameters/x-device-id"
          },
          {
            "$ref": "#/components/parameters/x-psu-ip-address"
          },
          {
            "$ref": "#/components/parameters/x-psu-id"
          },
          {
            "$ref": "#/components/parameters/x-psu-corporate-id"
          },
          {
            "$ref": "#/components/parameters/x-originating-host"
          },
          {
            "$ref": "#/components/parameters/x-originating-date"
          },
          {
            "$ref": "#/components/parameters/Signature"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The card account ID returned from the Get Card Accounts call.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer-type",
            "in": "query",
            "required": true,
            "description": "The customer type for the request.\n- `PERSONAL`: personal card accounts\n- `BUSINESS`: business card accounts\n- `CORPORATE`: corporate card accounts\n",
            "schema": {
              "type": "string",
              "enum": [
                "PERSONAL",
                "BUSINESS",
                "CORPORATE"
              ]
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Furthest date in the past of the requested transaction range. YYYY-MM-DD.\nRecommended range is 1 year as some banks return a maximum of one year of transactions per request.\nSplit the date range across multiple requests to retrieve transactions spanning more than a year.\n"
          },
          {
            "name": "toDate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Most recent date of the requested transaction range. YYYY-MM-DD."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Cursor for pagination. When more transactions are available, the response includes a `links` array\nwith a link where `rel` is \"next\". Extract the `cursor` query parameter from the `href` URL and\npass it here to fetch the next page.\n\n**Example:** If the response contains:\n```\n\"links\": [{ \"rel\": \"next\", \"href\": \"https://sandbox.neonomics.io/.../transactions?cursor=0X4lQV7dZZ4x...\" }]\n```\nUse `cursor=0X4lQV7dZZ4x...` in your next request.\n\n**Important:**\n- Do not pass `fromDate` and `toDate` when using `cursor`.\n- The cursor is an encrypted opaque string — do not attempt to decode or modify it.\n"
          },
          {
            "name": "bookingStatus",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "BOOKED",
                "PENDING"
              ]
            },
            "description": "Filter transactions by booking status. By default all transactions are returned."
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 50
            },
            "description": "Number of transactions per page. Default is 50 if not provided."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardAccountTransactionResponse"
                },
                "examples": {
                  "withPagination": {
                    "summary": "Response with more pages available",
                    "value": {
                      "transactions": [
                        {
                          "id": "enc!!txn001",
                          "transactionReference": "REF-001",
                          "transactionAmount": {
                            "currency": "NOK",
                            "value": 299
                          },
                          "creditDebitIndicator": "DBIT",
                          "bookingDate": "2026-04-01",
                          "transactionDate": "2026-04-01",
                          "bookingStatus": "BOOKED",
                          "merchantCategoryCode": "5411",
                          "proprietaryBankTransactionCode": "PURCHASE"
                        }
                      ],
                      "links": [
                        {
                          "type": "GET",
                          "rel": "next",
                          "href": "https://sandbox.neonomics.io/ics/v3/card-accounts/enc!!abc123xyz/transactions?cursor=0X4lQV7dZZ4x..."
                        }
                      ]
                    }
                  },
                  "withoutPagination": {
                    "summary": "Response with no more pages",
                    "value": {
                      "transactions": [
                        {
                          "id": "enc!!txn001",
                          "transactionReference": "REF-001",
                          "transactionAmount": {
                            "currency": "NOK",
                            "value": 299
                          },
                          "creditDebitIndicator": "DBIT",
                          "bookingDate": "2026-04-01",
                          "transactionDate": "2026-04-01",
                          "bookingStatus": "BOOKED",
                          "merchantCategoryCode": "5411",
                          "proprietaryBankTransactionCode": "PURCHASE"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "510": {
            "$ref": "#/components/responses/510"
          },
          "520": {
            "$ref": "#/components/responses/520"
          },
          "530": {
            "$ref": "#/components/responses/530"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    },
    "parameters": {
      "x-device-id": {
        "name": "x-device-id",
        "required": true,
        "in": "header",
        "description": "String that uniquely identifies a single end-user or device.",
        "schema": {
          "type": "string"
        }
      },
      "x-originating-host": {
        "name": "x-originating-host",
        "in": "header",
        "required": false,
        "description": "The host where the request is originating from.\nIf you are using end to end encryption from our developer portal then this header is mandatory.\n",
        "schema": {
          "type": "string"
        }
      },
      "x-originating-date": {
        "name": "x-originating-date",
        "in": "header",
        "required": false,
        "description": "The request originating date.\nIf you are using end to end encryption from our developer portal then this header is mandatory.\n",
        "schema": {
          "type": "string"
        }
      },
      "Signature": {
        "name": "Signature",
        "in": "header",
        "required": false,
        "description": "The signature header consisting of the signature string\nIf you are using end to end encryption from our developer portal then this header is mandatory.\n",
        "schema": {
          "type": "string"
        }
      },
      "x-session-id": {
        "name": "x-session-id",
        "in": "header",
        "required": true,
        "description": "The session Id returned in the response body when this session was created.",
        "schema": {
          "type": "string"
        }
      },
      "x-psu-ip-address": {
        "name": "x-psu-ip-address",
        "in": "header",
        "required": true,
        "description": "The IP Address of the end-user (PSU), which must be provided if the PSU actively requests information.\nIf this value is not provided, then the call will count towards the number of TPP calls without PSU interaction.\nLeave it empty if the end user is not actively requesting account information, such as during automatic background updates.\nProvided in either IPv4 or IPv6 format.\n",
        "schema": {
          "type": "string"
        }
      },
      "x-psu-id": {
        "name": "x-psu-id",
        "in": "header",
        "required": false,
        "description": "Identifier of the end-user, passed as the base64-encoded value of an encrypted string following\nthe guidelines given in Documentation > Development > Sensitive end-user data.\nThis parameter is required if the value of 'personalIdentificationRequired' returned from the /banks endpoint is \"true\".\n",
        "schema": {
          "type": "string"
        }
      },
      "x-psu-corporate-id": {
        "name": "x-psu-corporate-id",
        "in": "header",
        "required": false,
        "description": "Corporate identifier of the end-user's organisation, used for business/corporate consents (the `business-accounts` scope).\n\n**Currently effective for Länsförsäkringar and Sparebanken Vest (Folio, bank `folio.noSPAVNOBB`).**\n\n- **Länsförsäkringar**: required in addition to `x-psu-id`, and both are distinct. `x-psu-id` carries the\n  signing person's personnummer (SSN), type `SSSN`; `x-psu-corporate-id` carries the organisationsnummer\n  (org number), type `SON`. Confirmed with the bank: both values must be **exactly 12 numeric digits** — a\n  continuous digit string with no hyphens, spaces, letters, or special characters (e.g. `12345678-0987` is\n  not valid). Fewer or more than 12 digits fails validation.\n- **Sparebanken Vest / Folio**: required on both consent initiation and every subsequent account/transaction\n  read, not only at consent time. Carries the 9-digit Norwegian organisation number. `x-psu-id` is optional\n  here and, if sent, must be the authorising person's national identifier — never the organisation number.\n\nFor all other banks this header is **currently ignored**, even those whose corporate flows rely on a corporate\nidentifier (e.g. DNB) — those flows continue to work via `x-psu-id` as today. Do not rely on this header for any\nbank other than the ones listed above; support for additional banks may be added later.\n\nIgnored for personal-scope consents.\n",
        "schema": {
          "type": "string"
        }
      }
    },
    "schemas": {
      "ApiException": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for an error, used for debugging purposes. In connection with error reporting to Neonomics, it is called correlation ID.\n"
          },
          "errorCode": {
            "type": "string",
            "description": "Error code that identifies the error scenario. Description of error codes is available at Documentation > Development > Error Codes."
          },
          "message": {
            "type": "string",
            "description": "Text description of an error."
          },
          "source": {
            "type": "string",
            "description": "Identifies the source of an error. \"example\": \"C\" indicates a client error.\n"
          },
          "type": {
            "type": "string",
            "description": "Categorization of an error as either 'FATAL', 'NETWORK', 'BAD_REQUEST', 'AUTH' or 'CONSENT'.\nThe error types are described in Documentation > Development > Error Codes.\n"
          },
          "timestamp": {
            "type": "string"
          },
          "links": {
            "type": "array",
            "description": "Array of link objects related to the error. The meta object contains the sessionId.",
            "items": {
              "$ref": "#/components/schemas/links"
            }
          }
        }
      },
      "links": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "HTTP Method type of the link."
          },
          "rel": {
            "type": "string",
            "description": "API Operation related to the link."
          },
          "href": {
            "type": "string",
            "description": "Use this URL to call the consent endpoint, which will return the bank's authentication URL."
          },
          "meta": {
            "type": "object",
            "description": "This object contains an id which is the current sessionId."
          }
        }
      },
      "CardAccountTransactionResponse": {
        "type": "object",
        "description": "Response containing a list of card account transactions with optional pagination.\nWhen more transactions are available beyond the current page, a `links` array is present\ncontaining a cursor for the next page. When `links` is absent, there are no further pages.\n",
        "properties": {
          "transactions": {
            "type": "array",
            "description": "Array of card account transaction objects.",
            "items": {
              "$ref": "#/components/schemas/CardAccountTransaction"
            }
          },
          "links": {
            "type": "array",
            "description": "Pagination links. Only present when more transactions are available.\nWhen `rel` is \"next\", extract the `cursor` value from `href` and pass it in your next request.\n",
            "items": {
              "$ref": "#/components/schemas/CardAccountApiLink"
            }
          }
        }
      },
      "CardAccountApiLink": {
        "type": "object",
        "description": "A pagination or navigation link returned in the card account transactions response.",
        "properties": {
          "type": {
            "type": "string",
            "description": "HTTP method type of the link (e.g., \"GET\")."
          },
          "rel": {
            "type": "string",
            "description": "Link relation type. Value is \"next\" when more pages are available."
          },
          "href": {
            "type": "string",
            "description": "Full URL. Extract the `cursor` query parameter value and pass it in your next request."
          }
        }
      },
      "CardAccountTransaction": {
        "type": "object",
        "description": "Represents a single card account transaction.",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the transaction. If empty, it was not provided by the bank."
          },
          "bookingDate": {
            "type": "string",
            "format": "date",
            "description": "Date when the transaction was booked on the card account (YYYY-MM-DD).\nA NULL value indicates the transaction is still pending.\n"
          },
          "transactionDate": {
            "type": "string",
            "format": "date",
            "description": "Date of the original transaction (YYYY-MM-DD). If empty, it was not provided by the bank."
          },
          "transactionAmount": {
            "$ref": "#/components/schemas/CardAccountAmount"
          },
          "currencyExchange": {
            "$ref": "#/components/schemas/CardAccountCurrencyExchange"
          },
          "transactionReference": {
            "type": "string",
            "description": "Transaction reference from the bank. If empty, it was not provided by the bank."
          },
          "creditDebitIndicator": {
            "type": "string",
            "description": "Debit or credit indicator following ISO 20022.\n- `CRDT`: Credit transaction (money received)\n- `DBIT`: Debit transaction (money spent)\n",
            "enum": [
              "CRDT",
              "DBIT"
            ]
          },
          "bookingStatus": {
            "type": "string",
            "description": "The booking status of the transaction.",
            "enum": [
              "BOOKED",
              "PENDING"
            ]
          },
          "merchantCategoryCode": {
            "type": "string",
            "description": "4-digit ISO 18245 Merchant Category Code (MCC) identifying the type of merchant.\nIf empty, it was not provided by the bank.\n"
          },
          "proprietaryBankTransactionCode": {
            "type": "string",
            "description": "Proprietary bank transaction code as defined by the bank. If empty, it was not provided by the bank."
          }
        }
      },
      "CardAccountAmount": {
        "type": "object",
        "description": "Monetary amount for a card account transaction.",
        "properties": {
          "currency": {
            "type": "string",
            "description": "3-letter ISO 4217 currency code (e.g., \"NOK\", \"EUR\", \"SEK\")."
          },
          "value": {
            "type": "number",
            "description": "Transaction amount as a decimal number (e.g., 299.00)."
          }
        }
      },
      "CardAccountCurrencyExchange": {
        "type": "object",
        "description": "Currency exchange details for a card account transaction where the transaction currency differs from the card account currency.",
        "properties": {
          "sourceCurrency": {
            "type": "string",
            "description": "3-letter ISO 4217 code for the source currency of the exchange."
          },
          "targetCurrency": {
            "type": "string",
            "description": "3-letter ISO 4217 code for the target currency of the exchange."
          },
          "unitCurrency": {
            "type": "string",
            "description": "3-letter ISO 4217 code for the unit currency used in the exchange rate."
          },
          "quotationDate": {
            "type": "string",
            "format": "date",
            "description": "Date on which the exchange rate was quoted (YYYY-MM-DD)."
          },
          "sourceCurrencyAmount": {
            "type": "number",
            "description": "Amount in the source currency before conversion."
          },
          "exchangeRate": {
            "type": "number",
            "description": "Exchange rate applied to convert from source to target currency."
          }
        }
      }
    },
    "responses": {
      "510": {
        "description": "Returned when the request is invalid due to client-side issues, such as missing or incorrect parameters. Check your request and refer to the [Client Error Codes](https://docs.neonomics.io/docs/error-codes#client-errors-10001999) for details.\n",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ApiException"
            }
          }
        }
      },
      "520": {
        "description": "Indicates a problem within the Neonomics platform. This error is not caused by your request. See [Neonomics Error Codes](https://docs.neonomics.io/docs/error-codes#neonomics-errors-30003999) for troubleshooting steps.\n",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ApiException"
            }
          }
        }
      },
      "530": {
        "description": "Returned when the bank encounters an error processing your request. Review the [Bank Error Codes](https://docs.neonomics.io/docs/error-codes#bank-errors-40005999) for more information and possible solutions.\n",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ApiException"
            }
          }
        }
      }
    }
  },
  "security": [
    {
      "bearerAuth": []
    }
  ]
}
````