Qwist Transactions API
The Transactions API from Qwist — 4 operation(s) for transactions.
The Transactions API from Qwist — 4 operation(s) for transactions.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/qwist:qwist-transactions-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: nrich Transactions API
version: '2.10'
contact:
name: Qwist GmbH
email: partnersupport@qwist.com
url: https://qwist.com
description: This is the reference for Qwist's nrich API
servers:
- url: https://api.nrich.qwist.cloud
description: Staging environment
tags:
- name: Transactions
paths:
/rest/accounts/{account-id}/transactions:
get:
summary: List transactions of account
operationId: listTransactionsOfAccount
description: Get a list of the transactions associated with a specific account. You can additionally constrain the amount of transactions being returned by using the query parameters described below as filters.
tags:
- Transactions
security:
- user_auth: []
parameters:
- $ref: '#/paths/~1catalog/get/parameters/0'
- $ref: '#/paths/~1rest~1accounts~1{account-id}/get/parameters/0'
- $ref: '#/paths/~1auth~1users/get/parameters/0'
- $ref: '#/paths/~1auth~1users/get/parameters/1'
- $ref: '#/paths/~1rest~1transactions/get/parameters/5'
- $ref: '#/paths/~1rest~1transactions/get/parameters/4'
- $ref: '#/paths/~1rest~1securities/get/parameters/3'
- $ref: '#/paths/~1rest~1transactions/get/parameters/7'
- $ref: '#/paths/~1rest~1transactions/get/parameters/8'
- $ref: '#/paths/~1rest~1categories/get/parameters/8'
- $ref: '#/paths/~1rest~1categories/get/parameters/9'
- $ref: '#/paths/~1rest~1transactions/get/parameters/11'
- $ref: '#/paths/~1rest~1timeline/get/parameters/6'
- $ref: '#/paths/~1rest~1timeline/get/parameters/7'
- $ref: '#/paths/~1rest~1transactions/get/parameters/14'
- $ref: '#/paths/~1rest~1transactions/get/parameters/15'
- $ref: '#/paths/~1rest~1payments/get/parameters/5'
- $ref: '#/paths/~1rest~1transactions/get/parameters/17'
- $ref: '#/paths/~1rest~1transactions/get/parameters/18'
responses:
'200':
$ref: '#/paths/~1rest~1transactions/get/responses/200'
'400':
$ref: '#/paths/~1rest~1user/put/responses/400'
'401':
$ref: '#/paths/~1catalog/get/responses/401'
'404':
$ref: '#/paths/~1auth~1token/post/responses/404'
/rest/accounts/{account-id}/transactions/{transaction-id}:
get:
summary: Get transaction of account
operationId: getTransactionOfAccount
description: Retrieve the details of a single transaction by its ID associated to a specific account.
security:
- user_auth: []
tags:
- Transactions
parameters:
- $ref: '#/paths/~1catalog/get/parameters/0'
- $ref: '#/paths/~1rest~1accounts~1{account-id}/get/parameters/0'
- $ref: '#/paths/~1rest~1transactions~1{transaction-id}/get/parameters/1'
- $ref: '#/paths/~1rest~1payments/get/parameters/5'
responses:
'200':
$ref: '#/paths/~1rest~1transactions~1{transaction-id}/get/responses/200'
'400':
$ref: '#/paths/~1rest~1user/put/responses/400'
'401':
$ref: '#/paths/~1catalog/get/responses/401'
'404':
$ref: '#/paths/~1auth~1token/post/responses/404'
4XX:
$ref: '#/paths/~1rest~1loans/get/responses/4XX'
/rest/transactions:
get:
summary: List transactions
operationId: listTransactions
description: Get a list of the transactions of all accounts. You can additionally constrain the amount of transactions being returned by using the query parameters described below as filters.
tags:
- Transactions
parameters:
- $ref: '#/paths/~1catalog/get/parameters/0'
- $ref: '#/paths/~1rest~1timeline/get/parameters/5'
- $ref: '#/paths/~1auth~1users/get/parameters/0'
- $ref: '#/paths/~1auth~1users/get/parameters/1'
- in: query
name: sort
schema:
type: string
enum:
- asc
- desc
default: desc
description: Determines whether results will be sorted in ascending or descending order.
- in: query
name: since_type
schema:
type: string
enum:
- booked
- created
- modified
default: booked
description: This parameter defines how the parameter `since` will be interpreted.
- $ref: '#/paths/~1rest~1securities/get/parameters/3'
- in: query
name: until
schema:
$ref: '#/paths/~1auth~1users/get/parameters/2/schema'
description: Only entities with a corresponding date **equal or older** to this date will be selected. The type of date that is filtered by is determined by the `since_type` parameter.
example: '2020-02-01'
- in: query
name: filter
schema:
type: string
description: "Filter transactions by given `key:value` combination. Possible keys:\n\n - date (maps to `booked_at`, please use ISO date here, not datetime)\n - person (maps to payer/payee name)\n - purpose\n - amount\n\nValues are interpreted using wildcards: `person:John Doe` will match\n `%John Doe%`."
example: date:2017-02-03
- $ref: '#/paths/~1rest~1categories/get/parameters/8'
- $ref: '#/paths/~1rest~1categories/get/parameters/9'
- in: query
name: sync_id
schema:
type: string
format: UUID
example: a18952ae-a93e-48b5-b863-cf8e47156784
description: nrich ID of synchronization operation.
description: Show only those items that have been created within this synchronization.
- $ref: '#/paths/~1rest~1timeline/get/parameters/6'
- $ref: '#/paths/~1rest~1timeline/get/parameters/7'
- in: query
name: contracts
schema:
type: string
description: Comma-separated list of contract IDs. Only transactions matching these contracts will be selected.
example: C12345.6,C12345.7
explode: false
- in: query
name: types
description: A comma-separated list of transaction types used for filtering.
schema:
type: string
enum:
- Transfer
- Standing order
- Direct debit
- Salary or rent
- GeldKarte
- Charges or interest
- Unknown
description: The transaction type.
example: Transfer
- $ref: '#/paths/~1rest~1payments/get/parameters/5'
- in: query
name: include_pending
schema:
type: boolean
default: false
description: This flag indicates whether pending transactions should be included in the response. Pending transactions are always included as a complete set, regardless of the since parameter.
- in: query
name: include_statistics
description: 'If `true` includes statistics on the returned transactions: maximum deposit, total deposits, maximum expense, total expenses.
'
schema:
type: boolean
default: false
example: true
security:
- user_auth: []
responses:
'200':
description: List of transactions.
content:
application/json:
schema:
type: object
properties:
transactions:
type: array
items:
$ref: '#/paths/~1rest~1transactions~1{transaction-id}/get/responses/200/content/application~1json/schema'
description: List of transactions.
status:
$ref: '#/paths/~1rest~1accesses/get/responses/200/content/application~1json/schema/items/properties/status'
statistics:
description: Statistics on the transactions
type: object
properties:
deposit_sum:
type: number
description: Sum of deposits
example: 27560
deposit_max:
type: number
description: Maximum deposit amount
example: 5250
expense_max:
type: number
description: Maximum expense amount
example: -1200
expense_sum:
type: number
description: Sum of expenses
example: -10821.02
deleted:
description: List of deleted transaction public ids
type: array
items:
type: string
required:
- transactions
- status
- statistics
- deleted
'400':
$ref: '#/paths/~1rest~1user/put/responses/400'
'401':
$ref: '#/paths/~1catalog/get/responses/401'
/rest/transactions/{transaction-id}:
get:
summary: Get transaction
operationId: getTransaction
description: Retrieve the details of a single transaction by its ID.
tags:
- Transactions
parameters:
- $ref: '#/paths/~1catalog/get/parameters/0'
- name: transaction-id
in: path
required: true
schema:
type: string
description: nrich ID of transaction.
example: T12345.6
- $ref: '#/paths/~1rest~1payments/get/parameters/5'
security:
- user_auth: []
responses:
'200':
description: Transaction details.
content:
application/json:
schema:
type: object
allOf:
- properties:
account_id:
$ref: '#/paths/~1rest~1accounts~1{account-id}/get/parameters/0/schema'
transaction_id:
$ref: '#/paths/~1rest~1transactions~1{transaction-id}/get/parameters/1/schema'
- type: object
properties:
amount:
$ref: '#/paths/~1uploads/post/requestBody/content/application~1json/schema/properties/accounts/items/properties/balance'
currency:
$ref: '#/paths/~1rest~1loans~1{loan-id}/get/responses/200/content/application~1json/schema/properties/currency'
account_number:
$ref: '#/paths/~1rest~1accounts~1{account-id}/get/responses/200/content/application~1json/schema/properties/account_number'
bank_code:
$ref: '#/paths/~1rest~1accounts~1{account-id}/get/responses/200/content/application~1json/schema/properties/bank_code'
iban:
$ref: '#/paths/~1uploads/post/requestBody/content/application~1json/schema/properties/accounts/items/properties/iban'
bic:
$ref: '#/paths/~1uploads/post/requestBody/content/application~1json/schema/properties/accounts/items/properties/bic'
name:
type: string
description: Name of the counterparty.
example: AMAZON EU S.A R.L.
purpose:
type: string
description: Purpose of the transaction potentially including other structured SEPA information (e.g. `EREF+`, `MREF+`). For the pure purpose text see `sepa_remittance_info`.
example: EREF+5B5U3FFS9EA2LS0O MREF+xJbwAFja+X58H3w,CTnl.ascP,WtKe CRED+DE24ZZZ00000561652 SVWZ+306-7405387-3384342 Amazon.de
external_id:
type: string
description: The identification field provided by the bank. This is not the same as the `transaction_id`. The difference between these two fields is that while the `transaction_id` is generated internally by our systems, the `external_id` is provided by the bank as its way to identify the transaction. This is an optional field since not every bank provides an internal transaction id.
example: 52793b25-00d9-40b0-94bd-2594e4e1716d
- type: object
properties:
sepa_remittance_info:
type: string
description: Pure purpose text without other SEPA fields.
example: 306-7405387-3384342 Amazon.de
- type: object
properties:
sepa_purpose_code:
$ref: '#/paths/~1rpc~1categorize/post/requestBody/content/application~1json/schema/items/properties/sepa_purpose_code'
booking_text:
type: string
description: Booking text further describing the type of transaction.
example: Basislastschrift
booking_key:
type: string
description: SWIFT transaction identification code indicating the purpose of the transaction. Possible codes are specified in [MT940](https://www2.swift.com/knowledgecentre/publications/us9m_20210723/3.0?topic=con_sfld_G-krv9uqEeqF57jgqTEwJQ_1564595035fld.htm) (field 61, subfield 6).
example: NMSC
creditor_id:
$ref: '#/paths/~1rpc~1categorize/post/requestBody/content/application~1json/schema/items/properties/creditor_id'
mandate_reference:
$ref: '#/paths/~1rpc~1categorize/post/requestBody/content/application~1json/schema/items/properties/mandate_reference'
end_to_end_reference:
$ref: '#/paths/~1rpc~1categorize/post/requestBody/content/application~1json/schema/items/properties/end_to_end_reference'
- type: object
properties:
type:
$ref: '#/paths/~1rest~1transactions/get/parameters/15/schema'
prima_nota_number:
type: string
deprecated: true
description: '*FinTS*: Bank-internal number to group and identify transactions.'
example: '931'
transaction_code:
type: integer
deprecated: true
description: '*FinTS*: Transaction type as DTA Textschlüssel/Geschäftsvorfallcode.'
example: 117
additional_info:
type: object
description: 'Additional info on the transaction, if available.
'
properties:
bank_reference:
type: string
description: Bank reference or instruction ID, can be filled by the payers bank.
reference_party_debitor:
type: string
description: Deviating sender of the transfer.
reference_party_creditor:
type: string
description: Deviating receiver of the transfer.
fee:
type: number
format: float
description: Paid fees.
gross_amount:
type: number
format: float
description: Gross amount of the transaction.
debitor_id:
type: string
description: '*FinTS*: An identifier of the payer.'
compensation_amount:
type: string
description: '*FinTS*: Sum of reimbursement of out-of-pocket expenses plus processing fee in case of a national return / refund debit as well as an optional interest equalization (for SEPA direct debit returns).'
original_amount:
type: string
description: '*FinTS*: Amount of the original direct debit (for SEPA direct debit returns).'
example:
fee: 0.5
gross_amount: 12.5
- type: object
properties:
categories:
description: Category sub-tree associated with this transaction.
type: array
items:
$ref: '#/paths/~1category-tree/get/responses/200/content/application~1json/schema/items'
payment_partner:
type: object
properties:
id:
$ref: '#/paths/~1rest~1payment-partners/get/responses/200/content/application~1json/schema/items/allOf/0/properties/id'
name:
type: string
description: Name of payment partner.
example: Qwist GmbH
website_url:
type: string
format: url
description: The HTTP URL of the partners website
example: https://qwist.com
logo_url:
type: string
format: url
description: The HTTP URL of the partners logo
example: https://qwist.com/wp-content/uploads/2024/04/qwist_logo.svg
latitude:
type: number
format: float
description: Latitude of the partners physical location. If the partner is an online retailer i.e. Amazon - then the field is not provided
example: 52.508099
longitude:
type: number
format: float
description: Longitude of the partners physical location. If the partner is an online retailer i.e. Amazon - then the field is not provided
example: 13.329611
confidence:
type: number
format: float
minimum: 0
maximum: 1
example: 0.95
description: Confidence score of the payment partner recognition backend, ranging from 0.0 (lowest confidence) to 1.0 (highest confidence). This value indicates how certain the engine is about the match. In general, values between 0.7 (inclusive) and 1.0 are considered highly reliable. We recommend treating values below 0.7 as potentially uncertain. When the system fails to identify a payment partner, a fallback partner is assigned with a confidence score of 0.65, derived directly from other transaction fields.
required:
- id
- name
contract_id:
$ref: '#/paths/~1rest~1contracts~1{contract-id}/get/parameters/1/schema'
- properties:
booked:
type: boolean
description: Indicates if the transaction has been settled.
example: true
- type: object
properties:
booked_at:
$ref: '#/paths/~1uploads/post/responses/200/content/application~1json/schema/properties/ended_at'
description: The date on which the transaction was booked.
settled_at:
$ref: '#/paths/~1uploads/post/responses/200/content/application~1json/schema/properties/ended_at'
description: The date on which the transaction was settled.
- properties:
created_at:
$ref: '#/paths/~1rest~1accesses/get/responses/200/content/application~1json/schema/items/properties/created_at'
modified_at:
$ref: '#/paths/~1rest~1loans~1{loan-id}/get/responses/200/content/application~1json/schema/properties/modified_at'
required:
- account_id
- transaction_id
- amount
- currency
- iban
- bic
- name
- type
- transaction_code
- categories
- booked
- booked_at
- settled_at
- created_at
- modified_at
'400':
$ref: '#/paths/~1rest~1user/put/responses/400'
'401':
$ref: '#/paths/~1catalog/get/responses/401'
'404':
$ref: '#/paths/~1auth~1token/post/responses/404'
4XX:
$ref: '#/paths/~1rest~1loans/get/responses/4XX'
components:
securitySchemes:
user_auth:
type: http
description: 'In order to access any information belonging to a user, a client has to authenticate with a token linking itself to the user. This token is called an `access token` and contains information on the client, the user and the level of access the client has to the users data. In order to authenticate using such an access token the HTTP header `Authorization` is set to `Bearer <access token>`. The `access token` is formatted
as a JSON Web Token according to [RFC7519](https://tools.ietf.org/html/rfc7519)
Such an `access token` is either returned when
* exchanging an authorization code after a successful OAuth login flow
* logging in with the user''s credentials
* exchanging a refresh token, which is returned at either of the aforementioned points
**Authentication errors**
In case of an authentication error a HTTP code 401 response is returned containing further
details on the kind of error in the `WWW-Authenticate` header.
In addition to the below listed scope the flags are used for simple boolean permissions.
| Flag | Description |
| -- | -- |
| submit_payments | Allow submission of payments to bank server |
| offline | Access finX API when the user is not present |
| create_user | Allow creation of finX accounts |
**Example**
The string `"accounts=rw submit_payments"` is URL-encoded and passed as the URL
parameter `scope`.'
scheme: bearer
bearerFormat: JWT
x-bearerInfoFunc: app.decode_token
x-scopes:
accounts=rw: Modify accounts
accounts=ro: Read accounts
balance=ro: Read account balance
securities=ro: Read securities
transactions=ro: Read transactions
transactions=rw: Modify transactions
payments=ro: Read payments
payments=rw: Create/modify payments
submit_payments: Submit payment to service provider
user=ro: Read user information
user=rw: Modify user information
client_auth:
x-basicInfoFunc: app.basic_auth
type: http
scheme: basic
description: Client authentication is performed via [HTTP Basic Auth](https://en.wikipedia.org/wiki/Basic_access_authentication) with client ID as username and client secret as password.
x-provenance:
method: searched
source: https://docs.qwist.com/reference
harvested: '2026-10-21'
tool: harvest-readme-openapi.py
note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
assembled_from:
- https://docs.qwist.com/reference/addprovideraccess.md
- https://docs.qwist.com/reference/categorizetransactions.md
- https://docs.qwist.com/reference/createaccesstoken.md
- https://docs.qwist.com/reference/createaccountverification.md
- https://docs.qwist.com/reference/createcontract.md
- https://docs.qwist.com/reference/createincomereport.md
- https://docs.qwist.com/reference/createmanualsync.md
- https://docs.qwist.com/reference/createnotification.md
- https://docs.qwist.com/reference/createonetimeaccess.md
- https://docs.qwist.com/reference/createonetimeincomereport.md
- https://docs.qwist.com/reference/createonetimepayment.md
- https://docs.qwist.com/reference/createonetimeriskreport.md
- https://docs.qwist.com/reference/createongoingaccess.md
- https://docs.qwist.com/reference/createongoingpayment.md
- https://docs.qwist.com/reference/createongoingriskreport.md
- https://docs.qwist.com/reference/createpayment.md
- https://docs.qwist.com/reference/createpaymentfromaccount.md
- https://docs.qwist.com/reference/createqwistlink.md
- https://docs.qwist.com/reference/createriskreport.md
- https://docs.qwist.com/reference/createsync.md
- https://docs.qwist.com/reference/createupload.md
- https://docs.qwist.com/reference/createuser.md
- https://docs.qwist.com/reference/createverifyandpay.md
- https://docs.qwist.com/reference/deleteaccount.md
- https://docs.qwist.com/reference/deleteclientuser.md
- https://docs.qwist.com/reference/deletecontract.md
- https://docs.qwist.com/reference/deletenotification.md
- https://docs.qwist.com/reference/deletepayment.md
- https://docs.qwist.com/reference/deleteprovideraccess.md
- https://docs.qwist.com/reference/deleteuser.md
- https://docs.qwist.com/reference/getaccount.md
- https://docs.qwist.com/reference/getaccountbalance.md
- https://docs.qwist.com/reference/getaccountverificationreceipt.md
- https://docs.qwist.com/reference/getandgenerateincomereport.md
- https://docs.qwist.com/reference/getartifact.md
- https://docs.qwist.com/reference/getcategories.md
- https://docs.qwist.com/reference/getcategoriesforaccess.md
- https://docs.qwist.com/reference/getcategoriesforaccount.md
- https://docs.qwist.com/reference/getcategorytree.md
- https://docs.qwist.com/reference/getcontract.md
- https://docs.qwist.com/reference/getcredential.md
- https://docs.qwist.com/reference/getincomereport.md
- https://docs.qwist.com/reference/getinsurance.md
- https://docs.qwist.com/reference/getloan.md
- https://docs.qwist.com/reference/getnotification.md
- https://docs.qwist.com/reference/getpaymentchallenge.md
- https://docs.qwist.com/reference/getpaymentchallengeofaccount.md
- https://docs.qwist.com/reference/getpaymentinitstatus.md
- https://docs.qwist.com/reference/getpaymentinitstatusofaccount.md
- https://docs.qwist.com/reference/getpaymentofaccount.md
- https://docs.qwist.com/reference/getpaymentpartners.md
- https://docs.qwist.com/reference/getpaymentpartnersforaccess.md
- https://docs.qwist.com/reference/getpaymentpartnersforaccount.md
- https://docs.qwist.com/reference/getpaymentreceipt.md
- https://docs.qwist.com/reference/getprovideraccess.md
- https://docs.qwist.com/reference/getriskreport.md
- https://docs.qwist.com/reference/getsecurityofaccount.md
- https://docs.qwist.com/reference/getsyncchallenge.md
- https://docs.qwist.com/reference/getsyncstatus.md
- https://docs.qwist.com/reference/gettimeline.md
- https://docs.qwist.com/reference/gettimelineforaccess.md
- https://docs.qwist.com/reference/gettimelineforaccount.md
- https://docs.qwist.com/reference/gettransaction.md
- https://docs.qwist.com/reference/gettransactionofaccount.md
- https://docs.qwist.com/reference/getuploadstatus.md
- https://docs.qwist.com/reference/getuser.md
- https://docs.qwist.com/reference/getversion.md
- https://docs.qwist.com/reference/initpayment.md
- https://docs.qwist.com/reference/initpaymentofaccount.md
- https://docs.qwist.com/reference/listaccounts.md
- https://docs.qwist.com/reference/listaccountsofaccess.md
- https://docs.qwist.com/reference/listbanks.md
- https://docs.qwist.com/reference/listcatalog.md
- https://docs.qwist.com/reference/listcatalogclientauth.md
- https://docs.qwist.com/reference/listclientusers.md
- https://docs.qwist.com/reference/listcontracts.md
- https://docs.qwist.com/reference/listcontractsofaccess.md
- https://docs.qwist.com/reference/listcontractsofaccount.md
- https://docs.qwist.com/reference/listcredentials.md
- https://docs.qwist.com/reference/listinsurances.md
- https://docs.qwist.com/reference/listinsurancesofaccess.md
- https://docs.qwist.com/reference/listloans.md
- https://docs.qwist.com/reference/listloansofaccess.md
- https://docs.qwist.com/reference/listnotifications.md
- https://docs.qwist.com/reference/listpaymentchallenges.md
- https://docs.qwist.com/reference/listpaymentchallengesofaccount.md
- https://docs.qwist.com/reference/listpayments.md
- https://docs.qwist.com/reference/listpaymentsofaccount.md
- https://docs.qwist.com/reference/listprovideraccesses.md
- https://docs.qwist.com/reference/listsecurities.md
- https://docs.qwist.com/reference/listsecuritiesofaccount.md
- https://docs.qwist.com/reference/listservices.md
- https://docs.qwist.com/reference/listsyncchallenges.md
- https://docs.qwist.com/reference/listtransactions.md
- https://docs.qwist.com/reference/listtransactionsofaccount.md
- https://docs.qwist.com/reference/patchcredential.md
- https://docs.qwist.com/reference/removepinfromprovideraccess.md
- https://docs.qwist.com/reference/replacenotifications.md
- https://docs.qwist.com/reference/revokeoauthtoken.md
- https://docs.qwist.com/reference/solvepaymentchallenge.md
- https://docs.qwist.com/reference/solvepaymentchallengeofaccount.md
- https://docs.qwist.com/reference/solvesyncchallenge.md
- https://docs.qwist.com/reference/updatecontract.md
- https://docs.qwist.com/reference/updatenotification.md
- https://docs.qwist.com/reference/updateuser.md
merge:
pages: 105
deduped: 1107
conflicts_kept_first: 0