Qwist Categorization API
The Categorization API from Qwist — 2 operation(s) for categorization.
The Categorization API from Qwist — 2 operation(s) for categorization.
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-categorization-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 Categorization 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: Categorization
paths:
/category-tree:
get:
summary: Get Category Tree
operationId: getCategoryTree
description: 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 `parent_id` linking a category to its parent category (e.g. the category "Online-Shopping" is linked to the parent category "Living"). Categories on the 1st level have a `parent_id` value set to `null`.
tags:
- Categorization
security:
- client_auth: []
parameters:
- $ref: '#/paths/~1catalog/get/parameters/0'
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
type: object
properties:
parent_id:
type: integer
nullable: true
description: ID of the parent category.
example: null
id:
$ref: '#/paths/~1rest~1categories/get/responses/200/content/application~1json/schema/items/properties/id'
name:
$ref: '#/paths/~1rest~1categories/get/responses/200/content/application~1json/schema/items/properties/name'
required:
- parent_id
- id
- name
example:
- id: 82
name: Living
parent_id: null
- id: 95
name: Online-Shopping
parent_id: 82
'401':
$ref: '#/paths/~1catalog/get/responses/401'
/rpc/categorize:
post:
summary: Categorize transactions
operationId: categorizeTransactions
description: '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 is limited to 2000.'
tags:
- Categorization
security:
- client_auth: []
parameters:
- $ref: '#/paths/~1auth~1user/post/parameters/0'
- $ref: '#/paths/~1catalog/get/parameters/0'
requestBody:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: string
description: An identifier that should be used for mapping this transaction to the categorization result. It is highly recommended to make this ID unique for the scope of the request.
example: 86084157-7755-4b5b-8d0e-c5b8c17be5cd
amount:
$ref: '#/paths/~1uploads/post/requestBody/content/application~1json/schema/properties/accounts/items/properties/balance'
currency:
type: string
format: ISO 4217:2015
description: Three-letter currency code.
iban:
$ref: '#/paths/~1uploads/post/requestBody/content/application~1json/schema/properties/accounts/items/properties/iban'
name:
type: string
description: Name of 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+`).
example: EREF+5B5U3FFS9EA2LS0O MREF+xJbwAFja+X58H3w,CTnl.ascP,WtKe CRED+DE24ZZZ00000561652 SVWZ+306-7405387-3384342 Amazon.de
sepa_purpose_code:
type: string
format: ISO 20022
description: 'SEPA category purpose code classifying the transfer as defined in [ISO 20022](https://www.iso20022.org/external_code_list.page) (e.g. `SALA` for salary payment or `GDDS` for purchase/sale of goods).
'
example: GDDS
creditor_id:
type: string
description: 'SEPA creditor identifier (for SEPA direct debits). Must be unique in combination with `mandate_reference`.
'
example: DE24ZZZ00000561652
mandate_reference:
type: string
description: SEPA mandate reference (for SEPA direct debits). Must be unique in combination with `creditor_id`.
example: xJbwAFja+X58H3w,CTnl.ascP,WtKe
end_to_end_reference:
type: string
description: A reference code that can be used by the creditor for further identification of the transaction (e.g. a customer number or invoice number).
example: 5B5U3FFS9EA2LS0O
booked_at:
$ref: '#/paths/~1uploads/post/responses/200/content/application~1json/schema/properties/ended_at'
description: The date on which the transaction was booked.
user_id:
type: string
description: A free-form identifier of the user to which the transaction belongs to.
example: 3cae3e93-1ca6-9f09-f3a8-7756dcf83fb5
required:
- id
- amount
- currency
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
allOf:
- $ref: '#/paths/~1rpc~1categorize/post/requestBody/content/application~1json/schema/items'
- type: object
properties:
payment_partner:
$ref: '#/paths/~1rest~1payment-partners/get/responses/200/content/application~1json/schema/items/allOf/0'
- properties:
categories:
description: Category sub-tree associated with this transaction. This includes the assigned category and all its parent categories.
type: array
items:
$ref: '#/paths/~1category-tree/get/responses/200/content/application~1json/schema/items'
example:
$ref: '#/paths/~1category-tree/get/responses/200/content/application~1json/schema/example'
'400':
$ref: '#/paths/~1rest~1user/put/responses/400'
'401':
$ref: '#/paths/~1catalog/get/responses/401'
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