openapi: 3.0.0 info: title: Envestnet View API Suite description: >- Views APIs enable your end users to create personalized views of their finances for any expenses, hobbies, or projects relevant to them. A view is a collection of transactions based on rules - any combination of accounts, categories, merchants, locations, transaction types, and more, that are of interest to your users. Build preconfigured views and let your users further define them with a flexible user experience. This document details the APIs offered as part of the views product. contact: email: insights@yodlee.com version: 1.1.0-oas3 servers: - url: / paths: '/views': post: tags: - View summary: Envestnet Create a view for a user. description: >- The create Views API allows users to create a view by specifying one or more rules. This API supports bank, creditCard and investment container transactions.

Important notes- Budget for Views

The budgetData entity is optional.

You can track budget for a VIEW at various levels identified by the attribute "type" - VIEW, CATEGORY, MERCHANT, and DETAIL_CATEGORY.

You can pass one or more types. If you pass VIEW and CATEGORY, it will track budget seperately for each of the entities mentioned seperately. It's recommended to have only one type per VIEW.

Each type also supports incomeBudget and expenseBudget. You can set budget at one or both levels. Either incomeBudget or expenseBudget is mandatory along with type and their respective mandatory attributes. operationId: createUserView requestBody: content: application/json: schema: $ref: '#/components/schemas/View' examples: sampleResponse: $ref: '#/components/examples/createViewExample' responses: '201': description: Views data is updated successfully content: application/json: schema: $ref: '#/components/schemas/ViewResponse' '400': description: >- Bad request. ErrorCode and ErrorMessages below:

Y801 : Invalid length for View Name; min 1 and max 100 characters including spaces are allowed.
Y801 : Invalid length for View Description; min 1 and max 500 characters including spaces are allowed.
Y800 : Invalid value for transactionId.
Y801 : Invalid value for view rule. In addition to fromDate and toDate, pass at least one other attribute to create a rule.
Y800 : Invalid value for categoryId.
Y800 : Invalid value for accountId.
Y824 : The maximum number of transactionId permitted is 500
Y824 : The maximum number of merchantName permitted is 250
Y824 : The maximum number of categoryId permitted is 100

Y824 : The maximum number of detailCategoryId permitted is 100
Y824 : The maximum number of accountId permitted is 25
Y802 : In an EXPENSE rule, categoryId of type - INCOME - is not allowed
Y802 : In an INCOME rule, categoryId of type - EXPENSE - is not allowed
Y803 : At least one valid rule is required to create a view.
Y805 : Multiple rules with transactionId not supported for the same Rule Type (INCOME/EXPENSE/TRANSFER). All transactionIds belonging to the same rule type must be passed in a single rule.
Y802 : Combining transactionId with other attributes in a rule is not allowed
Y803 : Rule type is required to be specified - INCOME or EXPENSE or TRANSFER.
Y824 : The maximum number of rules permitted is 15
Y802 : Passing viewId or ruleId as part of the request is not allowed
Y800 : Invalid value for fromAmount/toAmount.
Y803 : Attributes other than fromDate and toDate is required to create a valid rule with fromAmount and toAmount.
Y802 : INCLUDE and EXCLUDE rule as part of the same rule is not allowed
Y802 : Specified attribute in the EXCLUDE rule is not allowed
Y800 : Invalid value for merchantType; Only BILLERS, SUBSCRIPTION is allowed.
Y800 : Invalid value for type; Only EXPENSE type is allowed when merchantType is passed.
Y800 : Invalid value for ruleName; cannot be empty
Y801 : Invalid length for ruleName; min 1 and max 100 characters including spaces are allowed.
Y851 : Value cannot be blank or null for view
Y800 : Invalid value for baseType; only CREDIT and DEBIT are supported.
Y800: Invalid value for Merchant Name; Merchant Name cannot have any of the following characters ={}[]<>
Y800: Invalid value for Description; View Description cannot have any of the following characters > Y800: Invalid value for Name; View Name cannot have any of the following characters > Y800: Invalid value for Rule Name; Rule Name cannot have any of the following characters >Y802 : Combining rule type INCOME and baseType = DEBIT is not allowed.
Y800 : Invalid value for recommendationId.
Y800 : Invalid value for fromDate/toDate in a rule; either both fromDate and toDate needs to be provided, or both should not be provided.
Y802 : Passing typeId within budgetData where type is set as VIEW is not allowed.
Y802 : Passing typeName for enitytType VIEW within budgetData is not allowed.
Y800 : Invalid value for budgetData for {{type}}. One or more mandatory attributes missing – typeName, expenseBudget or/and incomeBudget.
Y800 : Invalid value for budgetData for {{type}}. One or more mandatory attributes missing – typeId, expenseBudget or/and incomeBudget.
Y800 : Invalid value for budgetData for {{type}}. One or more mandatory attributes missing – typeId, expenseBudget or/and incomeBudget.
Y800: Invalid value for typeName; It is either invalid, duplicated, or not supported for budgetData.
Y800 : Invalid value for budgetData. Required attributes are missing.
Y800: Invalid value for {object}. Please pass all the required attributes – amount and currency.
Y800 : Invalid value for amount. Amount should be > 0 and <= 10000000.
Y800:Invalid value for amount. Maximum of 2 decimal places are supported.
Y802 : Passing budget is not allowed.
Y805 : Multiple currency values not supported in a view. The final view being created should have the same currency across rules and view currency(if provided)
Y800 : Invalid value for currency
Y802 : In an EXPENSE rule, categoryId of type - TRANSFER - is not allowed
Y802 : In an INCOME rule, categoryId of type - TRANSFER - is not allowed
Y802 : In an TRANSFER rule, categoryId of type - INCOME - is not allowed
Y802 : In an TRANSFER rule, categoryId of type - EXPENSE - is not allowed
Y802 : In an TRANSFER rule, detailCategoryId of type - EXPENSE - is not allowed content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: >- Y020 : Invalid token in authorization header
Y023 : Token has expired
Y011 : Invalid cobrand or incorrectly configured cobrand content: application/json: schema: $ref: '#/components/schemas/Error' get: tags: - View summary: Envestnet Fetch the details of all the views associated with a user. description: >- The GET Views API retrieves details of all the Views that the user has created. To retrieve the rules associated with the Views, pass "include=rules" in the request. Views currently support only aggregated transactions.

A View is a logical collection of several rules. Processing these rules returns the relevant transactions associated with the rules. This API will not return deleted Views. To fetch the Transactions for a View, call the GET /views/{viewId}/transactions API. operationId: getUserViews parameters: - name: include in: query description: >- Pass include=rules to retrieve the active rules that are associated with the view ID. required: false style: form explode: true schema: type: string enum: - rules example: rules - name: sourceType in: query description: >- This field indicates if the view is created by the system or by the user.
Pass sourceType=SYSTEM/USER to retrieve the views with the given source type required: false style: form explode: true schema: type: string enum: - SYSTEM - USER example: - USER - SYSTEM - name: orderBy in: query description: >- Single value of orderBy need to be passed. Data returned will be ordered by the filter value. required: false style: form explode: true schema: type: string enum: - created - lastUpdated - sourceType example: - created - lastUpdated - sourceType - name: sortBy in: query description: >- Single value of sortBy need to be passed. Data returned will be ordered in ascending or descending order. required: false style: form explode: true schema: type: string enum: - asc - desc example: - asc - desc responses: '200': description: View detail is fetched successfully content: application/json: schema: $ref: '#/components/schemas/Views' examples: sampleResponse: $ref: '#/components/examples/getViewWithoutBudgetExample' '400': description: >- Bad request. ErrorCode and ErrorMessages below:

Y800 : Invalid value for include
Y800 : Invalid value of sourceType; Allowed values are SYSTEM , USER
Y802 : Duplicate value of sourceType are not allowed;
Y800 : Invalid value of orderBy; Allowed values are sourceType ; created;
Y800 : Invalid value of sortBy; Allowed values are asc ,desc content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: >- Y020 : Invalid token in authorization header
Y023 : Token has expired
Y011 : Invalid cobrand or incorrectly configured cobrand content: application/json: schema: $ref: '#/components/schemas/Error' '/views/system': post: tags: - View summary: Envestnet Create a default view for a user. description: >- Allows user to create a default view if one does not already exist or has been deleted. All the INCOME, EXPENSE and TRANSFER rules are included for this view by default. Request body if any supplied will get ignored. operationId: createSystemView responses: '201': description: System view data is updated successfully content: application/json: schema: $ref: '#/components/schemas/ViewResponse' '400': description: >- Bad request. ErrorCode and ErrorMessages below:
Y802 : Creating multiple system created views is not allowed. content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: >- Y020 : Invalid token in authorization header
Y023 : Token has expired
Y011 : Invalid cobrand or incorrectly configured cobrand content: application/json: schema: $ref: '#/components/schemas/Error' '/views/{viewId}': get: tags: - View summary: Envestnet Fetch the details of a specific view. description: >- Retrieves details of a specific view identified by the viewId.

To retrieve the rule associated with the view, pass include=rules in the request. If the requested view has been deleted, you will get an empty response.

budgetData will be returned if budget is set for the VIEW at any of the levels. operationId: getUserView parameters: - name: viewId in: path description: The unique identifier of the view. required: true style: simple explode: false schema: type: string example: 5e7885993cd8e328288522f7 - name: include in: query description: >- Pass include=rules to retrieve the rules that are associated with the view ID. required: false style: form explode: true schema: type: string example: rules responses: '200': description: View detail is fetched successfully content: application/json: schema: $ref: '#/components/schemas/View' examples: sampleResponse: $ref: '#/components/examples/getViewExample' '400': description: >- Bad request. ErrorCode and ErrorMessages below:

Y800 : Invalid value for viewId
Y800 : Invalid value for include content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: >- Y020 : Invalid token in authorization header
Y023 : Token has expired
Y011 : Invalid cobrand or incorrectly configured cobrand content: application/json: schema: $ref: '#/components/schemas/Error' put: tags: - View summary: Envestnet Update details of an existing view. description: >- The update Views API allows updating details of a specific view. Details can be updated both at the Views-level and the rule-level entity. The HTTP response code is 204 (Success without content).

Important notes- operationId: updateUserView parameters: - name: viewId in: path description: The unique identifier of the view that has to be updated. required: true style: simple explode: false schema: type: string example: 5e7885993cd8e328288522f7 requestBody: content: application/json: schema: $ref: '#/components/schemas/View' examples: sampleResponse: $ref: '#/components/examples/updateViewExample' responses: '204': description: > '400': description: >- Bad request. ErrorCode and ErrorMessages below:

Y801 : Invalid length for View Name; min 1 and max 100 characters including spaces are allowed.
Y801 : Invalid length for View Description; min 1 and max 500 characters including spaces are allowed.
Y800 : Invalid value for transactionId.
Y800 : Invalid value for view rule. At least one of the attributes - transactionId/merchantName/categoryId/accountId - is required.
Y800 : Invalid value for categoryId.
Y800 : Invalid value for accountId.
Y824 : The maximum number of transactionId permitted is 500
Y824 : The maximum number of merchantName permitted is 250
Y824 : The maximum number of categoryId permitted is 100.
Y824 : The maximum number of detailCategoryId permitted is 100.
Y824 : The maximum number of accountId permitted is 25.
Y824 : The maximum number of rules permitted is 15
Y802 : In an expense rule, transactionId of income type is not allowed
Y802 : In an income rule, transactionId of expense type is not allowed
Y802 : In an expense rule, categoryId of type - income - is not allowed
Y802 : In an income rule, categoryId of type - expense - is not allowed
Y802 : In an expense rule, merchant of income type is not allowed
Y802 : In an income rule, merchant of expense type is not allowed
Y800 : Invalid value for fromDate.
Y803 : fromDate required for rule which contains any of below include parameters: merchantName/categoryId/accountId
Y803 : At least one valid rule is required to create/update a view.
Y803 : At least one valid rule is required to create or update a view.
Y803 : include is required to create or update View rule
Y805 : Multiple rules with transactionId not supported for the same Rule Type (income/expense/transfer). All transactionIds belonging to the same rule type must be passed in a single rule.
Y802 : Combining transactionId with other attributes in a rule is not allowed
Y802 : Duplicate transactionId not allowed
Y803 : Rule type is required to be specified - income or expense or transfer.
Y800 : Invalid value for viewId
Y803 : name is required to update the view
Y800 : Invalid value for ruleId
Y824 : The maximum number of view entity permitted is view
Y802 : Duplicate Rule Ids are not allowed
Y800 : Invalid value for baseType; only CREDIT and DEBIT are supported.
Y802 : Combining rule type INCOME and baseType = DEBIT is not allowed.
Y800 : Invalid value for recommendationId.
Y800 : Invalid value for fromDate/toDate in a rule; either both fromDate and toDate needs to be provided, or both should not be provided.
Y802 : Passing budget is not allowed
Y802 : Updating attributes other than name and description for a system created view is not allowed.
Y805 : Multiple currency values not supported in a view. The final view being created should have the same currency across rules and view currency(if provided)
Y800 : Invalid value for currency
Y802 : In an EXPENSE rule, categoryId of type - TRANSFER - is not allowed
Y802 : In an INCOME rule, categoryId of type - TRANSFER - is not allowed
Y802 : In an TRANSFER rule, categoryId of type - INCOME - is not allowed
Y802 : In an TRANSFER rule, categoryId of type - EXPENSE - is not allowed
Y800: Invalid value for Merchant Name; Merchant Name cannot have any of the following characters ={}[]<>
Y800: Invalid value for Description; View Description cannot have any of the following characters > Y800: Invalid value for Name; View Name cannot have any of the following characters > Y800: Invalid value for Rule Name; Rule Name cannot have any of the following characters >- Y020 : Invalid token in authorization header
Y023 : Token has expired
Y011 : Invalid cobrand or incorrectly configured cobrand content: application/json: schema: $ref: '#/components/schemas/Error' delete: tags: - View summary: Envestnet Delete a specific view. description: >- The delete view API allows to delete a single view by passing the viewId. For success, The HTTP response code is 204 (Success without content). operationId: deleteUserView parameters: - name: viewId in: path description: The unique identifier of the View. required: true style: simple explode: false schema: type: string example: 5f239b0bed04946a41675616 responses: '204': description: > '400': description: >- Bad request. ErrorCode and ErrorMessages below:

Y800 : Invalid value for viewId
Y405 : Method not allowed content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: >- Y020 : Invalid token in authorization header
Y023 : Token has expired
Y011 : Invalid cobrand or incorrectly configured cobrand content: application/json: schema: $ref: '#/components/schemas/Error' '/views/{viewId}/rules': delete: tags: - View summary: Envestnet Delete the specified rules for a specific view. description: >- The delete rules API allows you to delete one or more rules that are associated with a specific view by passing the viewId and ruleId. The HTTP response code is 204 (Success without content).

Important notes- operationId: deleteUserViewRule parameters: - name: viewId in: path description: The unique identifier of the View. required: true style: simple explode: false schema: type: string example: 5e7885993cd8e328288522f7 - name: ruleId in: query description: >- The unique identifier of the rule. Comma separated multiple values can be passed. Rule ID should belong to the same View ID required: true style: form explode: true schema: type: string example: >- 70ab20c3-32e8-4a8d-bcd4-67d7d450e9f2,2C2ab18d28-2662-4355-aca3-e2f0198a597a responses: '204': description: View Rules are deleted successfully '400': description: >- Bad request. ErrorCode and ErrorMessages below:

Y800 : Invalid value for viewId
Y800 : Invalid value for ruleId
Y802 : Minimum one rule required; Last rule deletion is not allowed
Y405 : Method not allowed
Y802 : Deleting rules for a default system created view is not allowed content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: >- Y020 : Invalid token in authorization header
Y023 : Token has expired
Y011 : Invalid cobrand or incorrectly configured cobrand content: application/json: schema: $ref: '#/components/schemas/Error' '/views/{viewId}/budgets': patch: tags: - View summary: Envestnet Patch the specified budget data for a specific view. description: >- Update any of the existing entities within budgetData or add new budget for any of the supported type to an existing VIEW.

Note: Do not pass rules for a VIEW when updating budgetData. operationId: patchUserViewbudget parameters: - name: viewId in: path description: The unique identifier of the View. required: true style: simple explode: false schema: type: string example: 5e7885993cd8e328288522f7 requestBody: content: application/json: schema: $ref: '#/components/schemas/View' examples: objectExample: $ref: '#/components/examples/patchBudgetData' responses: '204': description: Budget data are patched successfully '400': description: >- Bad request. ErrorCode and ErrorMessages below:

Y802 : Passing typeId within budgetData where type is set as VIEW is not allowed.
Y802 : Passing typeName for enitytType VIEW within budgetData is not allowed.
Y800 : Invalid value for budgetData for {{type}}. One or more mandatory attributes missing – typeName, expenseBudget or/and incomeBudget.
Y800 : Invalid value for budgetData for {{type}}. One or more mandatory attributes missing – typeId, expenseBudget or/and incomeBudget.
Y800 : Invalid value for budgetData for {{type}}. One or more mandatory attributes missing – typeId, expenseBudget or/and incomeBudget.
Y800: Invalid value for typeName; It is either invalid, duplicated, or not supported for budgetData.
Y800 : Invalid value for budgetData. Required attributes are missing.
Y800: Invalid value for {object}. Please pass all the required attributes – amount and currency.
Y800 : Invalid value for amount. Amount should be > 0 and <= 10000000.
Y800:Invalid value for amount. Maximum of 2 decimal places are supported.
Y802 : Passing budget inside a rule is not allowed.
Y800: Invalid value for budgetData; Updating budgetData using PUT method and this end point is not allowed. Please use the PATCH end point to update budgetData.
Y805 : Multiple currency values not supported in a view. The final view being created should have the same currency across rules and view currency(if provided)
Y800 : Invalid value for currency content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: >- Y020 : Invalid token in authorization header
Y023 : Token has expired
Y011 : Invalid cobrand or incorrectly configured cobrand content: application/json: schema: $ref: '#/components/schemas/Error' delete: tags: - View summary: Envestnet Delete the specified budget data for a specific view. description: >- The delete budget data API allows you to delete one or more budget data based on the requested params. operationId: deleteUserViewbudget parameters: - name: viewId in: path description: The unique identifier of the View. required: true style: simple explode: false schema: type: string example: 5e7885993cd8e328288522f7 - name: type in: query description: >- type identifies the budget entity to be deleted. For successful deletion the type should belong to the same Budget data and View ID.

Multiple comma seperated values are accepted. required: false style: form explode: true schema: type: string example: >- VIEW,MERCHANT,CATEGORY,DETAIL_CATEGORY - name: typeName in: query description: >- typeName identifies the merchant name for which the budget is defined. Multiple comma seperated values are allowed. required: false style: form explode: true schema: type: string example: >- Amazon,Walmart - name: typeId in: query description: >- The unique identifier of the Category or detailed category for which the budget is set. Multiple comma seperated values are allowed. required: false style: form explode: true schema: type: number example: >- 23,24,1024,1025 - name: budgetInfo in: query description: >- The unique identifier of the budgetInfo. Comma separated multiple values can be passed. budgetInfo should be accompanied by one of the following - type, typeId, or typeName. required: false style: form explode: true schema: type: string example: >- incomeBudget, expenseBudget responses: '204': description: Budget data are deleted successfully '400': description: >- Bad request. ErrorCode and ErrorMessages below:

Y800 : Invalid value for {{attribute}}
Y802 : The requested combination for filters is not allowed
Y825 : since no matching budgetData were found for the input combination; the budgetData might not exist or might have already been deleted Update not allowed
Y800 : Invalid value for {{attribute}}; It is either invalid, duplicated, or not supported for budgetData.
Y825: Update not allowed since no matching budgetData were found for the input combination; the budgetData might not exist or might have already been deleted.
Y803 : One of typeId, typeName, or type is required to process this request.
Y802: Passing budgetInfo with type other than VIEW is not allowed.
Y800: Invalid value for budgetInfo; The requested budget is either not set or was already deleted. content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: >- Y020 : Invalid token in authorization header
Y023 : Token has expired
Y011 : Invalid cobrand or incorrectly configured cobrand content: application/json: schema: $ref: '#/components/schemas/Error' '/views/{viewId}/transactions': get: tags: - View summary: Envestnet Fetch all the transactions for a specific View. description: >- The GET Views transactions API allows you to fetch all the transactions for a specific view by passing the viewId.

A View is a logical collection of several rules. This API fetches all the transactions that qualify the rules associated with a specific view.

This API supports pagination. Each page can contain a maximum of 500 transactions. Use 'skip' and 'top' fields to enable pagination in response.

Supported containers - bank and card operationId: getUserViewTransactions parameters: - name: viewId in: path description: The unique identifier of the view. required: true style: simple explode: false schema: type: string example: 5e7885993cd8e328288522f7 - name: fromDate in: query description: >- fromDate filter for the View Rules with format - yyyy-MM-dd'T'HH:mm:ss required: false style: form explode: true schema: type: string example: '2020-05-23T10:45:59.000Z' - name: toDate in: query description: 'toDate filter for the View Rules with format - yyyy-MM-dd''T''HH:mm:ss' required: false style: form explode: true schema: type: string example: '2020-05-23T10:45:59.000Z' - name: categoryId in: query description: >- Comma-separated array of Transaction Category Ids filter for the View Rules required: false style: form explode: true schema: type: string example: '29,31' - name: detailCategoryId in: query description: >- Comma-separated array of Transaction Detail Category Ids filter for the View Rules required: false style: form explode: true schema: type: string example: '11346,11334' - name: accountGroupId in: query description: >- Comma-separated array of Account Group Ids filter for the View Rules required: false style: form explode: true schema: type: string example: '1168,1280' - name: merchantName in: query description: Comma-separated array of Merchant Names filter for the View Rules required: false style: form explode: true schema: type: string example: 'century,amazon' - name: skip in: query description: >- skip is the number of pages to be skipped. This parameter allows pagination support. 1 page will only display max 500 transactions. If response contains more than 500 transactions, then this parameter is useful required: false style: form explode: true schema: type: string example: 5 - name: top in: query description: >- top returns the number of transactions requested. Max 500 transactions can be returned by default. This parameter 'top' along with 'skip' allows pagination support. required: false style: form explode: true schema: maximum: 500 type: string example: 100 - name: accountId in: query description: Comma separated list of account Ids. It should be an integer value. required: false style: form explode: true schema: type: string example: '1001,1002' - name: accountStatus in: query description: >- This field indicates if the account status is open closed or active.
required: false style: form explode: true schema: type: string enum: - ACTIVE - CLOSED - TO_BE_CLOSED example: - ACTIVE - CLOSED - TO_BE_CLOSED - name: include in: query description: >- This field indicates if we need to include closed accout.
required: false style: form explode: true schema: type: string example: CLOSED_ACCOUNT - name: fromAmount in: query description: |- fromAmount should be a Floating point number. It signifies a range of amount. Please ensure that fromAmount value is between 1 and 1000000 including the both limit. Only single value for fromAmount. required: false style: form explode: true schema: type: string minimum: 1 maximum: 1000000 example: '100.00' - name: toAmount in: query description: |- toAmount should be a Floating point number. It signifies a range of amount. Please ensure that toAmount value is between 1 and 1000000 including the both limit. Only single value for toAmount. required: false style: form explode: true schema: type: string minimum: 1 maximum: 1000000 example: '100.00' - name: orderBy in: query description: >- Single value of orderBy need to be passed. Data returned will be ordered by the filter value. required: false style: form explode: true schema: type: string enum: - amount - date example: amount - name: ruleType in: query description: >- Comma-separated array of ruleType. Only INCOME, EXPENSE and TRANSFER ruleType is possible. required: false style: form explode: true schema: type: string default: 'INCOME,EXPENSE,TRANSFER' enum: - 'INCOME,EXPENSE,TRANSFER' - INCOME - EXPENSE - TRANSFER example: INCOME - name: container in: query description: >- Comma-separated array of container. Olnly bank and creditCard container is allowed. required: false style: form explode: true schema: type: string enum: - bank - creditCard example: bank responses: '200': description: >- Transactions which qualified the given View's Rules are fetched successfully content: application/json: schema: $ref: '#/components/schemas/Transactions' '400': description: >- Bad request. ErrorCode and ErrorMessages below:

Y800 : Invalid value for categoryId
Y824 : The maximum number of categoryId permitted is 100
Y800 : Invalid value for detailCategoryId; either the detailCategoryId does not exist or is not supported for this view
Y824 : The maximum number of detailCategoryId permitted is 100
Y802 : Duplicate detailCategoryIds not allowed
Y800 : Invalid value for detailCategoryId
Y801 : Invalid length for merchantName; should be between 1 and 100
Y800 : Invalid value for viewId
Y800 : Invalid value for fromDate/toDate; supported format is YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS
Y800 : Invalid value for toDate; fromDate cannot be later than toDate
Y802 : Duplicate merchantName not allowed
Y800 : Invalid value for categoryId
Y800 : Invalid value for accountId
Y800 : Invalid value for top; allowed values between 1 and 500
Y800 : Invalid value for skip
Y800 : Invalid value for fromAmount/toAmount; min = 1.00 and max = 1000000
Y800 : Invalid value for fromAmount. fromAmount cannot be greater than toAmount
Y800 : Invalid value for orderBy; Only amount, date is supported
Y800 : Invalid value for fromDate/toDate; If passing a date range, either both fromDate and toDate needs to have a timestamp or none of them should have a timestamp
Y800: Invalid value for ruleType; Only INCOME, EXPENSE,TRANSFER is supported
Y802: Duplicate values for ruleType are not allowed
Y802: Duplicate values for container are not allowed
Y800: Invalid value for container; Allowed values are bank,creditCard. content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: >- Y020 : Invalid token in authorization header
Y020 : Token has expired content: application/json: schema: $ref: '#/components/schemas/Error' '/views/{viewId}/peerData': get: tags: - View summary: >- Envestnet Fetch all the applicable peer benchmarking data. description: >- API allows you to view peer benchmarking data for a specific view.

Peer Benchmarking summary data is returned for each category and merchant mentioned in the view INCLUDE rules for the specified View. Median Spend Amount is returned for each of City/CBSA (If Available), State (If Available) and National (Always).

The Peer Benchmarking attributes are returned only when the global key configuration key 'isPeerBenchmarkEnabled' is TRUE for the customer. operationId: getUserViewPeerData parameters: - name: viewId in: path description: The unique identifier of the view. required: true style: simple explode: false schema: type: string example: 5e7885993cd8e328288522f7 - name: timePeriod in: query description: >- timePeriod filter for the duration of peer benchmarking data that should be considered for the list of transaction categories and merchants present in the include rules of the given viewId, but has no relation to the start and end date of this viewId or the included rules.
The default value is LAST_MONTH for this parameter i.e. previous month's data is considered when this parameter is not passed required: false style: form explode: true schema: type: string enum: - LAST_MONTH - LAST_THREE_MONTHS - LAST_SIX_MONTHS - LAST_TWELVE_MONTHS example: LAST_MONTH responses: '200': description: >- Peer benchmarking summary values which qualifies for the given include View's Rules are fetched successfully content: application/json: schema: $ref: '#/components/schemas/PeerDataResponse' '400': description: >- Y800 : Invalid value for timePeriod
Y800 : Invalid value for viewId
Y800 : No Category or Merchant in the view rules
Y805 : Multiple timePeriod not supported content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: 'Y015 : Unauthorized User' content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '/views/{viewId}/transactionSummary': get: tags: - View summary: Envestnet Fetch summary data for a specific View. description: >- This API fetches summary details for a specific view by passing the viewId.

This API summarizes the information and returns data credit total, debit total, and net total grouped by merchant, category, categoryType or detailCategoryId depending on the query parameter value provided.

Use 'skip' and 'top' fields values to determine numbers of records under the details arrays . Supported containers - bank and creditCard . operationId: getUserViewTransactionSummary parameters: - name: viewId in: path description: The unique identifier of the view. required: true style: simple explode: false schema: type: string example: 5e7885993cd8e328288522f7 - name: fromDate in: query description: >- fromDate filter for the View Rules with format - yyyy-MM-dd'T'HH:mm:ss or yyyy-MM-dd required: false style: form explode: true schema: type: string default: current date - 31 example: '2020-05-23T10:45:59.000Z' - name: toDate in: query description: >- toDate filter for the View Rules with format - yyyy-MM-ddTHH:mm:ss or yyyy-MM-dd required: false style: form explode: true schema: type: string default: current date example: '2020-05-23T10:45:59.000Z' - name: categoryId in: query description: >- Comma-separated array of Transaction Category Ids filter for the View Rules required: false style: form explode: true schema: type: string example: '29,31' - name: detailCategoryId in: query description: >- Comma-separated array of Transaction Detail Category Ids filter for the View Rules required: false style: form explode: true schema: type: string example: '1168,1280' - name: merchantName in: query description: >- Comma-separated array of Merchant Names filter for the View Rules. No validation require for merchantName. required: false style: form explode: true schema: type: string example: 'century,amazon' - name: ruleType in: query description: >- Comma-separated array of ruleType. Only INCOME, EXPENSE and TRANSFER ruleType is possible. required: false style: form explode: true schema: type: string default: 'INCOME,EXPENSE,TRANSFER' enum: - 'INCOME,EXPENSE,TRANSFER' - INCOME - EXPENSE - TRANSFER example: INCOME - name: accountId in: query description: Comma-separated list of account Ids. Only integer values are supported. required: false style: form explode: true schema: type: string example: '1001,1002' - name: merchantType in: query description: >- Comma-separated array of Merchant Types. Supported value are BILLERS and SUBSCRIPTION. required: false style: form explode: true schema: type: string enum: - BILLER - SUBSCRIPTION - 'BILLER, SUBSCRIPTION' example: BIILER - name: city in: query description: Comma-separated array of two-letter city abbreviation. Names are not validated. required: false style: form explode: true schema: type: string example: 'Hay, Tulsa' - name: state in: query description: >- Comma-separated array of State names. Names are not validated. required: false style: form explode: true schema: type: string example: 'NY, CA' - name: fromAmount in: query description: |- fromAmount identifies the starting range of amount. Please ensure that fromAmount value is between 1 and 1000000 including the both limit. Only single value for fromAmount. required: false style: form explode: true schema: type: string minimum: 1 maximum: 1000000 example: '100.00' - name: toAmount in: query description: |- toAmount identifies the ending range of amount. Please ensure that toAmount value is between 1 and 1000000 including the both limit. Only single value for toAmount. required: false style: form explode: true schema: type: string minimum: 1 maximum: 1000000 example: '100.00' - name: groupBy in: query description: >- The data returned will be grouped by the filter value. required: false style: form explode: true schema: type: string default: category enum: - merchant - category - categoryTyp - detailCategory example: merchant - name: orderBy in: query description: >- Single value of orderBy need to be passed. Data returned will be ordered by the filter value. required: false style: form explode: true schema: type: string enum: - amount - txncount example: amount - name: accountStatus in: query description: >- This field indicates if the account status is open closed or active.
required: false style: form explode: true schema: type: string enum: - ACTIVE - CLOSED - TO_BE_CLOSED example: - ACTIVE - CLOSED - TO_BE_CLOSED - name: include in: query description: >- This field indicates if we need to include closed accout.
required: false style: form explode: true schema: type: string example: CLOSED_ACCOUNT - name: sortBy in: query description: >- Single value of sortBy need to be passed. Data returned will be ordered in ascending or descending order. required: false style: form explode: true schema: type: string enum: - asc - desc example: asc - name: skip in: query description: >- skip is the number of pages to be skipped. This parameter allows pagination support. 0 page will only display max 1000 transactions. If response contains more than 1000 transactions, then this parameter is useful required: false style: form explode: true schema: type: string minimum: 0 maximum: 1000 example: 5 - name: top in: query description: >- top returns the number of transactions requested. Max 500 transactions can be returned by default. This parameter 'top' along with 'skip' allows pagination support. required: false style: form explode: true schema: maximum: 100 type: string minimum: 1 example: 100 - name: container in: query description: >- Comma-separated array of container. Olnly bank and creditCard container is allowed. required: false style: form explode: true schema: type: string enum: - bank - creditCard example: bank responses: '200': description: >- Transaction summary details which qualified the given View's Rules are fetched successfully content: application/json: schema: $ref: '#/components/schemas/TransactionSummaryResponse' examples: objectExample: $ref: '#/components/examples/TransactionSummaryExample' '400': description: >- Bad request. ErrorCode and ErrorMessages below:

Y800 : Invalid value for categoryId
Y824 : The maximum number of categoryId permitted is 100
Y800 : Invalid value for detailCategoryId; either the detailCategoryId does not exist or is not supported for this view
Y824 : The maximum number of detailCategoryId permitted is 100
Y802 : Duplicate detailCategoryIds not allowed
Y800 : Invalid value for detailCategoryId
Y801 : Invalid length for merchantName; should be between 1 and 100
Y800 : Invalid value for viewId
Y800:Invalid value for fromDate/toDate; If passing a date range, either both fromDate and toDate needs to have a timestamp or none of them should have a timestamp
Y802: Difference greater than 1 Year between fromDate and toDate is not allowed
Y800: future date for toDate is not allowed
Y800: Future date for fromDate is not allowed
Y800 : Invalid value for toDate; fromDate cannot be later than toDate
Y802 : Duplicate merchantName not allowed
Y800 : Invalid value for categoryId
Y800 : Invalid value for accountId
Y800 : Invalid value for top; supported range is 1 to 1000
Y800 : Invalid value for skip; supported range is 1 to 1000
Y800 : Invalid value for orderBy; Only amount, txncount is supported
Y800: Invalid value for sortBy; Only asc, desc is supported
Y800: Invalid value for groupBy; supported values are merchant, category, detailCategory, categoryType.
Y802: Passing multiple values for groupBy is not allowed
Y800: Invalid value for ruleType; Only INCOME, EXPENSE,TRANSFER is supported
Y802: Duplicate values for ruleType are not allowed
Y802: Duplicate values for container are not allowed
Y800: Invalid value for container; Allowed values are bank,creditCard. '401': description: >- Y020 : Invalid token in authorization header
Y023 : Token has expired
Y011 : Invalid cobrand or incorrectly configured cobrand content: application/json: schema: $ref: '#/components/schemas/Error' '/views/{viewId}/transactionTrends': get: tags: - View summary: Envestnet Fetch trend data for a specific View. description: >- This API fetches trend details for a specific view by passing the viewId.

This API summarizes the information and returns credit total, debit total, and net total grouped by merchant, category, or categoryType depending on the query parameter value provided.

Use 'skip' and 'top' fields to enable pagination in response. Supported containers - bank and creditCard . operationId: getUserViewTransactionTrends parameters: - name: viewId in: path description: The unique identifier of the view. required: true style: simple explode: false schema: type: string example: 5e7885993cd8e328288522f7 - name: fromDate in: query description: >- The starting date filter for the view in the format - yyyy-MM-dd'T'HH:mm:ss or yyyy-MM-dd required: false style: form explode: true schema: type: string default: current date - 31 example: '2020-05-23T10:45:59.000Z' - name: toDate in: query description: >- The ending date filter for the view in the format - yyyy-MM-ddTHH:mm:ss or yyyy-MM-dd required: false style: form explode: true schema: type: string default: current date example: '2020-05-23T10:45:59.000Z' - name: categoryId in: query description: >- Comma-separated array of category IDs. required: false style: form explode: true schema: type: string example: '29,31' - name: detailCategoryId in: query description: >- Comma-separated array of Transaction Detail Category Ids filter for the View Rules required: false style: form explode: true schema: type: string example: '1168,1280' - name: merchantName in: query description: >- Comma-separated array of Merchant Names. required: false style: form explode: true schema: type: string example: 'century,amazon' - name: ruleType in: query description: >- Comma-separated array of ruleType. required: false style: form explode: true schema: type: string default: 'INCOME,EXPENSE,TRANSFER' enum: - 'INCOME,EXPENSE,TRANSFER' - INCOME - EXPENSE - TRANSFER example: INCOME - name: accountId in: query description: >- Comma-separated list of valid account Ids. required: false style: form explode: true schema: type: string example: '1001,1002' - name: merchantType in: query description: >- Comma-separated array of Merchant Types. Supported value are BILLERS and SUBSCRIPTION. required: false style: form explode: true schema: type: string enum: - BILLERS - SUBSCRIPTION example: BILLERS - name: city in: query description: >- Comma-separated array of two-letter city abbreviation. Please note that the values are not validated. required: false style: form explode: true schema: type: string example: 'Hay, Tulsa' - name: state in: query description: >- Comma-separated array of State names. Please note that the values are not validated. required: false style: form explode: true schema: type: string example: 'NY, CA' - name: fromAmount in: query description: |- fromAmount identifies the starting range of amount. Please ensure that fromAmount value is between 1 and 1000000 including the both limit. Only single value is supported for fromAmount. required: false style: form explode: true schema: type: string minimum: 1 maximum: 1000000 example: '100.00' - name: toAmount in: query description: |- toAmount identifies the ending range of amount. Please ensure that toAmount value is between 1 and 1000000 including the both limit. Only single value is supported for toAmount. required: false style: form explode: true schema: type: string minimum: 1 maximum: 1000000 example: '100.00' - name: accountStatus in: query description: >- This field indicates if the account status is open closed or active.
required: false style: form explode: true schema: type: string enum: - ACTIVE - CLOSED - TO_BE_CLOSED example: - ACTIVE - CLOSED - TO_BE_CLOSED - name: include in: query description: >- This field indicates if we need to include closed accout.
required: false style: form explode: true schema: type: string example: CLOSED_ACCOUNT - name: groupBy in: query description: >- The data returned will be grouped by the filter value. required: false style: form explode: true schema: type: string default: category enum: - merchant - category - categoryType - detailCategory example: merchant - name: orderBy in: query description: >- Single value of orderBy need to be passed. Data returned will be ordered by the filter value. required: false style: form explode: true schema: type: string enum: - amount - txncount example: amount - name: sortBy in: query description: >- Single value of sortBy need to be passed. Data returned will be ordered in ascending or descending order. required: false style: form explode: true schema: type: string enum: - asc - desc example: asc - name: skip in: query description: >- skip is the number of pages to be skipped. This parameter allows pagination support. 0 page will only display max 1000 transactions. If response contains more than 1000 transactions, then this parameter is useful required: false style: form explode: true schema: type: string minimum: 0 maximum: 1000 example: 5 - name: top in: query description: >- top returns the number of transactions requested. Max 500 transactions can be returned by default. This parameter 'top' along with 'skip' allows pagination support. required: false style: form explode: true schema: maximum: 100 type: string minimum: 1 example: 100 - name: container in: query description: >- Comma-separated array of container. Olnly bank and creditCard container is allowed. required: false style: form explode: true schema: type: string enum: - bank - creditCard example: bank responses: '200': description: >- Transaction summary details which qualified the given View's Rules are fetched successfully content: application/json: schema: $ref: '#/components/schemas/TransactionTrendResponse' examples: objectExample: $ref: '#/components/examples/TransactionTrendExample' '400': description: >- Bad request. ErrorCode and ErrorMessages below:

Y813 : Both fromDate and toDate should be provided
Y800 : Invalid value for categoryId
Y824 : The maximum number of categoryId permitted is 100
Y800 : Invalid value for detailCategoryId; either the detailCategoryId does not exist or is not supported for this view
Y824 : The maximum number of detailCategoryId permitted is 100
Y802 : Duplicate detailCategoryIds not allowed
Y800 : Invalid value for detailCategoryId
Y801 : Invalid length for merchantName; should be between 1 and 100
Y800 : Invalid value for viewId
Y800:Invalid value for fromDate/toDate; If passing a date range, either both fromDate and toDate needs to have a timestamp or none of them should have a timestamp
Y802: Difference greater than 1 Year between fromDate and toDate is not allowed
Y800 : Invalid value for toDate; fromDate cannot be later than toDate
Y802 : Duplicate merchantName not allowed
Y800 : Invalid value for categoryId
Y800 : Invalid value for accountId
Y800 : Invalid value for top; supported range is 1 to 1000
Y800 : Invalid value for skip; supported range is 1 to 1000
Y800 : Invalid value for orderBy; Only amount, txncount is supported
Y800: Invalid value for sortBy; Only asc, desc is supported
Y800: Invalid value for groupBy; supported values are merchant, category, detailCategory, categoryType.
Y802: Passing multiple values for groupBy is not allowed
Y800: Invalid value for ruleType; Only INCOME, EXPENSE,TRANSFER is supported
Y802: Duplicate values for ruleType are not allowed
Y802: Duplicate values for container are not allowed
Y800: Invalid value for container; Allowed values are bank,creditCard. '401': description: >- Y020 : Invalid token in authorization header
Y023 : Token has expired
Y011 : Invalid cobrand or incorrectly configured cobrand content: application/json: schema: $ref: '#/components/schemas/Error' '/views/recommendations': get: tags: - View summary: >- Envestnet Fetch recommended Views for a user. description: >- This API fetches the recommended Views for a specific user. For each user, their transaction history for 90 days is considered based on which recommendations are generated. The recommendations contain meta-data as well as the exact View object that can be passed to the POST /views API endpoint to create a View.

Note- The recommendationId field is used to make sure that the same view is not recommended again for the user. If you modify the recommendationId or let users edit a View made through recommendation, the recommendation service might not behave as expected. operationId: getUserViewRecommendations responses: '200': description: Recommendations for end-users. content: application/json: schema: $ref: '#/components/schemas/RecommendationResponse' examples: objectExample: $ref: '#/components/examples/getRecommendationExample' '401': description: >- Y020 : Invalid token in authorization header
Y020 : Token has expired content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '/views/{viewId}/budgetSummary': get: tags: - View summary: Envestnet Fetch BudgetSummary for specific View. description: >- This API fetches BudgetSummarys for a specific view by passing the viewId and type. operationId: getUserBudgetSummary parameters: - name: viewId in: path description: The unique identifier of the view. required: true style: simple explode: false schema: type: string example: 5e7885993cd8e328288522f7 - name: type in: query description: >- type identifies the budget entity for which data needs to be fetched. The type should belong to the same budgetData and View ID.

Multiple comma seperated values are NOT accepted.

It is mandatory to pass a type. required: true style: form explode: true schema: type: string enum: - VIEW - CATEGORY - MERCHANT - DETAIL_CATEGORY example: MERCHANT responses: '200': description: >- View with BudgetSummary fetched successfully content: application/json: schema: $ref: '#/components/schemas/Views' examples: objectExample: $ref: '#/components/examples/getBudgetSummaryExample' '400': description: >- Bad request. ErrorCode and ErrorMessages below:

Y800: Invalid value for type; type is either missing or not supported for this VIEW.

Y802 : Multiple types are not allowed
'401': description: >- Y020 : Invalid token in authorization header
Y023 : Token has expired
Y011 : Invalid cobrand or incorrectly configured cobrand content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: Views: properties: View: type: array description: >- An view object containing view details which will represent the User View entity, to be persisted into the Yodlee system. Each view object will contain one or more View rules having various attributes as detailed in below child fields. items: $ref: '#/components/schemas/View' View: properties: name: maximum: 100 minimum: 1 type: string description: >- A user defined string representing the View name.

Endpoints: example: My View for Vacation description: maximum: 500 minimum: 1 type: string description: >- A user defined string representing the description for the View

Endpoints: example: View with rules to fetch Amazon merchant transactions for 3 months. preferredCurrency: type: string description: >- preferredCurrency should be a valid three-letter ISO Code for currencies.

Endpoints - enum: - SGD - IDR - AUD - BRL - GBP - CAD - EUR - HKD - INR - JPY - NZD - USD - ZAR - CNY - VND - RUR - MXN - CHF - GHS recommendationId: type: integer description: >- Unique Identifier for a recommended View for a user. This attribute is optional and is present for a View which is created using views recommendation API response. This ID can also be added to any existing View for a user to ensure duplicate View suggestions are not recommended for the user.
Endpoints - readOnly: true example: 11 created: type: string description: >- row created lastUpdated: type: string description: >- row last updated sourceType: type: string description: >- This field indicates if the view is created by the system or by the user. example: USER rule: type: array description: >- Array of View rules. View is a collection of Rules which indicates Include/Exclude criterias. The rules determine what transactions should be considred as part of the View. This will have further impact on the insights generated for the View. Example of View Transaction API: GET /views/{viewId}/transactions.

Endpoints: items: $ref: '#/components/schemas/ViewRule' budgetData: type: array description: >- Array of budget infos. items: $ref: '#/components/schemas/BudgetInfos' budgetSummary: type: array description: >- Array of budget Summary. items: $ref: '#/components/schemas/BudgetSummary' ViewRule: properties: id: type: string description: >- Unique system generated identifier for each rule. This ID can be used when calling the PUT method to update a view rule. If the ID is passed, and the rule is found, the existing rule gets updated. Else, a new rule is created with a system created ID. example: 755dfc54-b50b-4471-88cd-57d040766cb6 name: maximum: 100 minimum: 1 type: string description: >- View rule name is an optional string type field representing the name of the View Rule. When displaying the rules to a user, the names will be easier for the user to understand as opposed to IDs. example: All Transactions Above $100 fromDate: type: string description: >- Essentially every View rule must have a lifespan range specified by fromDate and toDate fields. Expected format - yyyy-MM-dd'T'HH:mm:ss. Note: Please provide the date in UTC timezone instead of Local timezone
  • GET /views
  • GET /views/{viewId}
  • POST /views
  • PUT /views
  • example: '2020-05-23T10:40:59.000Z' toDate: type: string description: >- Essentially every View rule must have a lifespan range specified by fromDate and toDate fields. Expected format - yyyy-MM-dd'T'HH:mm:ss.Note: Please provide the date in UTC timezone instead of Local timezone
    Endpoints: example: '2020-05-23T10:40:59.000Z' type: type: string description: >- View.rule.type describes the ViewRule's type - INCOME or EXPENSE or TRANSFER. This is synonymous with the type field of the transaction category resource. Each Transaction has a categoryId and each categoryId has a categoryType associated to it. The supported values for Transaction category and categoryType are provided by the GET transactions/categories API.

    Note: There is a validation check in POST /views and PUT /views API where if you are passing categoryId in the view.rule.include or view.rule.exclude Request body. The validation expects that the categoryId's categoryType should match with view.rule.type

    Endpoints: enum: - INCOME - EXPENSE - TRANSFER baseType: type: array description: >- baseType for a Transaction identifies whether it was deposited to your account (CREDIT) or taken out (DEBIT). Specifying baseType for a rule will filter out transactions based on either CREDIT or DEBIT or both.

    Note: baseType is not mandatory to be passed. It's useful for specific situations like tracking refunds. Combine "type" = EXPENSE and "baseType" = CREDIT to fetch only refunds.

    Endpoints: example: CREDIT items: type: string enum: - CREDIT - DEBIT include: $ref: '#/components/schemas/ViewRuleInclude' exclude: $ref: '#/components/schemas/ViewRuleExclude' ViewRuleInclude: properties: merchantName: type: array description: >- User is expected to pass one or more valid merchant names. 'merchantName' is basically the name of the merchant associated with a User transaction

    Currently, we do not validate merchant names. Please ensure the names are an exact match.

    Endpoints: example: - Century Link - Amazon items: maximum: 250 minimum: 1 type: string categoryId: maximum: 100 minimum: 1 type: array description: >- 'categoryId' is a View Rule criteria which is applicable for both Include/Exclude ViewRules. User is expected to pass the array of 'categoryId' here. 'categoryId' is basically the identifier of the Transaction Category supported in Yodlee system. The supported values are provided by the GET transactions/categories API

    Note: Each categoryId has a categoryType associated to it. E.g. categoryId:10, categoryName:Groceries, categoryType:EXPENSE.

    In above example, if you are calling POST /views or PUT /views API and inside the Request body you are passing View rule categoryId: [10] , then the view.rule.type must be matching 'EXPENSE'. Meaning if the View Rule Type: EXPENSE then the View Rule CategoryId must have CategoryType: EXPENSE, else API will return categoryType mismatch validation error

    Endpoints - example: - 29 - 30 items: type: integer format: int64 detailCategoryId: maximum: 100 minimum: 1 type: array description: >- 'detailCategoryId' is a View Rule criteria which is applicable for only Include ViewRules. User is expected to pass the array of 'detailCategoryId' here. 'detailCategoryId' is basically the identifier of the Transaction Detail Category supported in Yodlee system. In above example, you are calling POST /views or PUT /views API and inside the Request body you are passing View rule detailCategoryId: [1262] example: - 1263 - 1258 items: type: integer format: int64 accountId: maximum: 25 minimum: 1 type: array description: >- 'accountId' is a View Rule criteria which is applicable for both Include/Exclude ViewRules. User is expected to pass the array of 'accountId' here. 'accountId' is basically the identifier of the User Aggregated Account.

    For example, consider that the user has aggreggated a Bank account with Yodlee and the AccountId in Yodlee system is 1000365. The user wants to fetch all Transactions associated with that Account in this View, then user will create a View by calling POST /views API and pass accountId: [1000365] in the View rule 'include' criteria in the API request body JSON. Once the View is created then User can call GET /views/{viewId}/transactions API and pass the same View Id and the response will only contain the Transactions where AccountId=1000365

    Endpoints - example: - 10001012 - 10001013 items: type: integer format: int64 transactionId: maximum: 500 minimum: 1 type: array description: >- 'transactionId' is one of the View Rule criteria which is applicable for both Include/Exclude ViewRules. User is expected to pass the array of 'transactionId' here. 'transactionId' is basically the identifier of the aggregated transaction for a user.

    NOTE- If a View rule has 'transactionId' attribute, then that rule cannot have any other attribute in it - including fromDate/toDate.

    Endpoints - example: - 1000354 - 1000379 items: type: integer format: int64 merchantType: type: array description: >- 'merchantType' is one one of the View Rule criteria which is applicable for both Include/Exclude ViewRules. User is expected to pass the array of 'merchantType' here. merchantType is basically the type of the merchant associated with a Transaction.

    Endpoints - example: BILLERS items: type: string enum: - BILLERS - SUBSCRIPTION city: maximum: 100 minimum: 1 type: array description: >- 'city' is one of the View Rule criteria which is applicable for both Include/Exclude ViewRules. User is expected to pass the array of standard city names here. example state:['Milwaukee','Boston']

    Note - We do not do any validations for city names.

    Endpoints - example: - Milwaukee - Boston items: type: string state: maximum: 50 minimum: 1 type: array description: >- 'state' is one of the View Rule criteria which is applicable for both Include/Exclude ViewRules. User is expected to pass the array of standard State codes here. example state:['WI', 'AZ'] will mean Wisconsin and Arizona. For the US region specify valid USPS code; ref: US state Codes

    Note - We do not do any validations for state names.

    Endpoints - example: - AZ - WI items: type: string amountRange: $ref: '#/components/schemas/AmountRange' ViewRuleExclude: properties: merchantName: type: array description: >- User is expected to pass one or more valid merchant names. 'merchantName' is basically the name of the merchant associated with a User transaction

    Currently, we do not validate merchant names. Please ensure the names are an exact match.

    Endpoints: example: - Century Link - Amazon items: maximum: 250 minimum: 1 type: string categoryId: maximum: 100 minimum: 1 type: array description: >- 'categoryId' is a View Rule criteria which is applicable for both Include/Exclude ViewRules. User is expected to pass the array of 'categoryId' here. 'categoryId' is basically the identifier of the Transaction Category supported in Yodlee system. The supported values are provided by the GET transactions/categories API

    Note: Each categoryId has a categoryType associated to it. E.g. categoryId:10, categoryName:Groceries, categoryType:EXPENSE.

    In above example, if you are calling POST /views or PUT /views API and inside the Request body you are passing View rule categoryId: [10] , then the view.rule.type must be matching 'EXPENSE'. Meaning if the View Rule Type: EXPENSE then the View Rule CategoryId must have CategoryType: EXPENSE, else API will return categoryType mismatch validation error

    Endpoints - example: - 29 - 30 items: type: integer format: int64 detailCategoryId: maximum: 100 minimum: 1 type: array description: >- 'detailCategoryId' is a View Rule criteria which is applicable for both Include/Exclude ViewRules. User is expected to pass the array of 'detailCategoryId' here. 'detailCategoryId' is basically the identifier of the Transaction Category supported in Yodlee system. E.g. detailCategoryId:10 example: - 1262 items: type: integer format: int64 accountId: maximum: 25 minimum: 1 type: array description: >- 'accountId' is a View Rule criteria which is applicable for both Include/Exclude ViewRules. User is expected to pass the array of 'accountId' here. 'accountId' is basically the identifier of the User Aggregated Account.

    For example, consider that the user has aggreggated a Bank account with Yodlee and the AccountId in Yodlee system is 1000365. The user wants to fetch all Transactions associated with that Account in this View, then user will create a View by calling POST /views API and pass accountId: [1000365] in the View rule 'include' criteria in the API request body JSON. Once the View is created then User can call GET /views/{viewId}/transactions API and pass the same View Id and the response will only contain the Transactions where AccountId=1000365

    Endpoints - example: - 10001012 - 10001013 items: type: integer format: int64 transactionId: maximum: 500 minimum: 1 type: array description: >- 'transactionId' is one of the View Rule criteria which is applicable for both Include/Exclude ViewRules. User is expected to pass the array of 'transactionId' here. 'transactionId' is basically the identifier of the aggregated transaction for a user.

    NOTE- If a View rule has 'transactionId' attribute, then that rule cannot have any other attribute in it - including fromDate/toDate.

    Endpoints - example: - 1000354 - 1000379 items: type: integer format: int64 merchantType: type: array description: >- 'merchantType' is one one of the View Rule criteria which is applicable for both Include/Exclude ViewRules. User is expected to pass the array of 'merchantType' here. merchantType is basically the type of the merchant associated with a Transaction.

    Endpoints - example: BILLERS items: type: string enum: - BILLERS - SUBSCRIPTION city: maximum: 100 minimum: 1 type: array description: >- 'city' is one of the View Rule criteria which is applicable for both Include/Exclude ViewRules. User is expected to pass the array of standard city names here. example state:['Milwaukee','Boston']

    Note - We do not do any validations for city names.

    Endpoints - example: - Milwaukee - Boston items: type: string state: maximum: 50 minimum: 1 type: array description: >- 'state' is one of the View Rule criteria which is applicable for both Include/Exclude ViewRules. User is expected to pass the array of standard State codes here. example state:['WI', 'AZ'] will mean Wisconsin and Arizona. For the US region specify valid USPS code; ref: US state Codes

    Note - We do not do any validations for state names.

    Endpoints - example: - AZ - WI items: type: string BudgetInfo: properties: incomeBudget: description: >- Set a budget for the overall income budget. allOf: - $ref: '#/components/schemas/Money' expenseBudget: description: >- Set a budget for the overall expense budget. allOf: - $ref: '#/components/schemas/Money' typeName: type: string description: >- TypeName identifies the merchant name. typeId: type: number description: >- TypeId identifies the category or detailcategory id. BudgetDetail: properties: creditTotal: description: >- credit total for the budget. allOf: - $ref: '#/components/schemas/Money' debitTotal: description: >- debit total for the budget. allOf: - $ref: '#/components/schemas/Money' incomeBudget: description: >- Set a budget for the overall income budget. allOf: - $ref: '#/components/schemas/Money' remaingIncomeBudget: description: >- Set a budget for the remaining expense budget. allOf: - $ref: '#/components/schemas/Money' expenseBudget: description: >- Set a budget for the overall expense budget. allOf: - $ref: '#/components/schemas/Money' remaingExpenseBudget: description: >- Set a budget for the remaining expense budget. allOf: - $ref: '#/components/schemas/Money' typeName: type: string description: >- TypeName identifies the merchant name. typeId: type: number description: >- TypeId identifies the category or detailcategory id.' remainingIncomeBudgetPercent: type: number description: >- 'percentage of remaining Income budget' remaininExpenseBudgetPercent: type: number description: >- 'percentage of remaining Expense budget' BudgetInfos: properties: type: type: string description: >- Set budget at an entity level. This entity can be a merchant, a master-level category, or a detail-level-category. enum: - VIEW,MERCHANT,CATEGORY,DETAIL_CATEGORY budgetInfo: type: array description: >- An budgetInfo object containing budget details. items: $ref: '#/components/schemas/BudgetInfo' BudgetSummary: properties: type: type: string description: >- Set budget at an entity level. This entity can be a merchant, a master-level category, or a detail-level-category. enum: - VIEW,MERCHANT,CATEGORY,DETAIL_CATEGORY dateRange: allOf: - $ref: '#/components/schemas/DateRange' readOnly: true budgetDetail: type: array description: >- An BudgetDetail object containing budget details. items: $ref: '#/components/schemas/BudgetDetail' DateRange: description: >- The date range identified by fromDate and toDate. properties: fromDate: type: string description: >- For a View, fromDate is used to fetch transactions that are aggregated on or after the specified date. This is a mandatory attribute for all rules, except rules that contain transactionId.

    Expected format - yyyy-MM-dd. Note- The date is in UTC timezone instead of Local timezone.

    Endpoints: example: '2020-05-23' toDate: type: string description: >- For a View, toDate is used to fetch transactions that are aggregated on or before the specified date, but after the fromDate. This is a mandatory attribute for all rules, except rules that contain transactionId.

    Expected format - yyyy-MM-dd.Note- The date is in UTC timezone instead of Local timezone.

    Endpoints: example: '2020-05-23' RecommendationDateRange: properties: fromDate: type: string description: >- from date for Recommendation

    Expected format - yyyy-MM-dd'T'HH:mm:ss. Note- The date is in UTC timezone instead of Local timezone.

    Endpoints: example: '2020-05-23T10:40:59.000Z' toDate: type: string description: >- to date for Recommendation.

    Expected format - yyyy-MM-dd'T'HH:mm:ss.Note- The date is in UTC timezone instead of Local timezone.

    Endpoints: example: '2020-05-23T10:40:59.000Z' AmountRange: properties: fromAmount: minimum: 0 type: number description: >- For a View, fromAmount is used to fetch aggregated transactions where the posted transaction amount is equal to or greater than the fromAmount.

    Example: if fromAmount=100.00 in the View Rule and User calls GET /views/{viewId}/transactions API then only those User transactions will be returned in response, whose Transaction Amount >= $100

    Note- Currently AmountRange fields are only supported for 'include' View Rules and not supported for 'exclude' View Rules

    Endpoints - format: double example: 100 toAmount: maximum: 1000000 type: number description: >- For a View, toAmount is used to fetch aggregated transactions where the posted transaction amount is equal to or less than the fromAmount.

    Example 1 - if toAmount=100.00 in the View Rule and User calls GET /views/{viewId}/transactions API then only those User transactions will be returned in response, whose Transaction Amount <= $100

    Example 2 - if toAmount=100.00 and fromAmount=10.00 in the View Rule and User calls GET /views/{viewId}/transactions API then only those User transactions will be returned in response, where 10 <= Transaction Amount <= 100

    Note- Currently AmountRange fields are only supported for 'include' View Rules and not supported for 'exclude' View Rules

    Endpoints - format: double example: 1000 currency: type: string description: >- Currency is a String with a predefined value(s) such as USD. Currently, only USD is supported by Yodlee insights.

    Endpoints - enum: - USD ViewResponse: properties: view: type: array items: $ref: '#/components/schemas/ViewCreationResponse' AccountInfo: properties: id: type: integer description: >- The primary key of the account resource and the unique identifier for the account.

    Support for Aggregated / Manual Accounts - Both Supported.
    Applicable containers - All containers. readOnly: true providerName: type: string description: >- Service provider or institution name where the account originates. This belongs to the provider resource.

    Applicable containers: All containers readOnly: true accountName: type: string description: >- description: The account name as it appears at the site. The POST accounts service response return this field as name.
    Applicable containers - All readOnly: true accountNumber: type: string description: >- description: The account number as it appears on the site. (The POST accounts service response return this field as number)
    Applicable containers - All Containers. readOnly: true accountType: type: string description: >- The type of account that is aggregated such as savings, checking, charge, etc., and manual accounts. The account type is derived based on the attributes of the account. readOnly: true enum: - CURRENT - SAVING - CHECKING accountStatus: type: string description: >- The status of account that is CLOSED, ACTIVE,TO_BE_CLOSED readOnly: true enum: - CLOSED - ACTIVE - TO_BE_CLOSED isAsset: type: boolean description: >- Indicates whether the balance is an asset or liability.
    Applicable containers - bank, creditCard, investment, insurance, realEstate, and loan
    readOnly: true container: type: string description: >- The type of service. E.g., Bank, Credit Card, Investment, Insurance, etc.

    Applicable containers - All containers
    readOnly: true enum: - bank - creditCard - investment - insurance - loan - reward - bill - realEstate - otherAssets - otherLiabilities link: allOf: - $ref: '#/components/schemas/Link' readOnly: true required: - id - providerName - accountName - accountNumber - accountType - isAsset - container - link - accountStatus ErrorInfo: description: >- Error encountered while refreshing a specific aggregated account. properties: errorStatus: type: string description: >- Error status errorDescription: type: string description: >- error description lastUpdated: type: string description: >- last updated lastUpdateAttempt: type: string description: >- The date information indicating the last refresh attempt. required: - errorStatus - errorDescription - lastUpdate - lastUpdateAttemp BasicAccount: description: >- Account object that contains details about one or more aggregated accounts. allOf: - $ref: '#/components/schemas/AccountInfo' properties: basicTransaction: type: array items: $ref: '#/components/schemas/BasicTransaction' basicTrend: type: array items: $ref: '#/components/schemas/BasicTrend' changeValue: allOf: - $ref: '#/components/schemas/ChangeValue' readOnly: true cashFlowTrend: allOf: - $ref: '#/components/schemas/CashFlowTrend' readOnly: true basicCategoryDetail: allOf: - $ref: '#/components/schemas/BasicCategoryDetail' readOnly: true message: items: $ref: '#/components/schemas/Message' readOnly: true accountDerived: items: $ref: '#/components/schemas/AccountDerived' readOnly: true errorInfo: items: $ref: '#/components/schemas/ErrorInfo' readOnly: true detail: type: array items: $ref: '#/components/schemas/AccountDetail' BasicTrend: description: >- Trend information, broken down by a specific frequency, for a specific date range. properties: debitTotal: description: >- The sum of all debit transactions. allOf: - $ref: '#/components/schemas/Money' readOnly: true creditTotal: description: >- The sum of all credit transactions. allOf: - $ref: '#/components/schemas/Money' readOnly: true netCreditTotal: description: >- Net Total calculated as (creditTotal - debitTotal). allOf: - $ref: '#/components/schemas/Money' readOnly: true netTotal: description: >- Net spending calculated as (debitTotal - creditTotal). allOf: - $ref: '#/components/schemas/Money' readOnly: true averageNetTotal: description: >- Average spending calculated as (netTotal) / (number of months). allOf: - $ref: '#/components/schemas/Money' readOnly: true transactionCount: type: integer description: >- Total number of transactions for the given date range. readOnly: true link: allOf: - $ref: '#/components/schemas/Link' readOnly: true detail: readOnly: true type: array description: >- Breakdown of income/spending based on a predefined frequency - typically, monthly. items: $ref: '#/components/schemas/Detail' dateRange: allOf: - $ref: '#/components/schemas/DateRange' readOnly: true categoryTrend: type: array items: $ref: '#/components/schemas/CategoryTrend' readOnly: true merchantTrend: type: array items: $ref: '#/components/schemas/MerchantTrend' readOnly: true networthTrend: type: array items: $ref: '#/components/schemas/NetWorthTrend' readOnly: true detailCategoryTrend: type: array items: $ref: '#/components/schemas/DetailCategoryTrend' readOnly: true Detail: properties: date: description: >- date in the format yyyy-mm-dd type: string dateRange: description: >- The date range considered to compute the values allOf: - $ref: '#/components/schemas/DateRange' readOnly: true creditTotal: description: >- Sum of all credit transactions for the given date range. allOf: - $ref: '#/components/schemas/Money' readOnly: true netCreditTotal: description: >- Net Total calculated as (creditTotal - debitTotal). allOf: - $ref: '#/components/schemas/Money' readOnly: true debitTotal: description: >- Sum of all debit transactions for the given date range. allOf: - $ref: '#/components/schemas/Money' readOnly: true netTotal: description: >- Net spending calculated as (debitTotal - creditTotal). allOf: - $ref: '#/components/schemas/Money' readOnly: true link: allOf: - $ref: '#/components/schemas/Link' readOnly: true transactionCount: type: string description: >- Total count of transactions for the specified date range. readOnly: true networthDetail: description: >- Net Worth total for the given date range. allOf: - $ref: '#/components/schemas/NetworthDetail' readOnly: true assetDetail: description: >- Asset total for the given date range. allOf: - $ref: '#/components/schemas/AssetDetail' readOnly: true liabilityDetail: description: >- Liability total for the given date range. allOf: - $ref: '#/components/schemas/LiabilityDetail' readOnly: true predictedBalance: description: >- predicted balance across a single account as of date. allOf: - $ref: '#/components/schemas/Money' readOnly: true required: - dateRange - debitTotal - creditTotal - netTotal CashFlowDetail: properties: date: description: >- date in the format yyyy-mm-dd type: string dateRange: description: >- The date range considered to compute the values allOf: - $ref: '#/components/schemas/DateRange' readOnly: true cashInFlow: description: >- cashInFlow for the given date range. allOf: - $ref: '#/components/schemas/Money' readOnly: true cashOutFlow: description: >- cashOutFlow for the given date range. allOf: - $ref: '#/components/schemas/Money' readOnly: true transferIn: description: >- transferIn for the given date range. allOf: - $ref: '#/components/schemas/Money' readOnly: true transferOut: description: >- transferOut for the given date range. allOf: - $ref: '#/components/schemas/Money' readOnly: true totalCashFlow: description: >- totalCashFlow for the given date range. allOf: - $ref: '#/components/schemas/Money' readOnly: true netTransfer: description: >- netTransfer for the given date range. allOf: - $ref: '#/components/schemas/Money' readOnly: true AccountDetail: properties: date: description: >- date in the format yyyy-mm-dd type: string predictedBalance: description: >- predicted balance across a single account as of date. allOf: - $ref: '#/components/schemas/Money' readOnly: true required: - dateRange - debitTotal - creditTotal - netTotal CategoryTrend: description: >- Category trend information, broken down by a specific frequency, for a specific date range. properties: categoryId: type: string description: >- The id of the category assigned to the transaction. This is the id field of the transaction category resource. The supported values are provided by the GET transactions/categories. readOnly: true category: type: string description: >- The name of the category assigned to the transaction. This is the category field of the transaction category resource. The supported values are provided by the GET transactions/categories. readOnly: true debitTotal: description: >- The sum of all debit transactions associated with the category for the specific duration. allOf: - $ref: '#/components/schemas/Money' readOnly: true creditTotal: description: >- The sum of all credit transactions associated with the category for the specific duration. allOf: - $ref: '#/components/schemas/Money' readOnly: true netTotal: description: >- Net spending calculated as (debitTotal - creditTotal) associated with the category for the specific duration. allOf: - $ref: '#/components/schemas/Money' readOnly: true averageNetTotal: description: >- Average spending calculated as (netTotal)/(Number of Months) associated with the category for the specific duration. allOf: - $ref: '#/components/schemas/Money' readOnly: true link: allOf: - $ref: '#/components/schemas/Link' readOnly: true detail: type: array description: >- Breakdown of income/spending based on a predefined frequency - typically, monthly. items: $ref: '#/components/schemas/Detail' readOnly: true basicPeerDetail: type: array items: $ref: '#/components/schemas/BasicPeerDetail' readOnly: true categoryDerived: type: array items: $ref: '#/components/schemas/CategoryDerived' required: - categoryId - category DetailCategoryTrend: description: >- Detail category trend information, broken down by a specific frequency, for a specific date range. properties: detailCategoryId: type: string description: >- The id of the detail category assigned to the transaction. readOnly: true detailCategoryName: type: string description: >- The name of the detail category assigned to the transaction. readOnly: true debitTotal: description: >- The sum of all debit transactions associated with the detail category for the specific duration. allOf: - $ref: '#/components/schemas/Money' readOnly: true creditTotal: description: >- The sum of all credit transactions associated with the detail category for the specific duration. allOf: - $ref: '#/components/schemas/Money' readOnly: true netCreditTotal: description: >- Net credit spending. allOf: - $ref: '#/components/schemas/Money' readOnly: true netTotal: description: >- Net spending calculated as (debitTotal - creditTotal) associated with the detail category for the specific duration. allOf: - $ref: '#/components/schemas/Money' readOnly: true averageNetTotal: description: >- Average spending calculated as (netTotal)/(Number of Months) associated with the detail category for the specific duration. allOf: - $ref: '#/components/schemas/Money' readOnly: true link: allOf: - $ref: '#/components/schemas/Link' readOnly: true transactionCount: type: integer description: >- Transaction count. readOnly: true basicPeerDetail: type: array items: $ref: '#/components/schemas/BasicPeerDetail' readOnly: true detail: type: array description: >- Breakdown of income/spending based on a predefined frequency - typically, monthly. items: $ref: '#/components/schemas/Detail' readOnly: true required: - detailCategoryId - detailCategoryName CategoryDerived: description: >- category information properties: dateRange: description: > allOf: - $ref: '#/components/schemas/DateRange' averageNetTotal: description: >- Average spending calculated as (netTotal)/(Number of Months) associated with the detail category for the specific duration. allOf: - $ref: '#/components/schemas/Money' BasicPeerDetail: description: >- Peer data information. properties: dateRange: description: >- The date range considered to compute the benchmark values allOf: - $ref: '#/components/schemas/DateRange' benchmarkAsOf: type: string description: >- benchmarkAsOf identifies the date on which the benchmark was computed. Currently the benchmark is recomputed on the 16th of each month. readOnly: true benchmark: type: array items: $ref: '#/components/schemas/BasicBenchMark' required: - dateRange - benchmarkAsOf BasicBenchMark: properties: geo: readOnly: true description: >- Describes the various levels in which the benchmark data is available. allOf: - $ref: '#/components/schemas/Geo' benchmarkLevel: type: string description: >- Describes benchmark Level. readOnly: true netTotal: description: >- Median amount spent by the user in a specified category or merchant allOf: - $ref: '#/components/schemas/Money' readOnly: true numberOfPeers: type: integer description: >- The total number of peers in the segment to arrive the benchmark amount readOnly: true required: - geo - isIncome - netTotal - numberOfPeers Geo: properties: level: type: string description: >- Identifies the level at which peer bechmarking data is returned - City, State, National, or CBSA. readOnly: true value: type: string description: >- Provides the value associated with the level. e.g. US for the level "national". readOnly: true MerchantTrend: description: >- Merchant trend information, broken down by a specific frequency, for a specific date range. properties: basicMerchant: type: array items: $ref: '#/components/schemas/BasicMerchant' readOnly: true debitTotal: description: >- The sum of all debit transactions associated with the merchant. allOf: - $ref: '#/components/schemas/Money' readOnly: true creditTotal: description: >- The sum of all credit transactions associated with the merchant. allOf: - $ref: '#/components/schemas/Money' readOnly: true netTotal: description: >- Net spending calculated as (debitTotal - creditTotal) associated with the merchant for the specific duration. allOf: - $ref: '#/components/schemas/Money' readOnly: true averageNetTotal: description: >- Average spending calculated as (netTotal)/(Number of Months) associated with the merchant for the specific duration. allOf: - $ref: '#/components/schemas/Money' readOnly: true basicPeerDetail: type: array items: $ref: '#/components/schemas/BasicPeerDetail' readOnly: true link: allOf: - $ref: '#/components/schemas/Link' readOnly: true transactionCount: type: string description: >- Total count of transactions for the specified date range. readOnly: true details: type: array description: >- Breakdown of income/spending based on a predefined frequency - typically, monthly. items: $ref: '#/components/schemas/Detail' readOnly: true required: - basicMerchant CashFlowTrend: description: >- Cash flow trend information, broken down by a specific frequency, for a specific date range. properties: cashInFlow: description: >- Total Cash Inflow Amount in the selected duration, which is the sum of cash inflow in each of the selected months in the duration. allOf: - $ref: '#/components/schemas/Money' readOnly: true cashOutFlow: description: >- Total Cash Outflow Amount in the selected duration, which is the sum of cash outflow in each of the selected months in the duration. allOf: - $ref: '#/components/schemas/Money' readOnly: true transferIn: description: >- Total Transfer-In Amount in the selected duration, which is the sum of transfer-in amount in each of the selected months in the duration. allOf: - $ref: '#/components/schemas/Money' readOnly: true transferOut: description: >- Total Transfer-out Amount in the selected duration, which is the sum of transfer-out amount in each of the selected months in the duration. allOf: - $ref: '#/components/schemas/Money' readOnly: true netTransfer: description: >- Net Transfer Amount in the selected duration, which is the difference between transfer-In and tranfer-out amount allOf: - $ref: '#/components/schemas/Money' readOnly: true averageNetCashFlow: description: >- Average net cash flow = Total Cash Flow Amount / Number of months in the duration. allOf: - $ref: '#/components/schemas/Money' readOnly: true totalCashFlow: description: >- Total Cash Flow Amount = Cash Inflow Amount - Cash Outflow Amount + Net Transfer. allOf: - $ref: '#/components/schemas/Money' readOnly: true detail: type: array description: >- Breakdown of income/spending based on a predefined frequency - typically, monthly. items: $ref: '#/components/schemas/CashFlowDetail' readOnly: true NetWorthTrend: description: >- Net Worth trend information, broken down by a specific frequency, for a specific date range. properties: detail: type: array description: >- Breakdown of income/spending based on a predefined frequency - typically, monthly. items: $ref: '#/components/schemas/NetWorthTrendDetail' readOnly: true networthTotal: description: >- Total net worth value. allOf: - $ref: '#/components/schemas/Money' readOnly: true assetTotal: description: >- Total asset worth value. allOf: - $ref: '#/components/schemas/Money' readOnly: true liabilityTotal: description: >- Total liability worth value. allOf: - $ref: '#/components/schemas/Money' readOnly: true NetWorthTrendDetail: description: >- Date Range identified as first of the month. E.g. January 2021 will be represented as 2021-01-01. properties: dateRange: allOf: - $ref: '#/components/schemas/DateRange' readOnly: true networthDetail: type: array items: $ref: '#/components/schemas/NetworthDetail' readOnly: true assetDetail: type: array items: $ref: '#/components/schemas/AssetDetail' readOnly: true liabilityDetail: type: array items: $ref: '#/components/schemas/LiabilityDetail' readOnly: true required: - date - networthDetail AssetDetail: description: >- Summary information across all the aggregated accounts categorized as 'assets'. properties: assetTotal: description: >- Total asset value. allOf: - $ref: '#/components/schemas/Money' readOnly: true required: - assetTotal LiabilityDetail: description: >- Summary information across all the aggregated accounts categorized as 'liability'. properties: liabilityTotal: description: >- Total liability value. allOf: - $ref: '#/components/schemas/Money' readOnly: true required: - liabilityTotal NetworthDetail: description: >- Summary information across all the aggregated accounts calculated as (total of all assets) - (total of all liabilities). properties: networthTotal: description: >- Total netw worth value. allOf: - $ref: '#/components/schemas/Money' readOnly: true required: - networthTotal AccountDerived: description: >- Derived information across one or more aggregated accounts. properties: totalAvailableBalance: description: >- The total available balance across eligible accounts. allOf: - $ref: '#/components/schemas/Money' readOnly: true discretionaryBalance: description: >- Balance available to spend after taking into account projected income and expenses. allOf: - $ref: '#/components/schemas/Money' readOnly: true averageSpending: description: >- The average monthly spending for the given duration. allOf: - $ref: '#/components/schemas/Money' readOnly: true averageAvailableBalance: description: >- Average available balance across one or more accounts. allOf: - $ref: '#/components/schemas/Money' readOnly: true spendingRunway: description: >- Based on the average spending, the duration in days for which the total available balance will last type: number readOnly: true ChangeValue: description: >- Change in value identified for a type between two different time periods. properties: changeType: type: string example: BALANCE description: >- The value for which the change is computed. readOnly: true previousDate: type: string description: >- Previous Date (The earlier duration being considered for change calculation) readOnly: true previousAmount: description: >- The amount as of the earlier duration considered for change calculation. allOf: - $ref: '#/components/schemas/Money' readOnly: true currentDate: type: string description: >- current Date (The latest duration being considered for change calculation) readOnly: true currentAmount: description: >- The amount as of the latest duration considered for change calculation. allOf: - $ref: '#/components/schemas/Money' readOnly: true changeAmount: description: >- Amount change calculated as currentAmount - previousAmount. allOf: - $ref: '#/components/schemas/Money' readOnly: true changePercent: type: number description: >- Change percent calculated as changeAmount/previousAmount * 100. readOnly: true required: - changeType - previousDate - previousAmount - currentDate - currentAmount - changeAmount - changePercent BasicCategoryDetail: description: >- Information about a specific "master" category. properties: categoryId: type: string description: >- The id of the category assigned to the transaction. This is the id field of the transaction category resource. The supported values are provided by the GET transactions/categories. readOnly: true category: type: string description: >- The name of the category assigned to the transaction. This is the category field of the transaction category resource. The supported values are provided by the GET transactions/categories. readOnly: true netTotal: description: >- Net spending calculated as (debitTotal - creditTotal) associated with the category for the specific duration. allOf: - $ref: '#/components/schemas/Money' readOnly: true averageNetTotal: description: >- Average spending calculated as (netTotal)/(Number of Months) associated with the category for the specific duration. allOf: - $ref: '#/components/schemas/Money' readOnly: true link: allOf: - $ref: '#/components/schemas/Link' readOnly: true basicPeerDetail: description: >- Basic Peer Detail. allOf: - $ref: '#/components/schemas/BasicPeerDetail' readOnly: true peerSpendingComparison: description: >- Comparing how the user has spent in a category compared to his peers allOf: - $ref: '#/components/schemas/PeerSpendingComparison' readOnly: true required: - categoryId - category PeerSpendingComparison: properties: peerSpendDifference: description: >- Difference between the spending amount of user and peers for a specific category or merchant allOf: - $ref: '#/components/schemas/Money' readOnly: true peerSpendDifferencePercent: type: number description: >- Difference in percentage readOnly: true isOverSpending: type: boolean description: >- Whether the user has spent more than the peer readOnly: true isUnderSpending: type: boolean description: >- Whether the user has spent less than the peer readOnly: true BasicTransaction: description: >- Transaction object that contains details about one or more aggregated transactions. properties: id: type: integer description: >- An unique identifier for the transaction. The combination of the id and account container are unique in the system. amount: $ref: '#/components/schemas/Money' date: type: string description: >- The value provided will be either postDate or transactionDate. postDate takes higher priority than transactionDate, except for the investment container as only transactionDate is available. The availability of postDate or transactionDate depends on the provider site. categoryId: type: string description: >- The id of the category assigned to the transaction. This is the id field of the transaction category resource. The supported values are provided by the GET transactions/categories. category: type: string description: >- The name of the category assigned to the transaction. This is the category field of the transaction category resource. The supported values are provided by the GET transactions/categories. link: description: >- Reference path link to fetch more information about the specific transaction. allOf: - $ref: '#/components/schemas/BasicTransactionLink' readOnly: true categoryType: type: string description: >- The categoryType of the category assigned to the transaction. This is the type field of the transaction category resource. categoryType primarily identifies if the transaction is an income, expense, or some other type of transaction. baseType: type: string description: >- Indicates if the transaction appears as a debit or a credit transaction in the account. description: allOf: - $ref: '#/components/schemas/descriptions' sourceType: type: string description: >- The source through which the transaction is added to the Yodlee system. merchantType: type: string description: >- Provides further information about a transaction, i.e., if the transaction is carried out on a biller, subscription merchant, or other. basicMerchant: allOf: - $ref: '#/components/schemas/BasicMerchant' basicPredictedEvent: allOf: - $ref: '#/components/schemas/BasicPredictedEvent' required: - id - amount - date - categoryId - category - link - categoryType - description BasicMerchant: description: >- Information about the associated merchant. properties: name: type: string description: >- The name of the merchant associated with the transaction. Note - The merchant name field is available only in the United States, Canada, United Kingdom, and India. address: readOnly: true allOf: - $ref: '#/components/schemas/Address' basicPredictedEvent: type: array items: $ref: '#/components/schemas/BasicPredictedEvent' required: - name BasicPredictedEvent: description: >- Predicted Event object that contains details about one or more predicted events as identified by the system. properties: id: type: number description: >- The unique identifier of the predicted event. readOnly: true link: description: >- Reference path link to fetch more information about the specific predicted event. allOf: - $ref: '#/components/schemas/BasicPredictedEventLink' readOnly: true categoryId: type: string description: >- Identifier of the category assigned to the predicted event. This is the id field of the transaction category resource. The supported values are provided by GET transactions/categories. readOnly: true category: type: string description: >- The name of the category assigned to the predicted event. This is the category field of the transaction category resource. The supported values are provided by GET transactions/categories. readOnly: true lastTrasactionAmount: description: >- The amount of the last aggregated transaction that was used to predict the event. allOf: - $ref: '#/components/schemas/Money' readOnly: true lastTransactionDate: type: string description: >- The date of the last aggregated transaction associated with the predicted event. readOnly: true basicMerchant: type: array items: $ref: '#/components/schemas/BasicMerchant' readOnly: true basicTransaction: type: array items: $ref: '#/components/schemas/BasicTransaction' readOnly: true frequency: type: string description: >- frequency. readOnly: true confidence: type: string description: >- confidence. readOnly: true confidenceLevel: type: string description: >- confidence Level. readOnly: true userApprovalStatus: type: string description: >- user Approval Status. readOnly: true basicAccount: type: array items: $ref: '#/components/schemas/BasicAccount' readOnly: true required: - id - link descriptions: properties: original: type: string description: >- Original transaction description as it appears at the FI site. simple: type: string description: >- The transaction description that appears at the FI site may not be self-explanatory, i.e., the source, purpose of the transaction may not be evident.

    Yodlee attempts to simplify and make the transaction meaningful to the consumer, and this simplified transaction description is provided in the simple description field.

    Note - The simple description field is available only in the United States, Canada, United Kingdom, and India. consumer: type: string description: >- The description of the transaction as defined by the consumer. The consumer can define or provide more details of the transaction in this field. required: - original Message: description: >- Provides information about customized text-messages associated with an insight. properties: messageText: type: string description: >- The pre-defined text-block associated with the insight. required: - messageText BasicTransactionLink: description: >- Reference path link to fetch more information about the specific transaction. properties: entityName: type: string description: 'The name of the entity - ACCOUNT, VIEW, etc.' example: ACCOUNT method: type: string description: 'The method to use while calling the URL' example: 'GET' url: type: string description: 'URL to access the endpoint.' example: /derived/transactions required: - entityName - url TransactionLink: description: >- Reference path link to fetch more information about the specific transaction. properties: method: type: string description: 'The method to use while calling the URL' example: 'GET' url: type: string description: 'URL to access the endpoint.' example: /transaction?merchantName=Amazon&skip=5&orderBy=amount&fromDate=2021-01-01&toDate=2021-01-31 TransactionTrendSummaryLink: description: >- Reference path link to fetch more information about the specific transaction. properties: method: type: string description: 'The method to use while calling the URL' example: 'GET' url: type: string description: 'URL to access the endpoint.' example: /views/609d08858e420a3635dec2f6/transactions?fromDate=2021-04-12&toDate=2021-05-13&categoryId=7 BasicPredictedEventLink: description: >- Reference path link to fetch more information about the specific predicted event. properties: entityName: type: string description: 'The name of the entity - ACCOUNT, VIEW, etc.' example: ACCOUNT method: type: string description: 'The method to use while calling the URL' example: 'GET' url: type: string description: 'URL to access the endpoint.' example: /predictedEvents/123456 required: - entityName - url Link: description: >- Reference path link to fetch more information about the specific entity. properties: entityName: type: string description: 'The name of the entity - ACCOUNT, VIEW, etc.' example: ACCOUNT methodType: type: string description: 'The method to use while calling the URL' example: 'GET' url: type: string description: 'URL to access the endpoint.' example: /accounts?accountId=10231749 required: - entityName - url Error: required: - errorCode - referenceCode - errorMessage properties: errorCode: type: string referenceCode: type: string errorMessage: type: string Transactions: properties: transaction: type: array items: $ref: '#/components/schemas/Transaction' Transaction: required: - id properties: id: type: integer description: >- An unique identifier for the transaction. The combination of the id and account container are unique in the system.

    Applicable containers - bank,creditCard,investment,insurance,loan

    Endpoints - format: int64 readOnly: true example: 1000365 container: type: string description: >- The account's container.

    Applicable containers - bank,creditCard,investment,insurance,loan

    Endpoints - readOnly: true example: creditCard enum: - bank - creditCard - investment - insurance - loan - reward - bill - realEstate - otherAssets - otherLiabilities amount: $ref: '#/components/schemas/Money' baseType: type: string description: >- Indicates if the transaction appears as a debit or a credit transaction in the account.

    Applicable containers - bank,creditCard,investment,insurance,loan

    Endpoints - readOnly: true example: DEBIT enum: - CREDIT - DEBIT categoryType: type: string description: >- The categoryType of the category assigned to the transaction. This is the type field of the transaction category resource.

    Applicable containers - bank,creditCard,investment,insurance,loan

    Endpoints - readOnly: true example: INCOME enum: - TRANSFER - DEFERRED_COMPENSATION - UNCATEGORIZE - INCOME - EXPENSE categoryId: type: string description: >- The id of the category assigned to the transaction. This is the id field of the transaction category resource. The supported values are provided by the GET transactions/categories.

    Applicable containers: bank,creditCard,investment,insurance,loan

    Endpoints - format: int64 readOnly: true example: 29 category: type: string description: >- The name of the category assigned to the transaction. This is the category field of the transaction category resource. The supported values are provided by the GET transactions/categories.

    Applicable containers - bank,creditCard,investment,insurance,loan

    Endpoints - readOnly: true example: Salary/Paycheck categorySource: type: string description: >- Indicates the source of the category, i.e., categories derived by the system or assigned/provided by the consumer. This is the source field of the transaction category resource. The supported values are provided by the GET transactions/categories.

    Applicable containers: bank,creditCard,investment,insurance,loan

    Endpoints - readOnly: true example: SYSTEM enum: - SYSTEM - USER highLevelCategoryId: type: integer description: >- The high level category assigned to the transaction. The supported values are provided by the GET transactions/categories.

    Applicable containers - bank,creditCard,investment,insurance,loan

    Endpoints - format: int64 readOnly: true example: 10000004 isManual: type: boolean description: >- Indicates if the transaction is aggregated from the FI site or the consumer has manually created the transaction using the application or an API.

    Applicable containers - bank,creditCard,investment,insurance,loan

    Endpoints - readOnly: true example: false sourceType: type: string description: >- The source through which the transaction is added to the Yodlee system.

    Applicable containers - bank,creditCard,investment,insurance,loan

    Endpoints - readOnly: true example: AGGREGATED enum: - AGGREGATED - MANUAL date: type: string description: >- Date Format yyyy-MM-dd. The value provided will be either postDate or transactionDate. postDate takes higher priority than transactionDate, except for the investment container as only transactionDate is available. The availability of postDate or transactionDate depends on the provider site.

    Applicable containers: bank,creditCard,investment,insurance,loan

    Applicable containers: bank,creditCard,investment,insurance,loan

    Endpoints - readOnly: true example: '2020-05-23T00:00:00.000Z' transactionDate: type: string description: >- Date Format yyyy-MM-dd. The date the transaction happens in the account.

    Applicable containers - bank,creditCard,investment,insurance,loan

    Endpoints - readOnly: true example: '2020-05-23T00:00:00.000Z' status: type: string description: >- The status of the transaction: pending or posted.
    Note: Most FI sites only display posted transactions. If the FI site displays transaction status, same will be aggregated.

    Applicable containers - bank,creditCard,investment,insurance,loan

    Endpoints - readOnly: true example: SCHEDULED enum: - POSTED - PENDING - SCHEDULED - FAILED accountId: type: integer description: >- The account from which the transaction was made. This is basically the primary key of the account resource.

    Applicable containers: bank,creditCard,investment,insurance,loan

    Endpoints - format: int64 readOnly: true example: 1000365 subType: type: string description: >- The transaction subtype field provides a detailed transaction type. For example, purchase is a transaction type and the transaction subtype field indicates if the purchase was made using a debit or credit card.
    Note: The transaction subtype field is available only in the United States, Canada, United Kingdom, and India.

    Applicable containers - bank,creditCard,investment,insurance,loan

    Endpoints - readOnly: true enum: - AUTH_HOLD - AUTH_REQUEST - OVERDRAFT_CHARGE - CREDIT_ADJUSTMENT - PIN_DEBIT - BANK_DIRECT_DEPOSIT - DIVIDEND_DEPOSIT - INTEREST_SAVINGS - INTEREST_ADJUSTMENT - ONLINE_PURCHASE - PURCHASED_WITH_CHECK - RECURRING_BILLING - TAX_PAYMENT - PAYMENT_BY_CHECK - PAYMENT_PLAN - FEE_REFUND - WIRE_TRANSFER_CHARGE - ACCOUNT_TO_ACCOUNT_TRANSFER - BANK_TO_BANK_TRANSACTION - BANK_TO_NON_BANK_ACCOUNT_TRANSFER - CASH_WITHDRAWAL_AT_FI - ATM_CASH_WITHDRAWAL - AUTH_PROCESSING - AUTH_RELEASE - PRE_AUTH - AUTH_COMPLETE - AUTH_VOID - BALANCE_ENQUIRY - ACCOUNT_VERIFICATION - PRE_AUTH_COMPLETION - SERVICE_CHARGE - SERVICE_CHARGE_FEE_REFUND - RETURNED_CHECK_CHARGE - RETURNED_CHECK_REIMBURSEMENT - CASH_ADVANCE - BILL_PAY_CHARGE - CHECK_IMAGE_SERVICE_CHARGE - OVERDRAFT_PROTECTION_CHARGE - STOP_PAYMENT_CHARGE - CHECKS_ORDERING_CHARGE - MONTHLY_MAINTENANCE_CHARGE - DEBIT_CARD_FEE - CONVENIENCE_FEE - PERSONAL_LOAN_CREDIT - CREDIT_CARD_CREDIT - AUTO_LOAN - HOME_LOAN_MORTGAGE - SHORT_TERM_CREDIT - SIGNATURE_DEBIT - CONTACT_LESS_DEBIT - DEFERRED_DEPOSIT - DEFERRED_BILL_PAY - INSTALLMENT_PAYMENT - RECURRING_SUBSCRIPTION_PAYMENT - HOLD_CHECK_PAYMENT - CAPITAL_GAINS_DISTIBUTION - CG_LONG_TERM_DEPOSIT - OPEN_SALE_DEPOSIT - INTEREST__CHECK - PURCHASE_VOID - PURCHASE_WITH_CREDIT_CARD - PURCHASE_WITH_DEBIT_CARD - CHARGE_A_REPEAT_CUSTOMER - DOWN_PAYMENT_OR_ANNUITY_PAYMENT_OR_DIRECT_PAYMENT - FEE_PAYMENT - FINANCE_CHARGE_REFUND - TRANSACTION_VOID - FEE_VOID - DEBIT_CARD_WITHDRAWAL_AT_STORE - ELECTRONIC_PAYMENT - ACH_DEBIT - ATM_TELLER_DEPOSIT - POS_DEBIT - BANK_ADJUSTMENT - CHARGES_FEES - INTEREST - DEPOSITS_CREDITS - PAYMENT - PURCHASE - REFUND - TRANSFER - WITHDRAWAL - OTHER_DEPOSITS - OTHER_WITHDRAWALS - ADJUSTMENT - FINANCE_CHARGE - OTHER_CHARGES_FEES - ANNUAL_FEE - DEPOSIT - DIRECT_DEPOSIT_SALARY - INVESTMENT_INCOME_CASH - SSA - REWARDS - CHECK_DEPOSIT - MOBILE_REMOTE_DEPOSIT - TELLER_DEPOSIT - TAX_REFUND - CREDIT_CARD_PAYMENT - INSURANCE_PAYMENT - UTILITIES_PAYMENT - CHILD_SUPPORT - LOAN - PERSONAL_LOAN - STUDENT_LOAN - SALES_TAX - REIMBURSEMENT - BALANCE_TRANSFER - WIRE_TRANSFER - OVERDRAFT_PROTECTION - DEBIT - CREDIT - NSF_FEES merchantType: type: string description: >- Provides further information about a transaction, i.e., if the transaction is carried out on a biller, subscription merchant or other.

    Applicable containers - bank,creditCard,investment,insurance,loan

    Endpoints - readOnly: true example: BILLERS enum: - BILLERS - SUBSCRIPTION type: type: string description: >- The nature of the transaction, i.e., deposit, refund, payment, etc.
    Note: The transaction type field is available only for the United States, Canada, United Kingdom, and India based provider sites.

    Applicable containers - bank,creditCard,loan,insurance

    Endpoints - readOnly: true example: PAYMENT recurringEventId: type: integer description: >- Note: This is the same as predictedEventId.

    The unique identifier for the recurring Event such as a Merchant Bill which occurs every month. This recurring event is identified by our Personalization engine based on patterns seen across transactions and it will create predicted future transactions for the same recurring series

    Applicable containers - bank,creditCard,loan,insurance

    Endpoints - format: int64 readOnly: true example: 1000365 reconStatus: type: string description: >- For the recurring transactions such as Monthly recurring Bills, our Personalization engine predicts such Transactions for future date also. Once User pays the bill and actual Transaction has been aggregated, this status field tells whether the Predicted transaction has been reconciled or not

    Applicable containers: bank,creditCard,loan,insurance

    Endpoints - readOnly: true example: SYS_UNRECONCILED recurringStatus: type: string description: >- For the recurring transactions such as Monthly recurring Bills, our Personalization engine predicts such Transactions for future date also. Once User pays the bill and actual Transaction has been aggregated, this status field tells whether the Predicted transaction is pending, paid, reconciled, missed, etc

    Applicable containers - bank,creditCard,loan,insurance

    Endpoints - readOnly: true example: PENDING description: $ref: '#/components/schemas/Description' merchant: $ref: '#/components/schemas/Merchant' Merchant: description: >- Details about the associated merchant. properties: id: type: string description: >- Identifier of the merchant.

    Applicable containers - bank,creditCard,investment,insurance,loan

    Endpoints - readOnly: true example: centurylink-CY source: type: string description: >- The source through which merchant information is retrieved.

    Applicable containers - bank,creditCard,investment,insurance,loan


    Endpoints - readOnly: true example: FACTUAL enum: - YODLEE - FACTUAL name: type: string description: >- The name of the merchant.

    Applicable containers - bank,creditCard,investment,insurance,loan

    Endpoints - readOnly: true example: CenturyLink address: $ref: '#/components/schemas/MerchantAddress' Description: properties: original: type: string description: >- Original transaction description as it appears at the FI site.

    Applicable containers - bank, creditCard, insurance, loan, investment

    Endpoints - readOnly: true example: BILL PAY COMCAST CABLE CO ON-LINE xxxxxxxxxxx00000 ON 00-00 simple: type: string description: >- The transaction description that appears at the FI site may not be self-explanatory, i.e., the source, purpose of the transaction may not be evident. Yodlee attempts to simplify and make the transaction meaningful to the consumer, and this simplified transaction description is provided in the simple description field.Note: The simple description field is available only in the United States, Canada, United Kingdom, and India.

    Applicable containers: bank, creditCard, insurance, loan, investment

    Endpoints - readOnly: true example: BILL PAY COMCAST CABLE CO ON-LINE xxxxxxxxxxx00000 ON 00-00 consumer: type: string description: >- The description of the transaction as defined by the consumer. The consumer can define or provide more details of the transaction in this field.

    Applicable containers - bank, creditCard, insurance, loan,investment

    Endpoints - example: Payment to Comcast Address: description: >- The address information associated with a merchant or an account. properties: address1: type: string description: >- Address - Line 1. readOnly: true address2: type: string description: >- Address - Line 2. readOnly: true address3: type: string description: >- Address - Line 3. readOnly: true street: type: string description: >- street. readOnly: true fullAddress: type: string description: >- Complete address. readOnly: true zip: type: string description: >- ZIP Code. readOnly: true city: type: string description: >- City Name. readOnly: true state: type: string description: >- State Name. readOnly: true type: type: string description: >- type. readOnly: true sourceType: type: string description: >- sourceType. readOnly: true country: type: string description: >- Country. readOnly: true MerchantAddress: description: >- Address details of the merchant as identified by the system. properties: city: type: string description: >- City name as applicable to represent the Merchant address for a given User Transaction

    Endpoints - readOnly: true example: Milwaukee state: type: string description: >- State code as applicable to represent the Merchant address for a given User Transaction.

    Endpoints - readOnly: true example: WI country: type: string description: >- Country code as applicable to represent the Merchant address for a given User Transaction.

    Endpoints - readOnly: true example: US Money: properties: amount: type: number description: >- "amount" field is a child of Generic Yodlee model "Money". Amount should be a Floating point number. format: double example: 100.01 currency: type: string description: >- "currency" field is a child of Generic Yodlee model "Money". Currency is a String with a predefined value(s) such as USD. example: USD enum: - USD convertedAmount: type: number description: >- "convertedAmount" field is a child of Generic Yodlee model "Money". This field should be a Floating point number. It contains value of "amount" i.e. Money child field multiplied by the conversion rate derived from the currency mentioned in field "covertedCurrency" format: double example: 7500.01 convertedCurrency: type: string description: >- "convertedCurrency" field is a child of Generic Yodlee model "Money". This field contains preferred currency of user for that entity and is a String with a predefined value(s) such as INR. example: INR enum: - INR RecommendationResponse: properties: recommendation: type: string allOf: - $ref: '#/components/schemas/Recommendation' Recommendation: properties: id: type: number description: >- The unique identifier for a user recommendation created by the system.

    Endpoints - example: 11 metadata: $ref: '#/components/schemas/RecommendationMetadata' view: type: array items: $ref: '#/components/schemas/View' RecommendationMetadata: properties: duration: $ref: '#/components/schemas/RecommendationDateRange' totalTransaction: type: number description: >- total number of transactions evaluated to generate a particular recommendation for user. example: 211 totalAmount: $ref: '#/components/schemas/Money' TransactionSummaryResponse: properties: summary: $ref: '#/components/schemas/TransactionSummary' TransactionSummary: type: object title: TransactionSummary properties: type: readOnly: true type: string description: >- type identifies the entity based on which the details are grouped by enum: - category - merchant - categoryType - detailedCategory - state - city average: $ref: '#/components/schemas/Money' creditTotal: $ref: '#/components/schemas/Money' debitTotal: $ref: '#/components/schemas/Money' netTotal: $ref: '#/components/schemas/Money' details: readOnly: true type: array items: $ref: '#/components/schemas/TransactionSummaryDetails' transactionCount: format: int64 readOnly: true type: integer TransactionSummaryDetails: type: object title: TransactionSummaryDetails properties: creditTotal: $ref: '#/components/schemas/Money' debitTotal: $ref: '#/components/schemas/Money' netTotal: $ref: '#/components/schemas/Money' average: $ref: '#/components/schemas/Money' percentage: format: int64 readOnly: true type: integer description: >- percentage calculated as (groupCreditTotal - groupDebitToal) / (creditTotal - debitTotal) * 100 name: readOnly: true type: string description: >- Identifies the name of the type selected. If type is merchant, then the name indicates merchant name. If type is category, name indicates category name. id: format: int64 description: >- unique identifier for the type. If type is category, id indicates category id. readOnly: true type: integer transactionCount: format: int64 readOnly: true type: integer transactionLink: readOnly: true type: string allOf: - $ref: '#/components/schemas/TransactionLink' TransactionTrendResponse: properties: transactionTrends: allOf: - $ref: '#/components/schemas/TransactionTrend' TransactionTrend: type: object title: TransactionTrend properties: type: readOnly: true type: string description: >- type identifies the entity based on which the details are grouped by enum: - category - merchant - categoryType - detailedCategory - state - city creditTotal: $ref: '#/components/schemas/Money' debitTotal: $ref: '#/components/schemas/Money' netTotal: $ref: '#/components/schemas/Money' transactionCount: format: int64 readOnly: true type: integer summary: readOnly: true type: array items: $ref: '#/components/schemas/SummaryDetails' SummaryDetails: type: object title: SummaryDetails properties: name: readOnly: true type: string description: >- Identifies the name of the type selected. If type is merchant, then the name indicates merchant name. If type is category, name indicates category name. example: Entertainment id: format: int64 description: >- unique identifier for the type. If type is category, id indicates category id. readOnly: true type: integer example: 7 creditTotal: $ref: '#/components/schemas/Money' debitTotal: $ref: '#/components/schemas/Money' netTotal: $ref: '#/components/schemas/Money' transactionCount: format: int64 readOnly: true type: integer transactionLink: allOf: - $ref: '#/components/schemas/TransactionTrendSummaryLink' details: readOnly: true type: array items: $ref: '#/components/schemas/TransactionTrendDetails' TransactionTrendDetails: type: object title: TransactionSummaryDetails properties: date: description: >- date readOnly: true type: string example: "2020-04-01" creditTotal: $ref: '#/components/schemas/Money' debitTotal: $ref: '#/components/schemas/Money' netTotal: $ref: '#/components/schemas/Money' transactionCount: format: int64 readOnly: true type: integer transactionLink: allOf: - $ref: '#/components/schemas/TransactionTrendSummaryLink' PeerDataResponse: properties: peerData: type: string allOf: - $ref: '#/components/schemas/PeerData' PeerData: properties: timePeriod: type: string description: >- Duration considered for generating the peer bechmarks across applicable categories and merchants for the view.

    The default value is LAST_MONTH for this parameter i.e. previous month's data is considered when this parameter is not passed.

    Endpoints - example: LAST_MONTH monthYear: type: string description: >- month and year information on when the benchmark values are computed returned

    Endpoints - example: APRIL-2020 fromDate: type: string description: >- Start date in UTC format - yyyy-MM-dd'T'HH:mm:ss derived from the timePeriod query parameter for which the response is returned

    Endpoints - example: '2020-04-0107:53:20' toDate: type: string description: >- To date in UTC format - yyyy-MM-dd'T'HH:mm:ss derived from the timePeriod query parameter for which the response is returned

    Endpoints - example: '2020-04-3007:53:20' segement: $ref: '#/components/schemas/SegementationParameter' peerCategorySummary: type: array items: $ref: '#/components/schemas/peerDetailCategorySummary' peerDetailCategorySummary: type: array items: $ref: '#/components/schemas/peerDetailCategorySummary' peerMerchantSummary: type: array items: $ref: '#/components/schemas/PeerMerchantSummary' SegementationParameter: properties: incomeRange: type: string description: >- Income range of the user in format - min_income - max_income for which the response is returned

    Endpoints - example: $150K+ geo: $ref: '#/components/schemas/Geography' Geography: properties: state: type: string description: >- State name of the peer for which the response is returned

    Endpoints - example: AK city: type: string description: >- city name of the peer for which the response is returned. returned

    Endpoints - example: Eielson Afb peerDetailCategorySummary: properties: id: type: string description: >- Category Id of the category belonging to peer for which the response is returned

    Endpoints - example: '35' name: type: string description: >- Category Name for which the response is returned

    Endpoints - example: Utilities benchmark: type: array items: $ref: '#/components/schemas/GeographyWithDataArray' GeoData: properties: level: type: string description: >- Geography level i.e. one of City/State/National of the peer for which the response is returned

    Endpoints - example: NATIONAL value: type: string description: >- Value corresponding to the Geography level i.e. one of City/State/National of the peer for which the response is returned

    Endpoints - example: US GeographyWithDataArray: properties: benchmarkLevel: type: string description: >- describes benchmark level. example: peer geo: $ref: '#/components/schemas/GeoData' metric: $ref: '#/components/schemas/PeerDataAtGeo' PeerDataAtGeo: properties: numberOfPeers: type: integer description: >- Median number of the peers in the same income range for which the response is returned

    Endpoints - format: int64 example: 1654 spendAmount: description: >- The median amount spent by the peers in that segment for the specified category or merchant
    allOf: - $ref: '#/components/schemas/Money' PeerMerchantSummary: properties: name: type: string description: >- Merchant Name for which the response is returned

    Endpoints - example: Netflix benchmark: type: array items: $ref: '#/components/schemas/GeographyWithDataArray' ViewCreationResponse: properties: id: type: string description: >- Identifier for the Unique BSON string for the newly created View object generated in the system.

    Endpoints - readOnly: true example: 5e7885993cd8e328288522f7 examples: createViewExample: value: view: - name: My View description: My entertainment spending recommendationId: 30 preferredCurrency: USD rule: - name: include rule fromDate: '2020-06-06T02:15:11' toDate: '2020-08-06T02:15:11' type: EXPENSE baseType: - 'DEBIT, CREDIT' include: categoryId: - 7 accountId: - 10129470 - 10129469 detailCategoryId: - 1262 - name: exclude rule type: EXPENSE exclude: transactionId: - 11239653 budgetData: - type: VIEW budgetInfo: - expenseBudget: amount: 1000 currency: USD incomeBudget: amount: 1000 currency: USD getViewExample: value: view: - id: 5f2392b6ed04946a41675611 name: My Income Tracker description: Tracking my salary. preferredCurrency: USD recommendationId: 30 created: "2021-02-23T06:16:21Z" lastUpdated: "2021-02-23T06:16:21Z" rule: - id: 70ab20c3-32e8-4a8d-bcd4-67d7d450e9f2 name: MyRule fromDate: '2020-06-06T02:15:11' toDate: '2020-08-06T02:15:11' type: INCOME baseType: - 'DEBIT, CREDIT' include: accountId: - 10129470 detailCategryId: - 1262 budgetData: - type: VIEW budgetInfo: - expenseBudget: amount: 1000 currency: USD incomeBudget: amount: 1000 currency: USD getViewWithoutBudgetExample: value: view: - id: 5f2392b6ed04946a41675611 name: My Income Tracker description: Tracking my salary. recommendationId: 30 created: "2021-02-23T06:16:21Z" lastUpdated: "2021-02-23T06:16:21Z" sourceType: "USER" rule: - id: 70ab20c3-32e8-4a8d-bcd4-67d7d450e9f2 name: MyRule fromDate: '2020-06-06T02:15:11' toDate: '2020-08-06T02:15:11' type: INCOME baseType: - 'DEBIT, CREDIT' include: accountId: - 10129470 getBudgetSummaryExample: value: view: - id: 5f2392b6ed04946a41675611 name: My Income Tracker description: Tracking my salary. created: "2021-02-23T06:16:21Z" lastUpdated: "2021-02-23T06:16:21Z" budgetSummary: - type: VIEW dateRange: fromDate: '2021-06-01' toDate: '2021-06-15' budgetDetail: - expenseBudget: amount: 1000 currency: USD creditTotal: amount: 100 currency: USD debitTotal: amount: 200 currency: USD remainingExpenseBudget: amount: 200 currency: USD remainingExpenseBudgetPercent: 100 - incomeBudget: amount: 1000 currency: USD creditTotal: amount: 100 currency: USD debitTotal: amount: 200 currency: USD remainingIncomeBudget: amount: 200 currency: USD remainingIncomeBudgetPercent: 100 updateViewExample: value: view: - name: My Updated View description: Tracking my online spending. rule: - id: 55c4e850-745f-40ba-b30d-4c9651a19c3d name: rule for merchant name fromDate: '2019-06-06T02:15:11' toDate: '2020-02-06T02:15:11' type: EXPENSE baseType: - 'DEBIT, CREDIT' include: merchantName: - Amazon - Walmart accountId: - 10129470 - 10001013 detailCategoryId: - 1262 - id: c45929f7-b34f-450f-8ba4-02800e9dc51d type: EXPENSE exclude: transactionId: - 11239653 getRecommendationExample: value: recommendation: - id: 11 metadata: duration: fromDate: '2020-05-23T10:40:59.000Z' toDate: '2020-05-23T10:40:59.000Z' totalTransaction: 211 totalAmount: amount: 100.01 currency: USD view: - name: My View for Vacation description: View with rules to fetch Amazon merchant transactions for 3 months. recommendationId: 11 rule: - id: 755dfc54-b50b-4471-88cd-57d040766cb6 name: All Transactions Above $100 type: INCOME baseType: - CREDIT include: merchantName: - Century Link - Amazon categoryId: - 29 - 30 accountId: - 10001012 - 10001013 transactionId: - 1000354 - 1000379 merchantType: BILLERS city: - Milwaukee - Boston state: - AZ - WI amountRange: fromAmount: 100 toAmount: 1000 currency: USD exclude: merchantName: - Flipkart categoryId: - 49 accountId: - 10001019 transactionId: - 1000359 merchantType: BILLERS city: - NewYork state: - NY patchBudgetData: value: view: - budgetData: - type: VIEW budgetInfo: - expenseBudget: amount: 1000 currency: USD incomeBudget: amount: 1000 currency: USD - type: MERCHANT budgetInfo: - typeName: Amazon expenseBudget: amount: 1000 currency: USD incomeBudget: amount: 1000 currency: USD - type: CATEGORY budgetInfo: - typeId: 29 incomeBudget: amount: 1000 currency: USD - type: DETAIL_CATEGORY budgetInfo: - typeId: 101 expenseBudget: amount: 1000 currency: USD TransactionTrendExample: value: transactionTrends: type: "category" debitTotal: amount: 100 currency: USD creditTotal: amount: 100 currency: USD netTotal: amount: 100 currency: USD transactionCount: 12 summary: - name: "Entertainment" id: 7 debitTotal: amount: 100 currency: USD creditTotal: amount: 100 currency: USD netTotal: amount: 100 currency: USD link: - methodType: GET href: /views/609d08858e420a3635dec2f6/transactions?fromDate=2021-04-12&toDate=2021-05-13&categoryId=7 transactionCount: 12 details: - date: "2020-04-01" debitTotal: amount: 100 currency: USD creditTotal: amount: 100 currency: USD netTotal: amount: 100 currency: USD transactionCount: 3 link: - methodType: GET href: "/views/609d08858e420a3635dec2f6/transactions?fromDate=2020-04-01&toDate=2020-04-30&categoryId=7" - date: "2020-03-01" debitTotal: amount: 100 currency: USD creditTotal: amount: 100 currency: USD netTotal: amount: 100 currency: USD transactionCount: 3 link: - methodType: GET href: "/views/609d08858e420a3635dec2f6/transactions?fromDate=2020-03-01&toDate=2020-03-31&categoryId=7" - date: "2020-02-01" debitTotal: amount: 100 currency: USD creditTotal: amount: 100 currency: USD netTotal: amount: 100 currency: USD transactionCount: 3 link: - methodType: GET href: "/views/609d08858e420a3635dec2f6/transactions?fromDate=2020-02-01&toDate=2020-02-29&categoryId=7" TransactionSummaryExample: value: summary: type: 'category' netTotal: amount: 100.75 currency: USD creditTotal: amount: 600.93 currency: USD debitTotal: amount: 500.18 currency: USD average: amount: 50.38 currency: USD transactionCount: 3 details: - name: 'General Merchandise' id: 44 netTotal: amount: 100.75 currency: USD creditTotal: amount: 600.93 currency: USD debitTotal: amount: 500.18 currency: USD average: amount: 50.38 currency: USD transactionCount: 3 link: - methodType: GET href: /views/60d995f8fc778d5873a05837/transactions?fromDate=2021-05-28&toDate=2021-06-28&categoryId=44 tags: - name: View