# Qwist Developer Hub Documentation > Documentation for Qwist Developer Hub ## Guides: Getting Started - [Getting Started](https://docs.qwist.com/docs/getting-started.md): Pick the right nrich product for your use case and go from zero to first API call. ## Guides: Financial Data (one-time) - [Introduction to Financial Data (one-time)](https://docs.qwist.com/docs/financial-data-introduction.md): Retrieve bank account details, balances, and transaction history with one-time user consent. - [Implementation Guide](https://docs.qwist.com/docs/financial-data-implementation.md): Create a one-time access flow, exchange the authorization code, and fetch financial data. - [Fetching Account & Transaction Data](https://docs.qwist.com/docs/financial-data-fetching-account-transaction-data.md): Fetch account details, balances, and categorised transactions using the access token. ## Guides: Financial Data (ongoing) - [Introduction to Financial Data (ongoing)](https://docs.qwist.com/docs/multibanking-introduction.md): Aggregate all of a user's financial accounts in one place with automatic daily sync - [Implementation Guide](https://docs.qwist.com/docs/multibanking-implementation.md): Create an ongoing access flow, exchange the authorization code, and fetch financial data. - [Fetching Account & Transaction Data](https://docs.qwist.com/docs/multibanking-fetching-account-transaction-data.md): Fetch continuously-synced account and transaction data using the access token. ## Guides: Account Verification - [Introduction to Account Verification](https://docs.qwist.com/docs/financial-ident-verification-introduction.md): Verify a user's identity in seconds using their bank account - no document uploads, no micro-deposits. - [Implementation Guide](https://docs.qwist.com/docs/financial-ident-verification-implementation.md): Create an account verification flow, exchange the authorization code, and fetch the verification report. - [Getting your Verification Report](https://docs.qwist.com/docs/financial-ident-verification-report.md): Fetch the account verification report and interpret the name-match affinity result. ## Guides: Income Verification - [Introduction to Income Verification](https://docs.qwist.com/docs/disposable-income-verification-introduction.md): Verify a user's income, regular expenses, and disposable income from their real transaction history. - [Implementation Guide](https://docs.qwist.com/docs/disposable-income-verification-implementation.md): Create an income report flow, exchange the authorization code, and fetch the verification report. - [Fetching your Income Report](https://docs.qwist.com/docs/disposable-income-verification-report.md): Fetch and interpret the income report: income streams, expenses, disposable and discretionary income. ## Guides: Risk Insights - [Introduction to Risk Insights](https://docs.qwist.com/docs/introduction-to-risk-insights.md): Multi-dimensional financial risk assessment from real transaction data - for credit scoring, underwriting, and monitoring. - [Implementation Guide](https://docs.qwist.com/docs/risk-insights-implementation.md): Create a risk report flow (one-time or ongoing), exchange the authorization code, and fetch the report. - [Fetching your Risk Report](https://docs.qwist.com/docs/risk-insights-report.md): Fetch and interpret the risk report: accounts, income, expenses, and risk indicators. ## Guides: Data Enrichment - [Data Enrichment](https://docs.qwist.com/docs/transaction-enrichment.md): Categorise transactions and identify payment partners without connecting to a bank - send your own data, get enriched data back. ## Guides: Pay-by-Bank - [Introduction to Pay-by-Bank](https://docs.qwist.com/docs/payments-introduction.md): Learn what Payment Initiation includes and how one-time and ongoing payments work. - [Pay-by-bank (one-time)](https://docs.qwist.com/docs/onetime-payments.md): Initiate a single payment and fetch the receipt. nrich uses SEPA Instant where supported, falling back to standard SEPA Credit Transfer. - [Pay-by-bank (ongoing)](https://docs.qwist.com/docs/ongoing-payments.md): Create an ongoingStore user credentials for faster repeat payments - only a SCA required after the first payment. Uses SEPA Instant where available. payment flow and fetch the payment receipt. - [Fetching your Payment Receipt](https://docs.qwist.com/docs/payment-receipt.md): Fetch a payment receipt to confirm the payment was successfully submitted to the bank. ## Guides: TRANSACTION UPLOAD - [Introduction to Transaction Upload](https://docs.qwist.com/docs/introduction-to-transaction-upload.md): Use nrich enrichment and risk capabilities with your own transaction data - no AIS integration required. - [Implementation Guide](https://docs.qwist.com/docs/transaction-upload-implementation.md): Upload transactions, poll processing status, and fetch enriched data using the returned access token. ## Guides: QWIST LINK - [Introduction to Qwist Link](https://docs.qwist.com/docs/introduction-to-qwist-link.md): each customers without a backend integration. Share a link, users connect their bank in seconds, and artifacts appear in the Qwist Console. - [Implementation Guide](https://docs.qwist.com/docs/implementation-guide.md): Construct a Qwist Link URL, distribute it to your users, and access the resulting artifacts in the Qwist Console. No backend integration required. ## Guides: VERIFY AND PAY - [Introduction to Verify and Pay](https://docs.qwist.com/docs/introduction-to-verify-and-pay.md): Validate if the selected account fits the predefined rules to make a payment - [Implementation Guide](https://docs.qwist.com/docs/implementation-guide-1.md): Create a verify and pay flow, check the failed rules and retrieve the generated risk report - [Fetching the generated risk report](https://docs.qwist.com/docs/fetching-the-generated-risk-report.md): Fetch the risk report with further data about the selected account for making the payment - [Fetching the transactions](https://docs.qwist.com/docs/fetching-the-transactions.md): Fetch the transactions from the selected account ## Guides: Resources - [Widget Integration](https://docs.qwist.com/docs/widget-integration.md): Embed the Widget using a redirect or iframe, handle callbacks, and understand browser support. ## API Reference: Get Started - [Introduction](https://docs.qwist.com/reference/introduction.md): Welcome to the nrich API reference! - [Errors](https://docs.qwist.com/reference/errors.md) - [JWE encryption](https://docs.qwist.com/reference/jwe-encryption.md) - [Changelog](https://docs.qwist.com/reference/changelog.md) ## API Reference: finX API - Account Verification - [Account Verification](https://docs.qwist.com/reference/createaccountverification.md): Start the onetime account verification flow. - [Get Account Verification Receipt](https://docs.qwist.com/reference/getaccountverificationreceipt.md): Retrieve detailed information about the result of an account verification process. This verification receipt will give insights into the bank account connected by the user and how good the provided… - Income Report - [Onetime Income Report](https://docs.qwist.com/reference/createonetimeincomereport.md): Create a widget link to initiate the income report generation. - [Get income report](https://docs.qwist.com/reference/getincomereport.md): Get the income report which was created earlier. The language of the categories can be customized by using the `Accept-Language` HTTP header. - [Get and Generate Income Report](https://docs.qwist.com/reference/getandgenerateincomereport.md): Get Income Report for an account or an access creating the report on the fly - [Create income report](https://docs.qwist.com/reference/createincomereport.md): Create income report directly via API (without using the widget). This endpoint is only relevant for licensed partners with a direct API integration. - [Client Authorization](https://docs.qwist.com/reference/client-authorization.md) - [Create access token](https://docs.qwist.com/reference/createaccesstoken.md): Create a new token to access user resources. - [Revoke token](https://docs.qwist.com/reference/revokeoauthtoken.md): Use this endpoint to invalidate an access token or refresh token - [User Management](https://docs.qwist.com/reference/user-management.md) - [Create a user](https://docs.qwist.com/reference/createuser.md): The client has to have the `create_user` scope in order to be able to perform this operation. - [Get user](https://docs.qwist.com/reference/getuser.md): Show details about the user associated with the access token used for authentication. - [Modify user](https://docs.qwist.com/reference/updateuser.md): Update details of the user associated with the access token used for authentication. - [Delete user](https://docs.qwist.com/reference/deleteuser.md): Delete the user associated with the access token used for authentication. This will also completely remove all financial data of the user from the finX API backend. - [List users of client](https://docs.qwist.com/reference/listclientusers.md) - [Delete a user of client](https://docs.qwist.com/reference/deleteclientuser.md) - [Customizable Widget](https://docs.qwist.com/reference/customizable-widget.md): Get access to accounts or initiate payments in about three API calls - [Ongoing access](https://docs.qwist.com/reference/createongoingaccess.md): Start the flow to create an ongoing account access. - [Onetime access](https://docs.qwist.com/reference/createonetimeaccess.md): Create a widget link for onetime account information access. - [Manual synchronization](https://docs.qwist.com/reference/createmanualsync.md): Initiate a manual synchronization flow to fetch new data (e.g. transactions) for already connected accounts from the respective bank(s). - [Onetime payment](https://docs.qwist.com/reference/createonetimepayment.md): Start the flow to issue a onetime payment. - [Ongoing payment](https://docs.qwist.com/reference/createongoingpayment.md): Ongoing payments can be used in two different ways: You can either issue a payment from a previously synchronized account by specifying the corresponding `account_id` in the request, the second… - [Get a payment receipt](https://docs.qwist.com/reference/getpaymentreceipt.md): Get a payment receipt that indicates if the user has initiated the payment identified by `payment-id`. This call might return a `404` as long the user is still being guided through the flow but has… - [Initiate Qwist Link flow](https://docs.qwist.com/reference/createqwistlink.md): Start the flow through the Qwist Link approach without the need of a previous configuration - [Verify and Pay](https://docs.qwist.com/reference/createverifyandpay.md): Verify and Pay flow can be used in order to pre-define a set of validations which the account selected for the payment needs to be aligned to. These validations, under the umbrella of the… - Accesses - [Add provider access](https://docs.qwist.com/reference/addprovideraccess.md): Attach a new provider access to the user's account. If the provider uses an authentication flow where customer credentials have to be presented, use the information from the catalog to identify… - [List provider accesses](https://docs.qwist.com/reference/listprovideraccesses.md): List all connected provider accesses of user. - [Get provider access](https://docs.qwist.com/reference/getprovideraccess.md): Retrieve the details of a specific provider access identified by its ID. - [Delete provider access](https://docs.qwist.com/reference/deleteprovideraccess.md): Delete a specific provider access identified by its ID. - [List credentials](https://docs.qwist.com/reference/listcredentials.md): List all credentials that have been used to access the provider sorted by the `created_at` field. The first credential in the list is the currently active one whereas the remaining ones are either… - [Get credential](https://docs.qwist.com/reference/getcredential.md): Retrieve the details of a specific credential of a provider access identified by its ID. - [Revoke credential](https://docs.qwist.com/reference/patchcredential.md): Revoke a specific credential of a provider access identified by its ID. Revoking a credential of type `CONSENT` will trigger a revocation call to the financial provider. The `status` field **must**… - [Remove stored PIN](https://docs.qwist.com/reference/removepinfromprovideraccess.md): Remove a PIN from the API backend that has been previously stored for automatic synchronization or ease of use. Will be removed in favor of the `PATCH… - [Strong Customer Authentication](https://docs.qwist.com/reference/strong-customer-authentication.md) - [List synchronization challenges](https://docs.qwist.com/reference/listsyncchallenges.md) - [Get synchronization challenge](https://docs.qwist.com/reference/getsyncchallenge.md) - [Solve synchronization challenge](https://docs.qwist.com/reference/solvesyncchallenge.md): This endpoint is used to answer an authorization challenge that was issued by the financial provider. In addition to the normal transport layer encryption it is possible to encrypt the challenge… - [List payment challenges](https://docs.qwist.com/reference/listpaymentchallenges.md) - [Get payment challenge](https://docs.qwist.com/reference/getpaymentchallenge.md) - [Solve payment challenge](https://docs.qwist.com/reference/solvepaymentchallenge.md): This endpoint is used to answer an authorization challenge that was issued by the financial provider. In addition to the normal transport layer encryption it is possible to encrypt the challenge… - [List payment challenges of account](https://docs.qwist.com/reference/listpaymentchallengesofaccount.md): **Deprecated** in favour of [list payment challenges](/reference/listpaymentchallenges) endpoint. - [Get payment challenge of account](https://docs.qwist.com/reference/getpaymentchallengeofaccount.md): **Deprecated** in favour of [payment challenge details](/reference/getpaymentchallenge) endpoint. - [Solve payment challenge of account](https://docs.qwist.com/reference/solvepaymentchallengeofaccount.md): This endpoint is used to answer an authorization challenge that was issued by the financial provider. In addition to the normal transport layer encryption it is possible to encrypt the challenge… - [Synchronizations](https://docs.qwist.com/reference/synchronizations.md) - [Start provider synchronization](https://docs.qwist.com/reference/createsync.md): In order for the finX API to have up-to-date transaction and account information, it needs to query the bank servers, a process which is called synchronization. With this call you can create a new… - [Get synchronization status](https://docs.qwist.com/reference/getsyncstatus.md) - Accounts - [List accounts](https://docs.qwist.com/reference/listaccounts.md): Get a list of all available accounts to which the user has granted access. - [List accounts of access.](https://docs.qwist.com/reference/listaccountsofaccess.md): Get a list of accounts that belong to this access. - [Get account](https://docs.qwist.com/reference/getaccount.md): Retrieve detailed information about an account identified by its ID. - [Delete account](https://docs.qwist.com/reference/deleteaccount.md): Once the last remaining account of a bank contact has been removed, the provider access will be automatically removed as well. - [Get account balance](https://docs.qwist.com/reference/getaccountbalance.md): Retrieve the balance of an account identified by its ID. - [Transactions](https://docs.qwist.com/reference/transactions.md) - [List transactions](https://docs.qwist.com/reference/listtransactions.md): 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. - [List transactions of account](https://docs.qwist.com/reference/listtransactionsofaccount.md): 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. - [Get transaction](https://docs.qwist.com/reference/gettransaction.md): Retrieve the details of a single transaction by its ID. - [Get transaction of account](https://docs.qwist.com/reference/gettransactionofaccount.md): Retrieve the details of a single transaction by its ID associated to a specific account. - [Securities](https://docs.qwist.com/reference/securities.md) - [List securities](https://docs.qwist.com/reference/listsecurities.md): Get a list of the securities of all accounts. You can additionally constrain the amount of securities being returned by using the query parameters described below as filters. - [List securities of account](https://docs.qwist.com/reference/listsecuritiesofaccount.md): Get a list of the securities associated with a specific account. You can additionally constrain the amount of securities being returned by using the query parameters described below as filters. - [Get security of account](https://docs.qwist.com/reference/getsecurityofaccount.md): Retrieve a single security associated to a specific account by its `security-id`. - [Contracts](https://docs.qwist.com/reference/contracts.md) - [List contracts](https://docs.qwist.com/reference/listcontracts.md): Retrieve a list of contracts associated with this user. - [Create contract](https://docs.qwist.com/reference/createcontract.md): Create a new contract based on a given set of transactions. - [List contracts of access](https://docs.qwist.com/reference/listcontractsofaccess.md): Retrieve a list of contracts associated with this access. - [List contracts of account](https://docs.qwist.com/reference/listcontractsofaccount.md): Retrieve a list of contracts associated with this account. - [Get contract](https://docs.qwist.com/reference/getcontract.md): Get contract by ID - [Modify contract](https://docs.qwist.com/reference/updatecontract.md): Update the properties of a contract. This is only possible as long as the contract properties are not automatically derived from the transaction history but are still managed by the user… - [Delete contract](https://docs.qwist.com/reference/deletecontract.md): Delete a contract. - [Payments](https://docs.qwist.com/reference/payments.md) - [Create payment](https://docs.qwist.com/reference/createpayment.md): The creation of a standalone payment is useful in situations where the account and transaction data is not of interest. This endpoint can be used with either `user_auth` or `client_auth`, but only in… - [List payments](https://docs.qwist.com/reference/listpayments.md): View not payments as stored in the finX API backend. - [Initiate a payment](https://docs.qwist.com/reference/initpayment.md): Initiate a payment by submitting it to the payment service provider. The payment initiation is executed as an asynchronous background operation. The state of this operation can be monitored polling… - [Get payment initiation status](https://docs.qwist.com/reference/getpaymentinitstatus.md) - [Create payment from account](https://docs.qwist.com/reference/createpaymentfromaccount.md): Create a new payment from a previously connected account as the source. In order to initiate the payment it has to be [submitted](/reference/initpayment) to the payment service provider. - [List payments of account](https://docs.qwist.com/reference/listpaymentsofaccount.md): List all payments associated to a specific account. - [Get payment of account](https://docs.qwist.com/reference/getpaymentofaccount.md): Retrieve the details of a payment from the given account. The `status`, `challenge` and `error` fields are used in the same way as for synchronization operations when the payment is issued to the… - [Delete a payment](https://docs.qwist.com/reference/deletepayment.md): Delete a payment from the finX API backend. - [Initiate a payment of account](https://docs.qwist.com/reference/initpaymentofaccount.md): Initiate a payment by sending it to the payment service provider. The payment is executed as an asynchronous background operation. The status of this operation can be monitored by polling [the… - [Get payment initiation status of account](https://docs.qwist.com/reference/getpaymentinitstatusofaccount.md): **Deprecated** in favour of [payment status](/reference/getpaymentinitstatus) endpoint. - Risk Report - [Initiate risk report (onetime)](https://docs.qwist.com/reference/createonetimeriskreport.md): Create a widget link to initiate the onetime risk report generation. - [Initiate risk report (ongoing)](https://docs.qwist.com/reference/createongoingriskreport.md): Create a widget link to initiate the ongoing risk report generation. - [Get risk report](https://docs.qwist.com/reference/getriskreport.md): Get the risk report which was created earlier. The language of the categories can be customized by using the `Accept-Language` HTTP header. - [Create risk report](https://docs.qwist.com/reference/createriskreport.md): Create risk report directly via API (without using the widget). This endpoint is only relevant for licensed partners with a direct API integration. - [Loans](https://docs.qwist.com/reference/loans.md) - [List loans](https://docs.qwist.com/reference/listloans.md): Retrieve a list of all available loans. - [List loans of access](https://docs.qwist.com/reference/listloansofaccess.md): Retrieve a list of available loans for this access. - [Get loan](https://docs.qwist.com/reference/getloan.md): Get loan by ID. - [Insurances](https://docs.qwist.com/reference/insurances.md) - [List insurances](https://docs.qwist.com/reference/listinsurances.md): Retrieve a list of all available insurances. - [List insurances of access](https://docs.qwist.com/reference/listinsurancesofaccess.md): Retrieve a list of available insurances for this access. - [Get insurance](https://docs.qwist.com/reference/getinsurance.md): Get insurance by ID. - [Financial Timeline](https://docs.qwist.com/reference/financial-timeline.md) - [Get timeline](https://docs.qwist.com/reference/gettimeline.md): Aggregated account characteristics are accumulated for all accounts of this user. - [Get timeline for access](https://docs.qwist.com/reference/gettimelineforaccess.md): Aggregated account characteristics are accumulated for all accounts of this access. - [Get timeline for account](https://docs.qwist.com/reference/gettimelineforaccount.md): Aggregated account characteristics are calculated for a single account. - [Aggregations](https://docs.qwist.com/reference/aggregations.md) - [Get categories](https://docs.qwist.com/reference/getcategories.md): Retrieve a list of categories associated to the transactions of this user. Each category entry also includes aggregated statistics of the referenced transactions like total amount, number of… - [Get categories for access](https://docs.qwist.com/reference/getcategoriesforaccess.md): Retrieve a list of categories associated to the transactions of this access. Each category entry also includes aggregated statistics of the referenced transactions like total amount, number of… - [Get categories for account](https://docs.qwist.com/reference/getcategoriesforaccount.md): Retrieve a list of categories associated to the transactions of this account. Each category entry also includes aggregated statistics of the referenced transactions like total amount, number of… - [Get payment partners](https://docs.qwist.com/reference/getpaymentpartners.md): Retrieve a list of payment partners associated to the transactions of this user. Each entry includes aggregated statistics of the referenced transactions like total amount, number of transactions and… - [Get payment partners for access](https://docs.qwist.com/reference/getpaymentpartnersforaccess.md): Retrieve a list of payment partners associated to the transactions of this access. Each entry includes aggregated statistics of the referenced transactions like total amount, number of transactions… - [Get payment partners for account](https://docs.qwist.com/reference/getpaymentpartnersforaccount.md): Retrieve a list of payment partners associated to the transactions of this account. Each entry includes aggregated statistics of the referenced transactions like total amount, number of transactions… - [Categorization](https://docs.qwist.com/reference/categorization.md) - [Categorize transactions](https://docs.qwist.com/reference/categorizetransactions.md): Categorize transactions on the fly. The transaction data is provided in the request rather than fetched from the bank. **Note**: Currently the number of transactions that can be sent in one request… - [Get Category Tree](https://docs.qwist.com/reference/getcategorytree.md): Retrieve the complete category tree as a single-linked list. The category name is rendered depending on the language given in the `Accept-Language` header. Each list entry has an `id` and a… - [Notifications](https://docs.qwist.com/reference/notifications.md) - [Create notification](https://docs.qwist.com/reference/createnotification.md): Create a new notification. - [Replace notifications](https://docs.qwist.com/reference/replacenotifications.md): Replace all existing notifications with a list of new ones. - [List notifications](https://docs.qwist.com/reference/listnotifications.md): List all available notifications. - [Get notification](https://docs.qwist.com/reference/getnotification.md): Get details of a specific notification identified by its ID. - [Modify notification](https://docs.qwist.com/reference/updatenotification.md): Update the properties of a notification. - [Delete notification](https://docs.qwist.com/reference/deletenotification.md): Delete a notification so that no further events will be triggered for the given condition. - Version - [Get version](https://docs.qwist.com/reference/getversion.md): Shows the current version and the environment of the finX API. - Transaction Upload - [Create a transaction upload job](https://docs.qwist.com/reference/createupload.md): Creates a new user and associates it with the products and transactions received in the body of the request. - [Get upload status](https://docs.qwist.com/reference/getuploadstatus.md): Update details of the user associated with the access token used for authentication. - Artifacts - [Get artifact](https://docs.qwist.com/reference/getartifact.md): Get the artifact by the given ID and artifact type. - [Catalog](https://docs.qwist.com/reference/catalog.md) - [List complete catalog (client_auth)](https://docs.qwist.com/reference/listcatalogclientauth.md): The real catalog contains thousands of entries, so expect the call to cause some traffic and delay. The example is only to highlight the data structure. *Note*: The client has to have the… - [List complete catalog](https://docs.qwist.com/reference/listcatalog.md): The real catalog contains thousands of entries, so expect the call to cause some traffic and delay. The example is only to highlight the data structure. - [List banks](https://docs.qwist.com/reference/listbanks.md): List banks of the provider catalog. - [List services](https://docs.qwist.com/reference/listservices.md): List all available services of the provider catalog.