openapi: 3.0.1 info: title: Envestnet Aggregation APIs Account Token User API description: 'This file describes the Yodlee Aggregation product APIs using the swagger notation that you can use to build your financial application. You can generate the client SDK in Python, JavaScript, PHP, or any other languages according to your development needs. For more details about the APIs, refer to Yodlee API v1.1 - Overview.

You will have to set the header before making the API call. The following headers apply to all the APIs:Note: If there are any API-specific headers, they are mentioned explicitly in the respective API''s description.' termsOfService: https://developer.yodlee.com/terms/condition contact: email: developer@yodlee.com license: name: Yodlee Developer License url: https://developer.yodlee.com/terms/condition#_Services_1 version: 1.1.0 servers: - url: / tags: - name: User description: Users API paths: /user/samlLogin: post: tags: - User summary: Envestnet Saml Login description: The SAML login service is used to authenticate system users with a SAML response.
A new user will be created with the input provided if that user isn't already in the system.
For existing users, the system will make updates based on changes or new information.
When authentication is successful, a user session token is returned.

Note:
  • The content type has to be passed as application/x-www-form-urlencoded.
  • issuer, source and samlResponse should be passed as body parameters.
  • operationId: samlLogin parameters: - name: issuer in: query description: issuer required: true schema: type: string - name: samlResponse in: query description: samlResponse required: true schema: type: string - name: source in: query description: source schema: type: string responses: 200: description: OK content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/UserResponse' 400: description: 'Y013 : Invalid value for samlResponse
    Y013 : Invalid value for issuer' content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/YodleeError' 401: description: Unauthorized content: {} 404: description: Not Found content: {} deprecated: false /user/register: post: tags: - User summary: Envestnet Register User description: The register user service is used to register a user in Yodlee.
    The loginName cannot include spaces and must be between 3 and 150 characters.
    locale passed must be one of the supported locales for the customer.
    Currency provided in the input will be respected in the derived services and the amount fields in the response will be provided in the preferred currency.
    userParam is accepted as a body parameter.

    Note:
  • The content type has to be passed as application/json for the body parameter.
  • We recommend you to not use special characters in loginName other than "@", "#", "_" & "-"
  • . operationId: registerUser requestBody: description: userRequest content: application/json: schema: $ref: '#/components/schemas/UserRequest' required: true responses: 200: description: Login Successful content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/UserResponse' 400: description: 'Y800 : Invalid value for loginName
    Y800 : Invalid value for email
    Y801 : Invalid length for loginName
    Y800 : Invalid value for phoneNumber
    ' content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/YodleeError' 401: description: Unauthorized content: {} 404: description: Not Found content: {} deprecated: false /user/accessTokens: get: tags: - User summary: Envestnet Get Access Tokens description: The Get Access Tokens service is used to retrieve the access tokens for the application id(s) provided.
    URL in the response can be used to launch the application for which token is requested.

    Note:
  • This endpoint is deprecated for customers using the API Key-based authentication and is applicable only to customers who use the SAML-based authentication.
    operationId: getAccessTokens parameters: - name: appIds in: query description: appIds required: true schema: type: string responses: 200: description: OK content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/UserAccessTokensResponse' 401: description: Unauthorized content: {} 404: description: Not Found content: {} deprecated: false /user: get: tags: - User summary: Envestnet Get User Details description: The get user details service is used to get the user profile information and the application preferences set at the time of user registration.
    operationId: getUser responses: 200: description: OK content: application/json;charset=UTF-8: schema: $ref: '#/components/schemas/UserDetailResponse' 401: description: Unauthorized content: {} 404: description: Not Found content: {} deprecated: false put: tags: - User summary: Envestnet Update User Details description: The update user details service is used to update user details like name, address, currency preference, etc.
    Currency provided in the input will be respected in the Derived services and the amount fields in the response will be provided in the preferred currency.
    The HTTP response code is 204 (Success without content).

    Login Name Change Feature: loginName can be passed to update the user's login name. Once the loginName is updated, to access the user's data, a token with the changed loginName must be created. This feature is supported only Client Credentials authentication methods.
    Note:
  • We strongly recommend to immediately delete the old access token once the user's loginName is successfully changed to avoid misuse.
  • After updating the login name, the already sent data extract events with the old login name will no more be functional. Replace the loginName with new loginName or try polling method to retrieve the data.

  • operationId: updateUser requestBody: description: userRequest content: application/json: schema: $ref: '#/components/schemas/UpdateUserRequest' required: true responses: 204: description: No Content content: {} 401: description: Unauthorized content: {} 404: description: Not Found content: {} deprecated: false /user/logout: post: tags: - User summary: Envestnet User Logout description: 'Deprecated: This endpoint is deprecated for API Key-based authentication. The user logout service allows the user to log out of the application.
    The service does not return a response body. The HTTP response code is 204 (Success with no content).
    ' operationId: userLogout responses: 204: description: Logout successful content: {} 401: description: Unauthorized content: {} 404: description: Not Found content: {} deprecated: false /user/unregister: delete: tags: - User summary: Envestnet Delete User description: The delete user service is used to delete or unregister a user from Yodlee.
    Once deleted, the information related to the users cannot be retrieved.
    The HTTP response code is 204 (Success without content)
    operationId: unregister responses: 204: description: No Content content: {} 401: description: Unauthorized content: {} 404: description: Not Found content: {} deprecated: false /insights/configs/userSubscriptions: get: tags: - User summary: Envestnet Provides user-level preferences for each insight. description: This API returns the details of all the Insights which are subscribed by the customer. If any of the insight has been turned off by setting isSubscribed = false at the customerSubscription level, those insights will not be shown in the userSubscription API.

    Each Insight details contain attributes such as Insight Frequency, Threshold, etc. By default, all the configurations set by the customer will be inherited by the user. Using a separate PATCH API, consumers can override customer preferences and set their own preferences - wherever applicable.

    In addition to setting prepoferences at an insight entity level, the consumer will also be able to set preferences at an entity ID level. E.g. LOW_BALANCE_WARNING insight can have a BALANCE threshold of $1,000 set by the customer. However, the user can set a different threshold for each of the accounts the user has aggregated.

    The customerConfiguration object for each insight mirrors the preferences set by the customer for each insight at the customerSubscription level. operationId: getUserSubscriptions parameters: - name: insightName in: query description: Insight name required: false style: form explode: true schema: type: string example: LOW_BALANCE_WARNING - name: entityId in: query description: Comma separated list of entity Ids it could be a account id or view id required: false style: form explode: true schema: type: string example: 1001,5e7885993cd8e328288522f7 responses: '200': description: A list of subscribed Insight details. content: application/json: schema: $ref: '#/components/schemas/UserSubscriptions' examples: objectExample: $ref: '#/components/examples/getUserSubscriptionExample' '400': description: 'Bad request. ErrorCode and ErrorMessages below:

    Y800 : Invalid value for entityId
    Y824 : The maximum number of entityId permitted is 100
    Y800 : Invalid value for insightName' 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' patch: tags: - User summary: Envestnet Update user-level preferences for each insight. description: "This API can be used to modify user-level preferences for each insight.

    Each Insight details contain attributes such as Insight Frequency, Threshold, etc. By default, all the configurations set by the customer will be inherited by the user. Using a separate PATCH API, users can override custom preferences and set their own preferences - wherever applicable.

    In addition to setting preferences at an insight entity level, the consumer will also be able to set preferences at an entity ID level. E.g. LOW_BALANCE_WARNING insight - the user can set a different threshold for each of the accounts the user has aggregated.

    Note -\n " operationId: updateUserSubscription requestBody: content: application/json: schema: $ref: '#/components/schemas/UserSubscriptions' examples: objectExample: $ref: '#/components/examples/updateUserSubscriptionExample' responses: '204': description: Insight for User Updated. '400': description: 'Bad request. ErrorCode and ErrorMessages below:
    Y806 : Invalid input
    Y800 : Invalid value for insightName
    Y800 : Invalid value for input param in {InsightName} insight
    Y800 : Invalid value for frequency; Supported values are {Frequencies}
    Y800 : Invalid value for duration; Supported values are {Durations}
    Y800 : Invalid value for threshold data in {InsightName} insight
    Y800 : Invalid value for type BASETYPE; Only CREDIT, DEBIT are supported
    Y800 : Invalid value for {thresholdName} in {insightName} insight Min = {min} and Max = {max}
    Y813 : Invalid request. The entire object within threshold should be provided
    Y800 : {InsightName} cannot be subscribed without benchmark enabled for the customer
    Y800 : Invalid value for isSubscribed. {InsightName} cannot be subscribed without benchmark enabled for the customer
    Y802 : Modifying isBenchmarkEnabled is not allowed
    Y802 : For insight {InsightName}, passing isBenchmarkEnabled is not allowed
    Y800 : Invalid value for isBenchmarkEnabled Supported values are true, false"
    Y800 : Invalid value for duration. Supported values of duration for MID_MONTHLY frequency are {Frequencies}
    Y802 : Modifying insightTitle using this API is not allowed
    Y802 : For insight {InsightName}, modifying applicableEntity is not allowed
    Y802 : For insight {InsightName}, modifying triggerType is not allowed
    Y802 : For insight {InsightName}, modifying containers is not allowed
    Y802 : For insight {InsightName}, modifying description is not allowed
    Y802 : Duplicate entityId entries within userConfiguration is not allowed
    Y802 : Specifying frequency attribute for {InsightName} insight is not allowed
    Y802 : Specifying duration attribute for {InsightName} insight is not allowed
    Y802 : For insight {InsightName}, modifying frequency is not allowed
    Y802 : For insight {InsightName}, modifying duration is not allowed
    Y825 : Update not allowed without a valid request body
    Y802 : For {InsightName} insight passing threshold is not allowed
    Y812 : Required field/value - insightName missing in the request
    Y800 : Invalid value for userConfiguration; entityId should be provided.
    Y802 : Modifying InsightType attribute is not allowed
    Y813: entityType should be provided
    Y813 : Invalid request. The entire object within threshold should be provided
    Y803: At least one additional attribute is required in addition to entityType.
    Y800 : Invalid value for userConfiguration; userConfiguration is either missing, duplicated, or has insufficient/ incorrect attributes
    Y802 : For insight {InsightName}, configurations at an entityId level are not allowed
    Y800: Invalid value for entityType. Supported entityType for {InsightName} insight are - {Entities}
    Y800 : Invalid value for entityId; This id is either invalid or not supported for this insight.
    Y802 : Duplicate entityId entries 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' delete: tags: - User summary: Envestnet Delete an existing entity-level insight configuration description: The DELETE API lets users delete one or more of the existing entityId level configurations for an insight. This can be account level or view level. By deleting all entity ID level configuration, user's insight evaluation defaults to the values specified by the customer for an insight. operationId: deleteUserSubscriptions parameters: - name: insightName in: query description: Comma separated list of Insight name required: true style: form explode: true schema: type: string example: LARGE_PURCHAGE - name: entityId in: query description: Comma separated list of entity ids style: form explode: true schema: type: string example: 123absce - name: entityType in: query description: Comma separated list of entity required: false style: form explode: true schema: type: string example: account,view responses: '204': description: User subscription deleted sucessfully. '400': description: "Bad request. ErrorCode and ErrorMessages below:

    Y800 : Invalid value for insightName
    Y805 : Multiple entities not supported
    Y802: Delete operation for disabled insights is not allowed
    Y822: Deletion cannot be requested for entity IDs that are not currently part of the consumer API for the requested insight
    Y822: Deletion cannot be requested for entityNames that are not currently part of the consumer API for the requested insight\n
    Y802: Duplicate values is not allowed\n
    Y802: Combining multiple values for insightName and other filters is not allowed
    Y802: Deleting configurations for all insights using a single API call is not allowed
    Y802: Combining \"entity\" and other filters is not allowed
    Y802 : Delete operation on insights without any custom consumer subscription is not allowed
    Y800: invalid value for entityId, id is either invalid or not supported for this insight." 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' /insights/feed: get: tags: - User summary: Envestnet Fetch all the insights generated for a user. description: The API allows you to fetch all or a subset of the insights generated for a specific user. The insights are returned in the descending order of the insight generation time. By default, the API returns all the insights generated in the last 31 days. operationId: getUserFeed parameters: - name: insightName in: query description: Insight name required: false style: form explode: true schema: type: string example: LOW_BALANCE_WARNING - name: fromDate in: query required: false description: fromDate schema: type: string example: '2020-04-26T12:00:00Z' - name: toDate in: query required: false description: toDate schema: type: string example: '2020-05-25T12:00:00Z' - name: entityId in: query description: Comma separated list of entity Ids, it could be a view Id or account Id required: false style: form explode: true schema: type: string example: 10001,5e7885993cd8e328288522f7 - name: skip in: query description: skip (Min 0) required: false style: form explode: true schema: type: integer example: '100' - name: top in: query description: top (Max 50) required: false style: form explode: true schema: type: integer example: '10' - name: entityType in: query description: Comma separated list of entity required: false style: form explode: true schema: type: string example: ACCOUNT - name: triggerType in: query description: triggerType of an insight defines how an Insight was triggered in the system.

    Currently following triggerType are supported - required: false style: form explode: true schema: type: string example: SCHEDULE - name: insightType in: query description: Identifies whether the insight is generated at an entity-level - per account or per view (OTHER), or if it considers all entities for the user - e.g. all accounts (AGGREGATE).

    required: false style: form explode: true schema: type: string example: AGGREGATE responses: '200': description: A list of subscribed Insight details. content: application/json: schema: $ref: '#/components/schemas/feeds' examples: objectExample: $ref: '#/components/examples/getFeedExample' '400': description: "Bad request. ErrorCode and ErrorMessages below:

    Y800: Invalid value for insightName; Insight name requested not found
    Y800: Invalid value for entityId
    Y805: Multiple entities not supported
    Y800: Invalid value for fromDate/toDate. Both fromDate and toDate needs to be of the same format - yyyy-MM-dd or yyyy-MM-ddTHH:mm:ssZ
    Y802: Value for fromDate or toDate beyond the last 1 year is not allowed
    Y813: Both fromDate and toDate parameter should be provided
    Y802: Difference greater than 31 days between fromDate and toDate is not allowed
    Y802: Combining insightName and entityId filters for AGGREGATE insights is not allowed
    Y802: Duplicate values for entity id are not allowed
    Y800: Invalid value for skip\n
    Y800: Invalid value for top\n
    Y800: Invalid value for triggerType; allowed values are REFRESH, EVENT, SCHEDULE\n
    Y800: Invalid value for entityType; allowed values are ACCOUNT, VIEW\n
    Y800: Invalid value for insightType; allowed values are OTHER, AGGREGATE\n
    Y802: Duplicate values for entityType are not allowed\n
    Y802: Duplicate values for insightType are not allowed\n
    Y802: Duplicate values for triggerType are 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' /insights/feedExtracts: get: tags: - User summary: Envestnet Fetch all the insights generated for a user. description: The API allows you to fetch all or a subset of the insights generated for a specific user. The insights are returned in the descending order of the insight generation time. By default, the API returns all the insights generated in the last 31 days. operationId: getUserFeedWebHook parameters: - name: insightName in: query description: Insight name required: false style: form explode: true schema: type: string example: LOW_BALANCE_WARNING - name: fromDate in: query required: false description: fromDate schema: type: string example: '2020-04-26T12:00:00Z' - name: toDate in: query required: false description: toDate schema: type: string example: '2020-05-25T12:00:00Z' - name: entityId in: query description: Comma separated list of entity Ids, it could be a view Id or account Id required: false style: form explode: true schema: type: string example: 10001,5e7885993cd8e328288522f7 - name: skip in: query description: skip (Min 0) required: false style: form explode: true schema: type: integer example: '100' - name: top in: query description: top (Max 50) required: false style: form explode: true schema: type: integer example: '10' - name: entityType in: query description: Comma separated list of entity required: false style: form explode: true schema: type: string example: ACCOUNT - name: triggerType in: query description: triggerType of an insight defines how an Insight was triggered in the system.

    Currently following triggerType are supported - required: false style: form explode: true schema: type: string example: SCHEDULE - name: insightType in: query description: Identifies whether the insight is generated at an entity-level - per account or per view (OTHER), or if it considers all entities for the user - e.g. all accounts (AGGREGATE).

    required: false style: form explode: true schema: type: string example: AGGREGATE - name: loginName in: query description: Name of the User. required: true style: form explode: true schema: type: string example: insightsUser responses: '200': description: A list of subscribed Insight details. content: application/json: schema: $ref: '#/components/schemas/feeds' examples: objectExample: $ref: '#/components/examples/getFeedExample' '400': description: "Bad request. ErrorCode and ErrorMessages below:

    Y803: loginName required.
    Y800: Invalid value for loginName
    Y800: Invalid value for insightName; Insight name requested not found
    Y800: Invalid value for entityId
    Y805: Multiple entities not supported
    Y800: Invalid value for fromDate/toDate. Both fromDate and toDate needs to be of the same format - yyyy-MM-dd or yyyy-MM-ddTHH:mm:ssZ
    Y802: Value for fromDate or toDate beyond the last 1 year is not allowed
    Y813: Both fromDate and toDate parameter should be provided
    Y802: Difference greater than 31 days between fromDate and toDate is not allowed
    Y802: Combining insightName and entityId filters for AGGREGATE insights is not allowed
    Y802: Duplicate values for entity id are not allowed
    Y800: Invalid value for skip\n
    Y800: Invalid value for top\n
    Y800: Invalid value for triggerType; allowed values are REFRESH, EVENT, SCHEDULE\n
    Y800: Invalid value for entityType; allowed values are ACCOUNT, VIEW\n
    Y800: Invalid value for insightType; allowed values are OTHER, AGGREGATE\n
    Y802: Duplicate values for entityType are not allowed\n
    Y802: Duplicate values for insightType are not allowed\n
    Y802: Duplicate values for triggerType are 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' /insights/feed/count: get: tags: - User summary: Envestnet Fetch the count of generated insight for a user. description: This API provides the count of the insights generated for the user. By default, the API provides the count of the insights generated in last 31 days. operationId: getUserFeedCount parameters: - name: insightName in: query description: Insight name required: false style: form explode: true schema: type: string example: LOW_BALANCE_WARNING - name: fromDate in: query required: false description: fromDate schema: type: string example: '2020-04-26T12:00:00Z' - name: toDate in: query required: false description: toDate schema: type: string example: '2020-05-25T12:00:00Z' - name: entityId in: query description: Comma separated list of entity Ids, it could be a view Id or account Id required: false style: form explode: true schema: type: string example: 10001,5e7885993cd8e328288522f7 - name: entityType in: query description: Comma separated list of entity required: false style: form explode: true schema: type: string example: ACCOUNT - name: triggerType in: query description: triggerType of an insight defines how an Insight was triggered in the system.

    Currently following triggerType are supported - required: false style: form explode: true schema: type: string example: SCHEDULE - name: insightType in: query description: Identifies whether the insight is generated at an entity-level - per account or per view (OTHER), or if it considers all entities for the user - e.g. all accounts (AGGREGATE).

    required: false style: form explode: true schema: type: string example: AGGREGATE responses: '200': description: A list of subscribed Insight details. content: application/json: schema: $ref: '#/components/schemas/feedsCount' examples: objectExample: $ref: '#/components/examples/getFeedCountExample' '400': description: "Bad request. ErrorCode and ErrorMessages below:

    Y800: Invalid value for insightName; Insight name requested not found
    Y800: Invalid value for entityId
    Y805: Multiple entities not supported
    Y800: Invalid value for fromDate/toDate. Both fromDate and toDate needs to be of the same format - yyyy-MM-dd or yyyy-MM-ddTHH:mm:ssZ
    Y802: Value for fromDate or toDate beyond the last 1 year is not allowed
    Y813: Both fromDate and toDate parameter should be provided
    Y802: Difference greater than 31 days between fromDate and toDate is not allowed
    Y802: Combining insightName and entityId filters for AGGREGATE insights is not allowed
    Y802: Duplicate values for entity id are not allowed\n
    Y800: Invalid value for triggerType; allowed values are REFRESH, EVENT, SCHEDULE\n
    Y800: Invalid value for entityType; allowed values are ACCOUNT, VIEW\n
    Y800: Invalid value for insightType; allowed values are OTHER, AGGREGATE\n
    Y802: Duplicate values for entityType are not allowed\n
    Y802: Duplicate values for insightType are not allowed\n
    Y802: Duplicate values for triggerType are not allowed" 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' /insights/trigger: post: tags: - User summary: Envestnet Evalute the insights on demand. description: Evaluate the insight on demand based on the override duplicate check.
    insightName, overrideDuplicateCheck, entityConfig needs to be passed as request parameter. operationId: createTrigger requestBody: content: application/json: schema: $ref: '#/components/schemas/Triggers' examples: objectExample: $ref: '#/components/examples/createTriggerExample' responses: '200': description: No content '400': description: "Bad request. ErrorCode and ErrorMessages below:

    Y800 : insightName; Either the insightName is invalid, not enabled for the user, or user has unsubscribed to the insight.
    Y800 : Invalid value for overrideDuplicateCheck; Only true or false is supported.
    Y800 : Invalid value for trigger; mandatory attributes missing.
    Y800 : Invalid value for entityIds
    Y802 :\n The requested insightName/entityType combination is not allowed
    \nY802 : The requested insightId/entityType combination is not allowed
    Y802 : For this insight, On-Demand insight evaluation is not allowed
    Y802 : Requesting more than 10 total evaluation requests in a single request is not allowed
    Y802 : For AGGREGATE insights, On-Demand insight evaluation based on entityIds is not allowed
    Y802 : Duplicate entityIds is not allowed
    \n Y802 :\nDuplicate insightName is not allowed
    \n Y802 :\nDuplicate entityType is not allowed
    \n Y802 :\nRequesting entityIds and entityType insight evaluation at the same time for the same insight is not allowed
    \n Y802 :\nPassing entityConfig as an empty object/array is not allowed
    \n Y803 :\n insightName is required to process the request
    \n Y803 :\noverrideDuplicateCheck required when requesting evaluation for any insight
    " 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' components: schemas: 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 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 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 UpdateUserRequest: title: UpdateUserRequest required: - user type: object properties: user: $ref: '#/components/schemas/UpdateUserRegistration' 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 User: title: User type: object properties: preferences: $ref: '#/components/schemas/UserResponsePreferences' session: $ref: '#/components/schemas/UserSession' loginName: type: string description: The login name of the user used for authentication.

    Endpoints: readOnly: true name: $ref: '#/components/schemas/Name' id: type: integer description: The unique identifier of a consumer/user in Yodlee system for whom the API services would be accessed for.

    Endpoints: format: int64 readOnly: true roleType: type: string enum: - INDIVIDUAL UserSubscriptions: properties: userSubscription: type: array items: $ref: '#/components/schemas/UserSubscription' 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 BasicCreditCardUtilization: description: Derived information across one or more aggregated card accounts. properties: totalRunningBalance: description: Total running balance across one or more card accounts. allOf: - $ref: '#/components/schemas/Money' readOnly: true totalCreditLine: description: Total credit line across one or more card accounts. allOf: - $ref: '#/components/schemas/Money' readOnly: true creditUtilizationPercent: type: number description: Single card credit utilization percent calculated as totalRunningBalance / totalCreditLine * 100 readOnly: true totalCreditUtilizationPercent: type: number description: Total credit utilization percent calculated as totalRunningBalance / totalCreditLine * 100 readOnly: true 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 entityconfig: properties: entityType: type: string description: entity type it could be VIEW or ACCOUNT enum: - ACCOUNT - VIEW example: ACCOUNT entityIds: type: array uniqueItems: true description: list of entity id it could be account id or view id example: - '123454' - '123456' - '123455' BasicStatementLink: description: Reference path link to fetch more information about the specific statement. 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: /statements required: - entityName - url BasicHolding: description: Object that contains details about one or more securities. properties: id: type: number description: Unique identifier for the security added in the system. This is the primary key of the holding resource. readOnly: true accountId: type: number description: The associated unique ID of the account. readOnly: true link: allOf: - $ref: '#/components/schemas/BasicHoldingLink' readOnly: true holdingType: type: string description: Indicates the type of security like stocks, mutual fund, etc. The list of supported holding types is provided in GET holdings/holdingTypeList. readOnly: true maturityDate: type: string description: The stated maturity date of a bond or CD. readOnly: true qty: type: string description: The quantity held for the holding.

    Note - For bonds, the quantity field indicates the normalized quantity and not the quantity aggregated from the site.

    The quantity field applies to all holding types except restricted stock units/awards, performance units, currency, and commodity.

    For the insurance container, the field applies only to insurance annuity and variable life insurance types. readOnly: true price: description: The current price of the security.

    Note - For bonds, the price field indicates the normalized price and not the price aggregated from the site. For the insurance container, the field applies only to the insurance annuity and variable life insurance types. allOf: - $ref: '#/components/schemas/Money' readOnly: true asOf: type: string description: The date as of which the information is presented. readOnly: true value: description: The total market value of the security. allOf: - $ref: '#/components/schemas/Money' readOnly: true required: - id - link UserAddress: title: UserAddress type: object properties: zip: type: string description: Zip. country: type: string description: Country. address3: type: string description: Address Line 3. address2: type: string description: Address Line 2. city: type: string description: City. address1: type: string description: Address Line 1. state: type: string description: State. 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' basicPredictedEvents: type: array items: $ref: '#/components/schemas/BasicPredictedEvent' required: - name 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 Name: title: Name type: object properties: middle: type: string description: Middle name. last: type: string description: Last name. fullName: type: string description: Full name. first: type: string description: First name. 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 total: properties: total: type: number description: Number of insights count.

    Endpoints - readOnly: true example: 8 ChangeAPR: description: Change in APR for an aggregated card account. properties: previousAPR: type: string description: Previously recorded APR for a specific card account. readOnly: true currentAPR: type: string description: The current APR for the same card card account. readOnly: true change: type: string description: Absolute change in APR calculated as currentAPR - previousAPR. readOnly: true required: - previousAPR - currentAPR - change UserAccessTokensResponse: title: UserAccessTokensResponse type: object properties: user: $ref: '#/components/schemas/UserAccessToken' BasicStatement: description: Object that contains details about one or more aggregated statements. properties: id: type: number description: Unique identifier for the statement. readOnly: true link: description: Reference path link to fetch more information about the specific statement. allOf: - $ref: '#/components/schemas/BasicStatementLink' readOnly: true statementDate: type: string description: The date on which the statement is generated. readOnly: true dueDate: type: string description: The date by when the minimum payment is due to be paid.

    Note- The due date that appears in the statement may differ from the due date at the account-level. readOnly: true billingPeriodStart: type: string description: Billing starting date for the statement. readOnly: true billingPeriodEnd: type: string description: Billing end date for the statement. readOnly: true amountDue: description: The total amount owed at the end of the billing period. allOf: - $ref: '#/components/schemas/Money' readOnly: true minPaymentDue: description: The minimum amount that the user has to pay every month on the credit card account. allOf: - $ref: '#/components/schemas/Money' readOnly: true lastPaymentAmount: description: The last payment made for the previous billing cycle in the current statement period. allOf: - $ref: '#/components/schemas/Money' readOnly: true lastPaymentDate: type: string description: The date on which the last payment was made during the billing cycle. readOnly: true isLatest: type: boolean description: The field is set to true if the statement is the latest generated statement. readOnly: true lastUpdated: type: string description: The date when the account was last updated by Envestnet Yodlee. readOnly: true required: - id - link - accountId 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 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 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 YodleeError: title: YodleeError type: object properties: errorMessage: type: string description: The descriptive message that explains the error scenario. readOnly: true errorCode: type: string description: The error code follows the format YNNN. The error codes do not change. New error codes may be added as we introduce new features and enhance functionalities. readOnly: true referenceCode: type: string description: Unique Yodlee identifier used to troubleshoot issues at Yodlee's end. readOnly: true 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 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' ViewDerived: description: Derived information for a specific VIEW. properties: creditTotal: description: The total of all credit transactions that qualify to be part of the view based on the view rules. allOf: - $ref: '#/components/schemas/Money' readOnly: true debitTotal: description: The total of all debit transactions that qualify to be part of the view based on the view rules. allOf: - $ref: '#/components/schemas/Money' readOnly: true remainingBudget: description: The difference between the budget set for the view and the debitTotal. allOf: - $ref: '#/components/schemas/Money' readOnly: true 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 BankAccount: description: Account object that contains details about one or more aggregated bank accounts. allOf: - $ref: '#/components/schemas/AccountInfo' properties: availableBalance: description: The balance in the account that is available for spending. For checking accounts with overdraft, available balance may include overdraft amount, if end site adds overdraft balance to available balance. allOf: - $ref: '#/components/schemas/Money' readOnly: true currentBalance: description: The balance in the account that is available at the beginning of the business day; it is equal to the ledger balance of the account. allOf: - $ref: '#/components/schemas/Money' readOnly: true balance: description: The available balance or current balance. allOf: - $ref: '#/components/schemas/Money' readOnly: true basicPredictedEvent: type: array items: $ref: '#/components/schemas/BasicPredictedEvent' basicTransaction: type: array items: $ref: '#/components/schemas/BasicTransaction' predictedInfo: allOf: - $ref: '#/components/schemas/PredictedInfo' lastUpdated: type: string description: last Updated. readOnly: true BasicMerchantDetail: description: Derived merchant spending information. properties: basicMerchant: allOf: - $ref: '#/components/schemas/BasicMerchant' readOnly: true merchantType: type: string description: The associated merchant type - BILLERS, SUBSCRIPTION, or OTHERS 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 link: allOf: - $ref: '#/components/schemas/Link' readOnly: true basicPeerDetail: description: Data about the user's peer spending. allOf: - $ref: '#/components/schemas/BasicPeerDetail' readOnly: true peerSpendingComparison: description: Comparing how the user has spent with a merchant compared to their peers. allOf: - $ref: '#/components/schemas/PeerSpendingComparison' readOnly: true required: - basicMerchant RealEstateAccount: description: Account object that contains details about one or more aggregated real estate accounts. allOf: - $ref: '#/components/schemas/AccountInfo' properties: address: readOnly: true allOf: - $ref: '#/components/schemas/Address' changeValue: type: array items: $ref: '#/components/schemas/ChangeValue' AccessTokens: title: AccessTokens type: object properties: appId: type: string description: The identifier of the application for which the access token is generated.

    Endpoints: value: type: string description: Access token value used to invoke the widgets/apps.

    Endpoints: url: type: string description: Base URL using which the application is accessed.

    Endpoints: 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 Threshold: properties: name: type: string description: Identifies the threshold applicable for an insight. Threshold values impact insight generation.Consider the following example - For the above insight, you can read the configuration as "Generate the insight only if the change is >= 3%"

    Note- Threshold is fixed for each insight. Only value is editable.

    Endpoints - example: CHANGE enum: - CHANGE - UPPER_LIMIT - DAYS_BEFORE - MINIMUM - FUTURE - DELAY - TOP - BASETYPE type: type: string description: Identifies the type of threshold. Threshold values impact insight generation.Consider the following example - For the above insight, you can read the configuration as "Generate the insight only if the change is >= 3%".

    However, consider changing the configuration to as follows by changing the type - For the above insight, you can read the configuration as "Generate the insight only if the change is >= $300".

    Note- For a single insight, you can have multiple thresholds. If multiple thresholds have values set to a non-zero number, the relationship between the thresholds will be logical AND.

    Some insights will have type as AMOUNT and PERCENT. In the above scenario, if you want to generate insight only based on one value, you can set the other to 0.

    E.g. if type = AMOUNT is set to 0 and type = PERCENT is set to 3, the insight will be evaluated as "Generate the insight only if the change is >= 3%"

    However, if AMOUNT = $300 and PERCENT = 3, the insight will be evaluated as "Generate the insight only if the change % is >= 3% AND change amount >= $300"

    Endpoints - example: PERCENT enum: - PERCENT - NUMBER - DAYS - AMOUNT - STRING value: type: string description: The value set for the threshold. 0 is allowed only if there are multiple threshold for the same insight.

    Endpoints - example: '10' 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 UserSession: title: UserSession type: object properties: userSession: type: string description: Session provided for a valid user to access API services upon successful authentication.

    Endpoints: readOnly: true UpdateUserRegistration: title: UpdateUserRegistration type: object properties: preferences: $ref: '#/components/schemas/UserRequestPreferences' address: $ref: '#/components/schemas/UserAddress' phoneNumber: type: string loginName: type: string name: $ref: '#/components/schemas/Name' email: type: string segmentName: type: string feedsCount: properties: feed: allOf: - $ref: '#/components/schemas/total' 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 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 feeds: properties: feed: type: array items: $ref: '#/components/schemas/feed' UserDetail_2: properties: geo: description: Geo location details of the user. User can provide City, State, Nation and Zipcode details allOf: - $ref: '#/components/schemas/Geo' income: type: string description: Income details of the user readOnly: true homeOwnership: type: boolean description: Home Ownership status of the user readOnly: true lifeStage: type: string description: lifeStage details of the user 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 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 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 StatementDerived: description: Statement derived properties: cardMinimumDueTotal: description: Total minimum due across one or more cards allOf: - $ref: '#/components/schemas/Money' BasicHoldingLink: description: Reference path link to fetch more information about the specific holding. 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: /holdings/securities?holdingId=123 required: - entityName - url 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: type: array items: $ref: '#/components/schemas/ChangeValue' readOnly: true cashFlowTrend: type: array items: $ref: '#/components/schemas/CashFlowTrend' readOnly: true basicCategoryDetail: type: array items: $ref: '#/components/schemas/BasicCategoryDetail' readOnly: true message: items: $ref: '#/components/schemas/Message' readOnly: true accountDerived: items: $ref: '#/components/schemas/AccountDerived' readOnly: true errorInfo: allOf: - $ref: '#/components/schemas/ErrorInfo' readOnly: true detail: type: array items: $ref: '#/components/schemas/AccountDetail' subscriptionModel: description: Details about the configurations applied for the specific insight. properties: entityId: type: string description: "Unique ID which references a specific entityType for which the insight is generated. Endpoints - " entityType: type: string description: The entityType identifies which applicableEntity of the insight the configuration will impact. frequency: type: string description: Identifies how often the insight will be evaluated.

    Note - Evaluation does not mean an insight will be generated. If the conditions for generating an insight are not met, the insight will not get generated even after it being evaluated.

    Depending on the insight, it might be editable for customers and users. example: DAILY enum: - DAILY - WEEKLY - MONTHLY - MID_MONTHLY duration: type: string description: Identifies the duration for which the data will be considered to generate and insight.

    Note Endpoints - example: THIS_MONTH enum: - THIS_MONTH - LAST_MONTH - THREE_MONTHS - SIX_MONTHS - ONE_YEAR - LAST_THREE_MONTHS - LAST_SIX_MONTHS - LAST_TWELVE_MONTHS threshold: type: array items: $ref: '#/components/schemas/Threshold' required: - entityId - entityType BasicView: description: Object that contains details about one or more user/system created VIEWs. properties: basicAccount: type: array items: $ref: '#/components/schemas/BasicAccount' cardAccount: type: array items: $ref: '#/components/schemas/CardAccount' basicTrend: type: array items: $ref: '#/components/schemas/BasicTrend' id: type: string description: Unique identifier created by the system for a VIEW. readOnly: true name: type: string description: The description provided for the VIEW while creating/updating a VIEW. readOnly: true link: allOf: - $ref: '#/components/schemas/ViewLink' required: - id - name - link UserDetail: title: UserDetail type: object properties: preferences: $ref: '#/components/schemas/UserResponsePreferences' address: $ref: '#/components/schemas/UserAddress' phoneNumber: type: string loginName: type: string description: The login name of the user used for authentication.

    Endpoints: readOnly: true name: $ref: '#/components/schemas/Name' id: type: integer description: The unique identifier of a consumer/user in Yodlee system for whom the API services would be accessed for.

    Endpoints: format: int64 readOnly: true roleType: type: string enum: - INDIVIDUAL email: type: string description: The email address of the user.

    Endpoints: readOnly: true segmentName: type: string BasicCategoryTypeDetail: description: Derived information across one or more category types - INCOME, EXPENSE, TRANSFER, DEFERRED_COMPENSATION, or UNCATEGORIZE. properties: categoryType: type: string description: The categoryType of the category assigned to the transaction. This is the type field of the transaction category resource. The supported values are provided by the GET transactions/categories. readOnly: true creditTotal: description:  The sum of all credit transactions associated with the categoryType for the specific duration. allOf: - $ref: '#/components/schemas/Money' readOnly: true debitTotal: description: The sum of all debit transactions associated with the categoryType 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 dateRange: items: $ref: '#/components/schemas/DateRange' readOnly: true basicCategoryDetail: type: array items: $ref: '#/components/schemas/BasicCategoryDetail' readOnly: true userConfiguration: properties: entityId: type: string description: Unique ID which references a specific entityType.

    Users can set preferences at s specific entityId level. Note Endpoints - example: '10001453' entityType: type: string description:

    Endpoints - example: ACCOUNT isSubscribed: type: boolean description: "Insight Subscription APIs allow User to subscribe/unsubscribe at any particular entity level.

    If an insight is not subscribed (isSubscribed = false) at the customer level, the insight will not be present in the userSubscription API.

    If an insight is subscribed by the customer (isSubscribed = true), the insight will be subscribed automatically by the user and all the default configurations will be inherited.

    The user can choose to turn off the insight by setting isSubscribed=false.\n

    >Endpoints -" example: true frequency: type: string description: Identifies how often the insight will be evaluated.

    Note - Evaluation does not mean an insight will be generated. If the conditions for generating an insight are not met, the insight will not get generated even after it being evaluated.

    Depending on the insight, it might be editable for customers and users.

    Endpoints - example: DAILY enum: - DAILY - WEEKLY - MONTHLY duration: type: string description: Identifies the duration for which the data will be considered to generate and insight.

    Note Endpoints - example: THIS_MONTH enum: - THIS_MONTH - LAST_MONTH - THREE_MONTHS - SIX_MONTHS - ONE_YEAR threshold: type: array items: $ref: '#/components/schemas/Threshold' isBenchmarkEnabled: type: boolean description: "Identifies if peer benchmarking is enabled for a particular insight. The attribute will be returned only for insights that are eligible for peer benchmarking data points

    The default value of this attribute will be based on the global configuration key to enable/disable peer benchmarking. If the global configuration is true, this attribute will be true and if the global configuration is false, this value will be false.

    If the peer benchmarking is enabled by the customer (isBenchmarkEnabled = true), the benchmarks will be subscribed automatically by the user.

    The user can choose to turn off the benchmark configuration for the insight by setting isBenchmarkEnabled=false.

    Note - There are few insights for which the isBenchmarkEnabled attribute cannot be updated since benchmark amount is essential for the insight evaluation.\n

    Endpoints -" example: true MerchantTrend: description: Merchant trend information, broken down by a specific frequency, for a specific date range. properties: basicMerchant: allOf: - $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 trigger: properties: insightName: type: string description: insight name example: CHANGE_IN_NETWORTH overrideduplicateCheck: type: boolean description: 'override duplicate ' example: true entityConfig: type: array items: $ref: '#/components/schemas/entityconfig' PredictedInfo: description: Predidcted information based on one or more eligible accounts. properties: dateRange: description: The date range considered to compute the values allOf: - $ref: '#/components/schemas/DateRange' readOnly: true date: type: string predictedBalance: description: The predicted balance for a given date range or a specific date. allOf: - $ref: '#/components/schemas/Money' predictedIncome: description: The predicted income for a given date range or a specific date. allOf: - $ref: '#/components/schemas/Money' predictedExpense: description: The predicted expense for a given date range or a specific date. allOf: - $ref: '#/components/schemas/Money' predictedDiscretionaryBalance: description: The predicted discretionary balance for a given date range or a specific date. allOf: - $ref: '#/components/schemas/Money' link: allOf: - $ref: '#/components/schemas/Link' readOnly: true UserAccessToken: title: UserAccessToken type: object properties: accessTokens: type: array items: $ref: '#/components/schemas/AccessTokens' CustomerConfiguration: properties: entityType: type: string description: The entityType identifies which applicableEntity of the insight the configuration will impact.

    E.g. if the entityType is ACCOUNT, it means that the configurations will impact the ACCOUNT entity during evaluation.

    customerConfiguration, when presented in the userSubscription API, represents the customer preferences. It may or may not match the user preferences. If user preferences differe from customer preferrences in the customerConfiguration, the user preferences will be applied for the insight.

    Endpoints - example: ACCOUNT enum: - ACCOUNT - VIEW isSubscribed: type: boolean description: Insight Subscription APIs allow User to subscribe/unsubscribe at any particular entity level.

    If an insight is not subscribed (isSubscribed = false) at the customer level, the insight will not be present in the userSubscription API.

    If an insight is subscribed by the customer (isSubscribed = true), the insight will be subscribed automatically by the user and all the default configurations will be inherited.

    The user can choose to turn off the insight by setting isSubscribed=false.

    Endpoints - example: true enum: - true - false frequency: type: string description: Identifies how often the insight will be evaluated.

    Note - Evaluation does not mean an insight will be generated. If the conditions for generating an insight are not met, the insight will not get generated even after it being evaluated.

    Depending on the insight, it might be editable for customers and users.

    Endpoints - example: DAILY enum: - DAILY - WEEKLY - MONTHLY - MID_MONTHLY duration: type: string description: Identifies the duration for which the data will be considered to generate and insight.

    Note Endpoints - example: THIS_MONTH enum: - THIS_MONTH - LAST_MONTH - THREE_MONTHS - SIX_MONTHS - ONE_YEAR - LAST_THREE_MONTHS - LAST_SIX_MONTHS - LAST_TWELVE_MONTHS threshold: type: array items: $ref: '#/components/schemas/Threshold' isBenchmarkEnabled: type: boolean description: "Identifies if peer benchmarking is enabled for a particular insight. The attribute will be returned only for insights that are eligible for peer benchmarking data points\n

    The default value of this attribute will be based on the global configuration key to enable/disable peer benchmarking. If the global configuration is true, this attribute will be true and if the global configuration is false, this value will be false.\n

    If the peer benchmarking is enabled by the customer (isBenchmarkEnabled = true), the benchmarks will be subscribed automatically by the user.\n

    The user can choose to turn off the benchmark configuration for the insight by setting isBenchmarkEnabled=false.\n

    Note - There are few insights for which the isBenchmarkEnabled attribute cannot be updated since benchmark amount is essential for the insight evaluation.\n

    Endpoints - " example: true enum: - true - false 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 UserDetailResponse: title: UserDetailResponse type: object properties: user: $ref: '#/components/schemas/UserDetail' UserSubscription: allOf: - $ref: '#/components/schemas/Subscription' properties: userConfiguration: type: array items: $ref: '#/components/schemas/userConfiguration' customerConfiguration: type: array items: $ref: '#/components/schemas/CustomerConfiguration' 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 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 UserRequest: title: UserRequest required: - user type: object properties: user: $ref: '#/components/schemas/UserRegistration' 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: allOf: - $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 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 UserRegistration: title: UserRegistration required: - loginName type: object properties: preferences: $ref: '#/components/schemas/UserRequestPreferences' address: $ref: '#/components/schemas/UserAddress' phoneNumber: type: string loginName: maxLength: 150 minLength: 3 type: string name: $ref: '#/components/schemas/Name' email: type: string segmentName: type: string 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' 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 InvestmentAccount: description: Account object that contains details about one or more aggregated investment accounts. allOf: - $ref: '#/components/schemas/AccountInfo' properties: balance: description: The total balance of all the investment account, as it appears on the FI site. allOf: - $ref: '#/components/schemas/Money' readOnly: true basicHolding: type: array items: $ref: '#/components/schemas/BasicHolding' readOnly: true UserRequestPreferences: title: UserRequestPreferences type: object properties: dateFormat: maxLength: 2147483647 minLength: 1 type: string description: The dateformat of the user.This attribute is just a place holder and has no impact on any other API services. timeZone: maxLength: 2147483647 minLength: 1 type: string description: The timezone of the user. This attribute is just a place holder and has no impact on any other API services. currency: type: string description: The currency of the user. This currency will be respected while providing the response for derived API services.
    Applicable Values
    enum: - USD - AUD - BRL - CAD - EUR - GBP - HKD - IDR - INR - JPY - NZD - SGD - ZAR - CNY - VND - MYR - CHF - AED - AFA - ALL - AMD - ANG - AOA - ARS - AWG - AZM - BAM - BBD - BDT - BGL - BHD - BIF - BMD - BND - BOB - BSD - BTN - BWP - BYR - BZD - CDF - CLP - COP - CRC - CUP - CVE - CYP - CZK - DJF - DKK - DOP - DZD - EEK - EGP - ERN - ETB - FJD - FKP - GEL - GGP - GHC - GIP - GMD - GNF - GTQ - GYD - HNL - HRK - HTG - HUF - ILS - IMP - IQD - IRR - ISK - JEP - JMD - JOD - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LSL - LTL - LVL - LYD - MAD - MDL - MGF - MKD - MMK - MNT - MOP - MRO - MTL - MUR - MVR - MWK - MXN - MZM - NAD - NGN - NIO - NOK - NPR - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PYG - QAR - ROL - RUR - RWF - SAR - SBD - SCR - SDD - SEK - SHP - SIT - SKK - SLL - SOS - SPL - SRG - STD - SVC - SYP - SZL - THB - TJR - TMM - TND - TOP - TRL - TTD - TVD - TWD - TZS - UAH - UGX - UYU - UZS - VEB - VUV - WST - XAF - XAG - XAU - XCD - XDR - XOF - XPD - XPF - XPT - YER - YUM - ZMK - ZWD - ADP - ATS - BEF - BUK - CSD - CSK - DDM - DEM - ECS - ESP - FIM - GRD - GWP - IEP - ITL - LUF - MLF - NLG - PTE - SUR - TPE - UAK - XBA - XBB - XBC - XBD - XEU - XFO - XFU - XGF - XMK - XRM - XTS - YDD - YUD - ZRN - TJS - RON - BGN - BTC - XBT - CNH - RUB - TRY - GHS - TMT - ZMW - VEF - SSP - ALK locale: type: string description: The locale of the user. This locale will be considered for localization features like providing the provider information in the supported locale or providing category names in the transaction related services.
    Applicable Values
    enum: - en_US - en_AN - en_GB - en_AU - en_BE - zh_CN - en_IN - en_CA - en_ES - en_NZ - en_IE - en_IL - en_FR - en_AE - en_FJ - en_GU - en_HK - en_IT - en_JP - en_KH - en_KP - en_KR - en_MY - en_PG - en_PH - en_SB - en_SG - en_TH - en_TO - en_VN - en_VU - en_WS - es_ES - fr_CA - fr_FR - nl_AN - en_CH - en_ZA - en_CN - en_FI - en_AT - de_AT - en_DE - de_DE - de_RU - en_ID - en_MX - es_MX - en_PT - en_SE - en_GLOBAL - pt_BR - en_DK - en_BR - en_BM - en_CK - en_CO - en_JE - en_BG - en_BW - en_MW - en_KE - en_SZ - en_ZW - en_NL - nl_NL Triggers: properties: trigger: type: array items: $ref: '#/components/schemas/trigger' UserResponse: title: UserResponse type: object properties: user: $ref: '#/components/schemas/User' LoanAccount: description: Account object that contains details about one or more aggregated loan accounts. allOf: - $ref: '#/components/schemas/AccountInfo' properties: maturityDate: type: string description: The date when a certificate of deposit (CD/FD) matures or the final payment date of a loan at which point the principal amount (including pending interest) is due to be paid. readOnly: true 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 CardAccount: description: Account object that contains details about one or more aggregated card accounts. allOf: - $ref: '#/components/schemas/AccountInfo' properties: address: type: string description: address. readOnly: true totalCreditLine: description: Total credit line is the amount of money that can be charged to a credit card. If credit limit of $5,000 is issued on a credit card, the total charges on the card cannot exceed this amount. allOf: - $ref: '#/components/schemas/Money' readOnly: true balance: description: The amount that is currently owed on the credit card account. Equivalent to runningBalance. allOf: - $ref: '#/components/schemas/Money' readOnly: true runningBalance: description: The amount that is currently owed on the credit card account. allOf: - $ref: '#/components/schemas/Money' readOnly: true amountDue: description: 'The total amount due for the purchase of goods or services that must be paid by the due date. ' allOf: - $ref: '#/components/schemas/Money' readOnly: true lastUpdated: type: string description: last Updated. readOnly: true basicCreditCardUtilization: allOf: - $ref: '#/components/schemas/BasicCreditCardUtilization' readOnly: true basicStatement: type: array items: $ref: '#/components/schemas/BasicStatement' readOnly: true predictedInfo: allOf: - $ref: '#/components/schemas/PredictedInfo' readOnly: true basicTransaction: type: array items: $ref: '#/components/schemas/BasicTransaction' readOnly: true changeAPR: allOf: - $ref: '#/components/schemas/ChangeAPR' readOnly: true TransactionDerived: description: Derived information across one or more aggregated transactions. properties: creditTotal: description: The sum of all credit transactions. allOf: - $ref: '#/components/schemas/Money' readOnly: true debitTotal: description: The sum of all debit transactions. allOf: - $ref: '#/components/schemas/Money' readOnly: true totalUnpaidBills: type: integer description: The total number of unpaid bills identified. If the threshold TOP is applied, this number may not match with the number of bills returned in the insight. readOnly: true spentPercent: type: string description: Amount spent calculated as debitTotal/creditTotal*100 totalSpending: allOf: - $ref: '#/components/schemas/Money' averageSpending: allOf: - $ref: '#/components/schemas/Money' link: allOf: - $ref: '#/components/schemas/Link' readOnly: true debtToIncomeRatio: type: number description: Debt to income ratio calculated as (monthly recurring debt / average monthly income) * 100 averageMonthlyIncome: description: Average monthly income for the duration. allOf: - $ref: '#/components/schemas/Money' monthlyRecurringPaymentTotal: description: Identified monthly recurring payments for the user derived from minimum due amount across all cards, loan payments, rent payments, mortgage payments, alimoney and child care support. allOf: - $ref: '#/components/schemas/Money' dateRange: description: The date range considered to compute the values. items: $ref: '#/components/schemas/DateRange' 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 PredictedInfoDerived: description: provide the predicted balance aggregated across all account per date properties: predictedBalance: description: predicted balance allOf: - $ref: '#/components/schemas/Money' readOnly: true date: description: date in yyyy-mm-dd format type: string readOnly: true accountIds: description: list of account id that constributed in the predicted balance. type: array items: type: string readOnly: true UserResponsePreferences: title: UserResponsePreferences type: object properties: dateFormat: maxLength: 2147483647 minLength: 1 type: string description: The dateformat of the user.This attribute is just a place holder and has no impact on any other API services. timeZone: maxLength: 2147483647 minLength: 1 type: string description: The timezone of the user. This attribute is just a place holder and has no impact on any other API services. currency: type: string description: The currency of the user. This currency will be respected while providing the response for derived API services.
    Applicable Values
    enum: - USD - AUD - BRL - CAD - EUR - GBP - HKD - IDR - INR - JPY - NZD - SGD - ZAR - CNY - VND - MYR - CHF - AED - AFA - ALL - AMD - ANG - AOA - ARS - AWG - AZM - BAM - BBD - BDT - BGL - BHD - BIF - BMD - BND - BOB - BSD - BTN - BWP - BYR - BZD - CDF - CLP - COP - CRC - CUP - CVE - CYP - CZK - DJF - DKK - DOP - DZD - EEK - EGP - ERN - ETB - FJD - FKP - GEL - GGP - GHC - GIP - GMD - GNF - GTQ - GYD - HNL - HRK - HTG - HUF - ILS - IMP - IQD - IRR - ISK - JEP - JMD - JOD - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LSL - LTL - LVL - LYD - MAD - MDL - MGF - MKD - MMK - MNT - MOP - MRO - MTL - MUR - MVR - MWK - MXN - MZM - NAD - NGN - NIO - NOK - NPR - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PYG - QAR - ROL - RUR - RWF - SAR - SBD - SCR - SDD - SEK - SHP - SIT - SKK - SLL - SOS - SPL - SRG - STD - SVC - SYP - SZL - THB - TJR - TMM - TND - TOP - TRL - TTD - TVD - TWD - TZS - UAH - UGX - UYU - UZS - VEB - VUV - WST - XAF - XAG - XAU - XCD - XDR - XOF - XPD - XPF - XPT - YER - YUM - ZMK - ZWD - ADP - ATS - BEF - BUK - CSD - CSK - DDM - DEM - ECS - ESP - FIM - GRD - GWP - IEP - ITL - LUF - MLF - NLG - PTE - SUR - TPE - UAK - XBA - XBB - XBC - XBD - XEU - XFO - XFU - XGF - XMK - XRM - XTS - YDD - YUD - ZRN - TJS - RON - BGN - BTC - XBT - CNH - RUB - TRY - GHS - TMT - ZMW - VEF - SSP - ALK locale: type: string description: The locale of the user. This locale will be considered for localization features like providing the provider information in the supported locale or providing category names in the transaction related services.
    Applicable Values
    enum: - en_US - en_AN - en_GB - en_AU - en_BE - zh_CN - en_IN - en_CA - en_ES - en_NZ - en_IE - en_IL - en_FR - en_AE - en_FJ - en_GU - en_HK - en_IT - en_JP - en_KH - en_KP - en_KR - en_MY - en_PG - en_PH - en_SB - en_SG - en_TH - en_TO - en_VN - en_VU - en_WS - es_ES - fr_CA - fr_FR - nl_AN - en_CH - en_ZA - en_CN - en_FI - en_AT - de_AT - en_DE - de_DE - de_RU - en_ID - en_MX - es_MX - en_PT - en_SE - en_GLOBAL - pt_BR - en_DK - en_BR - en_BM - en_CK - en_CO - en_JE - en_BG - en_BW - en_MW - en_KE - en_SZ - en_ZW - en_NL - nl_NL feed: description: Feed is an array of insights generated for a specific user. properties: id: type: string description: Unique BSON identifier associated with a single Insight notification.

    Endpoints - readOnly: true example: 5h7885993cd8e328288522d6 insightName: type: string description: Name of the Insight for which this notification is generated.

    Endpoints - readOnly: true example: BILL_NOT_PAID insightTitle: type: string description: Title of the Insight for which this notification is generated.

    Endpoints - readOnly: true example: Bill Not Paid insightType: type: string description: Identifies whether the insight is generated at an entity-level - per account or per view (OTHER), or if it considers all entities for the user - e.g. all accounts (AGGREGATE).

    Endpoints - readOnly: true enum: - OTHER - AGGREGATE triggerType: type: string description: triggerType of an insight defines how an Insight was triggered in the system.

    Currently following triggerType are supported - Endpoints - readOnly: true example: SCHEDULE enum: - SCHEDULE - REFRESH - EVENT createdDate: type: string description: Date and time at which this Insight was triggered

    Endpoints - readOnly: true example: '2020-05-22T07:03:55.000Z' subscription: type: array items: $ref: '#/components/schemas/subscriptionModel' basicAccount: type: array items: $ref: '#/components/schemas/BasicAccount' basicView: type: array items: $ref: '#/components/schemas/BasicView' bankAccount: type: array items: $ref: '#/components/schemas/BankAccount' cardAccount: type: array items: $ref: '#/components/schemas/CardAccount' loanAccount: type: array items: $ref: '#/components/schemas/LoanAccount' investmentAccount: type: array items: $ref: '#/components/schemas/InvestmentAccount' realEstateAccount: type: array items: $ref: '#/components/schemas/RealEstateAccount' basicMerchants: type: array items: $ref: '#/components/schemas/BasicMerchant' basicPredictedEvents: type: array items: $ref: '#/components/schemas/BasicPredictedEvent' basicTrend: type: array items: $ref: '#/components/schemas/BasicTrend' netWorthTrend: type: array items: $ref: '#/components/schemas/NetWorthTrend' accountDerived: allOf: - $ref: '#/components/schemas/AccountDerived' viewDerived: type: array items: $ref: '#/components/schemas/ViewDerived' transactionDerived: allOf: - $ref: '#/components/schemas/TransactionDerived' changeValue: type: array items: $ref: '#/components/schemas/ChangeValue' basicCategoryDetail: type: array items: $ref: '#/components/schemas/BasicCategoryDetail' basicCategoryTypeDetail: type: array items: $ref: '#/components/schemas/BasicCategoryTypeDetail' basicMerchantDetail: type: array items: $ref: '#/components/schemas/BasicMerchantDetail' basicCreditCardUtilizations: type: array items: $ref: '#/components/schemas/BasicCreditCardUtilization' statementDerived: type: array items: $ref: '#/components/schemas/StatementDerived' userDetail: type: array items: $ref: '#/components/schemas/UserDetail_2' categoryTypeDerived: type: array items: $ref: '#/components/schemas/CategoryTypeDerived' predictedInfoDerived: type: array items: $ref: '#/components/schemas/PredictedInfoDerived' required: - id - insightName - insightTitle - insightType - triggerType - createdDate - subscription Subscription: description: Details about the configurations applied for the specific insight. properties: insightName: type: string description: Unique name of each Insight in the system. 2 Insight can not have same Insight 'name'. If User wants to update his/her Subscription details, then While calling the PATCH Subscription API this 'name' field is mandatory.

    Endpoints - insightTitle: type: string description: Title of the Insight. This is an editable field by calling PATCH Subscription APIs.

    Endpoints - insightType: type: string description: Identifies whether the insight is generated at an entity-level (per account or per view), or if it considers all entities for the user - e.g. all accounts.

    Note - Do not pass the insightType attribute when doing a PATCH rquest.

    Endpoints - readOnly: true enum: - OTHER - AGGREGATE triggerType: type: string description: triggerType of an insight defines how an Insight will be triggered in the system.

    Currently following triggerType are supported - Note

    If triggerType=SCHEDULE, then the UserSubscription/CobrandSubscription API attribute 'frequency' and 'duration' may be applicable depending on the insight.

    Endpoints readOnly: true example: SCHEDULE enum: - SCHEDULE - REFRESH - EVENT containers: type: array description: Identifies the containers considered for generating an insight.

    Endpoints readOnly: true items: type: string enum: - BANK - CARD - LOAN - INVESTMENT - REALESTATE description: type: string description: A simple english description of the Insight.

    Endpoints - readOnly: true applicableEntity: type: array description: Identifies which entity (Account or View) the insight is applicable for.

    When applicableEntity is provided in the userSubscription or customerSubscription, it identifies all the entities for which the insight is capable of being generated.

    When the attribute is present in the feed API, it identifies the entitiy for which the insight was generated. Endpoints - readOnly: true example: - ACCOUNT - VIEW items: type: string enum: - ACCOUNT - VIEW 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 CategoryTypeDerived: description: provides values derived at "categoryType" level. properties: categoryType: type: string description: The categoryType of the category assigned to the transaction. This is the type field of the transaction category resource. The supported values are provided by the GET transactions/categories. readOnly: true totalSpending: description: The total amount spent by the user in the defined dateRange and categoryType. allOf: - $ref: '#/components/schemas/Money' readOnly: true dateRange: description: The date range considered to compute the values. items: $ref: '#/components/schemas/DateRange' readOnly: true link: allOf: - $ref: '#/components/schemas/Link' readOnly: true ViewLink: description: Reference path link to fetch more information about the specific VIEW. 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: /user/view/602e86d2d07b6557e8398045 required: - entityName - url Error: required: - errorCode - referenceCode - errorMessage properties: errorCode: type: string referenceCode: type: string errorMessage: type: string examples: getUserSubscriptionExample: value: userSubscription: - insightName: UPCOMING_BILLS insightTitle: Upcoming Bills insightType: OTHER triggerType: SCHEDULE containers: - BANK - CARD description: Generates an insight that lists upcoming recurring bills within a configured time period.. applicableEntity: - ACCOUNT - VIEW userConfiguration: - entityId: '12345' entityType: ACCOUNT isSubscribed: true frequency: MONTHLY threshold: - name: FUTURE value: '10' type: DAYS - entityId: absc1234 entityType: VIEW isSubscribed: true frequency: DAILY threshold: - name: FUTURE value: '12' type: DAYS customerConfiguration: - entityType: ACCOUNT isSubscribed: true frequency: MONTHLY threshold: - name: FUTURE value: '7' type: DAYS - entityType: VIEW isSubscribed: true frequency: MONTHLY threshold: - name: FUTURE value: '7' type: DAYS updateUserSubscriptionExample: value: userSubscription: - insightName: UPCOMING_BILLS userConfiguration: - entityId: '10001' entityType: ACCOUNT isSubscribed: true threshold: - name: FUTURE value: '7' type: DAYS createTriggerExample: value: trigger: - insightName: CHANGE_IN_NETWORTH overrideduplicateCheck: true entityConfig: - entityType: ACCOUNT - insightName: BILL_NOT_PAID overrideduplicateCheck: false entityConfig: - entityType: ACCOUNT entityIds: - '12345' - '12346' - entityType: VIEW entityIds: - abscdf123455fg getFeedCountExample: value: feed: total: 8 getFeedExample: value: feed: - id: 5ec7795e05584138f0d1b972 insightName: UPCOMING_BILLS insightTitle: Upcoming Bills insightType: OTHER triggerType: SCHEDULE createdDate: '2020-05-22T07:03:57Z' subscription: - entityId: '12345' entityType: ACCOUNT frequency: MONTHLY threshold: - name: FUTURE value: '7' type: DAYS basicAccount: - id: '1234567' providerName: Dag Site accountName: bank Account accountNumber: xxxx7778 accountStatus: ACTIVE accountType: OTHER isAsset: true container: Bank link: entityName: account method: GET url: /account?id=1234567&status=ACTIVE basicTransaction: - id: '3456789' amount: amount: 100.0 currency: USD date: '2019-08-19' categoryId: 39 category: Utilities link: - entityName: transaction method: GET url: /derived/transactions?transactionId=3456789&sourceType=PREDICTED categoryType: EXPENSE baseType: DEBIT description: original: Utilities simple: Payment to Utilities consumer: null sourceType: AGGREGATED merchantType: BILLER basicMerchant: name: Utilities