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: [email protected]
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.
<br><br>Important notes- <ul><li>Each View rule must contain either
"include" or "exclude" attributes, but not both together. If you want
both "include" or "exclude" attributes, then create 1 rule with
"include" and 1 rule with "exclude" attribute.</li><li>Do not use view
'id' and view rule 'id' fields in POST /views and PUT /views/{viewId}
APIs. 'id' fields are read-only field belonging to the View entity which
will be only available when you call the GET /views and GET
/views/{viewId} API</li></ul>
<strong>Budget for Views</strong>
<br><br>
The budgetData entity is optional.
<br><br>
You can track budget for a VIEW at various levels identified by the
attribute "type" - VIEW, CATEGORY, MERCHANT, and DETAIL_CATEGORY.
<br><br>
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.
<br><br>
Each type also supports incomeBudget and expenseBudget. You can
set budget at one or both levels.
<ul><li>If setting budget for MERCHANT, typeName which corresponds to
merchant name is mandatory.</li>
<li>If setting budget for CATEGORY, typeId which corresponds to
categoryId is mandatory.</li>
<li>If setting budget for DETAIL_CATEGORY, typeId which corresponds to
detail category ID is mandatory.</li>
<li>If setting budget for VIEW, either incomeBudget or expenseBudget
is mandatory.</li>
</ul>
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:<br> <br>Y801 :
Invalid length for View Name; min 1 and max 100 characters including
spaces are allowed. <br>Y801 : Invalid length for View Description;
min 1 and max 500 characters including spaces are allowed. <br>Y800
: Invalid value for transactionId. <br>Y801 : Invalid value for view
rule. In addition to fromDate and toDate, pass at least one other
attribute to create a rule. <br>Y800 : Invalid value for categoryId.
<br>Y800 : Invalid value for accountId. <br>Y824 : The maximum number of
transactionId permitted is 500 <br>Y824 : The maximum number of
merchantName permitted is 250 <br>Y824 : The maximum number of
categoryId permitted is 100<br><br>Y824 : The maximum number of
detailCategoryId permitted is 100<br>Y824 : The maximum number of
accountId permitted is 25 <br>Y802 : In an EXPENSE rule, categoryId
of type - INCOME - is not allowed <br>Y802 : In an INCOME rule,
categoryId of type - EXPENSE - is not allowed <br>Y803 : At least one valid rule
is required to create a view. <br>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. <br>Y802 : Combining transactionId with other
attributes in a rule is not allowed <br>Y803 : Rule type is required
to be specified - INCOME or EXPENSE or TRANSFER. <br>Y824 : The maximum number
of rules permitted is 15 <br>Y802 : Passing viewId or ruleId as part
of the request is not allowed <br>Y800 : Invalid value for
fromAmount/toAmount. <br>Y803 : Attributes other than fromDate and
toDate is required to create a valid rule with fromAmount and
toAmount. <br>Y802 : INCLUDE and EXCLUDE rule as part of the same
rule is not allowed <br>Y802 : Specified attribute in the EXCLUDE
rule is not allowed <br>Y800 : Invalid value for merchantType; Only
BILLERS, SUBSCRIPTION is allowed. <br>Y800 : Invalid value for type;
Only EXPENSE type is allowed when merchantType is passed. <br>Y800 :
Invalid value for ruleName; cannot be empty <br>Y801 : Invalid
length for ruleName; min 1 and max 100 characters including spaces
are allowed. <br>Y851 : Value cannot be blank or null for view
<br>Y800 : Invalid value for baseType; only CREDIT and DEBIT are
supported. <br> Y800: Invalid value for Merchant Name; Merchant Name cannot have any of the following characters ={}[]<> <br> Y800: Invalid value for Description; View Description cannot have any of the following characters ></\\"'%{}|^~[] <br> Y800: Invalid value for Name; View Name cannot have any of the following characters ></\\"'%{}|^~[] <br> Y800: Invalid value for Rule Name; Rule Name cannot have any of the following characters ></\\"'%{}|^~[] <br>Y802 : Combining rule type INCOME and baseType =
DEBIT is not allowed. <br>Y800 : Invalid value for recommendationId.
<br>Y800 : Invalid value for fromDate/toDate in a rule;
either both fromDate and toDate needs to be provided, or both should not be provided.<br> Y802 : Passing typeId within budgetData where type is set as VIEW is not allowed. <br> Y802 : Passing typeName for enitytType VIEW within budgetData is not allowed. <br> Y800 : Invalid value for budgetData for {{type}}. One or more mandatory attributes missing – typeName, expenseBudget or/and incomeBudget. <br> Y800 : Invalid value for budgetData for {{type}}. One or more mandatory attributes missing – typeId, expenseBudget or/and incomeBudget. <br> Y800 : Invalid value for budgetData for {{type}}. One or more mandatory attributes missing – typeId, expenseBudget or/and incomeBudget. <br> Y800: Invalid value for typeName; It is either invalid, duplicated, or not supported for budgetData. <br> Y800 : Invalid value for budgetData. Required attributes are missing. <br> Y800: Invalid value for {object}. Please pass all the required attributes – amount and currency. <br> Y800 : Invalid value for amount. Amount should be > 0 and <= 10000000. <br> Y800:Invalid value for amount. Maximum of 2 decimal places are supported. <br> Y802 : Passing budget is not allowed.
<br> 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) <br> Y800 : Invalid value for currency
<br>
Y802 : In an EXPENSE rule, categoryId of type - TRANSFER - is not allowed<br>
Y802 : In an INCOME rule, categoryId of type - TRANSFER - is not allowed<br>
Y802 : In an TRANSFER rule, categoryId of type - INCOME - is not allowed<br>
Y802 : In an TRANSFER rule, categoryId of type - EXPENSE - is not allowed<br>
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<br>Y023 : Token has
expired<br>
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.<br><br> 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 <i>include=rules</i> 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.</br>
Pass <i>sourceType=SYSTEM/USER</i> 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:<br> <br>Y800 :
Invalid value for include<br>
Y800 : Invalid value of sourceType; Allowed values are SYSTEM , USER<br>
Y802 : Duplicate value of sourceType are not allowed;<br>
Y800 : Invalid value of orderBy; Allowed values are sourceType ; created;<br> 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<br>Y023 : Token has
expired<br>
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:<br>
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<br>
Y023 : Token has expired<br>
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.
<br><br>
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.
<br><br>
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 <i>include=rules</i> 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:<br> <br>Y800 :
Invalid value for viewId <br>Y800 : Invalid value for include
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: >-
Y020 : Invalid token in authorization header<br>Y023 : Token has
expired<br>
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).<br><br>
Important notes-
<ul>
<li>Each view object contains an array of rules. Each View rule must contain either ''include'' or ''exclude'' attributes, but not both together. If you want both ''include'' or ''exclude'' attributes, then create 1 rule with ''include'' and 1 rule with ''exclude'' attribute. </li>
<ul>
<li>if you provide an existing View Rule ''Id'' which you have fetched from the GET /views/{viewId} API, then that View Rule content will replace the existing View Rule's content in the database</li>
<li>However, if you don't pass the rule ''Id'' attribute in the Request Body's rule object, then that particular rule will be considered as a new rule. It will be inserted fresh into the database. PUT <u>Views/{viewId}</u> acts like an UPSERT operation. Each view object in the API request JSON contains ''rule'' as an array of View Rules. Inside View ''rule'' array in the Request body</li>
</ul>
<li>Whatever rules are passed in the Request Body, will ultimately replace all the Views rules in the database against the provided View Id. This means if you skip providing an existing view rule with the correct ID, that rule will get deleted</li>
<li>Do not use view 'id' and rule 'id' fields in POST /views and PUT /views/{viewId} APIs. 'id' fields are read-only field belonging to the View entity which will be only available when you call the GET /views and GET /views/{viewId} API</li>
<li>budgetData cannot be updated using the PUT method. Please use the PATCH API for updating budgetData.</li>
<li>The update Views API allows updating details of a specific view. In case of updating <b>SYSTEM VIEW</b>, only name & description should be allowed to be updated where description is optional field.</li>
<li>In case of updating <b>SYSTEM VIEW</b>, if we pass any other parameter for update it should throw error - Updating attributes other than name and description for a system created view is not allowed.</li>
</ul>
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:<br> <br>Y801 :
Invalid length for View Name; min 1 and max 100 characters including
spaces are allowed. <br>Y801 : Invalid length for View Description;
min 1 and max 500 characters including spaces are allowed. <br>Y800
: Invalid value for transactionId. <br>Y800 : Invalid value for view
rule. At least one of the attributes -
transactionId/merchantName/categoryId/accountId - is required.
<br>Y800 : Invalid value for categoryId. <br>Y800 : Invalid value
for accountId. <br>Y824
: The maximum number of transactionId permitted is 500 <br>Y824 :
The maximum number of merchantName permitted is 250 <br>Y824 : The
maximum number of categoryId permitted is 100.<br>Y824 : The
maximum number of detailCategoryId permitted is 100. <br>Y824 : The
maximum number of accountId permitted is 25. <br>Y824 : The maximum
number of rules permitted is 15 <br>Y802 : In an expense rule,
transactionId of income type is not allowed <br>Y802 : In an income
rule, transactionId of expense type is not allowed <br>Y802 : In an
expense rule, categoryId of type - income - is not allowed <br>Y802
: In an income rule, categoryId of type - expense - is not allowed
<br>Y802 : In
an expense rule, merchant of income type is not allowed <br>Y802 :
In an income rule, merchant of expense type is not allowed <br>Y800
: Invalid value for fromDate. <br>Y803 : fromDate required for rule
which contains any of below include parameters:
merchantName/categoryId/accountId <br>Y803 : At least one valid rule
is required to create/update a view. <br>Y803 : At least one valid
rule is required to create or update a view. <br>Y803 : include is
required to create or update View rule <br>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. <br>Y802 : Combining transactionId
with other attributes in a rule is not allowed <br>Y802 : Duplicate
transactionId not allowed <br>Y803 : Rule type is required to be
specified - income or expense or transfer. <br>Y800 : Invalid value for viewId
<br>Y803 : name is required to update the view <br>Y800 : Invalid
value for ruleId <br>Y824 : The maximum number of view entity permitted is
view <br>Y802 : Duplicate Rule Ids are not allowed <br>Y800 :
Invalid value for baseType; only CREDIT and DEBIT are supported.
<br>Y802 : Combining rule type INCOME and baseType = DEBIT is not
allowed. <br>Y800 : Invalid value for recommendationId.
<br>Y800 : Invalid value for fromDate/toDate in a rule;
either both fromDate and toDate needs to be provided,
or both should not be provided.
<br>Y802 : Passing budget is not allowed <br>Y802 : Updating attributes other than name and description for a system created view is not allowed.
<br>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) <br> Y800 : Invalid value for currency
<br>
Y802 : In an EXPENSE rule, categoryId of type - TRANSFER - is not allowed<br>
Y802 : In an INCOME rule, categoryId of type - TRANSFER - is not allowed<br>
Y802 : In an TRANSFER rule, categoryId of type - INCOME - is not allowed<br>
Y802 : In an TRANSFER rule, categoryId of type - EXPENSE - is not allowed<br> Y800: Invalid value for Merchant Name; Merchant Name cannot have any of the following characters ={}[]<> <br> Y800: Invalid value for Description; View Description cannot have any of the following characters ></\\"'%{}|^~[] <br> Y800: Invalid value for Name; View Name cannot have any of the following characters ></\\"'%{}|^~[] <br> Y800: Invalid value for Rule Name; Rule Name cannot have any of the following characters ></\\"'%{}|^~[]
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: >-
Y020 : Invalid token in authorization header<br>Y023 : Token has
expired<br>
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:<br> <br>Y800 :
Invalid value for viewId <br>Y405 : Method not allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: >-
Y020 : Invalid token in authorization header<br>Y023 : Token has
expired<br>
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). <br><br>
Important notes-
<ul>
<li>Using this API you cannot delete all Rules of a View. Meaning if a View has 5 Rules, using this API you can delete maximum of 4 rules only. Reason- A view has no meaning without a Rule. If you want to delete all Rules, consider Deleting the views itself by calling DELETE /views/{viewId} API</li>
<li>Deleting rules for a default system created view is not allowed</li>
</ul>
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:<br> <br>Y800 :
Invalid value for viewId <br>Y800 : Invalid value for ruleId
<br>Y802 : Minimum one rule required; Last rule deletion is not
allowed <br>Y405 : Method not allowed <br>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<br>Y023 : Token has
expired<br>
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.
<br><br>
<Strong>Note:</strong>
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:<br> <br> Y802 : Passing typeId within budgetData where type is set as VIEW is not allowed. <br> Y802 : Passing typeName for enitytType VIEW within budgetData is not allowed. <br> Y800 : Invalid value for budgetData for {{type}}. One or more mandatory attributes missing – typeName, expenseBudget or/and incomeBudget. <br> Y800 : Invalid value for budgetData for {{type}}. One or more mandatory attributes missing – typeId, expenseBudget or/and incomeBudget. <br> Y800 : Invalid value for budgetData for {{type}}. One or more mandatory attributes missing – typeId, expenseBudget or/and incomeBudget. <br> Y800: Invalid value for typeName; It is either invalid, duplicated, or not supported for budgetData. <br> Y800 : Invalid value for budgetData. Required attributes are missing. <br> Y800: Invalid value for {object}. Please pass all the required attributes – amount and currency. <br> Y800 : Invalid value for amount. Amount should be > 0 and <= 10000000. <br> Y800:Invalid value for amount. Maximum of 2 decimal places are supported. <br> Y802 : Passing budget inside a rule is not allowed. <br> 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.
<br> 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) <br> Y800 : Invalid value for currency
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: >-
Y020 : Invalid token in authorization header<br>Y023 : Token has
expired<br>
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.
<br><br>
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
# --- truncated at 32 KB (189 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/envestnet/refs/heads/main/openapi/envestnet-personalized-views-openapi-original.yml