Download OpenAPI specification:Download
Get and search banks from cashbuzzÔÇÖ database of banks. Must pass the authorized user's access token, or your client's access token. You can set optional search criteria to get only those banks that you are interested in. If you do not specify any search criteria, then this service functions as a 'get all' service.
ids | Array of integers <int64> A comma-separated list of bank identifiers. If specified, then only banks whose identifier match any of the given identifiers will be regarded. The maximum number of identifiers is 1000. |
search | string If specified, then only those banks will be contained in the result whose 'name', 'blz', 'bic' or 'city' contains the given search string (the matching works case-insensitive). If no banks contain the search string in any of the regarded fields, then the result will be an empty list. Note that you may also pass an IBAN in this field, in which case cashbuzz will try to find the related bank in its database and regard only this bank for the search. Also note: If the given search string consists of several terms (separated by whitespace), then ALL of these terms must apply to a bank in order for it to get included into the result. |
isSupported | boolean If specified, then only supported (in case of 'true' value) or unsupported (in case of 'false' value) banks will be regarded. |
pinsAreVolatile | boolean If specified, then only those banks will be regarded that have the given value (true or false) for their 'pinsAreVolatile' field. |
supportedDataSources | Array of strings Comma-separated list of data sources. Possible values: WEB_SCRAPER,FINTS_SERVER. If this parameter is specified, then only those banks will be regarded in the search that support ALL of the given data sources. Note that this does NOT imply that those data sources must be the only data sources that are supported by a bank. |
location | Array of strings Comma-separated list of two-letter country codes (ISO 3166 ALPHA-2). If set, then only those banks will be regarded in the search that are located in the specified countries. Notes: Banks which do not have a location set (i.e. international institutes) will ALWAYS be regarded in the search, independent of what you specify for this field. When you pass a country code that doesn't exist in the ISO 3166 ALPHA-2 standard, then the service will respond with 400 BAD_REQUEST. |
isTestBank | boolean If specified, then only those banks will be regarded that have the given value (true or false) for their 'isTestBank' field. |
page | integer >= 1 Default: 1 Result page that you want to retrieve. |
perPage | integer [ 1 .. 500 ] Default: 20 Maximum number of records per page. Can be at most 500. NOTE: Due to its validation and visualization, the swagger frontend might show very low performance, or even crashes, when a service responds with a lot of data. It is recommended to use a HTTP client like Postman or DHC instead of our swagger frontend for service calls with large page sizes. |
order | Array of strings Determines the order of the results. You can order the results by 'id', 'name', 'blz', 'bic' or 'popularity'. The default order for all services is 'id,asc'. You can also order by multiple properties. In that case the order of the parameters passed is important. Example: '/banks?order=name,desc&order=id,asc' will return banks ordered by 'name' (descending), where banks with the same 'name' are ordered by 'id' (ascending). The general format is: 'property[,asc|desc]', with 'asc' being the default value. Please note that ordering by multiple fields is not supported in our swagger frontend, but you can test this feature with any HTTP tool of your choice (e.g. postman or DHC). |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/banks?ids=SOME_ARRAY_VALUE&search=SOME_STRING_VALUE&isSupported=SOME_BOOLEAN_VALUE&pinsAreVolatile=SOME_BOOLEAN_VALUE&supportedDataSources=SOME_ARRAY_VALUE&location=SOME_ARRAY_VALUE&isTestBank=SOME_BOOLEAN_VALUE&page=SOME_INTEGER_VALUE&perPage=SOME_INTEGER_VALUE&order=SOME_ARRAY_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "banks": [
- {
- "id": 0,
- "name": "string",
- "loginHint": "string",
- "bic": "string",
- "blz": "string",
- "blzs": [
- "string"
], - "loginFieldUserId": "string",
- "loginFieldCustomerId": "string",
- "loginFieldPin": "string",
- "isCustomerIdPassword": true,
- "isSupported": true,
- "supportedDataSources": [
- "WEB_SCRAPER"
], - "pinsAreVolatile": true,
- "location": "string",
- "city": "string",
- "isTestBank": true,
- "popularity": 0,
- "health": 100,
- "lastCommunicationAttempt": "string",
- "lastSuccessfulCommunication": "string"
}
], - "paging": {
- "page": 0,
- "perPage": 0,
- "pageCount": 0,
- "totalCount": 0
}
}
Get a single bank from cashbuzzÔÇÖ database of banks. You have to pass the bank's identifier, and either the authorized user's access token, or your client's access token.
id required | integer <int64> [\d]+ Identifier of requested bank |
curl --request GET \ --url https://api.cashbuzz.io/v01/banks/%7Bid%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "id": 0,
- "name": "string",
- "loginHint": "string",
- "bic": "string",
- "blz": "string",
- "blzs": [
- "string"
], - "loginFieldUserId": "string",
- "loginFieldCustomerId": "string",
- "loginFieldPin": "string",
- "isCustomerIdPassword": true,
- "isSupported": true,
- "supportedDataSources": [
- "WEB_SCRAPER"
], - "pinsAreVolatile": true,
- "location": "string",
- "city": "string",
- "isTestBank": true,
- "popularity": 0,
- "health": 100,
- "lastCommunicationAttempt": "string",
- "lastSuccessfulCommunication": "string"
}
Get bank connections of the user that is authorized by the access token. Must pass the user's access token. You can set optional search criteria to get only those bank connections that you are interested in. If you do not specify any search criteria, then this service functions as a 'get all' service.
ids | Array of integers <int64> A comma-separated list of bank connection identifiers. If specified, then only bank connections whose identifier match any of the given identifiers will be regarded. The maximum number of identifiers is 1000. |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/bankConnections?ids=SOME_ARRAY_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "connections": [
- {
- "id": 0,
- "bankId": 0,
- "bank": {
- "id": 0,
- "name": "string",
- "loginHint": "string",
- "bic": "string",
- "blz": "string",
- "blzs": [
- "string"
], - "loginFieldUserId": "string",
- "loginFieldCustomerId": "string",
- "loginFieldPin": "string",
- "isCustomerIdPassword": true,
- "isSupported": true,
- "supportedDataSources": [
- "WEB_SCRAPER"
], - "pinsAreVolatile": true,
- "location": "string",
- "city": "string",
- "isTestBank": true,
- "popularity": 0,
- "health": 100,
- "lastCommunicationAttempt": "string",
- "lastSuccessfulCommunication": "string"
}, - "name": "string",
- "bankingUserId": "string",
- "bankingCustomerId": "string",
- "bankingPin": "string",
- "type": "ONLINE",
- "updateStatus": "IN_PROGRESS",
- "lastManualUpdate": {
- "result": "OK",
- "errorMessage": "string",
- "errorType": "BUSINESS",
- "timestamp": "string"
}, - "lastAutoUpdate": {
- "result": "OK",
- "errorMessage": "string",
- "errorType": "BUSINESS",
- "timestamp": "string"
}, - "twoStepProcedures": [
- "string"
], - "ibanOnlyMoneyTransferSupported": true,
- "ibanOnlyDirectDebitSupported": true,
- "collectiveMoneyTransferSupported": true,
- "defaultTwoStepProcedureId": "string",
- "accountIds": [
- 0
], - "owners": [
- {
- "firstName": "string",
- "lastName": "string",
- "salutation": "string",
- "title": "string",
- "email": "string",
- "dateOfBirth": "string",
- "postCode": "string",
- "country": "string",
- "city": "string",
- "street": "string",
- "houseNumber": "string"
}
]
}
]
}
Delete all bank connections of the user that is authorized by the access token. Must pass the user's access token.
Note: If at least one bank connection is busy (currently in the process of import, update, or transactions categorization), then this service will perform no action at all.
curl --request DELETE \ --url https://api.cashbuzz.io/v01/bankConnections \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "identifiers": [
- 0
]
}
Imports a new bank connection for a specific user. Must pass the API-key and the user's access token. All bank accounts will be downloaded and imported with their current balances, transactions and supported two-step-procedures (note that the amount of available transactions may vary between banks, e.g. some banks deliver all transactions from the past year, others only deliver the transactions from the past three months). The balance and transactions download process runs asynchronously, so this service may return before all balances and transactions have been imported. Also, all downloaded transactions will be categorized by a separate background process that runs asynchronously too. To check the status of the balance and transactions download process as well as the background categorization process, see the status flags that are returned by the GET /bankConnections/
The response contains an URL, that has to be opened in a Browser, so that the user can authenticate there with his bank. Until he has finished that you can get the status via the bankConnections-get all.
Import bank connection parameters
bankId required | integer <int64> Bank Identifier |
bankingUserId | string Online banking user ID credential. Max length: 64. NOTES: |
bankingCustomerId | string Online banking customer ID credential (for most banks this field can remain unset). Max length: 64. NOTES: |
bankingPin | string Online banking PIN. Max length: 170. Any symbols are allowed. NOTES: |
storePin | boolean Default: false Whether to store the PIN. If the PIN is stored, it is not required to pass the PIN again when updating this bank connection or when executing orders (like money transfers). Default is false. |
name | string Custom name for the bank connection. Maximum length is 64. If you do not want to set a name, you can leave this field unset. |
skipPositionsDownload | boolean Default: false Whether to skip the download of transactions and securities or not. If set to true, then cashbuzz will download just the accounts list with the accounts' information (like account name, number, holder, etc.), as well as the accounts' balances (if possible), but skip the download of transactions and securities. Default is false. |
loadOwnerData | boolean Default: false Whether to load information about the bank connection owner(s) - see field 'owners'. Default value is 'false'. |
maxDaysForDownload | integer <int32> Default: 0 Use this parameter if you want to limit the date range for transactions download. The value depicts the number of days that cashbuzz will download transactions for, starting from - and including - today. For example, if you want to download only transactions from within the past 30 days (including today), then pass the value 30. The minimum allowed value is 14, the maximum value is 3650. You may also pass the value 0 though (which is also the default value when you do not specify this parameter), in which case there will be no limit to the transactions download and cashbuzz will try to get all transactions that it can. Please note that when you specify the parameter there is no guarantee that cashbuzz will actually download transactions for the entire given date range, as the bank servers may limit the date range on their own. Also note that this parameter only applies to transactions, not to security positions; cashbuzz will always download all positions that it can get. |
accountTypeIds | Array of integers <int64> Whitelist of identifiers of cashbuzz account types that are considered for the import. Only accounts whose type matches with one of the given types will be imported. Note that when the bank connection does not contain any accounts of the given types, the import will fail with error code NO_ACCOUNTS_FOR_TYPE_LIST. If no whitelist is given, then all accounts will be imported. |
challengeResponse | string Challenge response. This field should be set only when the previous attempt of importing the bank connection failed with HTTP code 510, i.e. the bank sent a challenge for the user for an additional authentication. In this case, this field must contain the response to the bank's challenge. Note that in the context of cashbuzzÔÇÖ web form flow, cashbuzz will automatically deal with getting the challenge response from the user via the web form. |
{- "bankId": 0,
- "bankingUserId": "string",
- "bankingCustomerId": "string",
- "bankingPin": "string",
- "storePin": false,
- "name": "string",
- "skipPositionsDownload": false,
- "loadOwnerData": false,
- "maxDaysForDownload": 0,
- "accountTypeIds": [
- 0
], - "challengeResponse": "string"
}
{- "id": 0,
- "bankId": 0,
- "bank": {
- "id": 0,
- "name": "string",
- "loginHint": "string",
- "bic": "string",
- "blz": "string",
- "blzs": [
- "string"
], - "loginFieldUserId": "string",
- "loginFieldCustomerId": "string",
- "loginFieldPin": "string",
- "isCustomerIdPassword": true,
- "isSupported": true,
- "supportedDataSources": [
- "WEB_SCRAPER"
], - "pinsAreVolatile": true,
- "location": "string",
- "city": "string",
- "isTestBank": true,
- "popularity": 0,
- "health": 100,
- "lastCommunicationAttempt": "string",
- "lastSuccessfulCommunication": "string"
}, - "name": "string",
- "bankingUserId": "string",
- "bankingCustomerId": "string",
- "bankingPin": "string",
- "type": "ONLINE",
- "updateStatus": "IN_PROGRESS",
- "lastManualUpdate": {
- "result": "OK",
- "errorMessage": "string",
- "errorType": "BUSINESS",
- "timestamp": "string"
}, - "lastAutoUpdate": {
- "result": "OK",
- "errorMessage": "string",
- "errorType": "BUSINESS",
- "timestamp": "string"
}, - "twoStepProcedures": [
- "string"
], - "ibanOnlyMoneyTransferSupported": true,
- "ibanOnlyDirectDebitSupported": true,
- "collectiveMoneyTransferSupported": true,
- "defaultTwoStepProcedureId": "string",
- "accountIds": [
- 0
], - "owners": [
- {
- "firstName": "string",
- "lastName": "string",
- "salutation": "string",
- "title": "string",
- "email": "string",
- "dateOfBirth": "string",
- "postCode": "string",
- "country": "string",
- "city": "string",
- "street": "string",
- "houseNumber": "string"
}
]
}
Get a web form of the user that is authorized by the access token. Must pass the web form's identifier and the user's access token. Note that every web form resource is automatically removed from the cashbuzz/finapi system 24 hours after its creation.
id required | integer <int64> [\d]+ Identifier of web form |
curl --request GET \ --url https://api.cashbuzz.io/v01/bankConnections/import/%7Bid%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "id": 0,
- "token": "string",
- "status": "NOT_YET_OPENED",
- "serviceResponseCode": 0,
- "serviceResponseBody": "string"
}
Imports and groups all the bank data the end user has at the specific bank into a bank connection (identifiable with a bankConnectionId). The endpoint connects to all available interfaces(XS2A, finTS and Web Scraper) for the bank. Hence, the end user will be prompted for credentials and SCA for every loop over each of the interface. For best results, consider your use case and review the API parameter, accountTypes list before you begin your integration.
All bank accounts will be downloaded and imported with their current balances, transactions and supported two-step-procedures (note that the amount of available transactions may vary between banks, e.g. some banks deliver all transactions from the past year, others only deliver the transactions from the past three months). The balance and transactions download process runs asynchronously, so this service may return before all balances and transactions have been imported. Also, all downloaded transactions will be categorized by a separate background process that runs asynchronously too. To check the status of the balance and transactions download process as well as the background categorization process, see the status flags that are returned by the GET /bankConnections/ service. For a more in-depth understanding of the import process, please also read this page on our documentation: Post Processing of Bank Account Import/Update.
In order to test the API, you can import a "demo connection". To import the demo connection, you need to pass the identifier of the "finAPI Test Bank". For more details, please see the associated documentation.
In case the API request is syntactically correct, the service will respond with HTTP return code 201 and a unique URL. You must direct your user to our web form with the URL.
Must pass the user's access token.
object or null (ImportBankDetails) Bank details. When not provided at the API-level, the end-user can search for the bank on the Web Form directly and then proceed with the import. | |
bankConnectionName | string or null [ 1 .. 64 ] characters Custom name for the bank connection |
skipPositionsDownload | boolean or null Default: false Whether to skip the download of transactions and securities or not. |
loadOwnerData | boolean or null Default: false Whether to load information about the bank connection owner(s). |
maxDaysForDownload | integer or null <int32> <= 3650 Default: 0 Defines the limit of how many days of the transaction history will be requested from the bank. |
accountTypes | Array of strings or null (AccountType) unique Enum: "BAUSPAREN" "CHECKING" "CREDIT_CARD" "LOAN" "MEMBERSHIP" "SAVINGS" "SECURITY" A set of account types that are considered for the import. If no values is given, then all accounts will be imported. |
object or null (Callbacks) Callbacks for the instantiated web form. Find more info in the Web Form 2.0 Public Documentation. | |
profileId | string or null 36 characters The profile to be applied to the web form. |
redirectUrl | string or null [ 1 .. 2048 ] characters https://(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\... The URL where the end-user will be redirected to after completing the bank login and (possibly) the SCA on the bank's website. Must always be provided by mandators with |
{- "bank": {
- "id": 42,
- "search": "string"
}, - "bankConnectionName": "My bank connection",
- "skipPositionsDownload": false,
- "loadOwnerData": false,
- "maxDaysForDownload": 0,
- "accountTypes": [
- "CHECKING",
- "SAVINGS",
- "CREDIT_CARD",
- "SECURITY",
- "MEMBERSHIP",
- "LOAN",
- "BAUSPAREN"
], - "profileId": "a2c9fc3b-1777-403c-8b2f-1ce4d90157a2",
}
{- "id": "946db09e-5bfc-11eb-ae93-0242ac130002",
- "createdAt": "2019-08-24T14:15:22Z",
- "expiresAt": "2019-08-24T14:15:22Z",
- "type": "STANDALONE_PAYMENT",
- "status": "COMPLETED",
- "payload": {
- "bankConnectionId": 42,
- "paymentId": 42,
- "standingOrderId": 42,
- "errorCode": "INTERNAL_ERROR"
}
}
{- "webFormId": "31c508d8-51da-11eb-ae93-0242ac130002",
- "status": "COMPLETED"
}
Update an existing bank connection of the user that is authorized by the access token. Downloads and imports the current account balances and new transactions. Must pass the connection's identifier and the user's access token. For more information about the processes of authentication, data download and transactions categorization, see POST /bankConnections/import. Note that supported two-step-procedures are updated as well. It may unset the current default two-step-procedure of the given bank connection (but only if this procedure is not supported anymore by the bank). You can also update the "demo connection" (in this case, the fields 'bankingPin', 'importNewAccounts', and 'skipPositionsDownload' will be ignored).
Note that you cannot trigger an update of a bank connection as long as there is still a previously triggered update running.
For a more in-depth understanding of the update process, please also read this article on our Dev Portal: Import & Update of Bank Connections / Accounts
NOTE: Depending on your license, this service may respond with HTTP code 251, containing an error message with an identifier of web form in it. In addition to that the response will also have included a 'Location' header, which contains the URL to the web form. In this case, you must forward your user to cashbuzz' web form. For a detailed explanation of the Web Form Flow, please refer to this article: finapi's Web Form Flow
Update bank connection parameters
bankConnectionId required | integer <int64> Bank connection identifier |
interface | string Enum: "FINTS_SERVER" "WEB_SCRAPER" "XS2A" The interface to use for connecting with the bank, default is currently FINTS_SERVER. |
importNewAccounts | boolean Whether new accounts that have not yet been imported will be imported or not. Default is false. |
Array of objects (AccountReference) List of accounts for which access is requested from the bank. It may only be passed if the bank interface has the DETAILED_CONSENT property set. if omitted, finAPI will use the list of existing accounts. Note that the parameter is still required if you want to import new accounts (i.e. call with importNewAccounts=true). | |
loadOwnerData | boolean Default: false Whether to load/refresh information about the bank connection owner(s) - see field 'owners'. Default value is 'false'. Note that owner data is NOT loaded/refreshed during finAPI's automatic bank connection update. |
{- "bankConnectionId": 1,
- "interface": "XS2A",
- "importNewAccounts": true,
- "accountReferences": [
- {
- "iban": "DE89370400440532013000"
}
], - "loadOwnerData": false
}
{- "id": 0,
- "bankId": 0,
- "bank": {
- "id": 0,
- "name": "string",
- "loginHint": "string",
- "bic": "string",
- "blz": "string",
- "blzs": [
- "string"
], - "loginFieldUserId": "string",
- "loginFieldCustomerId": "string",
- "loginFieldPin": "string",
- "isCustomerIdPassword": true,
- "isSupported": true,
- "supportedDataSources": [
- "WEB_SCRAPER"
], - "pinsAreVolatile": true,
- "location": "string",
- "city": "string",
- "isTestBank": true,
- "popularity": 0,
- "health": 100,
- "lastCommunicationAttempt": "string",
- "lastSuccessfulCommunication": "string"
}, - "name": "string",
- "bankingUserId": "string",
- "bankingCustomerId": "string",
- "bankingPin": "string",
- "type": "ONLINE",
- "updateStatus": "IN_PROGRESS",
- "lastManualUpdate": {
- "result": "OK",
- "errorMessage": "string",
- "errorType": "BUSINESS",
- "timestamp": "string"
}, - "lastAutoUpdate": {
- "result": "OK",
- "errorMessage": "string",
- "errorType": "BUSINESS",
- "timestamp": "string"
}, - "twoStepProcedures": [
- "string"
], - "ibanOnlyMoneyTransferSupported": true,
- "ibanOnlyDirectDebitSupported": true,
- "collectiveMoneyTransferSupported": true,
- "defaultTwoStepProcedureId": "string",
- "accountIds": [
- 0
], - "owners": [
- {
- "firstName": "string",
- "lastName": "string",
- "salutation": "string",
- "title": "string",
- "email": "string",
- "dateOfBirth": "string",
- "postCode": "string",
- "country": "string",
- "city": "string",
- "street": "string",
- "houseNumber": "string"
}
]
}
Get a single bank connection of the user that is authorized by the access token. Must pass the connection's identifier and the user's access token.
id required | integer <int64> [\d]+ Identifier of requested bank connection |
curl --request GET \ --url https://api.cashbuzz.io/v01/bankConnections/%7Bid%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "id": 0,
- "bankId": 0,
- "bank": {
- "id": 0,
- "name": "string",
- "loginHint": "string",
- "bic": "string",
- "blz": "string",
- "blzs": [
- "string"
], - "loginFieldUserId": "string",
- "loginFieldCustomerId": "string",
- "loginFieldPin": "string",
- "isCustomerIdPassword": true,
- "isSupported": true,
- "supportedDataSources": [
- "WEB_SCRAPER"
], - "pinsAreVolatile": true,
- "location": "string",
- "city": "string",
- "isTestBank": true,
- "popularity": 0,
- "health": 100,
- "lastCommunicationAttempt": "string",
- "lastSuccessfulCommunication": "string"
}, - "name": "string",
- "bankingUserId": "string",
- "bankingCustomerId": "string",
- "bankingPin": "string",
- "type": "ONLINE",
- "updateStatus": "IN_PROGRESS",
- "lastManualUpdate": {
- "result": "OK",
- "errorMessage": "string",
- "errorType": "BUSINESS",
- "timestamp": "string"
}, - "lastAutoUpdate": {
- "result": "OK",
- "errorMessage": "string",
- "errorType": "BUSINESS",
- "timestamp": "string"
}, - "twoStepProcedures": [
- "string"
], - "ibanOnlyMoneyTransferSupported": true,
- "ibanOnlyDirectDebitSupported": true,
- "collectiveMoneyTransferSupported": true,
- "defaultTwoStepProcedureId": "string",
- "accountIds": [
- 0
], - "owners": [
- {
- "firstName": "string",
- "lastName": "string",
- "salutation": "string",
- "title": "string",
- "email": "string",
- "dateOfBirth": "string",
- "postCode": "string",
- "country": "string",
- "city": "string",
- "street": "string",
- "houseNumber": "string"
}
]
}
Delete a single bank connection of the user that is authorized by the access token, including all of its accounts and their transactions and balance data. Must pass the bank connection's identifier and the user's access token.
Note: A bank connection cannot get deleted while it is in the process of import, update, or transactions categorization.
id required | integer <int64> [\d]+ Identifier of the bank connection to delete |
curl --request DELETE \ --url https://api.cashbuzz.io/v01/bankConnections/%7Bid%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "error": "string",
- "error_description": "string"
}
Change the stored authentication credentials (banking user ID, banking customer ID, and banking PIN), or other fields of the bank connection. Must pass the connection's identifier and the user's access token.
Note that a bank connection's credentials cannot be changed while it is in the process of import, update, or transactions categorization.
NOTE: Depending on your license, this service may respond with HTTP code 251, containing an error message with an identifier of web form in it. In addition to that the response will also have included a 'Location' header, which contains the URL to the web form. In this case, you must forward your user to cashbuzz' web form. For a detailed explanation of the Web Form Flow, please refer to this article: finapis's Web Form Flow
id required | integer <int64> [\d]+ Identifier of the bank connection to change the parameters for |
New bank connection parameters
bankingUserId | string New online banking user ID. If you do not want to change the current user ID let this field remain unset. In case you need to use cashbuzz web form to let the user update the field, just set the field to any value, so that the service recognizes that you wish to use the web form flow. Note that you cannot clear the current user ID, i.e. a bank connection must always have a user ID (except for when it is a 'demo connection'). Max length: 64. |
bankingCustomerId | string New online banking customer ID. If you do not want to change the current customer ID let this field remain unset. In case you need to use cashbuzzÔÇÖÔÇÖ web form to let the user update the field, just set the field to non-empty value, so that the service recognizes that you wish to use the web form flow. If you want to clear the current customer ID, set the field's value to an empty string (""). Max length: 64. |
bankingPin | string New online banking PIN. If you do not want to change the current PIN let this field remain unset. In case you need to use cashbuzz web form to let the user update the field, just set the field to non-empty value, so that the service recognizes that you wish to use the web form flow. If you want to clear the current PIN, set the field's value to an empty string (""). |
defaultTwoStepProcedureId | string New default two-step-procedure. Must match the 'procedureId' of one of the procedures that are listed in the bank connection. If you do not want to change this field let it remain unset. If you want to clear the current default two-step-procedure, set the field's value to an empty string (""). |
name | string New name for the bank connection. Maximum length is 64. If you do not want to change the current name let this field remain unset. If you want to clear the current name, set the field's value to an empty string (""). |
{- "bankingUserId": "string",
- "bankingCustomerId": "string",
- "bankingPin": "string",
- "defaultTwoStepProcedureId": "string",
- "name": "string"
}
{- "id": 0,
- "bankId": 0,
- "bank": {
- "id": 0,
- "name": "string",
- "loginHint": "string",
- "bic": "string",
- "blz": "string",
- "blzs": [
- "string"
], - "loginFieldUserId": "string",
- "loginFieldCustomerId": "string",
- "loginFieldPin": "string",
- "isCustomerIdPassword": true,
- "isSupported": true,
- "supportedDataSources": [
- "WEB_SCRAPER"
], - "pinsAreVolatile": true,
- "location": "string",
- "city": "string",
- "isTestBank": true,
- "popularity": 0,
- "health": 100,
- "lastCommunicationAttempt": "string",
- "lastSuccessfulCommunication": "string"
}, - "name": "string",
- "bankingUserId": "string",
- "bankingCustomerId": "string",
- "bankingPin": "string",
- "type": "ONLINE",
- "updateStatus": "IN_PROGRESS",
- "lastManualUpdate": {
- "result": "OK",
- "errorMessage": "string",
- "errorType": "BUSINESS",
- "timestamp": "string"
}, - "lastAutoUpdate": {
- "result": "OK",
- "errorMessage": "string",
- "errorType": "BUSINESS",
- "timestamp": "string"
}, - "twoStepProcedures": [
- "string"
], - "ibanOnlyMoneyTransferSupported": true,
- "ibanOnlyDirectDebitSupported": true,
- "collectiveMoneyTransferSupported": true,
- "defaultTwoStepProcedureId": "string",
- "accountIds": [
- 0
], - "owners": [
- {
- "firstName": "string",
- "lastName": "string",
- "salutation": "string",
- "title": "string",
- "email": "string",
- "dateOfBirth": "string",
- "postCode": "string",
- "country": "string",
- "city": "string",
- "street": "string",
- "houseNumber": "string"
}
]
}
Get bank accounts of the user that is authorized by the access token. Must pass the user's access token. You can set optional search criteria to get only those bank accounts that you are interested in. If you do not specify any search criteria, then this service functions as a 'get all' service.
ids | Array of integers <int64> A comma-separated list of account identifiers. If specified, then only accounts whose identifier match any of the given identifiers will be regarded. The maximum number of identifiers is 1000. |
search | string If specified, then only those accounts will be contained in the result whose 'accountName', 'iban', 'accountNumber' or 'subAccountNumber' contains the given search string (the matching works case-insensitive). If no accounts contain the search string in any of these fields, then the result will be an empty list. NOTE: If the given search string consists of several terms (separated by whitespace), then ALL of these terms must be contained in the searched fields in order for an account to get included into the result. |
accountTypeIds | Array of integers <int64> A comma-separated list of account types. If specified, then only accounts that relate to the given types will be regarded. If not specified, then all accounts will be regarded. |
bankConnectionIds | Array of integers <int64> A comma-separated list of bank connection identifiers. If specified, then only accounts that relate to the given bank connections will be regarded. If not specified, then all accounts will be regarded. |
minLastSuccessfulUpdate | string Lower bound for an account's last successful update date, in the format 'YYYY-MM-DD' (e.g. '2016-01-01'). If specified, then only accounts whose 'lastSuccessfulUpdate' is equal to or later than the given date will be regarded. |
maxLastSuccessfulUpdate | string Upper bound for an account's last successful update date, in the format 'YYYY-MM-DD' (e.g. '2016-01-01'). If specified, then only accounts whose 'lastSuccessfulUpdate' is equal to or earlier than the given date will be regarded. |
minBalance | number If specified, then only accounts whose balance is equal to or greater than the given balance will be regarded. Can contain a positive or negative number with at most two decimal places. Examples: -300.12, or 90.95 |
maxBalance | number If specified, then only accounts whose balance is equal to or less than the given balance will be regarded. Can contain a positive or negative number with at most two decimal places. Examples: -300.12, or 90.95 |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/accounts?ids=SOME_ARRAY_VALUE&search=SOME_STRING_VALUE&accountTypeIds=SOME_ARRAY_VALUE&bankConnectionIds=SOME_ARRAY_VALUE&minLastSuccessfulUpdate=SOME_STRING_VALUE&maxLastSuccessfulUpdate=SOME_STRING_VALUE&minBalance=SOME_NUMBER_VALUE&maxBalance=SOME_NUMBER_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "accounts": [
- {
- "id": 1,
- "bankConnectionId": 1,
- "accountName": "Testaccount",
- "iban": "DE89370400440532013000",
- "accountNumber": "12345678",
- "subAccountNumber": "1234",
- "accountHolderName": "Jhon Doe",
- "accountHolderId": "XXXXX",
- "accountCurrency": "EUR",
- "accountType": "Checking",
- "balance": 99.99,
- "overdraft": 99.99,
- "overdraftLimit": 99.99,
- "availableFunds": 99.99,
- "isNew": true,
- "interfaces": [
- {
- "interface": "FINTS_SERVER",
- "status": "UPDATED",
- "capabilities": [
- "DATA_DOWNLOAD",
- "IBAN_ONLY_SEPA_MONEY_TRANSFER",
- "IBAN_ONLY_SEPA_DIRECT_DEBIT",
- "SEPA_MONEY_TRANSFER",
- "SEPA_COLLECTIVE_MONEY_TRANSFER",
- "SEPA_BASIC_DIRECT_DEBIT",
- "SEPA_BASIC_COLLECTIVE_DIRECT_DEBIT",
- "SEPA_B2B_DIRECT_DEBIT",
- "SEPA_B2B_COLLECTIVE_DIRECT_DEBIT"
], - "lastSuccessfulUpdate": "2018-01-01T00:00:00.000Z",
- "lastUpdateAttempt": "2018-01-01T00:00:00.000Z"
}
], - "isSeized": false,
- "categorization_status": 0,
- "cb_id": "5c5da2cd-60d0-4080-a41f-90af65b0a3dc",
- "account_qme": "string"
}
]
}
Upload a list of accounts to later upload transactions to these accounts.
Notes:
- You might want to specify the lastSuccessfulUpdate to set the accounts closingbalance to a specific date, if not specified cashbuzz assumes today
- If no accountCurrency is specified it defaults to EUR
List of accounts
required | Array of objects (Account) Array of accounts |
{- "accounts": [
- {
- "id": 1,
- "bankConnectionId": 1,
- "accountName": "Testaccount",
- "iban": "DE89370400440532013000",
- "accountNumber": "12345678",
- "subAccountNumber": "1234",
- "accountHolderName": "Jhon Doe",
- "accountHolderId": "XXXXX",
- "accountCurrency": "EUR",
- "accountType": "Checking",
- "balance": 99.99,
- "overdraft": 99.99,
- "overdraftLimit": 99.99,
- "availableFunds": 99.99,
- "isNew": true,
- "interfaces": [
- {
- "interface": "FINTS_SERVER",
- "status": "UPDATED",
- "capabilities": [
- "DATA_DOWNLOAD",
- "IBAN_ONLY_SEPA_MONEY_TRANSFER",
- "IBAN_ONLY_SEPA_DIRECT_DEBIT",
- "SEPA_MONEY_TRANSFER",
- "SEPA_COLLECTIVE_MONEY_TRANSFER",
- "SEPA_BASIC_DIRECT_DEBIT",
- "SEPA_BASIC_COLLECTIVE_DIRECT_DEBIT",
- "SEPA_B2B_DIRECT_DEBIT",
- "SEPA_B2B_COLLECTIVE_DIRECT_DEBIT"
], - "lastSuccessfulUpdate": "2018-01-01T00:00:00.000Z",
- "lastUpdateAttempt": "2018-01-01T00:00:00.000Z"
}
], - "isSeized": false,
- "categorization_status": 0,
- "cb_id": "5c5da2cd-60d0-4080-a41f-90af65b0a3dc",
- "account_qme": "string"
}
]
}
{- "identifiers": [
- 0
]
}
Delete all accounts of the user that is authorized by the access token, including all transactions and balance data. Must pass the user's access token.
Notes:
- Deleting all of the user's accounts also deletes all of his bank connections, if existing.
- If at least one of the user's bank connections in currently in the process of import, update, or transactions categorization, then this service might perform no action at all.
curl --request DELETE \ --url https://api.cashbuzz.io/v01/accounts \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "identifiers": [
- 0
]
}
Get a single bank account of the user that is authorized by the access token. Must pass the account's identifier and the user's access token.
id required | string <uuid> Identifier of requested account |
curl --request GET \ --url https://api.cashbuzz.io/v01/accounts/%7Bid%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "id": 1,
- "bankConnectionId": 1,
- "accountName": "Testaccount",
- "iban": "DE89370400440532013000",
- "accountNumber": "12345678",
- "subAccountNumber": "1234",
- "accountHolderName": "Jhon Doe",
- "accountHolderId": "XXXXX",
- "accountCurrency": "EUR",
- "accountType": "Checking",
- "balance": 99.99,
- "overdraft": 99.99,
- "overdraftLimit": 99.99,
- "availableFunds": 99.99,
- "isNew": true,
- "interfaces": [
- {
- "interface": "FINTS_SERVER",
- "status": "UPDATED",
- "capabilities": [
- "DATA_DOWNLOAD",
- "IBAN_ONLY_SEPA_MONEY_TRANSFER",
- "IBAN_ONLY_SEPA_DIRECT_DEBIT",
- "SEPA_MONEY_TRANSFER",
- "SEPA_COLLECTIVE_MONEY_TRANSFER",
- "SEPA_BASIC_DIRECT_DEBIT",
- "SEPA_BASIC_COLLECTIVE_DIRECT_DEBIT",
- "SEPA_B2B_DIRECT_DEBIT",
- "SEPA_B2B_COLLECTIVE_DIRECT_DEBIT"
], - "lastSuccessfulUpdate": "2018-01-01T00:00:00.000Z",
- "lastUpdateAttempt": "2018-01-01T00:00:00.000Z"
}
], - "isSeized": false,
- "categorization_status": 0,
- "cb_id": "5c5da2cd-60d0-4080-a41f-90af65b0a3dc",
- "account_qme": "string"
}
Delete a single bank account of the user that is authorized by the access token, including its transactions and balance data. Must pass the account's identifier and the user's access token.
Notes:
- You cannot delete an account while the bank connection that it relates to is currently in the process of import, update, or transactions categorization.
- When the last remaining account of a bank connection gets deleted, then the bank connection itself will get deleted as well!
id required | string <uuid> Identifier of requested account |
curl --request DELETE \ --url https://api.cashbuzz.io/v01/accounts/%7Bid%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "error": "string",
- "error_description": "string"
}
Change the name and/or the type and/or the 'isNew' flag and/or payout account-flag of a single bank account of the user that is authorized by the access token. Must pass the account's identifier, the account's new name and/or type and/or 'isNew' flag, and the user's access token. Note that the first account automatically gets the payout-flag and that only one account can be a payout account.
id required | string <uuid> Identifier of requested account |
New account name and/or type and/or 'isNew' flag and/or payout account-flag
id required | integer <int64> Account identifier |
bankConnectionId | integer or null <int64> Identifier of the bank connection that this account belongs to, if it was importet directly it's 0 or None. |
accountName | string or null Account name |
iban | string or null Account's IBAN. Note that this field can change from 'null' to a value - or vice versa - any time when the account is being updated. This is subject to changes within the bank's internal account management. |
accountNumber | string or null (National) account number. Note that this value might change whenever the account is updated (for example, leading zeros might be added or removed). |
subAccountNumber | string or null Account's sub-account-number. Note that this field can change from 'null' to a value - or vice versa - any time when the account is being updated. This is subject to changes within the bank's internal account management. |
accountHolderName | string or null Name of the account holder |
accountHolderId | string or null Bank's internal identification of the account holder. Note that if your client has no license for processing this field, it will always be 'XXXXX' |
accountCurrency | string or null Account's currency |
accountType | string or null Enum: "Checking" "Savings" "CreditCard" "Security" "Loan" "Pocket" "Membership" "Bausparen" An account type. |
balance | number or null Current account balance |
overdraft | number or null Current overdraft |
overdraftLimit | number or null Overdraft limit |
availableFunds | number or null Current available funds. Note that this field is only set if finAPI can make a definite statement about the current available funds. This might not always be the case, for example if there is not enough information available about the overdraft limit and current overdraft. |
isNew | boolean or null Indicating whether this account is 'new' or not. Any newly imported account will have this flag initially set to true, and remain so until you set it to false (see PATCH /accounts/ |
Array of objects or null (AccountInterface) Set of interfaces to which this account is connected | |
isSeized | boolean or null Whether this account is seized. Note that this information is not received from the bank, but determined by finAPI based on the available account information. |
categorization_status | integer or null <int32> Current status of the categorization and subscribing |
cb_id | string or null <uuid> internal identification of the transaction |
account_qme | string or null The categorization of the accountholder. Setting it up improves the categorization of the transactions. The possible values can be found in /descriptions/classes |
{- "id": 1,
- "bankConnectionId": 1,
- "accountName": "Testaccount",
- "iban": "DE89370400440532013000",
- "accountNumber": "12345678",
- "subAccountNumber": "1234",
- "accountHolderName": "Jhon Doe",
- "accountHolderId": "XXXXX",
- "accountCurrency": "EUR",
- "accountType": "Checking",
- "balance": 99.99,
- "overdraft": 99.99,
- "overdraftLimit": 99.99,
- "availableFunds": 99.99,
- "isNew": true,
- "interfaces": [
- {
- "interface": "FINTS_SERVER",
- "status": "UPDATED",
- "capabilities": [
- "DATA_DOWNLOAD",
- "IBAN_ONLY_SEPA_MONEY_TRANSFER",
- "IBAN_ONLY_SEPA_DIRECT_DEBIT",
- "SEPA_MONEY_TRANSFER",
- "SEPA_COLLECTIVE_MONEY_TRANSFER",
- "SEPA_BASIC_DIRECT_DEBIT",
- "SEPA_BASIC_COLLECTIVE_DIRECT_DEBIT",
- "SEPA_B2B_DIRECT_DEBIT",
- "SEPA_B2B_COLLECTIVE_DIRECT_DEBIT"
], - "lastSuccessfulUpdate": "2018-01-01T00:00:00.000Z",
- "lastUpdateAttempt": "2018-01-01T00:00:00.000Z"
}
], - "isSeized": false,
- "categorization_status": 0,
- "cb_id": "5c5da2cd-60d0-4080-a41f-90af65b0a3dc",
- "account_qme": "string"
}
{- "id": 1,
- "bankConnectionId": 1,
- "accountName": "Testaccount",
- "iban": "DE89370400440532013000",
- "accountNumber": "12345678",
- "subAccountNumber": "1234",
- "accountHolderName": "Jhon Doe",
- "accountHolderId": "XXXXX",
- "accountCurrency": "EUR",
- "accountType": "Checking",
- "balance": 99.99,
- "overdraft": 99.99,
- "overdraftLimit": 99.99,
- "availableFunds": 99.99,
- "isNew": true,
- "interfaces": [
- {
- "interface": "FINTS_SERVER",
- "status": "UPDATED",
- "capabilities": [
- "DATA_DOWNLOAD",
- "IBAN_ONLY_SEPA_MONEY_TRANSFER",
- "IBAN_ONLY_SEPA_DIRECT_DEBIT",
- "SEPA_MONEY_TRANSFER",
- "SEPA_COLLECTIVE_MONEY_TRANSFER",
- "SEPA_BASIC_DIRECT_DEBIT",
- "SEPA_BASIC_COLLECTIVE_DIRECT_DEBIT",
- "SEPA_B2B_DIRECT_DEBIT",
- "SEPA_B2B_COLLECTIVE_DIRECT_DEBIT"
], - "lastSuccessfulUpdate": "2018-01-01T00:00:00.000Z",
- "lastUpdateAttempt": "2018-01-01T00:00:00.000Z"
}
], - "isSeized": false,
- "categorization_status": 0,
- "cb_id": "5c5da2cd-60d0-4080-a41f-90af65b0a3dc",
- "account_qme": "string"
}
Get transactions of the user that is authorized by the access token. Must pass the user's access token. You can set optional search criteria to get only those transactions that you are interested in. If you do not specify any search criteria, then this service functions as a 'get all' service for the last 31 days.
ids | Array of integers <int64> A comma-separated list of transaction identifiers. If specified, then only transactions whose identifier match any of the given identifiers will be regarded. The maximum number of identifiers is 1000. |
view | string Enum: "bankView" "userView" This parameter defines cashbuzzÔÇÖÔÇÖ logical view on the transactions when querying them: 'bankView' regards only the original transactions as they were received from the bank, without considering how the transactions might have gotten split by the user (see POST /transactions/ |
search | string If specified, then only those transactions will be contained in the result whose 'purpose' or counterpart fields contain the given search string (the matching works case-insensitive). If no transactions contain the search string in any of these fields, then the result will be an empty list. NOTE: If the given search string consists of several terms (separated by whitespace), then ALL of these terms must be contained in the searched fields in order for a transaction to get included into the result. |
counterpart | string If specified, then only those transactions will be contained in the result whose counterpart fields contain the given search string (the matching works case-insensitive). If no transactions contain the search string in any of the counterpart fields, then the result will be an empty list. NOTE: If the given search string consists of several terms (separated by whitespace), then ALL of these terms must be contained in the searched fields in order for a transaction to get included into the result. |
purpose | string If specified, then only those transactions will be contained in the result whose purpose field contains the given search string (the matching works case-insensitive). If no transactions contain the search string in the purpose field, then the result will be an empty list. NOTE: If the given search string consists of several terms (separated by whitespace), then ALL of these terms must be contained in the purpose in order for a transaction to get included into the result. |
accountIds | Array of integers <int64> A comma-separated list of account identifiers. If specified, then only transactions that relate to the given accounts will be regarded. If not specified, then all accounts will be regarded. |
minBankBookingDate | string Lower bound for a transaction's booking date as returned by the bank (= original booking date), in the format 'YYYY-MM-DD' (e.g. '2016-01-01'). If specified, then only transactions whose 'bankBookingDate' is equal to or later than the given date will be regarded. |
maxBankBookingDate | string Upper bound for a transaction's booking date as returned by the bank (= original booking date), in the format 'YYYY-MM-DD' (e.g. '2016-01-01'). If specified, then only transactions whose 'bankBookingDate' is equal to or earlier than the given date will be regarded. !IMPORTANT! If the given date is in the future, cashbuzz will try to predict upcoming transactions. |
minValueDate | string Lower bound for a transaction's value date as returned by the bank, in the format 'YYYY-MM-DD' (e.g. '2016-01-01'). If specified, then only transactions whose 'valueDate' is equal to or later than the given date will be regarded. |
maxValueDate | string Upper bound for a transaction's value date as returned by the bank, in the format 'YYYY-MM-DD' (e.g. '2016-01-01'). If specified, then only transactions whose 'valueDate' is equal to or earlier than the given date will be regarded. !IMPORTANT! If the given date is in the future, cashbuzz will try to predict upcoming transactions. |
only_predicted | boolean Default: false If set to 'true' only predicted transactions are getting returned. If no maxDate is set, the maxBankBookingDate is set to 90 days from today. |
minAmount | number If specified, then only transactions whose amount is equal to or greater than the given amount will be regarded. Can contain a positive or negative number with at most two decimal places. Examples: -300.12, or 90.95 |
maxAmount | number If specified, then only transactions whose amount is equal to or less than the given amount will be regarded. Can contain a positive or negative number with at most two decimal places. Examples: -300.12, or 90.95 |
qme | string If specified, then only those transactions will be contained in the result whose qme matches the requested. By setting include_sub_qme to true you can include all the children of the specified group |
include_sub_qme | boolean Default: false This flag controls how the given 'qme' is handled. If set to 'true', then all transactions of a given qme, as well as all transactions of any of its sub-qme will be regarded. If set to 'false', then sub-categories of a given qme will not be regarded and only those transactions are regarded whose qme matches the specified qme. The default value for this flag is 'false'. |
qorg | string If specified, then only those transactions will be contained in the result whose qorg matches the requested. By setting include_sub_qorg to true you can include all the children of the specified group |
include_sub_qorg | boolean Default: false This flag controls how the given 'qorg' is handled. If set to 'true', then all transactions of a given qorg, as well as all transactions of any of its sub-qorg will be regarded. If set to 'false', then sub-categories of a given qorg will not be regarded and only those transactions are regarded whose qorg matches the specified qorg. The default value for this flag is 'false'. |
qsubject | string If specified, then only those transactions will be contained in the result whose qsubject matches the requested. By setting include_sub_qsubject to true you can include all the children of the specified group |
include_sub_qsubject | boolean Default: false This flag controls how the given 'qsubject' is handled. If set to 'true', then all transactions of a given qsubject, as well as all transactions of any of its sub-qsubject will be regarded. If set to 'false', then sub-categories of a given qsubject will not be regarded and only those transactions are regarded whose qsubject matches the specified qsubject. The default value for this flag is 'false'. |
qaction | string If specified, then only those transactions will be contained in the result whose qaction matches the requested. By setting include_sub_qaction to true you can include all the children of the specified group |
include_sub_qaction | boolean Default: false This flag controls how the given 'qaction' is handled. If set to 'true', then all transactions of a given qaction, as well as all transactions of any of its sub-qaction will be regarded. If set to 'false', then sub-categories of a given qaction will not be regarded and only those transactions are regarded whose qaction matches the specified qaction. The default value for this flag is 'false'. |
group_gstd | string If specified, then only those transactions will be contained in the result whose group_gstd matches the requested. By setting include_sub_gstd to true you can include all the children of the specified group |
include_sub_gstd | boolean Default: false This flag controls how the given 'group_gstd' is handled. If set to 'true', then all transactions of a given group_gstd, as well as all transactions of any of its sub-group_gstd will be regarded. If set to 'false', then sub-categories of a given group_gstd will not be regarded and only those transactions are regarded whose group_gstd matches the specified group_gstd. The default value for this flag is 'false'. |
group_gcix | string If specified, then only those transactions will be contained in the result whose group_gcix matches the requested. By setting include_sub_gcix to true you can include all the children of the specified group |
include_sub_gcix | boolean Default: false This flag controls how the given 'group_gcix' is handled. If set to 'true', then all transactions of a given group_gcix, as well as all transactions of any of its sub-group_gcix will be regarded. If set to 'false', then sub-categories of a given group_gcix will not be regarded and only those transactions are regarded whose group_gcix matches the specified group_gcix. The default value for this flag is 'false'. |
group_gbix | string If specified, then only those transactions will be contained in the result whose group_gbix matches the requested. By setting include_sub_gbix to true you can include all the children of the specified group |
include_sub_gbix | boolean Default: false This flag controls how the given 'group_gstd' is handled. If set to 'true', then all transactions of a given group_gbix, as well as all transactions of any of its sub-group_gbix will be regarded. If set to 'false', then sub-categories of a given group_gbix will not be regarded and only those transactions are regarded whose group_gbix matches the specified group_gbix. The default value for this flag is 'false'. |
group_gcon | string If specified, then only those transactions will be contained in the result whose group_gcon matches the requested. By setting include_sub_gcon to true you can include all the children of the specified group |
include_sub_gcon | boolean Default: false This flag controls how the given 'group_gcon' is handled. If set to 'true', then all transactions of a given group_gcon, as well as all transactions of any of its sub-group_gcon will be regarded. If set to 'false', then sub-categories of a given group_gcon will not be regarded and only those transactions are regarded whose group_gcon matches the specified group_gcon. The default value for this flag is 'false'. |
minImportDate | string Lower bound for a transaction's import date, in the format 'YYYY-MM-DD' (e.g. '2016-01-01'). If specified, then only transactions whose 'importDate' is equal to or later than the given date will be regarded. |
maxImportDate | string Upper bound for a transaction's import date, in the format 'YYYY-MM-DD' (e.g. '2016-01-01'). If specified, then only transactions whose 'importDate' is equal to or earlier than the given date will be regarded. |
order | Array of strings Determines the order of the results. You can use the following fields for ordering the response: 'id', 'parentId', 'accountId', 'valueDate', 'bankBookingDate', 'cashbuzzBookingDate', 'amount', 'purpose', 'counterpartName', 'counterpartAccountNumber', 'counterpartIban', 'counterpartBlz', 'counterpartBic', 'type', 'primanota', 'category.id', 'category.name', 'isPotentialDuplicate', 'isNew' and 'importDate'. The default order for all services is 'id,asc'. You can also order by multiple properties. In that case the order of the parameters passed is important. Example: '/transactions?order=cashbuzzBookingDate,desc&order=counterpartName' will return the latest transactions first. If there are more transactions on the same day, then these transactions are ordered by the counterpart name (ascending). The general format is: 'property[,asc|desc]', with 'asc' being the default value. Please note that ordering by multiple fields is not supported in our swagger frontend, but you can test this feature with any HTTP tool of your choice (e.g. postman or DHC). |
includeQClasses | boolean If your license allows it, you can set it to true to retrieve the full set of categorization options. Activating it may increase the reported costs (depending on licence). Default is false. |
includeRegiox | boolean If your license allows it, you can set it to true to retrieve the full the regionality-value of a transaction. Default is false |
page | integer >= 1 Default: 1 Result page that you want to retrieve. |
perPage | integer [ 1 .. 500 ] Default: 20 Maximum number of records per page. Can be at most 500. NOTE: Due to its validation and visualization, the swagger frontend might show very low performance, or even crashes, when a service responds with a lot of data. It is recommended to use a HTTP client like Postman or DHC instead of our swagger frontend for service calls with large page sizes. |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/transactions?ids=SOME_ARRAY_VALUE&view=SOME_STRING_VALUE&search=SOME_STRING_VALUE&counterpart=SOME_STRING_VALUE&purpose=SOME_STRING_VALUE&accountIds=SOME_ARRAY_VALUE&minBankBookingDate=SOME_STRING_VALUE&maxBankBookingDate=SOME_STRING_VALUE&minValueDate=SOME_STRING_VALUE&maxValueDate=SOME_STRING_VALUE&only_predicted=SOME_BOOLEAN_VALUE&minAmount=SOME_NUMBER_VALUE&maxAmount=SOME_NUMBER_VALUE&qme=SOME_STRING_VALUE&include_sub_qme=SOME_BOOLEAN_VALUE&qorg=SOME_STRING_VALUE&include_sub_qorg=SOME_BOOLEAN_VALUE&qsubject=SOME_STRING_VALUE&include_sub_qsubject=SOME_BOOLEAN_VALUE&qaction=SOME_STRING_VALUE&include_sub_qaction=SOME_BOOLEAN_VALUE&group_gstd=SOME_STRING_VALUE&include_sub_gstd=SOME_BOOLEAN_VALUE&group_gcix=SOME_STRING_VALUE&include_sub_gcix=SOME_BOOLEAN_VALUE&group_gbix=SOME_STRING_VALUE&include_sub_gbix=SOME_BOOLEAN_VALUE&group_gcon=SOME_STRING_VALUE&include_sub_gcon=SOME_BOOLEAN_VALUE&minImportDate=SOME_STRING_VALUE&maxImportDate=SOME_STRING_VALUE&order=SOME_ARRAY_VALUE&includeQClasses=SOME_BOOLEAN_VALUE&includeRegiox=SOME_BOOLEAN_VALUE&page=SOME_INTEGER_VALUE&perPage=SOME_INTEGER_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "transactions": [
- {
- "id": 0,
- "cb_id": "5c5da2cd-60d0-4080-a41f-90af65b0a3dc",
- "parentId": 0,
- "accountId": 0,
- "valueDate": "2020-01-31T00:00:00.000Z",
- "bankBookingDate": "2020-01-31T00:00:00.000Z",
- "amount": 0,
- "purpose": "string",
- "counterpartName": "string",
- "counterpartAccountNumber": "string",
- "counterpartIban": "string",
- "counterpartBlz": "string",
- "counterpartBic": "string",
- "counterpartBankName": "string",
- "counterpartMandateReference": "string",
- "counterpartCustomerReference": "string",
- "counterpartCreditorId": "string",
- "counterpartDebitorId": "string",
- "type": "string",
- "typeCodeZka": "string",
- "typeCodeSwift": "string",
- "sepaPurposeCode": "string",
- "primanota": "string",
- "isPotentialDuplicate": true,
- "isAdjustingEntry": true,
- "isNew": true,
- "importDate": "string",
- "children": [
- 0
], - "paypalData": {
- "invoiceNumber": "string",
- "fee": 0,
- "net": 0,
- "auctionSite": "string"
}, - "endToEndReference": "string",
- "compensationAmount": 0,
- "originalAmount": 0,
- "differentDebitor": "string",
- "differentCreditor": "string",
- "bookingCurrency": "string",
- "displayCurrency": "string",
- "displayAmount": 0,
- "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
- "subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627",
- "predicted": true,
- "qme": "string",
- "qorg": "string",
- "qsubject": "string",
- "qaction": "string",
- "group_gstd": "string",
- "group_gcix": "string",
- "group_gbix": "string",
- "group_gcon": "string",
- "group_grxx": "string",
- "regiox": 0,
- "external_reference": "string"
}
], - "paging": {
- "page": 0,
- "perPage": 0,
- "pageCount": 0,
- "totalCount": 0
}, - "income": 0,
- "spending": 0,
- "balance": 0
}
Upload a set of transactions for the currently authorized user. This will create a virtual banking account for set user and start the categorization/classification.
Notes:
- For best results counterpartIban and counterpartName need to be specified
- The more information a transaction contains, the better the categorization result will be
- If you want to modify an already posted transaction, repost it with the same id/accountid
required | Array of objects (Transaction) Array of transactions |
{- "transactions": [
- {
- "id": 0,
- "cb_id": "5c5da2cd-60d0-4080-a41f-90af65b0a3dc",
- "parentId": 0,
- "accountId": 0,
- "valueDate": "2020-01-31T00:00:00.000Z",
- "bankBookingDate": "2020-01-31T00:00:00.000Z",
- "amount": 0,
- "purpose": "string",
- "counterpartName": "string",
- "counterpartAccountNumber": "string",
- "counterpartIban": "string",
- "counterpartBlz": "string",
- "counterpartBic": "string",
- "counterpartBankName": "string",
- "counterpartMandateReference": "string",
- "counterpartCustomerReference": "string",
- "counterpartCreditorId": "string",
- "counterpartDebitorId": "string",
- "type": "string",
- "typeCodeZka": "string",
- "typeCodeSwift": "string",
- "sepaPurposeCode": "string",
- "primanota": "string",
- "isPotentialDuplicate": true,
- "isAdjustingEntry": true,
- "isNew": true,
- "importDate": "string",
- "children": [
- 0
], - "paypalData": {
- "invoiceNumber": "string",
- "fee": 0,
- "net": 0,
- "auctionSite": "string"
}, - "endToEndReference": "string",
- "compensationAmount": 0,
- "originalAmount": 0,
- "differentDebitor": "string",
- "differentCreditor": "string",
- "bookingCurrency": "string",
- "displayCurrency": "string",
- "displayAmount": 0,
- "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
- "subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627",
- "predicted": true,
- "qme": "string",
- "qorg": "string",
- "qsubject": "string",
- "qaction": "string",
- "group_gstd": "string",
- "group_gcix": "string",
- "group_gbix": "string",
- "group_gcon": "string",
- "group_grxx": "string",
- "regiox": 0,
- "external_reference": "string"
}
]
}
{- "identifiers": [
- 0
]
}
Delete a set, or the entirety, of transactions of the currently authorized user.
maxDeletionDate | string [ 10 .. 10 ] If specified, then only those transactions are being deleted whose 'valueDate' is equal to or earlier to the given date. The date may not be in future and must be given in the format 'YYYY-MM-DD'. If not specified, then no date limitation will be in place for the deletion. |
curl --request DELETE \ --url 'https://api.cashbuzz.io/v01/transactions?maxDeletionDate=SOME_STRING_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "identifiers": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
Get a single transaction of the user that is authorized by the access token. Must pass the transaction's identifier and the user's access token.
cb_id required | string <uuid> Unique Identifier of transaction |
curl --request GET \ --url https://api.cashbuzz.io/v01/transactions/%7Bcb_id%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "id": 0,
- "cb_id": "5c5da2cd-60d0-4080-a41f-90af65b0a3dc",
- "parentId": 0,
- "accountId": 0,
- "valueDate": "2020-01-31T00:00:00.000Z",
- "bankBookingDate": "2020-01-31T00:00:00.000Z",
- "amount": 0,
- "purpose": "string",
- "counterpartName": "string",
- "counterpartAccountNumber": "string",
- "counterpartIban": "string",
- "counterpartBlz": "string",
- "counterpartBic": "string",
- "counterpartBankName": "string",
- "counterpartMandateReference": "string",
- "counterpartCustomerReference": "string",
- "counterpartCreditorId": "string",
- "counterpartDebitorId": "string",
- "type": "string",
- "typeCodeZka": "string",
- "typeCodeSwift": "string",
- "sepaPurposeCode": "string",
- "primanota": "string",
- "isPotentialDuplicate": true,
- "isAdjustingEntry": true,
- "isNew": true,
- "importDate": "string",
- "children": [
- 0
], - "paypalData": {
- "invoiceNumber": "string",
- "fee": 0,
- "net": 0,
- "auctionSite": "string"
}, - "endToEndReference": "string",
- "compensationAmount": 0,
- "originalAmount": 0,
- "differentDebitor": "string",
- "differentCreditor": "string",
- "bookingCurrency": "string",
- "displayCurrency": "string",
- "displayAmount": 0,
- "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
- "subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627",
- "predicted": true,
- "qme": "string",
- "qorg": "string",
- "qsubject": "string",
- "qaction": "string",
- "group_gstd": "string",
- "group_gcix": "string",
- "group_gbix": "string",
- "group_gcon": "string",
- "group_grxx": "string",
- "regiox": 0,
- "external_reference": "string"
}
Delete a single transaction of the user that is authorized by the access token.
A transaction can only get deleted if at least one of the following holds true:
• The transaction belongs to a 'demo connection'
• The transaction's 'potentialDuplicate' flag is set to TRUE
• The transaction is an adjusting entry ('Zwischensaldo' transaction) that was added by cashbuzz
Note that the 'Delete all transactions' service has additional functionality and allows you to delete transactions that you cannot delete with this service.
cb_id required | string <uuid> Unique Identifier of transaction |
curl --request DELETE \ --url https://api.cashbuzz.io/v01/transactions/%7Bcb_id%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "errors": [
- {
- "message": "string",
- "code": "MISSING_FIELD",
- "type": "BUSINESS"
}
], - "date": "string",
- "requestId": "string",
- "endpoint": "string",
- "authContext": "string",
- "bank": "string"
}
Upon calling this Service the (re)categorization of all transactions of the authorized user is started. This includes the recalculation of all subscriptions. With the parameter reset=true it resets all transactions first. This endpoint only returns statuscodes to the callback_uri in the message body. If your license does not allow this service, you will still recieve the http-status-code 200 regardless. For error-messages, please use the callback_uri. Please be aware that a job running for more than 15 minutes will get canceled without an error message. This happens e.g. when categorizing more than 10k transactions, please contact the support for options on handling that kind of workload.
reset | boolean Default: false If set to true (case insensitive) the transaction analytics of that user are first reset before the analytics start otherwise the transactions are scanned incrementally. Be aware that by setting this to true, you might run into a job timeout. |
categorization_only | boolean Default: false If set to true (case insensitive) no subscriptions will be calculated, therefore advanced options for the account like predicted transactions are invalid. The account_status will hold at 1. |
subscriptions_only | boolean Default: false If set to true (case insensitive) only the subscriptions are recalculated, this is usefull when changing the selected status of the users accounts. |
callback_uri | string If set to anything a POST with 2000ms timeout will be send to the specified URI, please include the protocol (http/https). |
volume_processing | boolean Default: false If set to true (case insensitive) and depending on your license, categorization will process large volumes of data quickly |
curl --request POST \ --url 'https://api.cashbuzz.io/v01/categorization?reset=SOME_BOOLEAN_VALUE&categorization_only=SOME_BOOLEAN_VALUE&subscriptions_only=SOME_BOOLEAN_VALUE&callback_uri=SOME_STRING_VALUE&volume_processing=SOME_BOOLEAN_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
This service takes the input transactions and delivers a categorization for them, returning the transactions together with the categorization attributes. The documented input parameters accountId and other id keys do not need to be filled in this call and are ignored.
required | Array of objects (Transaction) Array of transactions |
{- "transactions": [
- {
- "id": 0,
- "cb_id": "5c5da2cd-60d0-4080-a41f-90af65b0a3dc",
- "parentId": 0,
- "accountId": 0,
- "valueDate": "2020-01-31T00:00:00.000Z",
- "bankBookingDate": "2020-01-31T00:00:00.000Z",
- "amount": 0,
- "purpose": "string",
- "counterpartName": "string",
- "counterpartAccountNumber": "string",
- "counterpartIban": "string",
- "counterpartBlz": "string",
- "counterpartBic": "string",
- "counterpartBankName": "string",
- "counterpartMandateReference": "string",
- "counterpartCustomerReference": "string",
- "counterpartCreditorId": "string",
- "counterpartDebitorId": "string",
- "type": "string",
- "typeCodeZka": "string",
- "typeCodeSwift": "string",
- "sepaPurposeCode": "string",
- "primanota": "string",
- "isPotentialDuplicate": true,
- "isAdjustingEntry": true,
- "isNew": true,
- "importDate": "string",
- "children": [
- 0
], - "paypalData": {
- "invoiceNumber": "string",
- "fee": 0,
- "net": 0,
- "auctionSite": "string"
}, - "endToEndReference": "string",
- "compensationAmount": 0,
- "originalAmount": 0,
- "differentDebitor": "string",
- "differentCreditor": "string",
- "bookingCurrency": "string",
- "displayCurrency": "string",
- "displayAmount": 0,
- "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
- "subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627",
- "predicted": true,
- "qme": "string",
- "qorg": "string",
- "qsubject": "string",
- "qaction": "string",
- "group_gstd": "string",
- "group_gcix": "string",
- "group_gbix": "string",
- "group_gcon": "string",
- "group_grxx": "string",
- "regiox": 0,
- "external_reference": "string"
}
]
}
{- "transactions": [
- {
- "id": 0,
- "cb_id": "5c5da2cd-60d0-4080-a41f-90af65b0a3dc",
- "parentId": 0,
- "accountId": 0,
- "valueDate": "2020-01-31T00:00:00.000Z",
- "bankBookingDate": "2020-01-31T00:00:00.000Z",
- "amount": 0,
- "purpose": "string",
- "counterpartName": "string",
- "counterpartAccountNumber": "string",
- "counterpartIban": "string",
- "counterpartBlz": "string",
- "counterpartBic": "string",
- "counterpartBankName": "string",
- "counterpartMandateReference": "string",
- "counterpartCustomerReference": "string",
- "counterpartCreditorId": "string",
- "counterpartDebitorId": "string",
- "type": "string",
- "typeCodeZka": "string",
- "typeCodeSwift": "string",
- "sepaPurposeCode": "string",
- "primanota": "string",
- "isPotentialDuplicate": true,
- "isAdjustingEntry": true,
- "isNew": true,
- "importDate": "string",
- "children": [
- 0
], - "paypalData": {
- "invoiceNumber": "string",
- "fee": 0,
- "net": 0,
- "auctionSite": "string"
}, - "endToEndReference": "string",
- "compensationAmount": 0,
- "originalAmount": 0,
- "differentDebitor": "string",
- "differentCreditor": "string",
- "bookingCurrency": "string",
- "displayCurrency": "string",
- "displayAmount": 0,
- "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
- "subscription_id": "aa11a4c2-a467-43db-b413-c4ab0f5cf627",
- "predicted": true,
- "qme": "string",
- "qorg": "string",
- "qsubject": "string",
- "qaction": "string",
- "group_gstd": "string",
- "group_gcix": "string",
- "group_gbix": "string",
- "group_gcon": "string",
- "group_grxx": "string",
- "regiox": 0,
- "external_reference": "string"
}
]
}
Get securities of the user that is authorized by the access token. Must pass the user's access token. You can set optional search criteria to get only those securities that you are interested in. If you do not specify any search criteria, then this service functions as a 'get all' service.
Note: Whenever a security account is being updated, its security positions will be internally re-created, meaning that the identifier of a security position might change over time.
ids | Array of integers <int64> A comma-separated list of security identifiers. If specified, then only securities whose identifier match any of the given identifiers will be regarded. The maximum number of identifiers is 1000. |
search | string If specified, then only those securities will be contained in the result whose 'name', 'isin' or 'wkn' contains the given search string (the matching works case-insensitive). If no securities contain the search string in any of these fields, then the result will be an empty list. NOTE: If the given search string consists of several terms (separated by whitespace), then ALL of these terms must be contained in the searched fields in order for a security to get included into the result. |
accountIds | Array of integers <int64> Comma-separated list of identifiers of accounts |
page | integer >= 1 Default: 1 Result page that you want to retrieve. |
perPage | integer [ 1 .. 500 ] Default: 20 Maximum number of records per page. By default it's 20. Can be at most 500. NOTE: Due to its validation and visualization, the swagger frontend might show very low performance, or even crashes, when a service responds with a lot of data. It is recommended to use a HTTP client like Postman or DHC instead of our swagger frontend for service calls with large page sizes. |
order | Array of strings Determines the order of the results. You can order the results by next fields: 'id', 'name', 'isin', 'wkn', 'quote', 'quantityNominal', 'marketValue' and 'entryQuote'. The default order for all services is 'id,asc'. You can also order by multiple properties. In that case the order of the parameters passed is important. The general format is: 'property[,asc|desc]', with 'asc' being the default value. Please note that ordering by multiple fields is not supported in our swagger frontend, but you can test this feature with any HTTP tool of your choice (e.g. postman or DHC). |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/securities?ids=SOME_ARRAY_VALUE&search=SOME_STRING_VALUE&accountIds=SOME_ARRAY_VALUE&page=SOME_INTEGER_VALUE&perPage=SOME_INTEGER_VALUE&order=SOME_ARRAY_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "securities": [
- {
- "id": 0,
- "accountId": 0,
- "name": "string",
- "isin": "string",
- "wkn": "string",
- "quote": 0,
- "quoteCurrency": "string",
- "quoteType": "ACTU",
- "quoteDate": "string",
- "quantityNominal": 0,
- "quantityNominalType": "UNIT",
- "marketValue": 0,
- "marketValueCurrency": "string",
- "entryQuote": 0,
- "entryQuoteCurrency": "string",
- "profitOrLoss": 0
}
], - "paging": {
- "page": 0,
- "perPage": 0,
- "pageCount": 0,
- "totalCount": 0
}
}
Get a single security for a specific user. Must pass the security's identifier and the user's access token.
Note: Whenever a security account is being updated, its security positions will be internally re-created, meaning that the identifier of a security position might change over time.
id required | integer <int64> [\d]+ Security identifier |
curl --request GET \ --url https://api.cashbuzz.io/v01/securities/%7Bid%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "id": 0,
- "accountId": 0,
- "name": "string",
- "isin": "string",
- "wkn": "string",
- "quote": 0,
- "quoteCurrency": "string",
- "quoteType": "ACTU",
- "quoteDate": "string",
- "quantityNominal": 0,
- "quantityNominalType": "UNIT",
- "marketValue": 0,
- "marketValueCurrency": "string",
- "entryQuote": 0,
- "entryQuoteCurrency": "string",
- "profitOrLoss": 0
}
Get transactions of the user that is authorized by the access token. Must pass the user's access token. You can set optional search criteria to get only those trades that you are interested in. If you do not specify any search criteria, then this service functions as a 'get all' service.
search | string If specified, then only those trades will be contained in the result whose name fields contain the given search string (the matching works case-insensitive). If no trades contain the search string in name, then the result will be an empty list. NOTE: The searchstring matches exactly with whitespaces and other special characters |
isin | string If specified, then only those trades will be contained in the result whose ISIN field matches the given search string (the matching works case-insensitive). If no trades match the search string in the isin field, then the result will be an empty list. NOTE: Not all banks provide an ISIN for thier trades |
wkn | string If specified, then only those trades will be contained in the result whose wkn field matches the given search string (the matching works case-insensitive). If no trades match the search string in the wkn field, then the result will be an empty list. NOTE: Not all banks provide a wkn for thier trades |
from_date | string <date> Lower bound for a trades' date in the format 'YYYY-MM-DD' (e.g. '2016-01-01'). If specified, then only trades whose 'transaction_bank_booking_date' is equal to or later than the given date will be regarded. |
to_date | string <date> Upper bound for a trades' date in the format 'YYYY-MM-DD' (e.g. '2020-01-01'). If specified, then only trades whose 'transaction_bank_booking_date' is equal to or earlier than the given date will be regarded. |
min_amount | number If specified, then only trades whose amount is equal to or greater than the given amount will be regarded. Can contain a positive or negative number with at most two decimal places. Examples: -300.12, or 90.95 Note: The currency of the security is used and not converted to EUR |
max_amount | number If specified, then only trades whose amount is equal to or less than the given amount will be regarded. Can contain a positive or negative number with at most two decimal places. Examples: -300.12, or 90.95 Note: The currency of the security is used and not converted to EUR |
direction | string Default: "all" Enum: "all" "buy" "sell" If specified, then only trades with the given direction(s) will be regarded. If not specified, the direction defaults to 'all'. |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/trades?search=SOME_STRING_VALUE&isin=SOME_STRING_VALUE&wkn=SOME_STRING_VALUE&from_date=SOME_STRING_VALUE&to_date=SOME_STRING_VALUE&min_amount=SOME_NUMBER_VALUE&max_amount=SOME_NUMBER_VALUE&direction=SOME_STRING_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "trades": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "accountId": 0,
- "bankBookingDate": "2020-01-31T00:00:00.000Z",
- "name": "string",
- "isin": "string",
- "wkn": "string",
- "quote": 0,
- "quoteCurrency": "string",
- "quoteType": "ACTU",
- "quantityNominal": 0,
- "quantityNominalType": "UNIT",
- "marketValue": 0,
- "marketValueCurrency": "string",
- "entryQuote": 0,
- "entryQuoteCurrency": "string",
- "amount": null,
- "amountCurrency": "string"
}
], - "paging": {
- "page": 0,
- "perPage": 0,
- "pageCount": 0,
- "totalCount": 0
}, - "buy_volume": 0,
- "sell_volume": 0,
- "balance": 0
}
Get transactions of the user that is authorized by the access token. Must pass the user's access token. You can set optional search criteria to get only those transactions that you are interested in. If you do not specify any search criteria, then this service functions as a 'get all' service.
id required | string <uuid> Identifier of the trade |
curl --request GET \ --url https://api.cashbuzz.io/v01/trades/%7Bid%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "accountId": 0,
- "bankBookingDate": "2020-01-31T00:00:00.000Z",
- "name": "string",
- "isin": "string",
- "wkn": "string",
- "quote": 0,
- "quoteCurrency": "string",
- "quoteType": "ACTU",
- "quantityNominal": 0,
- "quantityNominalType": "UNIT",
- "marketValue": 0,
- "marketValueCurrency": "string",
- "entryQuote": 0,
- "entryQuoteCurrency": "string",
- "amount": null,
- "amountCurrency": "string"
}
On this endpoint cashbuzz accepts different automatic document handling like:
- scanning settlements for cashbacks - automatic import of mt940 transactions and accounts Your license might not allow the usage of this endpoint.
filename | string <uuid> |
filecontent | string <binary> |
curl --request POST \ --url https://api.cashbuzz.io/v01/documents \ --header 'content-type: multipart/form-data' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "identifiers": [
- 0
]
}
Get statistics of the authorized user like the amount of redeemed cashbacks. The return data and format will frequently change due to further requirements by our clients.
curl --request GET \ --url https://api.cashbuzz.io/v01/data \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "cashback_amounts": {
- "amount_total": 0,
- "amount_0": 0,
- "amount_-1": 0,
- "amount_-2": 0,
- "amount_-3": 0
}, - "cashback_counts": {
- "count_total": 0,
- "count_0": 0,
- "count_-1": 0,
- "count_-2": 0,
- "count_-3": 0
}, - "securities_bought": {
- "amount_total": 0,
- "amount_0": 0,
- "amount_-1": 0,
- "amount_-2": 0,
- "amount_-3": 0
}, - "securities_sold": {
- "amount_total": 0,
- "amount_0": 0,
- "amount_-1": 0,
- "amount_-2": 0,
- "amount_-3": 0
}, - "onemarkets_bought": {
- "amount_total": 0,
- "amount_0": 0,
- "amount_-1": 0,
- "amount_-2": 0,
- "amount_-3": 0
}, - "onemarkets_sold": {
- "amount_total": 0,
- "amount_0": 0,
- "amount_-1": 0,
- "amount_-2": 0,
- "amount_-3": 0
}
}
Get subscriptions of the user that is authorized by the access token. Must pass the user's access token. You can set optional search criteria to get only those subscriptions that you are interested in. If you do not specify any search criteria, then this service functions as a 'get all' service.
ids | Array of strings <uuid> A comma-separated list of subscription identifiers. If specified, then only subscriptions whose identifier match any of the given identifiers will be regarded. The maximum number of identifiers is 100. Be aware, subscription identifiers are volatile. |
org_id | string <uuid> If specified, then only those subscriptions will be contained in the result whose org_id field equals the specified |
classes | Array of strings A comma-separated list of category identifiers. If specified, then the result will contain only subscriptions whose class is either one of the given classes, or - but only if the 'sub_classes' flag is set to 'true' - whose category is a sub-category of one of the given categories. |
sub_classes | boolean If specified, then the sub_classes of listed classes will be in the result |
no_contracts | boolean If specified, then only those subscriptions will be contained in the result that are not classified as contract and have a transaction_count > 1 |
positive_amount | boolean If specified, then only contracts with a total_amount > 0 (true) or total_amount < 0 (false) are returned |
qclasses | boolean If your license allows it, you can set it to true to retrieve the full set of categorization options. Activating it may increase the reported costs (depending on licence). Default is false. |
includeRegiox | boolean If your license allows it, you can set it to true to retrieve the full the regionality-value of a subscription. Default is false |
from_date | string <date> Default: "1900-01-01" Lower bound for a subscriptions' active date in the format 'YYYY-MM-DD' (e.g. '2016-01-01'). If specified, then only subscriptions whose 'active time' falls into the defined time period. is equal to or later than the given date will be regarded. |
to_date | string <date> Default: "2200-01-01" Upper bound for a subscriptions' active date in the format 'YYYY-MM-DD' (e.g. '2016-01-01'). If specified, then only subscriptions whose 'active time' falls into the defined time period. is equal to or later than the given date will be regarded. |
page | integer >= 1 Default: 1 Result page that you want to retrieve. |
perPage | integer [ 1 .. 500 ] Default: 20 Maximum number of records per page. Can be at most 500. NOTE: Due to its validation and visualization, the swagger frontend might show very low performance, or even crashes, when a service responds with a lot of data. It is recommended to use a HTTP client like Postman or DHC instead of our swagger frontend for service calls with large page sizes. |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/subscriptions?ids=SOME_ARRAY_VALUE&org_id=SOME_STRING_VALUE&classes=SOME_ARRAY_VALUE&sub_classes=SOME_BOOLEAN_VALUE&no_contracts=SOME_BOOLEAN_VALUE&positive_amount=SOME_BOOLEAN_VALUE&qclasses=SOME_BOOLEAN_VALUE&includeRegiox=SOME_BOOLEAN_VALUE&from_date=SOME_STRING_VALUE&to_date=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&perPage=SOME_INTEGER_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "subscriptions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
- "periodicity": 0,
- "start_date": "string",
- "end_date": "string",
- "last_transaction": "string",
- "currency": "string",
- "is_irregular": "string",
- "tariff": "string",
- "customer_ident": "string",
- "contract_ident": "string",
- "amount_annually": 0,
- "amount_mean": 0,
- "amount_total": 0,
- "amount_mode": 0,
- "amount_median": 0,
- "negative_mean": 0,
- "negative_median": 0,
- "negative_mode": 0,
- "contract_type": "string",
- "qme": "string",
- "qorg": "string",
- "qsubject": "string",
- "qaction": "string",
- "group_gstd": "string",
- "group_gcix": "string",
- "group_gbix": "string",
- "group_gcon": "string"
}
], - "paging": {
- "page": 0,
- "perPage": 0,
- "pageCount": 0,
- "totalCount": 0
}
}
Get contracts of the user that is authorized by the access token. Must pass the user's access token. You can set optional search criteria to get only those contracts that you are interested in. If you do not specify any search criteria, then this service functions as a 'get all' service.
ids | Array of strings <uuid> A comma-separated list of subscription/contract identifiers. If specified, then only subscriptions whose identifier match any of the given identifiers will be regarded. The maximum number of identifiers is 100. Be aware, subscription identifiers are volatile. |
org_id | string <uuid> If specified, then only those subscriptions will be contained in the result whose org_id field equals the specified |
classes | Array of strings A comma-separated list of category identifiers. If specified, then the result will contain only subscriptions whose class is either one of the given classes, or - but only if the 'sub_classes' flag is set to 'true' - whose category is a sub-category of one of the given categories. |
sub_classes | boolean If specified, then the sub_classes of listed classes will be in the rusult |
positive_amount | boolean If specified, then only contracts with a total_amount > 0 (true) or total_amount < 0 (false) are returned |
page | integer >= 1 Default: 1 Result page that you want to retrieve. |
perPage | integer [ 1 .. 500 ] Default: 20 Maximum number of records per page. Can be at most 500. NOTE: Due to its validation and visualization, the swagger frontend might show very low performance, or even crashes, when a service responds with a lot of data. It is recommended to use a HTTP client like Postman or DHC instead of our swagger frontend for service calls with large page sizes. |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/contracts?ids=SOME_ARRAY_VALUE&org_id=SOME_STRING_VALUE&classes=SOME_ARRAY_VALUE&sub_classes=SOME_BOOLEAN_VALUE&positive_amount=SOME_BOOLEAN_VALUE&page=SOME_INTEGER_VALUE&perPage=SOME_INTEGER_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "contracts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
- "periodicity": 0,
- "start_date": "string",
- "end_date": "string",
- "last_transaction": "string",
- "currency": "string",
- "is_irregular": true,
- "amount_annually": 0,
- "amount_mean": 0,
- "amount_total": 0,
- "amount_mode": 0,
- "amount_median": 0,
- "negative_mean": 0,
- "negative_median": 0,
- "negative_mode": 0,
- "transaction_count": 0,
- "contract_type": "string",
- "tariff": "string",
- "customer_ident": "string",
- "contract_ident": "string",
- "qme": "string",
- "qorg": "string",
- "qsubject": "string",
- "qaction": "string",
- "group_gstd": "string",
- "group_gcix": "string",
- "group_gbix": "string",
- "group_gcon": "string"
}
], - "paging": {
- "page": 0,
- "perPage": 0,
- "pageCount": 0,
- "totalCount": 0
}
}
curl --request GET \ --url https://api.cashbuzz.io/v01/invoices \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "invoices": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
- "org_name": "string",
- "custom_org_name": "string",
- "address": {
- "address": "string",
- "icon": "string",
- "lat": 0,
- "lng": 0,
- "name": "string",
- "ok": true,
- "place_id": "string",
- "raw": {
- "formatted_address": "string"
}, - "reference": "string",
- "status": "string",
- "type": "string"
}, - "custom_address": {
- "address": "string",
- "icon": "string",
- "lat": 0,
- "lng": 0,
- "name": "string",
- "ok": true,
- "place_id": "string",
- "raw": {
- "formatted_address": "string"
}, - "reference": "string",
- "status": "string",
- "type": "string"
}, - "invoice_date": "2020-01-01T00:00:00.000Z",
- "due_date": "2020-01-01T00:00:00.000Z",
- "payment_date": "2020-01-01T00:00:00.000Z",
- "gross_amount": 0,
- "net_amount": 0,
- "invoice_ident": "string",
- "customer_ident": "string",
- "ibans": "string",
- "is_creditor": true,
- "payment_transaction": "e7207acb-9c5c-414c-9076-8b271293a748"
}
], - "paging": {
- "page": 0,
- "perPage": 0,
- "pageCount": 0,
- "totalCount": 0
}
}
Create a new invoice for the prediction engine and track its payment status.
id | string <uuid> Unique identifier of an invoice |
org_id | string <uuid> Unique identifier of an organization |
org_name | string Name of an organization in the database |
custom_org_name | string Custom Name of an organization |
object (Address) Addressdata in the GeoJSON format | |
object (Address) Addressdata in the GeoJSON format | |
invoice_date required | string Invoice date in the format 'YYYY-MM-DD' |
due_date | string Due date in the format 'YYYY-MM-DD' |
payment_date | string Payment date in the format 'YYYY-MM-DD' |
gross_amount required | number Gross amount of the invoice |
net_amount | number Net amount of the invoice |
invoice_ident required | string Invoice identifier as defined by the user |
customer_ident | string Customer identifier as defined by the user |
ibans | string Counterpart IBANs |
is_creditor | boolean True if the user is the creditor |
payment_transaction | string <uuid> Identifier of the transaction that payed the invoice |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
- "org_name": "string",
- "custom_org_name": "string",
- "address": {
- "address": "string",
- "icon": "string",
- "lat": 0,
- "lng": 0,
- "name": "string",
- "ok": true,
- "place_id": "string",
- "raw": {
- "formatted_address": "string"
}, - "reference": "string",
- "status": "string",
- "type": "string"
}, - "custom_address": {
- "address": "string",
- "icon": "string",
- "lat": 0,
- "lng": 0,
- "name": "string",
- "ok": true,
- "place_id": "string",
- "raw": {
- "formatted_address": "string"
}, - "reference": "string",
- "status": "string",
- "type": "string"
}, - "invoice_date": "2020-01-01T00:00:00.000Z",
- "due_date": "2020-01-01T00:00:00.000Z",
- "payment_date": "2020-01-01T00:00:00.000Z",
- "gross_amount": 0,
- "net_amount": 0,
- "invoice_ident": "string",
- "customer_ident": "string",
- "ibans": "string",
- "is_creditor": true,
- "payment_transaction": "e7207acb-9c5c-414c-9076-8b271293a748"
}
{- "error": "string",
- "error_description": "string"
}
curl --request DELETE \ --url https://api.cashbuzz.io/v01/invoices \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "identifiers": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
Retrieves a single invoice
id required | string <uuid> Identifier of requested Organization |
curl --request GET \ --url https://api.cashbuzz.io/v01/invoices/%7Bid%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
- "org_name": "string",
- "custom_org_name": "string",
- "address": {
- "address": "string",
- "icon": "string",
- "lat": 0,
- "lng": 0,
- "name": "string",
- "ok": true,
- "place_id": "string",
- "raw": {
- "formatted_address": "string"
}, - "reference": "string",
- "status": "string",
- "type": "string"
}, - "custom_address": {
- "address": "string",
- "icon": "string",
- "lat": 0,
- "lng": 0,
- "name": "string",
- "ok": true,
- "place_id": "string",
- "raw": {
- "formatted_address": "string"
}, - "reference": "string",
- "status": "string",
- "type": "string"
}, - "invoice_date": "2020-01-01T00:00:00.000Z",
- "due_date": "2020-01-01T00:00:00.000Z",
- "payment_date": "2020-01-01T00:00:00.000Z",
- "gross_amount": 0,
- "net_amount": 0,
- "invoice_ident": "string",
- "customer_ident": "string",
- "ibans": "string",
- "is_creditor": true,
- "payment_transaction": "e7207acb-9c5c-414c-9076-8b271293a748"
}
Deletes a single invoice
id required | string <uuid> Identifier of requested Organization |
curl --request DELETE \ --url https://api.cashbuzz.io/v01/invoices/%7Bid%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "error": "string",
- "error_description": "string"
}
Updates a single invoices data
id required | string <uuid> Identifier of requested Organization |
id | string <uuid> Unique identifier of an invoice |
org_id | string <uuid> Unique identifier of an organization |
org_name | string Name of an organization in the database |
custom_org_name | string Custom Name of an organization |
object (Address) Addressdata in the GeoJSON format | |
object (Address) Addressdata in the GeoJSON format | |
invoice_date required | string Invoice date in the format 'YYYY-MM-DD' |
due_date | string Due date in the format 'YYYY-MM-DD' |
payment_date | string Payment date in the format 'YYYY-MM-DD' |
gross_amount required | number Gross amount of the invoice |
net_amount | number Net amount of the invoice |
invoice_ident required | string Invoice identifier as defined by the user |
customer_ident | string Customer identifier as defined by the user |
ibans | string Counterpart IBANs |
is_creditor | boolean True if the user is the creditor |
payment_transaction | string <uuid> Identifier of the transaction that payed the invoice |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
- "org_name": "string",
- "custom_org_name": "string",
- "address": {
- "address": "string",
- "icon": "string",
- "lat": 0,
- "lng": 0,
- "name": "string",
- "ok": true,
- "place_id": "string",
- "raw": {
- "formatted_address": "string"
}, - "reference": "string",
- "status": "string",
- "type": "string"
}, - "custom_address": {
- "address": "string",
- "icon": "string",
- "lat": 0,
- "lng": 0,
- "name": "string",
- "ok": true,
- "place_id": "string",
- "raw": {
- "formatted_address": "string"
}, - "reference": "string",
- "status": "string",
- "type": "string"
}, - "invoice_date": "2020-01-01T00:00:00.000Z",
- "due_date": "2020-01-01T00:00:00.000Z",
- "payment_date": "2020-01-01T00:00:00.000Z",
- "gross_amount": 0,
- "net_amount": 0,
- "invoice_ident": "string",
- "customer_ident": "string",
- "ibans": "string",
- "is_creditor": true,
- "payment_transaction": "e7207acb-9c5c-414c-9076-8b271293a748"
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
- "org_name": "string",
- "custom_org_name": "string",
- "address": {
- "address": "string",
- "icon": "string",
- "lat": 0,
- "lng": 0,
- "name": "string",
- "ok": true,
- "place_id": "string",
- "raw": {
- "formatted_address": "string"
}, - "reference": "string",
- "status": "string",
- "type": "string"
}, - "custom_address": {
- "address": "string",
- "icon": "string",
- "lat": 0,
- "lng": 0,
- "name": "string",
- "ok": true,
- "place_id": "string",
- "raw": {
- "formatted_address": "string"
}, - "reference": "string",
- "status": "string",
- "type": "string"
}, - "invoice_date": "2020-01-01T00:00:00.000Z",
- "due_date": "2020-01-01T00:00:00.000Z",
- "payment_date": "2020-01-01T00:00:00.000Z",
- "gross_amount": 0,
- "net_amount": 0,
- "invoice_ident": "string",
- "customer_ident": "string",
- "ibans": "string",
- "is_creditor": true,
- "payment_transaction": "e7207acb-9c5c-414c-9076-8b271293a748"
}
Create a new user -- Must pass your global (i.e. client) access token. The automatic update of the user's bank connections is disabled by default for any new user. User identifiers are regarded case-insensitive by cashbuzz. Please note that cashbuzz generally has a restricted set of allowed characters for input fields. Login user -- pass user credentials and your access token, make sure to set the correct value for the login-field. When creating a User, you can either specify an email-address, depeding on your licence settings users will receive a validation eMail. If you use the username they won't receive that eMail. When using the user/password variant to login, any existing authkey will get invalidated, to keep the old authorization-key and just refresh it's validity period.
login required | boolean Set to true if you want to login an existing user, set to false if you want to create a user. Be aware, that a new password login invalidates an authkey before creating a new one. |
campaign | string <uuid> if the user is onboarding using a specific Cashback-Campaign, set the campaignId header. |
User's details
id | string[a-zA-Z0-9\-_\.\+@]application/json User's identifier. Max length is 36 symbols. |
password | string User's password. Minimum length is 6, and maximum length is 36. |
refreshtoken | string Instead of username/password you can use the refreshtoken to lengthen the validity of the authorization key. |
string[A-Za-z0-9¡-ʯ &\(\)\{\}\[\]\.:,;\?!\+\-_\$@... User's email address. Maximum length is 320. | |
username | string User's login name. Maximum length is 320. |
phone | string[A-Za-z0-9¡-ʯ &\(\)\{\}\[\]\.:,;\?!\+\-_\$@... User's phone number. Maximum length is 50. |
birthday | string <date> Birthday of the logged in user, required for cashbacks |
firstname | string User's first name |
lastname | string User's last name |
address | string User's address, required for cashbacks, the format is 'street;housenumber;zipcode;city;country' |
currency | string The currency code see ISO 4217 |
language | string The language code see ISO 639-2-Codes |
tosaccepted | boolean Required when creating a user, without the acceptance of our ToS no user will be created. |
token | string If your API-Key allows login/create user with a specific Token-Process you can set that token here. |
{- "id": "string",
- "password": "string",
- "refreshtoken": "string",
- "email": "string",
- "username": "string",
- "phone": "string",
- "birthday": "2019-08-24",
- "firstname": "string",
- "lastname": "string",
- "address": "string",
- "currency": "string",
- "language": "string",
- "tosaccepted": true,
- "token": "string"
}
{- "id": "string",
- "password": "string",
- "email": "user@example.com",
- "phone": "string",
- "authkey": "string",
- "refreshtoken": "string",
- "birthday": "2019-08-24",
- "firstname": "string",
- "lastname": "string",
- "address": "string",
- "currency": "string",
- "language": "string"
}
Request a new password, must pass the User's eMail-address
string The user's e-Mail address |
curl --request POST \ --url 'https://api.cashbuzz.io/v01/users/requestNewPassword?email=SOME_STRING_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "test": "string"
}
Get the users general Data, this is mainly used to debug singular cashback Events
userId required | string User's identifier |
curl --request GET \ --url https://api.cashbuzz.io/v01/users/%7BuserId%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "id": "string",
- "password": "string",
- "email": "user@example.com",
- "phone": "string",
- "authkey": "string",
- "refreshtoken": "string",
- "birthday": "2019-08-24",
- "firstname": "string",
- "lastname": "string",
- "address": "string",
- "currency": "string",
- "language": "string"
}
If the system that is used to create the User does not provide verified eMail-addresses, the user gets an eMail from cashbuzz with a verification code. This endpoint is used to provide the data.
validationcode required | string the validation code send to the users eMail |
{- "validationcode": "string"
}
{- "test": "string"
}
Get the authorized user's data. Must pass the user's access token. Only the authorized user can get his data, i.e. his access token must be used (in header). This service returns the user's password as 'XXXXX'.
curl --request GET \ --url https://api.cashbuzz.io/v01/users/me \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "id": "string",
- "password": "string",
- "email": "user@example.com",
- "phone": "string",
- "authkey": "string",
- "refreshtoken": "string",
- "birthday": "2019-08-24",
- "firstname": "string",
- "lastname": "string",
- "address": "string",
- "currency": "string",
- "language": "string"
}
Delete the authorized user. Must pass the user's access token. ATTENTION: This deletes the user including all of his bank connections, accounts, balance data and transactions! THIS PROCESS CANNOT BE UNDONE! Note that a user cannot get deleted while any of his bank connections are currently busy (in the process of import, update, or transactions categorization).
curl --request DELETE \ --url https://api.cashbuzz.io/v01/users/me \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "error": "string",
- "error_description": "string"
}
Edit the authorized user's data and settings. Must pass the user's access token. Pass an empty string (but not null) to unset any field. At least one field must have a non-null value in the request body. This service returns the user's password as 'XXXXX'. If this is called with an empty body the validation eMail will be send again.
User's details
id | string[a-zA-Z0-9\-_\.\+@]application/json User's identifier. Max length is 36 symbols. |
password | string User's password. Minimum length is 6, and maximum length is 36. |
refreshtoken | string Instead of username/password you can use the refreshtoken to lengthen the validity of the authorization key. |
string[A-Za-z0-9¡-ʯ &\(\)\{\}\[\]\.:,;\?!\+\-_\$@... User's email address. Maximum length is 320. | |
username | string User's login name. Maximum length is 320. |
phone | string[A-Za-z0-9¡-ʯ &\(\)\{\}\[\]\.:,;\?!\+\-_\$@... User's phone number. Maximum length is 50. |
birthday | string <date> Birthday of the logged in user, required for cashbacks |
firstname | string User's first name |
lastname | string User's last name |
address | string User's address, required for cashbacks, the format is 'street;housenumber;zipcode;city;country' |
currency | string The currency code see ISO 4217 |
language | string The language code see ISO 639-2-Codes |
tosaccepted | boolean Required when creating a user, without the acceptance of our ToS no user will be created. |
token | string If your API-Key allows login/create user with a specific Token-Process you can set that token here. |
{- "id": "string",
- "password": "string",
- "refreshtoken": "string",
- "email": "string",
- "username": "string",
- "phone": "string",
- "birthday": "2019-08-24",
- "firstname": "string",
- "lastname": "string",
- "address": "string",
- "currency": "string",
- "language": "string",
- "tosaccepted": true,
- "token": "string"
}
{- "id": "string",
- "password": "string",
- "email": "user@example.com",
- "phone": "string",
- "authkey": "string",
- "refreshtoken": "string",
- "birthday": "2019-08-24",
- "firstname": "string",
- "lastname": "string",
- "address": "string",
- "currency": "string",
- "language": "string"
}
logout a user. Must pass your global (i.e. client) access token.
curl --request POST \ --url https://api.cashbuzz.io/v01/users/me/logout \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "errors": [
- {
- "message": "string",
- "code": "MISSING_FIELD",
- "type": "BUSINESS"
}
], - "date": "string",
- "requestId": "string",
- "endpoint": "string",
- "authContext": "string",
- "bank": "string"
}
Change the password of a user. Must pass the change-token provided to the user by eMail or the requestChange-Endpoint. This Endpoint does not require the Authorization-Header!
email required | string[a-zA-Z0-9\-_\.\+@]application/json Users eMail-address |
password required | string[A-Za-z0-9¡-ʯ &\(\)\{\}\[\]\.:,;\?!\+\-_\$@... User's new password. Minimum length is 6, and maximum length is 36. |
changeToken required | string The Changetoken the user got by Mail or the requestChange-Endpoint provided |
{- "email": "string",
- "password": "string",
- "changeToken": "string"
}
{- "errors": [
- {
- "message": "string",
- "code": "MISSING_FIELD",
- "type": "BUSINESS"
}
], - "date": "string",
- "requestId": "string",
- "endpoint": "string",
- "authContext": "string",
- "bank": "string"
}
Change the eMail of a user. Must pass the change-token provided to the user by eMail or the requestChange-Endpoint
newemail required | string[a-zA-Z0-9\-_\.\+@]application/json User identifier |
email required | string[a-zA-Z0-9\-_\.\+@]application/json User identifier |
changeToken required | string The Changetoken the user got by Mail or the requestChange-Endpoint provided |
{- "newemail": "string",
- "email": "string",
- "changeToken": "string"
}
{- "errors": [
- {
- "message": "string",
- "code": "MISSING_FIELD",
- "type": "BUSINESS"
}
], - "date": "string",
- "requestId": "string",
- "endpoint": "string",
- "authContext": "string",
- "bank": "string"
}
Request password or eMail change for a user. Must pass your user-credentials. Note that cashbuzz regards user identifiers case insensitive.
email required | string[a-zA-Z0-9\-_\.\+@]application/json Users eMail-address |
password required | string The Users password |
{- "email": "string",
- "password": "string"
}
{- "userEmail": "string",
- "passwordChangeToken": "string"
}
Get the authorized user's affinities. Must pass the user's access token. Only the authorized user can get his data, i.e. his access token must be used (in header). The availability of this service is dependent on your license. If a specific month is provided, only affinities for that month are returned. Note that for a date interval, either from_date or to_date may be null. If both dates are null, then the time interval is not set, and only the current value of the attribute is returned.
month | integer Specific month to evaluate cyclic behavior |
class | string Return the affinities of the logged in user for the requested class. |
sub_classes | boolean If a class is provided, you can use this option to return all the affinities of subclasses too. |
page | integer >= 1 Default: 1 Result page that you want to retrieve. |
perPage | integer [ 1 .. 1000 ] Default: 200 Maximum number of records per page. By default it's 200. Can be at most 1000. |
order | Array of strings Determines the order of the results. You can order the results by next fields: 'class', 'month' and 'affinity'. The default order for all services is 'class,asc'. You can also order by multiple properties. In that case the order of the parameters passed is important. The general format is: 'property[,asc|desc]', with 'asc' being the default value. |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/users/affinities?month=SOME_INTEGER_VALUE&class=SOME_STRING_VALUE&sub_classes=SOME_BOOLEAN_VALUE&page=SOME_INTEGER_VALUE&perPage=SOME_INTEGER_VALUE&order=SOME_ARRAY_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "affinities": [
- {
- "class": "string",
- "month": 0,
- "affinity": 0
}
], - "paging": {
- "page": 0,
- "perPage": 0,
- "pageCount": 0,
- "totalCount": 0
}
}
Get the authorized user's attributes. Must pass the user's access token. Only the authorized user can get his data, i.e. his access token must be used (in header). The availability of this service is dependent on your license. If a date interval is provided, there will be a list of values returned for each applicable attribute in the form date  value so the caller sees when the value of the attribute has changed. Note that for a date interval, either from_date or to_date may be null. If both dates are null, then the time interval is not set, and only the current value of the attribute is returned.
from_date | string <date> Lower bound for an attribute's date in the format 'YYYY-MM-DD' (e.g. '2016-01-01'). If specified, then only attributes whose 'date_valid_from' is equal to or later than the given date will be regarded. |
to_date | string <date> Upper bound for an attribute's date in the format 'YYYY-MM-DD' (e.g. '2016-01-01'). If specified, then only attributes whose 'date_valid_to' is equal to or earlier than the given date will be regarded. |
page | integer >= 1 Default: 1 Result page that you want to retrieve. |
perPage | integer [ 1 .. 1000 ] Default: 200 Maximum number of records per page. By default it's 200. Can be at most 1000. |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/users/attributes?from_date=SOME_STRING_VALUE&to_date=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&perPage=SOME_INTEGER_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "attribute_groups": [
- {
- "section": "string",
- "attributes": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "label": "string",
- "valid_from": "string",
- "valid_to": "string",
- "value_type": "string",
- "value": "string",
- "is_latest": true,
- "has_history": true
}
]
}
], - "paging": {
- "page": 0,
- "perPage": 0,
- "pageCount": 0,
- "totalCount": 0
}
}
Get the authorized user's attribute. Must pass the user's access token. Only the authorized user can get his data, i.e. his access token must be used (in header). The availability of this service is dependent on your license. You may either request a single attribute, an attribute_group or a whole attribute section. If a date interval is provided, there will be a list of values returned for each applicable attribute in the form date  value so the caller sees when the value of the attribute has changed. Note that for a date interval, either from_date or to_date may be null. If both dates are null, then the time interval is not set, and only the latest entry of the requested attributes will be returned.
section required | string Identifying section of the requested attribute |
group required | string Identifying group of the requested attribute |
name required | string Identifying name of the requested attribute |
from_date | string <date> Lower bound for an attribute's date in the format 'YYYY-MM-DD' (e.g. '2016-01-01'). If specified, then only attributes whose 'date_valid_from' is equal to or later than the given date will be regarded. |
to_date | string <date> Upper bound for an attribute's date in the format 'YYYY-MM-DD' (e.g. '2016-01-01'). If specified, then only attributes whose 'date_valid_to' is equal to or earlier than the given date will be regarded. |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/users/attributes/%7Bsection%7D/%7Bgroup%7D/%7Bname%7D?from_date=SOME_STRING_VALUE&to_date=SOME_STRING_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "section": "string",
- "attributes": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "label": "string",
- "valid_from": "string",
- "valid_to": "string",
- "value_type": "string",
- "value": "string",
- "is_latest": true,
- "has_history": true
}
]
}
Get the authorized user's finance groups content. Must pass the user's access token. Only the authorized user can get his data, i.e. his access token must be used (in header). The availability of this service is dependent on your license. If a month interval is provided, there will be a list of values returned for each applicable finance group . Note that for a month interval, either from_month or to_month may be null. If both dates are null, then the time interval is not set, and only the current value of the attribute is returned. To get the finance groups of a single month set from_month and to_month to said month.
fgroup required | string Select the finance group you want to get summarized. |
from_month | string Lower bound for a finance_group's month in the format 'YYYY-MM' (e.g. '2016-01'). If specified, then only finance_group entries whose 'month' is equal to or later than the given month will be regarded. |
to_month | string Upper bound for a finance_group's month in the format 'YYYY-MM' (e.g. '2016-01'). If specified, then only finance_group entries whose 'month' is equal to or earlier than the given month will be regarded. |
page | integer >= 1 Default: 1 Result page that you want to retrieve. |
perPage | integer [ 1 .. 1000 ] Default: 200 Maximum number of records per page. By default it's 200. Can be at most 1000. |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/users/f_groups?fgroup=SOME_STRING_VALUE&from_month=SOME_STRING_VALUE&to_month=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&perPage=SOME_INTEGER_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "finance_groups": [
- {
- "id": 0,
- "label": "string",
- "amount": 0,
- "month": "string"
}
], - "paging": {
- "page": 0,
- "perPage": 0,
- "pageCount": 0,
- "totalCount": 0
}
}
As soon as the full categorization is done, insights about the user can be retrieved. For a list of all possible insights, GET /descriptions/insights. Please check Programmable Insights for further information. The avaibilty of this enpoint depends on your license
section required | string Identifying section of the requested insight |
group required | string Identifying group of the requested insight |
name required | string Identifying name of the requested insight |
start_date | string <date> Lower bound for a insight calculation in the format 'YYYY-MM-DD' (e.g. '2016-01-01'). Be aware, that the quantization is based on the calendar not the start_date, so it might start with a patial period. Default value is today - 3 months. |
end_date | string <date> Upper bound for a insight calculation in the format 'YYYY-MM-DD' (e.g. '2016-01-01'). Be aware, that the quantization is based on the calendar not the to_date, so it might end with a patial period. Default value is today. |
quantization | string Default: "month" Enum: "year" "quarter" "month" "week" "day" Quantization of the insight function, start and end of a quant are based on the calendar not on a time period set by fetching the insight. |
class | string 4 characters If required by the requested insight it can be used to set to a specific class |
sub_classes | boolean Default: false If a class is provided, you can use this option to return all the affinities of subclasses too. |
vat_modified | boolean Default: false If required by the requested insight it can be used to control whether amounts are modified by the corresponding VAT amounts |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/insights/%7Bsection%7D/%7Bgroup%7D/%7Bname%7D?start_date=SOME_STRING_VALUE&end_date=SOME_STRING_VALUE&quantization=SOME_STRING_VALUE&class=SOME_STRING_VALUE&sub_classes=SOME_BOOLEAN_VALUE&vat_modified=SOME_BOOLEAN_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "date": "2020-01-31T00:00:00.000Z",
- "value": 0,
- "start_date": "2020-01-31T00:00:00.000Z",
- "end_date": "2020-01-31T00:00:00.000Z"
}
As soon as the full categorization is done, insights about the user can be retrieved. For a list of all possible insights, GET /descriptions/insights. Please check Programmable Insights for further information. To update an insight statement, post the updated statement on the same path. The avaibilty of this enpoint depends on your license.
section required | string[a-zA-Z0-9] Identifying section of the requested insight |
group required | string[a-zA-Z0-9] Identifying group of the requested insight |
name required | string[a-zA-Z0-9] Identifying name of the requested insight |
insight_section required | string insight section |
insight_group required | string insight group |
insight_name required | string insight name |
statement required | string The insight calculation statement |
title_en required | string English label of the insight |
title_de required | string German label of the insight |
description required | string Description of the insight. |
result_type required | string Enum: "value" "series" Whether the insight will return a date-value series or a single value |
value_type required | string Enum: "int" "float" "uuid" "text" "bool" What type of values will be returned. |
display_type required | string <= 128 Optional, how a frontend should display the result. Free text |
multiply_values_by_n1 required | boolean Whether the value should be multiplied by negative 1 |
text_en required | string <= 4096 English text to display on the insight. |
text_de required | string <= 4096 German text to display on the insight. |
unit_en required | string English unit to display on the insight. |
unit_de required | string German unit to display on the insight. |
value_format required | string How the value should be formatted |
value_color required | string What color the value of the insight should have. |
order_nr required | integer Optional ordering of the insight |
icon required | string Optional icon to display on the insight. |
icon_color required | string Optional coloring of an svg icon |
{- "insight_section": "string",
- "insight_group": "string",
- "insight_name": "string",
- "statement": "string",
- "title_en": "string",
- "title_de": "string",
- "description": "string",
- "result_type": "value",
- "value_type": "int",
- "display_type": "string",
- "multiply_values_by_n1": true,
- "text_en": "string",
- "text_de": "string",
- "unit_en": "string",
- "unit_de": "string",
- "value_format": "string",
- "value_color": "string",
- "order_nr": 0,
- "icon": "string",
- "icon_color": "string"
}
{- "errors": [
- {
- "message": "string",
- "code": "MISSING_FIELD",
- "type": "BUSINESS"
}
], - "date": "string",
- "requestId": "string",
- "endpoint": "string",
- "authContext": "string",
- "bank": "string"
}
Modify an existing insight
section required | string[a-zA-Z0-9] Identifying section of the requested insight |
group required | string[a-zA-Z0-9] Identifying group of the requested insight |
name required | string[a-zA-Z0-9] Identifying name of the requested insight |
insight_section required | string insight section |
insight_group required | string insight group |
insight_name required | string insight name |
statement required | string The insight calculation statement |
title_en required | string English label of the insight |
title_de required | string German label of the insight |
description required | string Description of the insight. |
result_type required | string Enum: "value" "series" Whether the insight will return a date-value series or a single value |
value_type required | string Enum: "int" "float" "uuid" "text" "bool" What type of values will be returned. |
display_type required | string <= 128 Optional, how a frontend should display the result. Free text |
multiply_values_by_n1 required | boolean Whether the value should be multiplied by negative 1 |
text_en required | string <= 4096 English text to display on the insight. |
text_de required | string <= 4096 German text to display on the insight. |
unit_en required | string English unit to display on the insight. |
unit_de required | string German unit to display on the insight. |
value_format required | string How the value should be formatted |
value_color required | string What color the value of the insight should have. |
order_nr required | integer Optional ordering of the insight |
icon required | string Optional icon to display on the insight. |
icon_color required | string Optional coloring of an svg icon |
{- "insight_section": "string",
- "insight_group": "string",
- "insight_name": "string",
- "statement": "string",
- "title_en": "string",
- "title_de": "string",
- "description": "string",
- "result_type": "value",
- "value_type": "int",
- "display_type": "string",
- "multiply_values_by_n1": true,
- "text_en": "string",
- "text_de": "string",
- "unit_en": "string",
- "unit_de": "string",
- "value_format": "string",
- "value_color": "string",
- "order_nr": 0,
- "icon": "string",
- "icon_color": "string"
}
{- "errors": [
- {
- "message": "string",
- "code": "MISSING_FIELD",
- "type": "BUSINESS"
}
], - "date": "string",
- "requestId": "string",
- "endpoint": "string",
- "authContext": "string",
- "bank": "string"
}
Delete a created insight function
section required | string Identifying section of the requested insight |
group required | string Identifying group of the requested insight |
name required | string Identifying name of the requested insight |
curl --request DELETE \ --url https://api.cashbuzz.io/v01/insights/%7Bsection%7D/%7Bgroup%7D/%7Bname%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "errors": [
- {
- "message": "string",
- "code": "MISSING_FIELD",
- "type": "BUSINESS"
}
], - "date": "string",
- "requestId": "string",
- "endpoint": "string",
- "authContext": "string",
- "bank": "string"
}
Get hints for the user that is authorized by the access token. Must pass the user's access token. You can set optional search criteria to get only those hints that you are interested in. If you do not specify any search criteria, then this service functions as a 'get all' service.
is_relevant | boolean if True, only hints that are currently relevant are returned |
page | integer >= 1 Default: 1 Result page that you want to retrieve. |
perPage | integer [ 1 .. 1000 ] Default: 200 Maximum number of records per page. Can be at most 1000. |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/suggestions?is_relevant=SOME_BOOLEAN_VALUE&page=SOME_INTEGER_VALUE&perPage=SOME_INTEGER_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "descriptionsclass": [
- {
- "label": "string",
- "label_path": "string",
- "label_de": "string",
- "label_en": "string",
- "order_nr": 0,
- "logo": "string",
- "logo_sqrd": "string",
- "description": "string",
- "expanded": "string"
}
], - "paging": {
- "page": 0,
- "perPage": 0,
- "pageCount": 0,
- "totalCount": 0
}
}
Logs all the things send to him, some of the standard events are: 'cb_user_created': User created within Cashbuzz platform 'cb_user_deleted': User deleted within Cashbuzz platform 'cb_tospp_accepted': User has passed Terms of Service / Privacy Policy 'cb_bank_connection_requested': Bank connection requested, i.e. finAPI form passed by user 'cb_bank_connection_established': Successful bank connection established for user using this API endpoint it is possible to track user behavior and log certain events for future analytics. This Endpoint is special, because it can be used without an Authorization-Key, without an authkey the record lacks the user identification.
name required | string The event you want to track, see the list in description for suggestions. Some events are tracked without using this endpoint. |
attributes required | string Additional information of that event like who requested the event. |
campaign | string <uuid> if the user is onboarding using a specific Cashback-Campaign, set the campaignId header. |
curl --request POST \ --url 'https://api.cashbuzz.io/v01/events?name=SOME_STRING_VALUE&attributes=SOME_STRING_VALUE&campaign=SOME_STRING_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "errors": [
- {
- "message": "string",
- "code": "MISSING_FIELD",
- "type": "BUSINESS"
}
], - "date": "string",
- "requestId": "string",
- "endpoint": "string",
- "authContext": "string",
- "bank": "string"
}
Get and search redeemable cashbacks from cashbuzzÔÇÖ database. Must pass the authorized user's access token. (later-- You may set optional search criteria to get only those cashbacks that you are interested in. If you do not specify any search criteria, then this service functions as a 'get all' service.
ids | Array of integers <int64> A comma-separated list of cashback identifiers. If specified, then only cashbacks whose identifier match any of the given identifiers will be regarded. The maximum number of identifiers is 1000. |
search | string If specified, then only those cashbacks will be contained in the result whose 'partnername' or 'category' contains the given search string (the matching works case-insensitive). If no cashbacks contain the search string in any of the regarded fields, then the result will be an empty list. |
isRedeemed | boolean If specified, then only redeemed (in case of 'true' value) or unredeemed (in case of 'false' value) cashbacks will be regarded. |
isRejected | boolean If specified, then only those cashbacks will be regarded that have the given value (true or false) for their 'rejected' field. |
statusCode | integer If specified, then only those cashbacks will be regarded that have the given statusCode |
page | integer >= 1 Default: 1 Result page that you want to retrieve. |
perPage | integer [ 1 .. 500 ] Default: 20 Maximum number of records per page. Can be at most 500 |
order | Array of strings Determines the order of the results. You can order the results by 'id', 'partnername', 'category' or 'popularity'. The default order for all services is 'id,asc'. You can also order by multiple properties. In that case the order of the parameters passed is important. Example: '/cashbacks?order=partnername,desc&order=id,asc' will return cashbacks ordered by 'partnername' (descending), where cashbacks from the same 'partnername' are ordered by 'id' (ascending). The general format is: 'property[,asc|desc]', with 'asc' being the default value. |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/cashbacks?ids=SOME_ARRAY_VALUE&search=SOME_STRING_VALUE&isRedeemed=SOME_BOOLEAN_VALUE&isRejected=SOME_BOOLEAN_VALUE&statusCode=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE&perPage=SOME_INTEGER_VALUE&order=SOME_ARRAY_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "cashbacks": [
- {
- "id": "string",
- "partnerId": 0,
- "rewardText": "string",
- "statusCode": 0,
- "tosppStatus": 0,
- "campaignId": 0,
- "reward": "string",
- "currency": "string",
- "email": "user@example.com"
}
], - "paging": {
- "page": 0,
- "perPage": 0,
- "pageCount": 0,
- "totalCount": 0
}
}
Get Information about the cashback
id required | integer <int64> identifier of the cashback |
curl --request GET \ --url https://api.cashbuzz.io/v01/cashbacks/%7Bid%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "id": "string",
- "partnerId": 0,
- "rewardText": "string",
- "statusCode": 0,
- "tosppStatus": 0,
- "campaignId": 0,
- "reward": "string",
- "currency": "string",
- "email": "user@example.com"
}
Initialize a cashback with the cashback ID
id required | integer <int64> identifier of the cashback |
curl --request POST \ --url https://api.cashbuzz.io/v01/cashbacks/%7Bid%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "test": "string"
}
Get and search redeemable vouchers from cashbuzzÔÇÖ database. Must pass the authorized user's access token. (later-- You may set optional search criteria to get only those vouchers that you are interested in. If you do not specify any search criteria, then this service functions as a 'get all' service.
ids | Array of integers <int64> A comma-separated list of voucher identifiers. If specified, then only vouchers whose identifier match any of the given identifiers will be regarded. The maximum number of identifiers is 1000. |
search | string If specified, then only those vouchers will be contained in the result whose 'partnername' contains the given search string (the matching works case-insensitive). If no vouchers contain the search string in any of the regarded fields, then the result will be an empty list. |
category | integer If specified, then only those vouchers will be contained in the result whose 'category' equals the given category-id. If no vouchers are in that category, then the result will be an empty list. |
page | integer >= 1 Default: 1 Result page that you want to retrieve. |
perPage | integer [ 1 .. 500 ] Default: 20 Maximum number of records per page. Can be at most 500 |
order | Array of strings Determines the order of the results. You can order the results by 'id', 'shopname', 'category' or 'popularity'. The default order for all services is 'id,asc'. You can also order by multiple properties. In that case the order of the parameters passed is important. Example: '/vouchers?order=partnername,desc&order=id,asc' will return vouchers ordered by 'partnername' (descending), where vouchers from the same 'partnername' are ordered by 'id' (ascending). The general format is: 'property[,asc|desc]', with 'asc' being the default value. |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/vouchers?ids=SOME_ARRAY_VALUE&search=SOME_STRING_VALUE&category=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE&perPage=SOME_INTEGER_VALUE&order=SOME_ARRAY_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "vouchers": [
- {
- "id": "string",
- "shopName": "string",
- "shopId": "string",
- "voucherText": "string",
- "longDescription": "string",
- "category": "string",
- "language": "string",
- "voucherType": 0,
- "code": "string",
- "uri": "string",
- "reward": 0,
- "logoPath": "string"
}
], - "paging": {
- "page": 0,
- "perPage": 0,
- "pageCount": 0,
- "totalCount": 0
}
}
Get Information about the voucher
id required | integer <int64> identifier of the voucher |
curl --request GET \ --url https://api.cashbuzz.io/v01/vouchers/%7Bid%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "id": "string",
- "shopName": "string",
- "shopId": "string",
- "voucherText": "string",
- "longDescription": "string",
- "category": "string",
- "language": "string",
- "voucherType": 0,
- "code": "string",
- "uri": "string",
- "reward": 0,
- "logoPath": "string"
}
Initialize a voucher-transaction with the voucher ID, used for tracking
id required | integer <int64> identifier of the voucher |
curl --request POST \ --url https://api.cashbuzz.io/v01/vouchers/%7Bid%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "id": "string",
- "shopId": "string",
- "uri": "string"
}
Get and search partners from cashbuzzÔÇÖ database of partners. Must pass the authorized user's access token, or your client's access token. You can set optional search criteria to get only those partners that you are interested in. If you do not specify any search criteria, then this service functions as a 'get all' service.
ids | Array of integers <int64> A comma-separated list of partner identifiers. If specified, then only partners whose identifier match any of the given identifiers will be regarded. The maximum number of identifiers is 100. |
search | string If specified, then only those retention partners will be contained in the result whose 'name', 'category' or 'city' contains the given search string (the matching works case-insensitive). If no partners contain the search string in any of the regarded fields, then the result will be an empty list. Note that if the given search string consists of several terms (separated by whitespace), then ALL of these terms must apply to a partner in order for it to get included into the result. |
country | Array of strings Comma-separated list of two-letter country codes (ISO 3166 ALPHA-2). If set, then only those partners will be regarded in the search that are located in the specified countries. Notes that partners which do not have a location set (i.e. international companies) will ALWAYS be regarded in the search, independent of what you specify for this field. When you pass a country code that doesn't exist in the ISO 3166 ALPHA-2 standard, then the service will respond with 400 BAD_REQUEST. |
page | integer >= 1 Default: 1 Result page that you want to retrieve. |
perPage | integer [ 1 .. 500 ] Default: 20 Maximum number of records per page. Can be at most 500. |
order | Array of strings Determines the order of the results. You can order the results by 'id', 'name' or 'category'. The default order for all services is 'id,asc'. You can also order by multiple properties. In that case the order of the parameters passed is important. Example: '/partners?order=name,desc&order=id,asc' will return the retention partners ordered by 'name' (descending), where partners with the same 'name' are ordered by 'id' (ascending). The general format is: 'property[,asc|desc]', with 'asc' being the default value. |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/partners?ids=SOME_ARRAY_VALUE&search=SOME_STRING_VALUE&country=SOME_ARRAY_VALUE&page=SOME_INTEGER_VALUE&perPage=SOME_INTEGER_VALUE&order=SOME_ARRAY_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "partners": [
- {
- "id": 0,
- "name": "string",
- "squaredLogo": "string",
- "bigLogo": "string",
- "longDescription": "string",
- "termsOfService": "string",
- "privacyPolicy": "string"
}
], - "paging": {
- "page": 0,
- "perPage": 0,
- "pageCount": 0,
- "totalCount": 0
}
}
Get a single retention Partner from cashbuzzÔÇÖ database of partners. You have to pass the partners identifier and your client's access token.
id required | integer <int64> [\d]+ Identifier of requested Partner |
curl --request GET \ --url https://api.cashbuzz.io/v01/partners/%7Bid%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "id": 0,
- "name": "string",
- "squaredLogo": "string",
- "bigLogo": "string",
- "longDescription": "string",
- "termsOfService": "string",
- "privacyPolicy": "string"
}
Accept the partners TOS or TOR and PP in its current version, if there is an update the user will have to reaccept
id required | integer <int64> [\d]+ id of the retention partner |
curl --request POST \ --url https://api.cashbuzz.io/v01/partners/%7Bid%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "errors": [
- {
- "message": "string",
- "code": "MISSING_FIELD",
- "type": "BUSINESS"
}
], - "date": "string",
- "requestId": "string",
- "endpoint": "string",
- "authContext": "string",
- "bank": "string"
}
Get Information about cashbuzz, like the GDP, TOSPP and support eMails.
partner | integer >= 0 Default: 0 Result holds the legal data of the partner you want to retrieve |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/cashbuzz?partner=SOME_INTEGER_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "tospp": "string",
- "gdp": "string",
- "logo": "string",
- "icon": "string",
- "impressum": "string",
- "contact": "string"
}
Accept the cashbuzz TOS/GDP in its current version, if there is an update the user will have to reaccept
curl --request POST \ --url https://api.cashbuzz.io/v01/cashbuzz \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "errors": [
- {
- "message": "string",
- "code": "MISSING_FIELD",
- "type": "BUSINESS"
}
], - "date": "string",
- "requestId": "string",
- "endpoint": "string",
- "authContext": "string",
- "bank": "string"
}
Get a description of all classes that are available to you (depending on your license).
page | integer >= 1 Default: 1 Result page that you want to retrieve. |
perPage | integer [ 1 .. 500 ] Default: 20 Maximum number of records per page. Can be at most 500 |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/descriptions/classes?page=SOME_INTEGER_VALUE&perPage=SOME_INTEGER_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "qclasses": [
- {
- "label": "string",
- "label_path": "string",
- "label_de": "string",
- "label_en": "string",
- "order_nr": 0,
- "logo": "string",
- "logo_sqrd": "string",
- "description": "string",
- "expanded": "string"
}
], - "paging": {
- "page": 0,
- "perPage": 0,
- "pageCount": 0,
- "totalCount": 0
}
}
Get the information about a single class, if it's available to you (depending on your license).
id required | string Identifier of class |
curl --request GET \ --url https://api.cashbuzz.io/v01/descriptions/classes/%7Bid%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "label": "string",
- "label_path": "string",
- "label_de": "string",
- "label_en": "string",
- "order_nr": 0,
- "logo": "string",
- "logo_sqrd": "string",
- "description": "string",
- "expanded": "string"
}
Get all attribute descriptions, that are available to you (depending on your license).
curl --request GET \ --url https://api.cashbuzz.io/v01/descriptions/attributes \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "attributes": [
- {
- "name": "string",
- "group": "string",
- "section": "string",
- "type": "string",
- "description": "string",
- "name_en": "string",
- "name_de": "string",
- "group_en": "string",
- "group_de": "string",
- "section_en": "string",
- "section_de": "string",
- "order_number": 0
}
], - "paging": {
- "page": 0,
- "perPage": 0,
- "pageCount": 0,
- "totalCount": 0
}
}
Get an attribute description, if it's available to you (depending on your license).
section required | string Identifying section of the requested attribute description |
group required | string Identifying group of the requested attribute description |
name required | string Identifying name of the requested attribute description |
curl --request GET \ --url https://api.cashbuzz.io/v01/descriptions/attributes/%7Bsection%7D/%7Bgroup%7D/%7Bname%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "name": "string",
- "group": "string",
- "section": "string",
- "type": "string",
- "description": "string",
- "name_en": "string",
- "name_de": "string",
- "group_en": "string",
- "group_de": "string",
- "section_en": "string",
- "section_de": "string",
- "order_number": 0
}
Get detailed information on single organization. You have to pass the organizations identifier. Some information may only be provided if you have an extended organzation API license. This endpoint can be overloaded by providing a list of ids, seperated by commas and enclosed in normal brackets. For example /descriptions/organizations/(00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000001,00000000-0000-0000-0000-000000000002) In that case, the response is a list of organization descriptions.
id required | string <uuid> Identifier of requested Organization |
curl --request GET \ --url https://api.cashbuzz.io/v01/descriptions/organizations/%7Bid%7D \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "full_name": "string",
- "legal_name": "string",
- "brand_name": "string",
- "uri": "string",
- "address": "string",
- "phone_number": "string",
- "generic": true,
- "rating_color": "white",
- "esg_rating_color": "white",
- "qorg": "string",
- "logo": "string",
- "logo_sqrd": "string",
- "code_nace_rev2": "string"
}
Get a description of all insights that are available to you including your own defined insights and the preconfigured.
section | string Identifying section of the requested insight description |
group | string Identifying group of the requested insight description |
only_own | boolean Default: false If set to true, only the callers own insights will be returned |
page | integer >= 1 Default: 1 Result page that you want to retrieve. |
perPage | integer [ 1 .. 500 ] Default: 20 Maximum number of records per page. Can be at most 500 |
curl --request GET \ --url 'https://api.cashbuzz.io/v01/descriptions/insights?section=SOME_STRING_VALUE&group=SOME_STRING_VALUE&only_own=SOME_BOOLEAN_VALUE&page=SOME_INTEGER_VALUE&perPage=SOME_INTEGER_VALUE' \ --header 'x-api-Key: REPLACE_KEY_VALUE'
{- "insights": [
- {
- "insight_section": "string",
- "insight_group": "string",
- "insight_name": "string",
- "statement": "string",
- "title_en": "string",
- "title_de": "string",
- "description": "string",
- "result_type": "value",
- "value_type": "int",
- "display_type": "string",
- "multiply_values_by_n1": true,
- "text_en": "string",
- "text_de": "string",
- "unit_en": "string",
- "unit_de": "string",
- "value_format": "string",
- "value_color": "string",
- "order_nr": 0,
- "icon": "string",
- "icon_color": "string"
}
], - "paging": {
- "page": 0,
- "perPage": 0,
- "pageCount": 0,
- "totalCount": 0
}
}