---
openapi: "3.0.1"
info:
  title: "Yodlee Core APIs"
  description: "This file describes the Yodlee Platform APIs using the swagger notation. You can use this swagger file to generate client side SDKs to the Yodlee Platform APIs for many different programming languages. Yodlee supports the Java SDK and it is available <a href=\"https://developer.yodlee.com/java-sdk-overview \">here</a>. You can generate a client SDK for Python, Java, JavaScript, PHP or other languages according to your development needs. For more details about the APIs, refer to <a href=\"https://developer.yodlee.com/docs/api/1.1/Overview\">Yodlee API v1.1 - Overview</a>."
  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: "Accounts"
  description: "Accounts API"
- name: "Auth"
  description: "Auth API"
- name: "Cobrand"
  description: "Cobrand API"
- name: "Configs"
  description: "Configs API"
- name: "DataExtracts"
  description: "DataExtracts API"
- name: "Derived"
  description: "Derived API"
- name: "Documents"
  description: "Documents API"
- name: "Holdings"
  description: "Holdings API"
- name: "ProviderAccounts"
  description: "Provider Accounts API"
- name: "Providers"
  description: "Providers API"
- name: "Statements"
  description: "Statements API"
- name: "Transactions"
  description: "Transactions API"
- name: "User"
  description: "Users API"
- name: "Verification"
  description: "Verification API"
- name: "Verify Account"
  description: "Verify Account API"
paths:
  /transactions:
    get:
      tags:
      - "Transactions"
      summary: "Get Transactions"
      description: "The Transaction service is used to get a list of transactions for a user.<br>By default, this service returns the last 30 days of transactions from today's date.<br>The keyword parameter performs a contains search on the original, consumer, and simple description attributes, replace the special characters #, &, and + with percent-encoding values %23, %26, and %2B respectively. Eg: for -Debit# , pass the input as -Debit%23.<br>Values for categoryId parameter can be fetched from get transaction category list service.<br> The categoryId is used to filter transactions based on system-defined category as well as user-defined category.<br>User-defined categoryIds should be provided in the filter with the prefix ''U''. E.g. U10002<br>The skip and top parameters are used for pagination. In the skip and top parameters pass the number of records to be skipped and retrieved, respectively. The response header provides the links to retrieve the next and previous set of transactions.<br>Double quotes in the merchant name will be prefixed by backslashes (&#92;) in the response, e.g. Toys \"R\" Us. <br>sourceId is a unique ID that the provider site has assigned to the transaction. The source ID is only available for the pre-populated accounts. Pre-populated accounts are the accounts that the FI customers shares with Yodlee, so that the user does not have to add or aggregate those accounts.<br><br><b>Note</b><li> <a href=\"https://developer.yodlee.com/docs/api/1.1/Transaction_Data_Enrichment\">TDE</a> is made available for bank and card accounts and for the US market only.The address field in the response is available only when the TDE key is turned on.<li>The pagination feature is available by default. If no values are passed in the skip and top parameters, the API will only return the first 500 transactions.<li>This service supports the localization feature and accepts locale as a header parameter.<br>"
      operationId: "getTransactions"
      parameters:
      - name: "accountId"
        in: "query"
        description: "Comma separated accountIds"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "baseType"
        in: "query"
        description: "DEBIT/CREDIT"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "categoryId"
        in: "query"
        description: "Comma separated categoryIds"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "categoryType"
        in: "query"
        description: "Transaction Category Type(UNCATEGORIZE, INCOME, TRANSFER, EXPENSE or DEFERRED_COMPENSATION)"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "container"
        in: "query"
        description: "bank/creditCard/investment/insurance/loan"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "detailCategoryId"
        in: "query"
        description: "Comma separated detailCategoryIds"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "fromDate"
        in: "query"
        description: "Transaction from date(YYYY-MM-DD)"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "highLevelCategoryId"
        in: "query"
        description: "Comma separated highLevelCategoryIds"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "keyword"
        in: "query"
        description: "Transaction search text"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "skip"
        in: "query"
        description: "skip (Min 0)"
        allowEmptyValue: false
        schema:
          type: "integer"
          format: "int32"
      - name: "toDate"
        in: "query"
        description: "Transaction end date (YYYY-MM-DD)"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "top"
        in: "query"
        description: "top (Max 500)"
        allowEmptyValue: false
        schema:
          type: "integer"
          format: "int32"
      - name: "type"
        in: "query"
        description: "Transaction Type(SELL,SWEEP, etc.) for bank/creditCard/investment"
        allowEmptyValue: false
        schema:
          type: "string"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/TransactionResponse"
        400:
          description: "Y800 : Invalid value for baseType<br>Y800 : Invalid value for fromDate<br>Y800 : Invalid value for category<br>Y800 : Invalid value for toDate<br>Y800 : Invalid value for container<br>Y809 : Invalid date range<br>Y804 : Permitted values of top between 1 - 500<br>Y805 : Multiple containers not supported<br>Y800 : Invalid value for transaction type<br>Y824 : The maximum number of accountIds permitted is 100<br>Y824 : The maximum number of categoryIds permitted is 100<br>Y824 : The maximum number of highLevelCategoryIds permitted is 100<br>Y848 : detailCategoryId cannot be provided as input, as the detailedCategory feature is not enabled<br>Y823 : detailCategoryId is not for applicable containers other than bank and card<br>Y824 : The maximum number of detailCategoryIds permitted is 100<br>Y800 : Invalid value for detailCategoryId"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /cobrand/login:
    post:
      tags:
      - "Cobrand"
      summary: "Cobrand Login"
      description: "The cobrand login service authenticates a cobrand.<br>Cobrand session in the response includes the cobrand session token (cobSession) <br>which is used in subsequent API calls like registering or signing in the user. <br>The idle timeout for a cobrand session is 2 hours and the absolute timeout is 24 hours. This service can be <br>invoked to create a new cobrand session token. <br><b>Note:</b> This endpoint is deprecated for customers using the API Key-based authentication and is applicable only to customers who use the SAML-based authentication.<br>The content type has to be passed as application/json for the body parameter. <br>"
      operationId: "cobrandLogin"
      requestBody:
        description: "cobrandLoginRequest"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CobrandLoginRequest"
        required: true
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/CobrandLoginResponse"
        400:
          description: "Y800 : Invalid value for cobrandParam"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Y003 : Account is locked, contact Yodlee customer care<br>Y001 : User name and password required"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /dataExtracts/userData:
    get:
      tags:
      - "DataExtracts"
      summary: "Get userData"
      description: "The get user data service is used to get a user's modified data for a particular period of time for accounts, transactions, holdings, and provider account information.<br>The time difference between fromDate and toDate fields cannot be more than 60 minutes.<br>By default, pagination is available for the transaction entity in this API. In the first response, the API will retrieve 500 transactions along with other data. The response header will provide a link to retrieve the next set of transactions.<br>In the response body of the first API response, totalTransactionsCount indicates the total number of transactions the API will retrieve for the user.<br>This service is only invoked with either admin access token or a cobrand session.<br/>Refer to <a href=\"https://developer.yodlee.com/docs/api/1.1/DataExtracts\">dataExtracts</a> page for more information.<br><br><b>Note:</b><li>This service supports the localization feature and accepts locale as a header parameter.</li>"
      operationId: "getDataExtractsUserData"
      parameters:
      - name: "fromDate"
        in: "query"
        description: "From DateTime (YYYY-MM-DDThh:mm:ssZ)"
        required: true
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "loginName"
        in: "query"
        description: "Login Name"
        required: true
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "toDate"
        in: "query"
        description: "To DateTime (YYYY-MM-DDThh:mm:ssZ)"
        required: true
        allowEmptyValue: false
        schema:
          type: "string"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/DataExtractsUserDataResponse"
        400:
          description: "Y800 : Invalid value for eventName<br>Y821 : Data update event not supported<br>Y800 : Invalid value for fromDate.fromDate cannot be greater than current time<br>Y800 : Invalid value for toDate.toDate cannot be greater than current time<br>.Y800 : Invalid value for fromDate or toDate.fromDate and toDate cannot be older than 7 days<br>Y800 : Invalid value for fromDate.fromDate can not be greater than toDate<br>Y800 : Invalid value for loginName"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /providers:
    get:
      tags:
      - "Providers"
      summary: "Get Providers"
      description: "The get provider service is used to get all the providers that are enabled, search a provider service by name or routing number and get popular sites of a region. <br>Searching for a provider using a routing number is applicable only to the USA and Canada regions.<br>The valid values for priority are: <br>   1. cobrand: Returns providers enabled for the cobrand (Default priority)<br>   2. popular: Returns providers popular among users of the customer<br><br>Only the datasets, attributes, and containers that are enabled for the customer will be returned in the response.<br>Input for the dataset$filter should adhere to the following expression:<br><dataset.name>[<attribute.name>.container[<container> OR <container>] OR <attribute.name>.container[<container>]] <br>OR <dataset.name>[<attribute.name> OR <attribute.name>]<br><b>dataset$filter value examples:</b><br>ACCT_PROFILE[FULL_ACCT_NUMBER.container[bank OR investment OR creditCard]]<br>ACCT_PROFILE[FULL_ACCT_NUMBER.container[bank]]<br>BASIC_AGG_DATA[ACCOUNT_DETAILS.container[bank OR investment] OR HOLDINGS.container[bank]] OR ACCT_PROFILE[FULL_ACCT_NUMBER.container[bank]]<br>BASIC_AGG_DATA<br>BASIC_AGG_DATA OR ACCT_PROFILE<br>BASIC_AGG_DATA [ ACCOUNT_DETAILS OR HOLDINGS ]<br>BASIC_AGG_DATA [ ACCOUNT_DETAILS] OR DOCUMENT <br>BASIC_AGG_DATA [ BASIC_ACCOUNT_INFO OR ACCOUNT_DETAILS ] <br><br>The fullAcountNumberFields is specified to filter the providers that have paymentAccountNumber or unmaskedAccountNumber support in the FULL_ACCT_NUMBER dataset attribute.<br><b>Examples for usage of fullAccountNumberFields </b><br>dataset$filter=ACCT_PROFILE[ FULL_ACCT_NUMBER.container [ bank ]] &amp; fullAccountNumberFields=paymentAccountNumber<br>dataset$filter=ACCT_PROFILE[ FULL_ACCT_NUMBER.container [ bank ]] &amp; fullAccountNumberFields=unmaskedAccountNumber<br>dataset$filter=ACCT_PROFILE[ FULL_ACCT_NUMBER.container [ bank ]] &amp; fullAccountNumberFields=unmaskedAccountNumber,paymentAccountNumber<br><br>The skip and top parameters are used for pagination. In the skip and top parameters, pass the number of records to be skipped and retrieved, respectively.<br>The response header provides the links to retrieve the next and previous set of transactions.<br><br><b>Note:</b> <ol><li>In a product flow involving user interaction, Yodlee recommends invoking this service with filters.<li>Without filters, the service may perform slowly as it takes a few minutes to return data in the response.<li>The AuthParameter appears in the response only in case of token-based aggregation sites.<li>The pagination feature only applies when the priority parameter is set as cobrand. If no values are provided in the skip and top parameters, the API will only return the first 500 records.<li>This service supports the localization feature and accepts locale as a header parameter.<li>The capability has been deprecated in query parameter and response.</li></ol>"
      operationId: "getAllProviders"
      parameters:
      - name: "capability"
        in: "query"
        description: "CHALLENGE_DEPOSIT_VERIFICATION - capability search is deprecated"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "dataset$filter"
        in: "query"
        description: "Expression to filter the providers by dataset(s) or dataset attribute(s). The default value will be the dataset or dataset attributes configured as default for the customer."
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "fullAccountNumberFields"
        in: "query"
        description: "Specify to filter the providers with values paymentAccountNumber,unmaskedAccountNumber."
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "institutionId"
        in: "query"
        description: "Institution Id for Single site selection"
        allowEmptyValue: false
        schema:
          type: "integer"
          format: "int64"
      - name: "name"
        in: "query"
        description: "Name in minimum 1 character or routing number."
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "priority"
        in: "query"
        description: "Search priority"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "providerId"
        in: "query"
        description: "Max 5 Comma seperated Provider Ids"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "skip"
        in: "query"
        description: "skip (Min 0) - This is not applicable along with 'name' parameter."
        allowEmptyValue: false
        schema:
          type: "integer"
          format: "int32"
      - name: "top"
        in: "query"
        description: "top (Max 500) - This is not applicable along with 'name' parameter."
        allowEmptyValue: false
        schema:
          type: "integer"
          format: "int32"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/ProviderResponse"
        400:
          description: "Y800 : Invalid value for priority<br>Y800 : Invalid value for providerName<br>Y801 : Invalid length for a site search. The search string must have atleast 1 character<br>Y800 : Invalid value for skip<br>Y804 : Permitted values of top between 1 - 500<br>Y821 : Dataset not supported<br>Y820 : The additionalDataSet is not supported for Get provider API"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /providers/{providerId}:
    get:
      tags:
      - "Providers"
      summary: "Get Provider Details"
      description: "The get provider detail service is used to get detailed information including the login form for a provider.<br>The response is a provider object that includes information such as name of the provider, <br>provider's base URL, a list of containers supported by the provider, the login form details of the provider, etc.<br>Only enabled datasets, attributes and containers gets returned in the response.<br><br><b>Note:</b><li>This service supports the localization feature and accepts locale as a header parameter.<li>The capability has been deprecated in the response."
      operationId: "getProvider"
      parameters:
      - name: "providerId"
        in: "path"
        description: "providerId"
        required: true
        schema:
          type: "integer"
          format: "int64"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/ProviderDetailResponse"
        400:
          description: "Y800 : Invalid value for providerId"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /cobrand/config/notifications/events/{eventName}:
    put:
      tags:
      - "Cobrand"
      summary: "Update Subscription"
      description: "<b>Refer PUT /configs/notifications/events/{eventName}.</b><br>The update events service is used to update the callback URL.<br>If the callback URL is invalid or inaccessible, the subscription will be unsuccessful, and an error will be thrown.<br><b>Note:</b> The content type has to be passed as application/json for the body parameter. <br>"
      operationId: "updateSubscribedEvent"
      parameters:
      - name: "eventName"
        in: "path"
        description: "eventName"
        required: true
        schema:
          type: "string"
          enum:
          - "REFRESH"
          - "DATA_UPDATES"
          - "AUTO_REFRESH_UPDATES"
      requestBody:
        description: "eventRequest"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateCobrandNotificationEventRequest"
        required: true
      responses:
        204:
          description: "OK"
          content: {}
        400:
          description: "Y803 : eventName required<br>Y803 : callbackUrl required<br>Y800 : Invalid value for callbackUrl"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: true
    post:
      tags:
      - "Cobrand"
      summary: "Subscribe Event"
      description: "<b>Refer POST /configs/notifications/events/{eventName}.</b><br>The subscribe events service is used to subscribe to an event for receiving notifications.<br>The callback URL, where the notification will be posted should be provided to this service.<br>If the callback URL is invalid or inaccessible, the subscription will be unsuccessful, and an error will be thrown.<br>Customers can subscribe to REFRESH,DATA_UPDATES and AUTO_REFRESH_UPDATES event.<br><br><b>Notes</b>:<br>This service is not available in developer sandbox/test environment and will be made available for testing in your dedicated environment, once the contract is signed.<br>The content type has to be passed as application/json for the body parameter.<br>"
      operationId: "createSubscriptionEvent"
      parameters:
      - name: "eventName"
        in: "path"
        description: "eventName"
        required: true
        schema:
          type: "string"
          enum:
          - "REFRESH"
          - "DATA_UPDATES"
          - "AUTO_REFRESH_UPDATES"
      requestBody:
        description: "eventRequest"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateCobrandNotificationEventRequest"
        required: true
      responses:
        201:
          description: "OK"
          content: {}
        400:
          description: "Y803 : eventName required<br>Y803 : callbackUrl required<br>Y800 : Invalid value for callbackUrl"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: true
    delete:
      tags:
      - "Cobrand"
      summary: "Delete Subscription"
      description: "<b>Refer DELETE /configs/notifications/events/{eventName}.</b><br>The delete events service is used to unsubscribe from an events service.<br>"
      operationId: "deleteSubscribedEvent"
      parameters:
      - name: "eventName"
        in: "path"
        description: "eventName"
        required: true
        schema:
          type: "string"
          enum:
          - "REFRESH"
          - "DATA_UPDATES"
          - "AUTO_REFRESH_UPDATES"
      responses:
        204:
          description: "OK"
          content: {}
        400:
          description: "Y803 : eventName required"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: true
  /configs/notifications/events:
    get:
      tags:
      - "Configs"
      summary: "Get Subscribed Notification Events"
      description: "The get events service provides the list of events for which consumers subscribed to receive notifications. <br>"
      operationId: "getSubscribedNotificationEvents"
      parameters:
      - name: "eventName"
        in: "query"
        description: "eventName"
        allowEmptyValue: false
        schema:
          type: "string"
          enum:
          - "REFRESH"
          - "DATA_UPDATES"
          - "AUTO_REFRESH_UPDATES"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/ConfigsNotificationResponse"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /providers/count:
    get:
      tags:
      - "Providers"
      summary: "Get Providers Count"
      description: "The count service provides the total number of providers that get returned in the GET /providers depending on the input parameters passed.<br>If you are implementing pagination for providers, call this endpoint before calling GET /providers to know the number of providers that are returned for the input parameters passed.<br>The functionality of the input parameters remains the same as that of the GET /providers endpoint<br><br><b>Note:</b> <li>The capability has been deprecated in the query parameter.</li>"
      operationId: "getProvidersCount"
      parameters:
      - name: "capability"
        in: "query"
        description: "CHALLENGE_DEPOSIT_VERIFICATION - capability search is deprecated"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "dataset$filter"
        in: "query"
        description: "Expression to filter the providers by dataset(s) or dataset attribute(s). The default value will be the dataset or dataset attributes configured as default for the customer."
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "fullAccountNumberFields"
        in: "query"
        description: "Specify to filter the providers with values paymentAccountNumber,unmaskedAccountNumber."
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "name"
        in: "query"
        description: "Name in minimum 1 character or routing number."
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "priority"
        in: "query"
        description: "Search priority"
        allowEmptyValue: false
        schema:
          type: "string"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/ProvidersCountResponse"
        400:
          description: "Y800 : Invalid value for priority<br>Y800 : Invalid value for providerName<br>Y801 : Invalid length for a site search. The search string must have at least 1 character<br>Y800 : Invalid value for skip<br>Y804 : Permitted values of top between 1 - 500<br>Y821 : Dataset not supported<br>Y820 : The additionalDataSet is not supported for Get provider API"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /derived/networth:
    get:
      tags:
      - "Derived"
      summary: "Get Networth Summary"
      description: "The get networth service is used to get the networth for the user.<br>If the include parameter value is passed as details then networth with historical balances is returned. <br>"
      operationId: "getNetworth"
      parameters:
      - name: "accountIds"
        in: "query"
        description: "comma separated accountIds"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "container"
        in: "query"
        description: "bank/creditCard/investment/insurance/loan/realEstate/otherAssets/otherLiabilities"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "fromDate"
        in: "query"
        description: "from date for balance retrieval (YYYY-MM-DD)"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "include"
        in: "query"
        description: "details"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "interval"
        in: "query"
        description: "D-daily, W-weekly or M-monthly"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "skip"
        in: "query"
        description: "skip (Min 0)"
        allowEmptyValue: false
        schema:
          type: "integer"
          format: "int32"
      - name: "toDate"
        in: "query"
        description: "toDate for balance retrieval (YYYY-MM-DD)"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "top"
        in: "query"
        description: "top (Max 500)"
        allowEmptyValue: false
        schema:
          type: "integer"
          format: "int32"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/DerivedNetworthResponse"
        400:
          description: "Y800 : Invalid value for accountIds<br>Y800 : Invalid value for fromDate<br>Y800 : Invalid value for toDate<br>Y809 : Invalid date range<br>Y800 : Invalid value for interval<br>Y802 : Future date not allowed<br>Y814 : Exchange rate not available for currency<br>Y800 : Invalid value for container"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /user/samlLogin:
    post:
      tags:
      - "User"
      summary: "Saml Login"
      description: "The SAML login service is used to authenticate system users with a SAML response.<br>A new user will be created with the input provided if that user isn't already in the system.<br>For existing users, the system will make updates based on changes or new information.<br>When authentication is successful, a user session token is returned.<br><br><b>Note:</b> <li>The content type has to be passed as application/x-www-form-urlencoded. <li>issuer, source and samlResponse should be passed as body parameters.</li>"
      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<br>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
  /transactions/categories/rules/{ruleId}:
    put:
      tags:
      - "Transactions"
      summary: "Update Transaction Categorization Rule"
      description: "The update transaction categorization rule service is used to update a categorization rule for both system-defined category as well as user-defined category.<br>ruleParam JSON input should be as explained in the create transaction categorization rule service.<br>The HTTP response code is 204 (Success without content).<br>"
      operationId: "updateTransactionCategorizationRule"
      parameters:
      - name: "ruleId"
        in: "path"
        description: "ruleId"
        required: true
        schema:
          type: "integer"
          format: "int64"
      requestBody:
        description: "transactionCategoriesRuleRequest"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TransactionCategorizationRuleRequest"
        required: true
      responses:
        204:
          description: "Updated Successfully"
          content: {}
        400:
          description: "Y800 : Invalid value for ruleId<br>Y806 : Invalid input"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
    post:
      tags:
      - "Transactions"
      summary: "Run Transaction Categorization Rule"
      description: "The run transaction categorization rule service is used to run a rule on transactions, to categorize the transactions.<br>The HTTP response code is 204 (Success with no content).<br>"
      operationId: "runTransactionCategorizationRule"
      parameters:
      - name: "action"
        in: "query"
        required: true
        schema:
          type: "string"
          default: "run"
          enum:
          - "run"
      - name: "ruleId"
        in: "path"
        description: "Unique id of the categorization rule"
        required: true
        schema:
          type: "integer"
          format: "int64"
      responses:
        204:
          description: "Run Successfully"
          content: {}
        400:
          description: "Y800 : Invalid value for ruleId<br>Y400 : Categorization already in progress"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
    delete:
      tags:
      - "Transactions"
      summary: "Delete Transaction Categorization Rule"
      description: "The delete transaction categorization rule service is used to delete the given user-defined transaction categorization rule for both system-defined category as well as user-defined category.<br>This will delete all the corresponding rule clauses associated with the rule.<br>The HTTP response code is 204 (Success without content).<br>"
      operationId: "deleteTransactionCategorizationRule"
      parameters:
      - name: "ruleId"
        in: "path"
        description: "ruleId"
        required: true
        schema:
          type: "integer"
          format: "int64"
      responses:
        204:
          description: "Deleted Successfully"
          content: {}
        400:
          description: "Y800 : Invalid value for ruleId"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /documents/{documentId}:
    get:
      tags:
      - "Documents"
      summary: "Download a Document"
      description: "The get document details service allows consumers to download a document. The document is provided in base64.<br>This API is a premium service which requires subscription in advance to use.  Please contact Yodlee Client Services for more information. <br>"
      operationId: "downloadDocument"
      parameters:
      - name: "documentId"
        in: "path"
        description: "documentId"
        required: true
        schema:
          type: "string"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/DocumentDownloadResponse"
        400:
          description: "Y800 : Invalid value for documentId"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
    delete:
      tags:
      - "Documents"
      summary: "Delete Document"
      description: "The delete document service allows the consumer to delete a document. The deleted document will not be returned in the get documents API. The HTTP response code is 204 (success without content).<br>Documents can be deleted only if the document related dataset attributes are subscribed.<br>"
      operationId: "deleteDocument"
      parameters:
      - name: "documentId"
        in: "path"
        description: "documentId"
        required: true
        schema:
          type: "string"
      responses:
        204:
          description: "OK"
          content: {}
        400:
          description: "Y800 : Invalid value for documentId<br>Y868 : No action is allowed, as the data is being migrated to the Open Banking provider<br>"
          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: "Get Access Tokens"
      description: "The Get Access Tokens service is used to retrieve the access tokens for the application id(s) provided.<br>URL in the response can be used to launch the application for which token is requested.<br><br><b>Note:</b> <li>This endpoint is deprecated for customers using the API Key-based authentication and is applicable only to customers who use the SAML-based authentication.<br>"
      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
  /cobrand/logout:
    post:
      tags:
      - "Cobrand"
      summary: "Cobrand Logout"
      description: "The cobrand logout service is used to log out the cobrand.<br>This service does not return a response. The HTTP response code is 204 (Success with no content).<br><b>Note:</b> This endpoint is deprecated for customers using the API Key-based authentication and is applicable only to customers who use the SAML-based authentication.<br>"
      operationId: "cobrandLogout"
      responses:
        204:
          description: "Logout successful"
          content: {}
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /providerAccounts/{providerAccountId}/preferences:
    put:
      tags:
      - "ProviderAccounts"
      summary: "Update Preferences"
      description: "This endpoint is used to update preferences like data extracts and auto refreshes without triggering refresh for the providerAccount.<br>Setting isDataExtractsEnabled to false will not trigger data extracts notification and dataExtracts/events will not reflect any data change that is happening for the providerAccount.<br>Modified data will not be provided in the dataExtracts/userData endpoint.<br>Setting isAutoRefreshEnabled to false will not trigger auto refreshes for the provider account.<br>"
      operationId: "updatePreferences"
      parameters:
      - name: "providerAccountId"
        in: "path"
        description: "providerAccountId"
        required: true
        schema:
          type: "integer"
          format: "int64"
      requestBody:
        description: "preferences"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProviderAccountPreferencesRequest"
        required: true
      responses:
        204:
          description: "OK"
          content: {}
        400:
          description: "Y800 : Invalid value for preferences<br>Y800 : Invalid value for preferences.isDataExtractsEnabled<br>Y800 : Invalid value for preferences.isAutoRefreshEnabled<br>Y807 : Resource not found<br>Y830 : Data extracts feature has to be enabled to set preferences.isDataExtractsEnabled as true<br>Y830 : Auto refresh feature has to be enabled to set preferences.isAutoRefreshEnabled as true<br>Y868 : No action is allowed, as the data is being migrated to the Open Banking provider<br>"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /auth/token:
    post:
      tags:
      - "Auth"
      summary: "Generate Access Token"
      description: "<b>Generate Access Token using client credential authentication.</b><br>This service returns access tokens required to access Yodlee 1.1 APIs. These tokens are the simplest and easiest of several alternatives for authenticating with Yodlee servers.<br>The most commonly used services obtain data specific to an end user (your customer). For these services, you need a <b>user access token</b>. These are simply tokens created with the user name parameter (<b>loginName</b>) set to the id of your end user.  <i><br><br><b>Note:</b> You determine this id and you must ensure it's unique among all your customers.</i> <br><br>Each token issued has an associated user. The token passed in the http headers explicitly names the user referenced in that API call.<br><br>Some of the APIs do administrative work, and don't reference an end user. <br/>One example of administrative work is key management. Another example is registering a new user explicitly, with <b>POST /user/register</b> call or subscribe to webhook, with <b>POST /config/notifications/events/{eventName}</b>. <br/>To invoke these, you need an <b>admin access token</b>. Create this by passing in your admin user login name in place of a regular user name.<br><br>This service also allows for simplified registration of new users. Any time you pass in a user name not already in use, the system will automatically implicitly create a new user for you. <br>This user will naturally have very few associated details. You can later provide additional user information by calling the <b>PUT user/register service</b>.<br><br><b>Notes:</b><li>The content type has to be passed as application/x-www-form-urlencoded.<li>Upgrading to client credential authentication requires infrastructure reconfiguration. <li>Customers wishing to switch from another authentication scheme to client credential authentication, please contact Yodlee Client Services.</li>"
      operationId: "generateAccessToken"
      responses:
        201:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/ClientCredentialTokenResponse"
        400:
          description: "Y800 : Invalid value for loginName<br>Y806 : Invalid input<br>Y801 : Invalid length for loginName<br>Y303 : clientId or secret is missing<br>Y301 : Invalid clientId or secret<br>Y305 : Access token can be issued only for pre-registered users<br>Y004 : Inactive user<br>Y901 : Service not supported<br>"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Y016 : loginName header missing<br>Y015 : Unauthorized User<br>Y016 : Api-Version header missing<br>Y020 : Invalid token in authorization header<br>Y027 : Unsupported authentication type"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        404:
          description: "Not Found"
          content: {}
      deprecated: false
    delete:
      tags:
      - "Auth"
      summary: "Delete Token"
      description: "This endpoint revokes the token passed in the Authorization header. This service is applicable for JWT-based (and all API key-based) authentication and also client credential (clientId and secret) based authentication. This service does not return a response body. The HTTP response code is 204 (success with no content). <br>Tokens generally have limited lifetime of up to 30 minutes. You will call this service when you finish working with one user, and you want to delete the valid token rather than simply letting it expire.<br><br><b>Note:</b> <li>Revoking an access token (either type, admin or a user token) can take up to 2 minutes, as the tokens are stored on a distributed system.<br/>"
      operationId: "deleteToken"
      responses:
        204:
          description: "No Content"
          content: {}
        401:
          description: "Y020 : Invalid token in authorization header<br>Y023 : Token has expired<br>Y016 : Api-Version header missing<br>Y015 : Unauthorized User<br>Y027 : Unsupported authentication type<br>Y007 : Authorization header missing<br>Y020 : Invalid token in authorization header"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /user:
    get:
      tags:
      - "User"
      summary: "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.<br>"
      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: "Update User Details"
      description: "The update user details service is used to update user details like name, address, currency preference, etc.<br>Currency provided in the input will be respected in the <a href=\"https://developer.yodlee.com/api-reference#tag/Derived\">derived</a> services and the amount fields in the response will be provided in the preferred currency.<br>The HTTP response code is 204 (Success without content). <br>"
      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
  /providerAccounts/{providerAccountId}:
    get:
      tags:
      - "ProviderAccounts"
      summary: "Get Provider Account Details"
      description: "The get provider account details service is used to learn the status of adding accounts and updating accounts.<br>This service has to be called continuously to know the progress level of the triggered process. This service also provides the MFA information requested by the provider site.<br>When <i>include = credentials</i>, questions is passed as input, the service returns the credentials (non-password values) and questions stored in the Yodlee system for that provider account. <br><br><b>Note:</b> <li>The password and answer fields are not returned in the response.</li>"
      operationId: "getProviderAccount"
      parameters:
      - name: "include"
        in: "query"
        description: "include credentials,questions"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "providerAccountId"
        in: "path"
        description: "providerAccountId"
        required: true
        schema:
          type: "integer"
          format: "int64"
      - name: "requestId"
        in: "query"
        description: "The unique identifier for the request that returns contextual data"
        allowEmptyValue: false
        schema:
          type: "string"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/ProviderAccountDetailResponse"
        400:
          description: "Y800 : Invalid value for providerAccountId<br>Y816 : questions can only be requested for questionAndAnswer Supported Sites"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
    delete:
      tags:
      - "ProviderAccounts"
      summary: "Delete Provider Account"
      description: "The delete provider account service is used to delete a provider account from the Yodlee system. This service also deletes the accounts that are created in the Yodlee system for that provider account. <br>This service does not return a response. The HTTP response code is 204 (Success with no content).<br>"
      operationId: "deleteProviderAccount"
      parameters:
      - name: "providerAccountId"
        in: "path"
        description: "providerAccountId"
        required: true
        schema:
          type: "integer"
          format: "int64"
      responses:
        200:
          description: "OK"
          content: {}
        400:
          description: "Y800 : Invalid value for providerAccountId<br>Y868 : No action is allowed, as the data is being migrated to the Open Banking provider<br>"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /accounts:
    get:
      tags:
      - "Accounts"
      summary: "Get Accounts"
      description: "The get accounts service provides information about accounts added by the user.<br>By default, this service returns information for active and to be closed accounts.<br>If requestId is provided, the accounts that are updated in the context of the requestId will be provided in the response.<br><br><b>Note:</b><br><li>fullAccountNumber is deprecated and is replaced with fullAccountNumberList in include parameter and response.</li><li>fullAccountNumberList, PII (Personal Identifiable Information) and holder details are not available by default, as it is a premium feature that needs security approval. This will not be available for testing in Sandbox environment.</li>"
      operationId: "getAllAccounts"
      parameters:
      - name: "accountId"
        in: "query"
        description: "Comma separated accountIds."
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "container"
        in: "query"
        description: "bank/creditCard/investment/insurance/loan/reward/realEstate/otherAssets/otherLiabilities"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "include"
        in: "query"
        description: "profile, holder, fullAccountNumber, fullAccountNumberList, paymentProfile, autoRefresh<br><b>Note:</b>fullAccountNumber is deprecated and is replaced with fullAccountNumberList in include parameter and response."
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "providerAccountId"
        in: "query"
        description: "Comma separated providerAccountIds."
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "requestId"
        in: "query"
        description: "The unique identifier that returns contextual data"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "status"
        in: "query"
        description: "ACTIVE,INACTIVE,TO_BE_CLOSED,CLOSED"
        allowEmptyValue: false
        schema:
          type: "string"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/AccountResponse"
        400:
          description: "Y800 : Invalid value for status<br>Y800 : Invalid value for container<br>Y800 : Invalid value for providerAccountId<br>Y824 : The maximum number of accountIds permitted is 100"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
    post:
      tags:
      - "Accounts"
      summary: "Add Manual Account"
      description: "The add account service is used to add manual accounts.<br>The response of add account service includes the account name , account number and Yodlee generated account id.<br>All manual accounts added will be included as part of networth calculation by default.<br>Add manual account support is available for bank, card, investment, insurance and loan container only.<br><br><b>Note:</b> <li>A real estate account addition is only supported for SYSTEM and MANUAL valuation type.</li>"
      operationId: "createManualAccount"
      requestBody:
        description: "accountParam"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateAccountRequest"
        required: true
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/CreatedAccountResponse"
        400:
          description: "Y800 : Invalid value for accountParam<br>Y811 : Real Estate Property value already exists<br>Y862 : The provided address is invalid, or the valuation is not available<br>Y869 : Multiple matches found. Provide the complete address or call the POST /accounts/evaluateAddress API to retrieve the list of matched addresses<br>"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /user/unregister:
    delete:
      tags:
      - "User"
      summary: "Delete User"
      description: "The delete user service is used to delete or unregister a user from Yodlee. <br>Once deleted, the information related to the users cannot be retrieved. <br>The HTTP response code is 204 (Success without content)<br>"
      operationId: "unregister"
      responses:
        204:
          description: "No Content"
          content: {}
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /holdings/assetClassificationList:
    get:
      tags:
      - "Holdings"
      summary: "Get Asset Classification List"
      description: "The get asset classifications list service is used to get the supported asset classifications. <br>The response includes different classification types like assetClass, country, sector, style, etc. and the values corresponding to each type.<br>"
      operationId: "getAssetClassificationList"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/HoldingAssetClassificationListResponse"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /verifyAccount/{providerAccountId}:
    post:
      tags:
      - "Verify Account"
      summary: "Verify Accounts Using Transactions"
      description: "The verify account service is used to verify the account's ownership by  matching the transaction details with the accounts aggregated for the user.<br><ul><li>If a match is identified, the service returns details of all the accounts along with the matched transaction's details.<li>If no transaction match is found, an empty response will be returned.<li>A maximum of 5 transactionCriteria can be passed in a request.<li>The baseType, date, and amount parameters should mandatorily be passed.<li>The optional dateVariance parameter cannot be more than 7 days. For example, +7, -4, or +/-2.<li>Pass the container or accountId parameters for better performance.<li>This service supports the localization feature and accepts locale as a header parameter.</li></ul>"
      operationId: "initiateAccountVerification"
      parameters:
      - name: "providerAccountId"
        in: "path"
        description: "providerAccountId"
        required: true
        schema:
          type: "string"
      requestBody:
        description: "verificationParam"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/VerifyAccountRequest"
        required: true
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/VerifyAccountResponse"
        400:
          description: "Y800 : Invalid value for container<br>Y800 : Invalid value for accountId<br>Y800 : Invalid value for amount<br>Y800 : Invalid value for dateVariance<br>Y801 : Invalid length for keyword<br>Y804 : Permitted values of dateVariance between 1 - 7<br>Y806 : Invalid input<br>Y807 : Resource not found<br>Y809 : Invalid date range<br>Y812 : Required field/value - transactionCriteria missing in the input<br>Y812 : Required field/value - amount missing in the transactionCriteria<br>Y812 : Required field/value - amount date in the transactionCriteria<br>Y812 : Required field/value - baseType missing in the transactionCriteria<br>Y823 : Transaction not applicable for container <br>Y824 : The maximum number of transactionCriteria permitted is 5<br>Y857 : Transactions are not refreshed in the past 24 hours<br>Y858 : Only active accounts can be verified<br>Y901 : Service not supported<br>"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /configs/publicKey:
    get:
      tags:
      - "Configs"
      summary: "Get Public Key"
      description: "The get public key service provides the public key that should be used to encrypt user credentials while invoking POST /providerAccounts and PUT /providerAccounts endpoints.<br>This service will only work if the PKI (public key infrastructure) feature is enabled for the customer.<br><br><b>Note:</b><li> The key in the response is a string in PEM format.</li><li>This endpoint is not available in the Sandbox environment and it is useful only if the PKI feature is enabled.</li>"
      operationId: "getPublicEncryptionKey"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/ConfigsPublicKeyResponse"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /auth/apiKey/{key}:
    delete:
      tags:
      - "Auth"
      summary: "Delete API Key"
      description: "This endpoint allows an existing API key to be deleted.<br>You can use one of the following authorization methods to access this API:<br><ol><li>cobsession</li><li>JWT token</li></ol> <b>Notes:</b> <li>This service is not available in developer sandbox environment and will be made availablefor testing in your dedicated environment. "
      operationId: "deleteApiKey"
      parameters:
      - name: "key"
        in: "path"
        description: "key"
        required: true
        schema:
          type: "string"
      responses:
        201:
          description: "OK"
          content: {}
        204:
          description: "No Content"
          content: {}
        400:
          description: "Y807 : Resource not found<br>Y806 : Invalid input"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /providerAccounts:
    get:
      tags:
      - "ProviderAccounts"
      summary: "Get Provider Accounts"
      description: "The get provider accounts service is used to return all the provider accounts added by the user. <br>This includes the failed and successfully added provider accounts.<br>"
      operationId: "getAllProviderAccounts"
      parameters:
      - name: "include"
        in: "query"
        description: "include"
        schema:
          type: "string"
      - name: "providerIds"
        in: "query"
        description: "Comma separated providerIds."
        allowEmptyValue: false
        schema:
          type: "string"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/ProviderAccountResponse"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
    put:
      tags:
      - "ProviderAccounts"
      summary: "Update Account"
      description: "The update account API is used to:<br> <ul><li>Retrieve the latest information for accounts that belong to one providerAccount from the provider site. You must allow at least 15 min between requests.<li>Retrieve the latest information of all the eligible accounts that belong to the user.<li>Data to be retrieved from the provider site can be overridden using datasetName or dataset. If you do pass datasetName, all the datasets that are implicitly configured for the dataset will be retrieved. This action is allowed for single provider account refresh flows only.<li>Check the status of the providerAccount before invoking this API. Do not call this API to trigger any action on a providerAccount when an action is already in progress for the providerAccount.<li>If the customer has subscribed to the REFRESH event notification and invoked this API, relevant notifications will be sent to the customer.<li>A dataset may depend on another dataset for retrieval, so the response will include the requested and dependent datasets.<li>Check all the dataset additional statuses returned in the response because the provider account status is drawn from the dataset additional statuses.<li>Updating preferences using this API will trigger refreshes.<li> The content type has to be passed as application/json for the body parameter.</ul><br>-----------------------------------------------------------------------------------------------------------------------------------------<br><br><b>Update All Eligible Accounts - Notes:</b><br><ul><li>This API will trigger a refresh for all the eligible provider accounts(both OB and credential-based accounts).<li>This API will not refresh closed, inactive, or UAR accounts, or accounts with refreshes in-progress or recently refreshed non-OB accounts.<li>No parameters should be passed to this API to trigger this action.<li>Do not call this API often. Our recommendation is to call this only at the time the user logs in to your app because it can hamper other API calls performance.<li>The response only contains information for accounts that were refreshed. If no accounts are eligible for refresh, no response is returned.</ul>"
      operationId: "editCredentialsOrRefreshProviderAccount"
      parameters:
      - name: "providerAccountIds"
        in: "query"
        description: "comma separated providerAccountIds"
        required: true
        allowEmptyValue: false
        schema:
          type: "string"
      requestBody:
        description: "loginForm or field entity"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ProviderAccountRequest"
        required: false
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/UpdatedProviderAccountResponse"
        400:
          description: "Y805 : Multiple providerAccountId not supported for updating credentials<br>Y800 : Invalid value for credentialsParam<br>Y400 : id and value in credentialsParam are mandatory<br>Y806 : Invalid input<br>Y823 : Credentials are not applicable for real estate aggregated / manual accounts<br>Y868 : No action is allowed, as the data is being migrated to the Open Banking provider<br>"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /transactions/count:
    get:
      tags:
      - "Transactions"
      summary: "Get Transactions Count"
      description: "The count service provides the total number of transactions for a specific user depending on the input parameters passed.<br>If you are implementing pagination for transactions, call this endpoint before calling GET /transactions to know the number of transactions that are returned for the input parameters passed.<br>The functionality of the input parameters remains the same as that of the GET /transactions endpoint.<br>"
      operationId: "getTransactionsCount"
      parameters:
      - name: "accountId"
        in: "query"
        description: "Comma separated accountIds\t"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "baseType"
        in: "query"
        description: "DEBIT/CREDIT"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "categoryId"
        in: "query"
        description: "Comma separated categoryIds"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "categoryType"
        in: "query"
        description: "Transaction Category Type(UNCATEGORIZE, INCOME, TRANSFER, EXPENSE or DEFERRED_COMPENSATION)"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "container"
        in: "query"
        description: "bank/creditCard/investment/insurance/loan"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "detailCategoryId"
        in: "query"
        description: "Comma separated detailCategoryIds"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "fromDate"
        in: "query"
        description: "Transaction from date(YYYY-MM-DD)"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "highLevelCategoryId"
        in: "query"
        description: "Comma separated highLevelCategoryIds"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "keyword"
        in: "query"
        description: "Transaction search text\t"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "toDate"
        in: "query"
        description: "Transaction end date (YYYY-MM-DD)"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "type"
        in: "query"
        description: "Transaction Type(SELL,SWEEP, etc.)"
        allowEmptyValue: false
        schema:
          type: "string"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/TransactionCountResponse"
        400:
          description: "Y800 : Invalid value for detailCategoryId<br>Y848 : detailCategoryId cannot be provided as input, as the detailedCategory feature is not enabled<br>Y823 : detailCategoryId is not applicable for containers other than bank and card<br>Y824 : The maximum number of detailCategoryIds permitted is 100<br>"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /derived/transactionSummary:
    get:
      tags:
      - "Derived"
      summary: "Get Transaction Summary"
      description: "The transaction summary service provides the summary values of transactions for the given date range by category type, high-level categories, or system-defined categories.<br><br>Yodlee has the transaction data stored for a day, month, year and week per category as per the availability of user's data. If the include parameter value is passed as details, then summary details will be returned depending on the interval passed-monthly is the default.<br><br><b>Notes:</b><ol> <li> Details can be requested for only one system-defined category<li>Passing categoryType is mandatory except when the groupBy value is CATEGORY_TYPE<li>Dates will not be respected for monthly, yearly, and weekly details<li>When monthly details are requested, only the fromDate and toDate month will be respected<li>When yearly details are requested, only the fromDate and toDate year will be respected<li>For weekly data points, details will be provided for every Sunday date available within the fromDate and toDate<li>This service supports the localization feature and accepts locale as a header parameter</li></ol>"
      operationId: "getTransactionSummary"
      parameters:
      - name: "accountId"
        in: "query"
        description: "comma separated account Ids"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "categoryId"
        in: "query"
        description: "comma separated categoryIds"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "categoryType"
        in: "query"
        description: "INCOME, EXPENSE, TRANSFER, UNCATEGORIZE or DEFERRED_COMPENSATION"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "fromDate"
        in: "query"
        description: "YYYY-MM-DD format"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "groupBy"
        in: "query"
        description: "CATEGORY_TYPE, HIGH_LEVEL_CATEGORY or CATEGORY"
        required: true
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "include"
        in: "query"
        description: "details"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "includeUserCategory"
        in: "query"
        description: "TRUE/FALSE"
        allowEmptyValue: false
        schema:
          type: "boolean"
      - name: "interval"
        in: "query"
        description: "D-daily, W-weekly, M-mothly or Y-yearly"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "toDate"
        in: "query"
        description: "YYYY-MM-DD format"
        allowEmptyValue: false
        schema:
          type: "string"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/DerivedTransactionSummaryResponse"
        400:
          description: "Y010 : Invalid session<br>Y800 : Invalid value for accountId<br>Y800 : Invalid value for groupBy<br>Y803 : groupBy required<br>Y803 : categoryType required<br>Y800 : Invalid value for categoryId<br>Y800 : Invalid value for fromDate<br>Y800 : Invalid value for toDate<br>Y800 : Invalid value for fromDate or toDate<br>Y814 : Exchange rate not available for currency<br>Y815 : Cannot apply filter on categoryId if groupBy value is CATEGORY_TYPE<br>Y816 : User-defined category details can only be requested for one system categoryId with groupBy='CATEGORY'<br>Y824 : The maximum number of accountIds permitted is 100<br>Y824 : The maximum number of categoryIds permitted is 100<br>Y824 : The maximum number of categoryTypes permitted is 100"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /transactions/categories/txnRules:
    get:
      tags:
      - "Transactions"
      summary: "Get Transaction Categorization Rules"
      description: "The get transaction categorization rule service is used to get all the categorization rules.<br>"
      operationId: "getTransactionCategorizationRules"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/TransactionCategorizationRuleResponse"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /transactions/categories/{categoryId}:
    delete:
      tags:
      - "Transactions"
      summary: "Delete Category"
      description: "The delete transaction categories service is used to delete the given user-defined category.<br>The HTTP response code is 204 (Success without content).<br>"
      operationId: "deleteTransactionCategory"
      parameters:
      - name: "categoryId"
        in: "path"
        description: "categoryId"
        required: true
        schema:
          type: "integer"
          format: "int64"
      responses:
        204:
          description: "Deleted Successfully"
          content: {}
        400:
          description: "Y800 : Invalid value for categoryId"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /documents:
    get:
      tags:
      - "Documents"
      summary: "Get Documents"
      description: "The get documents service allows customers to search or retrieve metadata related to documents. <br>The API returns the document as per the input parameters passed. If no date range is provided then all downloaded documents will be retrieved. Details of deleted documents or documents associated to closed providerAccount will not be returned. <br>This API is a premium service which requires subscription in advance to use.  Please contact Yodlee Client Services for more information. <br>"
      operationId: "getDocuments"
      parameters:
      - name: "Keyword"
        in: "query"
        description: "The string used to search a document by its name."
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "accountId"
        in: "query"
        description: "The unique identifier of an account. Retrieve documents for a given accountId."
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "docType"
        in: "query"
        description: "Accepts only one of the following valid document types: STMT, TAX, and EBILL."
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "fromDate"
        in: "query"
        description: "The date from which documents have to be retrieved."
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "toDate"
        in: "query"
        description: "The date to which documents have to be retrieved."
        allowEmptyValue: false
        schema:
          type: "string"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/DocumentResponse"
        400:
          description: "Y800 : Invalid value for accountId<br>Y800 : Invalid value for fromDate<br>Y800 : Invalid value for toDate<br>Y800 : Invalid value for docType"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /accounts/evaluateAddress:
    post:
      tags:
      - "Accounts"
      summary: "Evaluate Address"
      description: "Use this service to validate the address before adding the real estate account.<br>If the address is valid, the service will return the complete address information.<br>The response will contain multiple addresses if the user-provided input matches with multiple entries in the vendor database.<br>In the case of multiple matches, the user can select the appropriate address from the list and then invoke the add account service with the complete address.<br><br><b>Note:</b> <li>Yodlee recommends to use this service before adding the real estate account to avoid failures.</li>"
      operationId: "evaluateAddress"
      requestBody:
        description: "addressParam"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EvaluateAddressRequest"
        required: true
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/EvaluateAddressResponse"
        400:
          description: "Y806 : Invalid input<br>Y800 : Invalid value for zip<br>Y812 : Required field/value - address missing in the request<br>Y812 : Required field/value - street missing in the request<br>Y812 : Required field/value - state & city / zip missing in the request"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /accounts/{accountId}:
    get:
      tags:
      - "Accounts"
      summary: "Get Account Details"
      description: "The get account details service provides detailed information of an account.<br><br><b>Note:</b><li>fullAccountNumber is deprecated and is replaced with fullAccountNumberList in include parameter and response.</li>"
      operationId: "getAccount"
      parameters:
      - name: "accountId"
        in: "path"
        description: "accountId"
        required: true
        schema:
          type: "integer"
          format: "int64"
      - name: "include"
        in: "query"
        description: "profile, holder, fullAccountNumber, fullAccountNumberList, paymentProfile, autoRefresh<br><b>Note:</b>fullAccountNumber is deprecated and is replaced with fullAccountNumberList in include parameter and response."
        allowEmptyValue: false
        schema:
          type: "string"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/AccountResponse"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
    put:
      tags:
      - "Accounts"
      summary: "Update Account"
      description: "The update account service is used to update manual and aggregated accounts.<br>The HTTP response code is 204 (Success without content).<br>Update manual account support is available for bank, card, investment, insurance, loan, otherAssets, otherLiabilities and realEstate containers only.<br><br><b>Note:</b><li> A real estate account update is only supported for SYSTEM and MANUAL valuation type.</li><li> Attribute <b>isEbillEnrolled</b> is deprecated as it is applicable for bill accounts only.</li>"
      operationId: "updateAccount"
      parameters:
      - name: "accountId"
        in: "path"
        description: "accountId"
        required: true
        schema:
          type: "integer"
          format: "int64"
      requestBody:
        description: "accountRequest"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateAccountRequest"
        required: true
      responses:
        204:
          description: "OK"
          content: {}
        400:
          description: "Y800 : Invalid value for accountId<br>Y800 : Invalid value for updateParam<br>Y862 : The provided address is invalid, or the valuation is not available<br>Y868 : No action is allowed, as the data is being migrated to the Open Banking provider<br>Y869 : Multiple matches found. Provide the complete address or call the POST /accounts/evaluateAddress API to retrieve the list of matched addresses<br>"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
    delete:
      tags:
      - "Accounts"
      summary: "Delete Account"
      description: "The delete account service allows an account to be deleted.<br>This service does not return a response. The HTTP response code is 204 (Success with no content).<br>"
      operationId: "deleteAccount"
      parameters:
      - name: "accountId"
        in: "path"
        description: "accountId"
        required: true
        schema:
          type: "integer"
          format: "int64"
      responses:
        204:
          description: "OK"
          content: {}
        400:
          description: "Y800 : Invalid value for accountId<br>Y807 : Resource not found<br>Y868 : No action is allowed, as the data is being migrated to the Open Banking provider<br>"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /accounts/historicalBalances:
    get:
      tags:
      - "Accounts"
      summary: "Get Historical Balances"
      description: "The historical balances service is used to retrieve the historical balances for an account or a user.<br>Historical balances are daily (D), weekly (W), and monthly (M). <br>The interval input should be passed as D, W, and M to retrieve the desired historical balances. The default interval is daily (D). <br>When no account id is provided, historical balances of the accounts that are active, to be closed, and closed are provided in the response. <br>If the fromDate and toDate are not passed, the last 90 days of data will be provided. <br>The fromDate and toDate should be passed in the YYYY-MM-DD format. <br>The date field in the response denotes the date for which the balance is requested.<br>includeCF needs to be sent as true if the customer wants to return carried forward balances for a date when the data is not available. <br>asofDate field in the response denotes the date as of which the balance was updated for that account.<br>When there is no balance available for a requested date and if includeCF is sent as true, the previous date for which the balance is available is provided in the response. <br>When there is no previous balance available, no data will be sent."
      operationId: "getHistoricalBalances"
      parameters:
      - name: "accountId"
        in: "query"
        description: "accountId"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "fromDate"
        in: "query"
        description: "from date for balance retrieval (YYYY-MM-DD)"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "includeCF"
        in: "query"
        description: "Consider carry forward logic for missing balances"
        allowEmptyValue: false
        schema:
          type: "boolean"
      - name: "interval"
        in: "query"
        description: "D-daily, W-weekly or M-monthly"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "skip"
        in: "query"
        description: "skip (Min 0)"
        allowEmptyValue: false
        schema:
          type: "integer"
          format: "int32"
      - name: "toDate"
        in: "query"
        description: "toDate for balance retrieval (YYYY-MM-DD)"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "top"
        in: "query"
        description: "top (Max 500)"
        allowEmptyValue: false
        schema:
          type: "integer"
          format: "int32"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/AccountHistoricalBalancesResponse"
        400:
          description: "Y800 : Invalid value for accountId<br>Y800 : Invalid value for fromDate<br>Y800 : Invalid value for toDate<br>Y809 : Invalid date range<br>Y800 : Invalid value for interval<br>Y802 : Future date not allowed"
          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: "Register User"
      description: "The register user service is used to register a user in Yodlee.<br>The loginName cannot include spaces and must be between 3 and 150 characters.<br>locale passed must be one of the supported locales for the customer. <br>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.<br>userParam is accepted as a body parameter. <br><br><b>Note:</b> <li>The content type has to be passed as application/json for the body parameter.</li>"
      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<br>Y800 : Invalid value for email<br>Y801 : Invalid length for loginName<br>"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /providerAccounts/profile:
    get:
      tags:
      - "ProviderAccounts"
      summary: "Get User Profile Details"
      description: "The get provider accounts profile service is used to return the user profile details that are associated to the provider account. <br>"
      operationId: "getProviderAccountProfiles"
      parameters:
      - name: "providerAccountId"
        in: "query"
        description: "Comma separated providerAccountIds."
        allowEmptyValue: false
        schema:
          type: "string"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/ProviderAccountUserProfileResponse"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /verification:
    get:
      tags:
      - "Verification"
      summary: "Get Verification Status"
      description: "The get verification status service is used to retrieve the verification status of all accounts for which the MS or CDV process has been initiated.<br>For the MS process, the account details object returns the aggregated information of the verified accounts. For the CDV process, the account details object returns the user provided account information.<br>"
      operationId: "getVerificationStatus"
      parameters:
      - name: "accountId"
        in: "query"
        description: "Comma separated accountId"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "providerAccountId"
        in: "query"
        description: "Comma separated providerAccountId"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "verificationType"
        in: "query"
        description: "verificationType"
        allowEmptyValue: false
        schema:
          type: "string"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/VerificationStatusResponse"
        400:
          description: "Y901 : Service not supported<br>Y813 : Either of accountId or providerAccountId should be provided<br>Y800 : Invalid value for accountId<br>Y800 : Invalid value for verification.verificationType<br>Y800 : Invalid value for providerAccountId<br>Y835 : Account(s) not eligible for Matching verification<br>Y836 : No verification initiated"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
    put:
      tags:
      - "Verification"
      summary: "Verify Challenge Deposit"
      description: "The put verification service is used to complete the challenge deposit verification (CDV) process.<br>This service is used only by the customer of CDV flow.<br>In the CDV process, the user-provided microtransaction details (i.e., credit and debit) is matched against the microtransactions posted by Yodlee. For a successful verification of the account's ownership both the microtransaction details should match.<br>The CDV process is currently supported only in the United States.<br><br><b>Notes:</b><ul><li>This endpoint cannot be used to test the CDV functionality in the developer sandbox or test environment. You will need a money transmitter license to implement the CDV functionality and also require the Yodlee Professional Services team's assistance to set up a dedicated environment.</li></ul>"
      operationId: "verifyChallengeDeposit"
      requestBody:
        description: "verification information"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateVerificationRequest"
        required: true
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/VerificationResponse"
        400:
          description: "Y901 : Service not supported<br>Y812 : Required field/value - verification.verificationType missing in the verificationParam<br>Y812 : Required field/value - amount.amount missing in the verificationParam<br>Y812 : Required field/value - baseType missing in the verificationParam<br>Y812 : Required field/value - currency missing in the verificationParam<br>Y812 : Required field/value - providerAccountId missing in the verificationParam<br>Y812 : Required field/value - accountId missing in the verificationParam<br>Y800 : Invalid value for verificationParam<br>Y800 : Invalid value for verification.verificationType<br>Y800 : Invalid value for baseType<br>Y800 : Invalid value for providerAccountId<br>Y800 : Invalid value for accountId<br>Y813 : Transaction should be provided<br>Y801 : Invalid length for accountNumber<br>Y801 : Invalid length for amount<br>Y835 : Account(s) not eligible for Challenge Deposit verification<br>Y806 : Invalid Input<br>Y840 : Verification has been initiated already<br>Y837 : Account has been verified already<br>Y838 : The currency code provided does not match with the currency of the transaction executed on the target account<br>Y846 : The number of financial transactions made on the target account does not match with the number of transactions entered by the user.<br>Y842 : Number of retries exceeded the maximum Challenge Deposit verification limit<br>Y844 : Financial Instructions were not executed successfully on the target account<br>Y845 : Verification time expired. Please try initiating challenge deposit again<br>Y868 : No action is allowed, as the data is being migrated to the Open Banking provider<br>"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
    post:
      tags:
      - "Verification"
      summary: "Initiaite Matching Service and Challenge Deposit"
      description: "The post verification service is used to initiate the matching service (MS) and the challenge deposit account verification (CDV) process to verify account ownership.<br>The MS and CDV process can verify ownership of only bank accounts (i.e., checking and savings).<br>The MS verification can be initiated only for an already aggregated account or a providerAccount.<br>The prerequisite for the MS verification process is to request the ACCT_PROFILE dataset with the HOLDER_NAME attribute.<br>In the MS verification process, a string-match of the account holder name with the registered user name is performed instantaneously. You can contact the Yodlee CustomerCare to configure the full name or only the last name match.<br>Once the CDV process is initiated Yodlee will post the microtransaction (i.e., credit and debit) in the user's account. The CDV process takes 2 to 3 days to complete as it requires the user to provide the microtransaction details.<br>The CDV process is currently supported only in the United States.<br>The verificationId in the response can be used to track the verification request.<br><br><b>Notes:</b><li>This endpoint cannot be used to test the CDV functionality in the developer sandbox or test environment. You will need a money transmitter license to implement the CDV functionality and also require the Yodlee Professional Services team's assistance to set up a dedicated environment."
      operationId: "initiateMatchingOrChallengeDepositeVerification"
      requestBody:
        description: "verification information"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/VerificationRequest"
        required: true
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/VerificationResponse"
        400:
          description: "Y901 : Service not supported<br>Y812 : Required field/value - verification.verificationType missing in the verificationParam<br>Y812 : Required field/value - accountNumber missing in the verificationParam<br>Y812 : Required field/value - accountType missing in the verificationParam<br>Y812 : Required field/value - bankTransferCode missing in the verificationParam<br>Y812 : Required field/value - bankTransferCode.id missing in the verificationParam<br>Y812 : Required field/value - bankTransferCode.type missing in the verificationParam<br>Y800 : Invalid value for verification.verificationType<br>Y800 : Invalid value for verificationParam<br>Y800 : Invalid value for bankTransferCode.type<br>Y800 : Invalid value for bankTransferCode.id<br>Y800 : Invalid value for accountType<br>Y800 : Invalid value for accountId<br>Y813 : Account details should be provided<br>Y801 : Invalid length for accountNumber<br>Y835 : Account(s) not eligible for Challenge Deposit verification<br>Y806 : Invalid Input<br>Y840 : Verification has been initiated already<br>Y837 : Account has been verified already"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /holdings/securities:
    get:
      tags:
      - "Holdings"
      summary: "Get Security Details"
      description: "The get security details service is used to get all the security information for the holdings<br>"
      operationId: "getSecurities"
      parameters:
      - name: "holdingId"
        in: "query"
        description: "Comma separated holdingId"
        allowEmptyValue: false
        schema:
          type: "string"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/HoldingSecuritiesResponse"
        400:
          description: "Y800 : Invalid value for holdingId<br>Y824 : The maximum number of holdingIds permitted is 100"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /configs/notifications/events/{eventName}:
    put:
      tags:
      - "Configs"
      summary: "Update Notification Subscription"
      description: "The update events service is used to update the callback URL.<br>If the callback URL is invalid or inaccessible, the subscription will be unsuccessful, and an error will be thrown.<br><br><b>Note:</b> <li>The content type has to be passed as application/json for the body parameter. <br>"
      operationId: "updateSubscribedNotificationEvent"
      parameters:
      - name: "eventName"
        in: "path"
        description: "eventName"
        required: true
        schema:
          type: "string"
          enum:
          - "REFRESH"
          - "DATA_UPDATES"
          - "AUTO_REFRESH_UPDATES"
      requestBody:
        description: "eventRequest"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateConfigsNotificationEventRequest"
        required: true
      responses:
        204:
          description: "OK"
          content: {}
        400:
          description: "Y803 : eventName required<br>Y803 : callbackUrl required<br>Y800 : Invalid value for callbackUrl"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
    post:
      tags:
      - "Configs"
      summary: "Subscribe For Notification Event"
      description: "The subscribe events service is used to subscribe to an event for receiving notifications.<br>The callback URL, where the notification will be posted should be provided to this service.<br>If the callback URL is invalid or inaccessible, the subscription will be unsuccessful, and an error will be thrown.<br>Customers can subscribe to REFRESH,DATA_UPDATES and AUTO_REFRESH_UPDATES event.<br><br><b>Notes:</b><li>This service is not available in developer sandbox/test environment and will be made available for testing in your dedicated environment, once the contract is signed.<li>The content type has to be passed as application/json for the body parameter.</li>"
      operationId: "createSubscriptionNotificationEvent"
      parameters:
      - name: "eventName"
        in: "path"
        description: "eventName"
        required: true
        schema:
          type: "string"
          enum:
          - "REFRESH"
          - "DATA_UPDATES"
          - "AUTO_REFRESH_UPDATES"
      requestBody:
        description: "eventRequest"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateConfigsNotificationEventRequest"
        required: true
      responses:
        201:
          description: "OK"
          content: {}
        400:
          description: "Y803 : eventName required<br>Y803 : callbackUrl required<br>Y800 : Invalid value for callbackUrl"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
    delete:
      tags:
      - "Configs"
      summary: "Delete Notification Subscription"
      description: "The delete events service is used to unsubscribe from an events service.<br>"
      operationId: "deleteSubscribedNotificationEvent"
      parameters:
      - name: "eventName"
        in: "path"
        description: "eventName"
        required: true
        schema:
          type: "string"
          enum:
          - "REFRESH"
          - "DATA_UPDATES"
          - "AUTO_REFRESH_UPDATES"
      responses:
        204:
          description: "OK"
          content: {}
        400:
          description: "Y803 : eventName required"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /holdings:
    get:
      tags:
      - "Holdings"
      summary: "Get Holdings"
      description: "The get holdings service is used to get the list of holdings of a user.<br>Supported holding types can be employeeStockOption, moneyMarketFund, bond, etc. and is obtained using get holding type list service. <br>Asset classifications for the holdings need to be requested through the \"include\" parameter.<br>Asset classification information for holdings are not available by default, as it is a premium feature.<br>"
      operationId: "getHoldings"
      parameters:
      - name: "accountId"
        in: "query"
        description: "Comma separated accountId"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "assetClassification.classificationType"
        in: "query"
        description: "e.g. Country, Sector, etc."
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "classificationValue"
        in: "query"
        description: "e.g. US"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "include"
        in: "query"
        description: "assetClassification"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "providerAccountId"
        in: "query"
        description: "providerAccountId"
        allowEmptyValue: false
        schema:
          type: "string"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/HoldingResponse"
        400:
          description: "Y800 : Invalid value for accountId<br>Y800 : Invalid value for providerAccountId<br>Y800 : Invalid value for include<br>Y800 : Invalid value for classificationType<br>Y800 : Invalid value for classificationValue<br>Y800 : Invalid value for include<br>Y400 : classificationType mismatch<br>Y400 : classificationValue mismatch<br>Y824 : The maximum number of accountIds permitted is 100"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /cobrand/config/notifications/events:
    get:
      tags:
      - "Cobrand"
      summary: "Get Subscribed Events"
      description: "<b>Refer GET /configs/notifications/events.</b><br>The get events service provides the list of events for which consumers subscribed <br>to receive notifications. <br>"
      operationId: "getSubscribedEvents"
      parameters:
      - name: "eventName"
        in: "query"
        description: "eventName"
        allowEmptyValue: false
        schema:
          type: "string"
          enum:
          - "REFRESH"
          - "DATA_UPDATES"
          - "AUTO_REFRESH_UPDATES"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/CobrandNotificationResponse"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: true
  /auth/apiKey:
    get:
      tags:
      - "Auth"
      summary: "Get API Keys"
      description: "This endpoint provides the list of API keys that exist for a customer.<br>You can use one of the following authorization methods to access this API:<br><ol><li>cobsession</li><li>JWT token</li></ol><b>Notes:</b><li>This service is not available in developer sandbox environment and will be made available for testing in your dedicated environment. "
      operationId: "getApiKeys"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/ApiKeyResponse"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
    post:
      tags:
      - "Auth"
      summary: "Generate API Key"
      description: "This endpoint is used to generate an API key. The RSA public key you provide should be in 2048 bit PKCS#8 encoded format. <br>A public key is a mandatory input for generating the API key.<br/>The public key should be a unique key. The apiKeyId you get in the response is what you should use to generate the JWT token.<br> You can use one of the following authorization methods to access<br/>this API:<br><ol><li>cobsession</li><li>JWT token</li></ol> Alternatively, you can use base 64 encoded cobrandLogin and cobrandPassword in the Authorization header (Format: Authorization: Basic <encoded value of cobrandLogin: cobrandPassword>)<br><br><b>Note:</b><br><li>This service is not available in developer sandbox environment and will be made available for testing in your dedicated environment. The content type has to be passed as application/json for the body parameter.</li>"
      operationId: "generateApiKey"
      requestBody:
        description: "apiKeyRequest"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ApiKeyRequest"
        required: true
      responses:
        201:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/ApiKeyResponse"
        400:
          description: "Y800 : Invalid value for RS512 publicKey<br>Y806 : Invalid input<br>Y824 : The maximum number of apiKey permitted is 5<br>Y811 : publicKey value already exists"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /cobrand/publicKey:
    get:
      tags:
      - "Cobrand"
      summary: "Get Public Key"
      description: "<b>Refer GET /configs/publicKey.</b><br>The get public key service provides the customer the public key that should be used to encrypt the user credentials before sending it to Yodlee.<br>This endpoint is useful only for PKI enabled.<br>"
      operationId: "getPublicKey"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/CobrandPublicKeyResponse"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: true
  /transactions/categories:
    get:
      tags:
      - "Transactions"
      summary: "Get Transaction Category List"
      description: "The categories service returns the list of available transaction categories.<br>High level category is returned in the response only if it is opted by the customer.<br>When invoked by passing the cobrand session or admin access token, this service returns the supported transaction categories at the cobrand level. <br>When invoked by passing the cobrand session and the user session or user access token, this service returns the transaction categories <br>along with user-defined categories.<br>Double quotes in the user-defined category name will be prefixed by backslashes (&#92;) in the response, <br>e.g. Toys \"R\" Us.<br/>Source and id are the primary attributes of the category entity.<br><br><b>Note:</b><li>This service supports the localization feature and accepts locale as a header parameter.</li>"
      operationId: "getTransactionCategories"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/TransactionCategoryResponse"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
    put:
      tags:
      - "Transactions"
      summary: "Update Category"
      description: "The update transaction categories service is used to update the transaction category name<br>for a high level category, a system-defined category and a user-defined category.<br>The renamed category can be set back to the original name by passing an empty string for categoryName.<br>The categoryName can accept minimum of 1, maximum of 50 alphanumeric or special characters.<br>The HTTP response code is 204 (Success without content).<br>"
      operationId: "updateTransactionCategory"
      requestBody:
        description: "updateCategoryRequest"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateCategoryRequest"
        required: true
      responses:
        204:
          description: "Updated Successfully"
          content: {}
        400:
          description: "Y800 : Invalid value for categoryParam<br>Y800 : Invalid value for source<br>Y801 : Invalid length for categoryName. Min 1 and max 50 is required<br>Y803 : id required<br>Y811 : categoryName value already exists"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
    post:
      tags:
      - "Transactions"
      summary: "Create Category"
      description: "The create transaction categories service is used to create user-defined categories for a system-defined category.<br>The parentCategoryId is the system-defined category id.This can be retrieved using get transaction categories service.<br>The categoryName can accept minimum of 1, maximum of 50 alphanumeric or special characters.<br>The HTTP response code is 201 (Created successfully).<br>"
      operationId: "createTransactionCategory"
      requestBody:
        description: "User Transaction Category in JSON format"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TransactionCategoryRequest"
        required: true
      responses:
        201:
          description: "Created Successfully"
          content: {}
        400:
          description: "Y800 : Invalid value for categoryParam<br>Y800 : Invalid value for source<br>Y801 : Invalid length for categoryName. Min 1 and max 50 is required<br>Y803 : parentCategoryId required<br>Y811 : categoryName value already exists"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /transactions/categories/rules:
    get:
      tags:
      - "Transactions"
      summary: "Get Transaction Categorization Rules"
      description: "The get transaction categorization rule service is used to get all the categorization rules.<br>"
      operationId: "getTransactionCategorizationRulesDeprecated"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                type: "array"
                items:
                  $ref: "#/components/schemas/TransactionCategorizationRule"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: true
    post:
      tags:
      - "Transactions"
      summary: "Create or Run Transaction Categorization Rule"
      description: "The Create or Run Transaction Categorization Rule endpoint is used to: <br>Create transaction categorization rules for both system and user-defined categories.<br>Run all the transaction categorization rules to categorize transactions by calling the endpoint with action=run as the query parameter. <br><br>The input body parameters to create transaction categorization rules follow:<br>     categoryId - This field is mandatory and numeric<br>     priority - This field is optional and numeric. Priority decides the order in which the rule gets applied on transactions.<br>     ruleClause - This field is mandatory and should contain at least one rule<br>     field - The value can be description or amount<br><br>       If the field value is description then,<br>         1. operation - value can be stringEquals or stringContains<br>         2. value - value should be min of 3 and max of 50 characters<br><br>       If the field value is amount then, <br>         1. operation - value can be numberEquals, numberLessThan, numberLessThanEquals, numberGreaterThan or numberGreaterThanEquals<br>         2. value - min value 0 and a max value of 99999999999.99 is allowed<br>The HTTP response code is 201 (Created Successfully)."
      operationId: "createOrRunTransactionCategorizationRules"
      parameters:
      - name: "action"
        in: "query"
        description: "To run rules, pass action=run. Only value run is supported"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "ruleParam"
        in: "query"
        description: "rules(JSON format) to categorize the transactions"
        allowEmptyValue: false
        schema:
          type: "string"
      responses:
        201:
          description: "Created Successfully"
          content: {}
        204:
          description: "No Content"
          content: {}
        400:
          description: "Y806 : Invalid input<br>Y400 : Rule already exists. Rule should be unique in terms of combination of description and amount"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /statements:
    get:
      tags:
      - "Statements"
      summary: "Get Statements"
      description: "The statements service is used to get the list of statement related information. <br>By default, all the latest statements of active and to be closed accounts are retrieved for the user. <br>Certain sites do not have both a statement date and a due date. When a fromDate is passed as an input, all the statements that have the due date on or after the passed date are retrieved. <br>For sites that do not have the due date, statements that have the statement date on or after the passed date are retrieved. <br>The default value of \"isLatest\" is true. To retrieve historical statements isLatest needs to be set to false.<br>"
      operationId: "getStatements"
      parameters:
      - name: "accountId"
        in: "query"
        description: "accountId"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "container"
        in: "query"
        description: "creditCard/loan/insurance"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "fromDate"
        in: "query"
        description: "from date for statement retrieval (YYYY-MM-DD)"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "isLatest"
        in: "query"
        description: "isLatest (true/false)"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "status"
        in: "query"
        description: "ACTIVE,TO_BE_CLOSED,CLOSED"
        allowEmptyValue: false
        schema:
          type: "string"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/StatementResponse"
        400:
          description: "Y800 : Invalid value for accountId<br>Y800 : Invalid value for status<br>Y805 : Multiple containers not supported<br>Y800 : Invalid value for container<br>Y800 : Invalid value for isLatest<br>Y800 : Invalid value for fromDate<br>"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /holdings/holdingTypeList:
    get:
      tags:
      - "Holdings"
      summary: "Get Holding Type List"
      description: "The get holding types list service is used to get the supported holding types.<br>The response includes different holding types such as future, moneyMarketFund, stock, etc. and it returns the supported holding types <br>"
      operationId: "getHoldingTypeList"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/HoldingTypeListResponse"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /user/logout:
    post:
      tags:
      - "User"
      summary: "User Logout"
      description: "<b>Deprecated</b>: This endpoint is deprecated for API Key-based authentication. The user logout service allows the user to log out of the application.<br>The service does not return a response body. The HTTP response code is 204 (Success with no content).<br>"
      operationId: "userLogout"
      responses:
        204:
          description: "Logout successful"
          content: {}
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /transactions/{transactionId}:
    put:
      tags:
      - "Transactions"
      summary: "Update Transaction"
      description: "The update transaction service is used to update the category,consumer description, memo for a transaction.<br>The HTTP response code is 204 (Success without content).<br>"
      operationId: "updateTransaction"
      parameters:
      - name: "transactionId"
        in: "path"
        description: "transactionId"
        required: true
        schema:
          type: "integer"
          format: "int64"
      requestBody:
        description: "transactionRequest"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TransactionRequest"
        required: true
      responses:
        204:
          description: "Updated Successfully"
          content: {}
        400:
          description: "Y812 : Required field -container missing in the transactionParam parameter input<br>Y800 : Invalid value for transactionId<br>Y800 : Invalid value for categoryId<br>Y868 : No action is allowed, as the data is being migrated to the Open Banking provider<br>"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /dataExtracts/events:
    get:
      tags:
      - "DataExtracts"
      summary: "Get Events"
      description: "The get extracts events service is used to learn about occurrences of data extract related events. This service currently supports only the DATA_UPDATES event.<br>Passing the event name as DATA_UPDATES provides information about users for whom data has been modified in the system for the specified time range. To learn more, please refer to the <a href=\"https://developer.yodlee.com/docs/api/1.1/DataExtracts\">dataExtracts</a> page.<br>You can retrieve data in increments of no more than 60 minutes over the period of the last 7 days from today's date.<br>This service is only invoked with either admin access token or a cobrand session.<br>"
      operationId: "getDataExtractsEvents"
      parameters:
      - name: "eventName"
        in: "query"
        description: "Event Name"
        required: true
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "fromDate"
        in: "query"
        description: "From DateTime (YYYY-MM-DDThh:mm:ssZ)"
        required: true
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "toDate"
        in: "query"
        description: "To DateTime (YYYY-MM-DDThh:mm:ssZ)"
        required: true
        allowEmptyValue: false
        schema:
          type: "string"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/DataExtractsEventResponse"
        400:
          description: "Y800 : Invalid value for fromDate.fromDate cannot be greater than current time<br>Y800 : Invalid value for toDate.toDate cannot be greater than current time<br>Y800 : Invalid value for fromDate or toDate.fromDate and toDate cannot be older than 7 days<br>Y800 : Invalid value for fromDate.fromDate cannot be greater than toDate."
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
  /derived/holdingSummary:
    get:
      tags:
      - "Derived"
      summary: "Get Holding Summary"
      description: "The get holding summary service is used to get the summary of asset classifications for the user.<br>By default, accounts with status as ACTIVE and TO BE CLOSED will be considered.<br>If the include parameter value is passed as details then a summary with holdings and account information is returned.<br>"
      operationId: "getHoldingSummary"
      parameters:
      - name: "accountIds"
        in: "query"
        description: "Comma separated accountIds"
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "classificationType"
        in: "query"
        description: "e.g. Country, Sector, etc."
        allowEmptyValue: false
        schema:
          type: "string"
      - name: "include"
        in: "query"
        description: "details"
        allowEmptyValue: false
        schema:
          type: "string"
      responses:
        200:
          description: "OK"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/DerivedHoldingSummaryResponse"
        400:
          description: "Y800 : Invalid value for classificationType<br>Y814 : Exchange rate not available for currency<br>Y824 : The maximum number of accountIds permitted is 100<br>"
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: "#/components/schemas/YodleeError"
        401:
          description: "Unauthorized"
          content: {}
        404:
          description: "Not Found"
          content: {}
      deprecated: false
components:
  schemas:
    Account:
      title: "Account"
      type: "object"
      properties:
        availableCash:
          $ref: "#/components/schemas/Money"
        includeInNetWorth:
          type: "boolean"
          description: "Used to determine  whether an account to be considered in the networth calculation.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: bank,creditCard,loan,investment,insurance,realEstate,otherAssets,otherLiabilities<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        moneyMarketBalance:
          $ref: "#/components/schemas/Money"
        enrollmentDate:
          type: "string"
          description: "Date on which the user is enrolled on the rewards program.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        estimatedDate:
          type: "string"
          description: "The date on which the home value was estimated.<br><br><b>Aggregated / Manual</b>: Manual<br><b>Applicable containers</b>: realEstate<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        memo:
          type: "string"
          description: "The additional description or notes given by the user.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        guarantor:
          type: "string"
          description: "A nonprofit or state organization that works with lender, servicer, school, and the Department of Education to help successfully repay Federal Family Education Loan Program (FFELP) loans. If FFELP student loans default, the guarantor takes ownership of them.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        interestPaidLastYear:
          $ref: "#/components/schemas/Money"
        lastUpdated:
          type: "string"
          description: "The date time the account information was last retrieved from the provider site and updated in the Yodlee system.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        balance:
          $ref: "#/components/schemas/Money"
        homeInsuranceType:
          type: "string"
          description: "Type of home insurance, like -<ul><li>HOME_OWNER</li><li>RENTAL</li><li>RENTER</li><li>etc..</li></ul><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "HOME_OWNER"
          - "RENTAL"
          - "RENTER"
          - "UNKNOWN"
          - "OTHER"
        id:
          type: "integer"
          description: "The primary key of the account resource and the unique identifier for the account.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts </li><li>GET accounts/{accountId}</li><li>GET investmentOptions</li><li>GET accounts/historicalBalances</li><li>POST accounts</li><li>GET dataExtracts/userData</li></ul>"
          format: "int64"
          readOnly: true
        cash:
          $ref: "#/components/schemas/Money"
        totalCreditLine:
          $ref: "#/components/schemas/Money"
        providerName:
          type: "string"
          description: "Service provider or institution name where the account originates. This belongs to the provider resource.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        valuationType:
          type: "string"
          description: "The valuation type indicates whether the home value is calculated either manually or by Yodlee Partners.<br><br><b>Aggregated / Manual</b>: Manual<br><b>Applicable containers</b>: realEstate<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "SYSTEM"
          - "MANUAL"
        marginBalance:
          $ref: "#/components/schemas/Money"
        apr:
          type: "number"
          description: "The annual percentage rate (APR) is the yearly rate of interest on the credit card account.<br><b>Additional Details:</b> The yearly percentage rate charged when a balance is held on a credit card. This rate of interest is applied every month on the outstanding credit card balance.<br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: creditCard<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "double"
          readOnly: true
        availableCredit:
          $ref: "#/components/schemas/Money"
        currentBalance:
          $ref: "#/components/schemas/Money"
        isManual:
          type: "boolean"
          description: "Indicates if an account is aggregated from a site or it is a manual account i.e. account information manually provided by the user.<br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        profile:
          $ref: "#/components/schemas/AccountProfile"
        escrowBalance:
          $ref: "#/components/schemas/Money"
        nextLevel:
          type: "string"
          description: "The eligible next level of the rewards program.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        classification:
          type: "string"
          description: "The classification of the account such as personal, corporate, etc.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: bank, creditCard, investment, reward, loan, insurance<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "OTHER"
          - "PERSONAL"
          - "CORPORATE"
          - "SMALL_BUSINESS"
          - "TRUST"
          - "ADD_ON_CARD"
          - "VIRTUAL_CARD"
        loanPayoffAmount:
          $ref: "#/components/schemas/Money"
        interestRateType:
          type: "string"
          description: "The type of the interest rate, for example, fixed or variable.<br><b>Applicable containers</b>: loan<br><b>Aggregated / Manual</b>: Aggregated<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "FIXED"
          - "VARIABLE"
          - "UNKNOWN"
          - "OTHER"
        loanPayByDate:
          type: "string"
          description: "The date by which the payoff amount should be paid.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        faceAmount:
          $ref: "#/components/schemas/Money"
        policyFromDate:
          type: "string"
          description: "The date the insurance policy began.<br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        premiumPaymentTerm:
          type: "string"
          description: "The number of years for which premium payments have to be made in a policy.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        policyTerm:
          type: "string"
          description: "The duration for which the policy is valid or in effect. For example, one year, five years, etc.<br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        repaymentPlanType:
          type: "string"
          description: "The type of repayment plan that the borrower prefers to repay the loan. <br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values:</b><br>"
          readOnly: true
          enum:
          - "STANDARD"
          - "GRADUATED"
          - "EXTENDED"
          - "INCOME_BASED"
          - "INCOME_CONTINGENT"
          - "INCOME_SENSITIVE"
          - "PAY_AS_YOU_EARN"
          - "REVISED_PAY_AS_YOU_EARN"
        availableBalance:
          $ref: "#/components/schemas/Money"
        accountStatus:
          type: "string"
          description: "The status of the account that is updated by the consumer through an application or an API. Valid Values: AccountStatus<br><b>Additional Details:</b><br><b>ACTIVE:</b> All the added manual and aggregated accounts status will be made \"ACTIVE\" by default. <br><b>TO_BE_CLOSED:</b> If the aggregated accounts are not found or closed in the data provider site, Yodlee system marks the status as TO_BE_CLOSED<br><b>INACTIVE:</b> Users can update the status as INACTIVE to stop updating and to stop considering the account in other services<br><b>CLOSED:</b> Users can update the status as CLOSED, if the account is closed with the provider. <br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "ACTIVE"
          - "INACTIVE"
          - "TO_BE_CLOSED"
          - "CLOSED"
          - "DELETED"
        lifeInsuranceType:
          type: "string"
          description: "Type of life insurance.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "OTHER"
          - "TERM_LIFE_INSURANCE"
          - "UNIVERSAL_LIFE_INSURANCE"
          - "WHOLE_LIFE_INSURANCE"
          - "VARIABLE_LIFE_INSURANCE"
          - "ULIP"
          - "ENDOWMENT"
        fullAccountNumber:
          type: "string"
          description: "Full account number of the account that is included only when include = fullAccountNumber is provided in the request. For student loan account the account number that will be used for ACH or fund transfer<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: bank, creditCard, investment, insurance, loan, reward,  otherAssets, otherLiabilities <br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><b> Note : </b> fullAccountNumber is deprecated and is replaced with fullAccountNumberList in include parameter and response.</ul>"
          readOnly: true
        premium:
          $ref: "#/components/schemas/Money"
        aggregationSource:
          type: "string"
          description: "The source through which the account(s) are added in the system.<br><b>Valid Values</b>: SYSTEM, USER<br><b>Applicable containers</b>: All Containers<br><b>Aggregated / Manual</b>: Both <br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "SYSTEM"
          - "USER"
        overDraftLimit:
          $ref: "#/components/schemas/Money"
        nickname:
          type: "string"
          description: "The nickname of the account as provided by the consumer to identify an account. The account nickname can be used instead of the account name.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        term:
          type: "string"
          description: "The tenure for which the CD account is valid  or in case of loan, the number of years/months over which the loan amount  has to be repaid. <br><b>Additional Details:</b><br>  Bank: The Term field is only applicable for the account type CD.Loan: The period for which the loan agreement is in force. The period, before or at the end of which, the loan should either be repaid or renegotiated for another term.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: bank, loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        interestRate:
          type: "number"
          description: "<br><b>Bank:</b> The interest rate offered by a FI to its depositors on a bank account.<br><b>Loan:</b> Interest rate applied on the loan.<br><b>Additional Details:</b><br><b>Note:</b> The Interest Rate field is only applicable for the following account types: savings, checking, money market, and certificate of deposit.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: bank, loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "double"
          readOnly: true
        deathBenefit:
          $ref: "#/components/schemas/Money"
        address:
          $ref: "#/components/schemas/AccountAddress"
        cashValue:
          $ref: "#/components/schemas/Money"
        holder:
          type: "array"
          description: "Holder details of the account.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: bank<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/AccountHolder"
        401kLoan:
          $ref: "#/components/schemas/Money"
        homeValue:
          $ref: "#/components/schemas/Money"
        accountNumber:
          type: "string"
          description: "The account number as it appears on the site. (The POST accounts service response return this field as number)<br><b>Additional Details</b>:<b> Bank/ Loan/ Insurance/ Investment</b>:<br> The account number for the bank account as it appears at the site.<br><b>Credit Card</b>: The account number of the card account as it appears at the site,<br>i.e., the card number.The account number can be full or partial based on how it is displayed in the account summary page of the site.In most cases, the site does not display the full account number in the account summary page and additional navigation is required to aggregate it.<br><b>Applicable containers</b>: All Containers<br><b>Aggregated / Manual</b>: Both <br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>POST accounts</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        createdDate:
          type: "string"
          description: "The date on which the account is created in the Yodlee system.<br><b>Additional Details:</b> It is the date when the user links or aggregates the account(s) that are held with the provider to the Yodlee system.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        interestPaidYTD:
          $ref: "#/components/schemas/Money"
        providerAccountId:
          type: "integer"
          description: "The primary key of the provider account resource.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "int64"
          readOnly: true
        collateral:
          type: "string"
          description: "Property or possession offered to support a loan that can be seized on a default.<br><b>Applicable containers</b>: loan<br><b>Aggregated / Manual</b>: Aggregated<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        dataset:
          type: "array"
          description: "Logical grouping of dataset attributes into datasets such as Basic Aggregation Data, Account Profile and Documents.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/AccountDataset"
        runningBalance:
          $ref: "#/components/schemas/Money"
        sourceId:
          type: "string"
          description: "A unique ID that the provider site has assigned to the account. The source ID is only available for the HELD accounts.<br><br><b>Applicable containers</b>: bank, creditCard, investment, insurance, loan,  reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        dueDate:
          type: "string"
          description: "The date on which the due amount has to be paid. <br><b>Additional Details:</b><br><b>Credit Card:</b> The monthly date by when the minimum payment is due to be paid on the credit card account. <br><b>Loan:</b> The date on or before which the due amount should be paid.<br><b>Note:</b> The due date at the account-level can differ from the due date field at the statement-level, as the information in the aggregated card account data provides an up-to-date information to the consumer.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: creditCard, loan, insurance<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        frequency:
          type: "string"
          description: "The frequency of the billing cycle of the account in case of card. The frequency in which premiums are paid in an insurance policy such as monthly, quarterly, and annually. The frequency in which due amounts are paid in a loan  account.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>:  creditCard, insurance, loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "DAILY"
          - "ONE_TIME"
          - "WEEKLY"
          - "EVERY_2_WEEKS"
          - "SEMI_MONTHLY"
          - "MONTHLY"
          - "QUARTERLY"
          - "SEMI_ANNUALLY"
          - "ANNUALLY"
          - "EVERY_2_MONTHS"
          - "EBILL"
          - "FIRST_DAY_MONTHLY"
          - "LAST_DAY_MONTHLY"
          - "EVERY_4_WEEKS"
          - "UNKNOWN"
          - "OTHER"
        maturityAmount:
          $ref: "#/components/schemas/Money"
        associatedProviderAccountId:
          type: "array"
          description: "The providerAccountIds that share the account with the primary providerAccountId that was created when the user had added the account for the first time.<br><b>Additional Details</b>: This attribute is returned in the response only if the account deduplication feature is enabled and the same account is mapped to more than one provider account IDs indicating the account is owned by more than one user, for example, joint accounts.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: All Containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          items:
            type: "integer"
            format: "int64"
        isAsset:
          type: "boolean"
          description: "The account to be considered as an asset or liability.<br><b>Applicable containers</b>: All Containers<br><b>Aggregated / Manual</b>: Both <br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        principalBalance:
          $ref: "#/components/schemas/Money"
        totalCashLimit:
          $ref: "#/components/schemas/Money"
        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.<br><b>Additional Details:</b> The date when a certificate of deposit (CD) matures, i.e., the money in the CD can be withdrawn without paying an early withdrawal penalty.The final payment date of a loan, i.e., the principal amount (including pending interest) is due to be paid.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: bank, loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        minimumAmountDue:
          $ref: "#/components/schemas/Money"
        annualPercentageYield:
          type: "number"
          description: "Annual percentage yield (APY) is a normalized representation of an interest rate, based on a compounding period of one year. APY generally refers to the rate paid to a depositor by a financial institution on an account.<br><b>Applicable containers</b>: bank<br><b>Aggregated / Manual</b>: Aggregated<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "double"
          readOnly: true
        accountType:
          type: "string"
          description: "The type of account that is aggregated, i.e., savings, checking, credit card, charge, HELOC, etc. The account type is derived based on the attributes of the account. <br><b>Valid Values:</b><br><b>Aggregated Account Type</b><br><b>bank</b><ul><li>CHECKING</li><li>SAVINGS</li><li>CD</li><li>PPF</li><li>RECURRING_DEPOSIT</li><li>FSA</li><li>MONEY_MARKET</li><li>IRA</li><li>PREPAID</li></ul><b>creditCard</b><ul><li>OTHER</li><li>CREDIT</li><li>STORE</li><li>CHARGE</li><li>OTHER</li></ul><b>investment (SN 1.0)</b><ul><li>BROKERAGE_MARGIN</li><li>HSA</li><li>IRA</li><li>BROKERAGE_CASH</li><li>401K</li><li>403B</li><li>TRUST</li><li>ANNUITY</li><li>SIMPLE</li><li>CUSTODIAL</li><li>BROKERAGE_CASH_OPTION</li><li>BROKERAGE_MARGIN_OPTION</li><li>INDIVIDUAL</li><li>CORPORATE</li><li>JTTIC</li><li>JTWROS</li><li>COMMUNITY_PROPERTY</li><li>JOINT_BY_ENTIRETY</li><li>CONSERVATORSHIP</li><li>ROTH</li><li>ROTH_CONVERSION</li><li>ROLLOVER</li><li>EDUCATIONAL</li><li>529_PLAN</li><li>457_DEFERRED_COMPENSATION</li><li>401A</li><li>PSP</li><li>MPP</li><li>STOCK_BASKET</li><li>LIVING_TRUST</li><li>REVOCABLE_TRUST</li><li>IRREVOCABLE_TRUST</li><li>CHARITABLE_REMAINDER</li><li>CHARITABLE_LEAD</li><li>CHARITABLE_GIFT_ACCOUNT</li><li>SEP</li><li>UTMA</li><li>UGMA</li><li>ESOPP</li><li>ADMINISTRATOR</li><li>EXECUTOR</li><li>PARTNERSHIP</li><li>SOLE_PROPRIETORSHIP</li><li>CHURCH</li><li>INVESTMENT_CLUB</li><li>RESTRICTED_STOCK_AWARD</li><li>CMA</li><li>EMPLOYEE_STOCK_PURCHASE_PLAN</li><li>PERFORMANCE_PLAN</li><li>BROKERAGE_LINK_ACCOUNT</li><li>MONEY_MARKET</li><li>SUPER_ANNUATION</li><li>REGISTERED_RETIREMENT_SAVINGS_PLAN</li><li>SPOUSAL_RETIREMENT_SAVINGS_PLAN</li><li>DEFERRED_PROFIT_SHARING_PLAN</li><li>NON_REGISTERED_SAVINGS_PLAN</li><li>REGISTERED_EDUCATION_SAVINGS_PLAN</li><li>GROUP_RETIREMENT_SAVINGS_PLAN</li><li>LOCKED_IN_RETIREMENT_SAVINGS_PLAN</li><li>RESTRICTED_LOCKED_IN_SAVINGS_PLAN</li><li>LOCKED_IN_RETIREMENT_ACCOUNT</li><li>REGISTERED_PENSION_PLAN</li><li>TAX_FREE_SAVINGS_ACCOUNT</li><li>LIFE_INCOME_FUND</li><li>REGISTERED_RETIREMENT_INCOME_FUND</li><li>SPOUSAL_RETIREMENT_INCOME_FUND</li><li>LOCKED_IN_REGISTERED_INVESTMENT_FUND</li><li>PRESCRIBED_REGISTERED_RETIREMENT_INCOME_FUND</li><li>GUARANTEED_INVESTMENT_CERTIFICATES</li><li>REGISTERED_DISABILITY_SAVINGS_PLAN</li><li>OTHER</li></ul><b>investment (SN 2.0)</b><ul><li>BROKERAGE_CASH</li><li>BROKERAGE_MARGIN</li><li>INDIVIDUAL_RETIREMENT_ACCOUNT_IRA</li><li>EMPLOYEE_RETIREMENT_ACCOUNT_401K</li><li>EMPLOYEE_RETIREMENT_SAVINGS_PLAN_403B</li><li>TRUST</li><li>ANNUITY</li><li>SIMPLE_IRA</li><li>CUSTODIAL_ACCOUNT</li><li>BROKERAGE_CASH_OPTION</li><li>BROKERAGE_MARGIN_OPTION</li><li>INDIVIDUAL</li><li>CORPORATE_INVESTMENT_ACCOUNT</li><li>JOINT_TENANTS_TENANCY_IN_COMMON_JTIC</li><li>JOINT_TENANTS_WITH_RIGHTS_OF_SURVIVORSHIP_JTWROS</li><li>JOINT_TENANTS_COMMUNITY_PROPERTY</li><li>JOINT_TENANTS_TENANTS_BY_ENTIRETY</li><li>CONSERVATOR</li><li>ROTH_IRA</li><li>ROTH_CONVERSION</li><li>ROLLOVER_IRA</li><li>EDUCATIONAL</li><li>EDUCATIONAL_SAVINGS_PLAN_529</li><li>DEFERRED_COMPENSATION_PLAN_457</li><li>MONEY_PURCHASE_RETIREMENT_PLAN_401A</li><li>PROFIT_SHARING_PLAN</li><li>MONEY_PURCHASE_PLAN</li><li>STOCK_BASKET_ACCOUNT</li><li>LIVING_TRUST</li><li>REVOCABLE_TRUST</li><li>IRREVOCABLE_TRUST</li><li>CHARITABLE_REMAINDER_TRUST</li><li>CHARITABLE_LEAD_TRUST</li><li>CHARITABLE_GIFT_ACCOUNT</li><li>SEP_IRA</li><li>UNIFORM_TRANSFER_TO_MINORS_ACT_UTMA</li><li>UNIFORM_GIFT_TO_MINORS_ACT_UGMA</li><li>EMPLOYEE_STOCK_OWNERSHIP_PLAN_ESOP</li><li>ADMINISTRATOR</li><li>EXECUTOR</li><li>PARTNERSHIP</li><li>PROPRIETORSHIP</li><li>CHURCH_ACCOUNT</li><li>INVESTMENT_CLUB</li><li>RESTRICTED_STOCK_AWARD</li><li>CASH_MANAGEMENT_ACCOUNT</li><li>EMPLOYEE_STOCK_PURCHASE_PLAN_ESPP</li><li>PERFORMANCE_PLAN</li><li>BROKERAGE_LINK_ACCOUNT</li><li>MONEY_MARKET_ACCOUNT</li><li>SUPERANNUATION</li><li>REGISTERED_RETIREMENT_SAVINGS_PLAN_RRSP</li><li>SPOUSAL_RETIREMENT_SAVINGS_PLAN_SRSP</li><li>DEFERRED_PROFIT_SHARING_PLAN_DPSP</li><li>NON_REGISTERED_SAVINGS_PLAN_NRSP</li><li>REGISTERED_EDUCATION_SAVINGS_PLAN_RESP</li><li>GROUP_RETIREMENT_SAVINGS_PLAN_GRSP</li><li>LOCKED_IN_RETIREMENT_SAVINGS_PLAN_LRSP</li><li>RESTRICTED_LOCKED_IN_SAVINGS_PLAN_RLSP</li><li>LOCKED_IN_RETIREMENT_ACCOUNT_LIRA</li><li>REGISTERED_PENSION_PLAN_RPP</li><li>TAX_FREE_SAVINGS_ACCOUNT_TFSA</li><li>LIFE_INCOME_FUND_LIF</li><li>REGISTERED_RETIREMENT_INCOME_FUND_RIF</li><li>SPOUSAL_RETIREMENT_INCOME_FUND_SRIF</li><li>LOCKED_IN_REGISTERED_INVESTMENT_FUND_LRIF</li><li>PRESCRIBED_REGISTERED_RETIREMENT_INCOME_FUND_PRIF</li><li>GUARANTEED_INVESTMENT_CERTIFICATES_GIC</li><li>REGISTERED_DISABILITY_SAVINGS_PLAN_RDSP</li><li>DEFINED_CONTRIBUTION_PLAN</li><li>DEFINED_BENEFIT_PLAN</li><li>EMPLOYEE_STOCK_OPTION_PLAN</li><li>NONQUALIFIED_DEFERRED_COMPENSATION_PLAN_409A</li><li>KEOGH_PLAN</li><li>EMPLOYEE_RETIREMENT_ACCOUNT_ROTH_401K</li><li>DEFERRED_CONTINGENT_CAPITAL_PLAN_DCCP</li><li>EMPLOYEE_BENEFIT_PLAN</li><li>EMPLOYEE_SAVINGS_PLAN</li><li>HEALTH_SAVINGS_ACCOUNT_HSA</li><li>COVERDELL_EDUCATION_SAVINGS_ACCOUNT_ESA</li><li>TESTAMENTARY_TRUST</li><li>ESTATE</li><li>GRANTOR_RETAINED_ANNUITY_TRUST_GRAT</li><li>ADVISORY_ACCOUNT</li><li>NON_PROFIT_ORGANIZATION_501C</li><li>HEALTH_REIMBURSEMENT_ARRANGEMENT_HRA</li><li>INDIVIDUAL_SAVINGS_ACCOUNT_ISA</li><li>CASH_ISA</li><li>STOCKS_AND_SHARES_ISA</li><li>INNOVATIVE_FINANCE_ISA</li><li>JUNIOR_ISA</li><li>EMPLOYEES_PROVIDENT_FUND_ORGANIZATION_EPFO</li><li>PUBLIC_PROVIDENT_FUND_PPF</li><li>EMPLOYEES_PENSION_SCHEME_EPS</li><li>NATIONAL_PENSION_SYSTEM_NPS</li><li>INDEXED_ANNUITY</li><li>ANNUITIZED_ANNUITY</li><li>VARIABLE_ANNUITY</li><li>ROTH_403B</li><li>SPOUSAL_IRA</li><li>SPOUSAL_ROTH_IRA</li><li>SARSEP_IRA</li><li>SUBSTANTIALLY_EQUAL_PERIODIC_PAYMENTS_SEPP</li><li>OFFSHORE_TRUST</li><li>IRREVOCABLE_LIFE_INSURANCE_TRUST</li><li>INTERNATIONAL_TRUST</li><li>LIFE_INTEREST_TRUST</li><li>EMPLOYEE_BENEFIT_TRUST</li><li>PRECIOUS_METAL_ACCOUNT</li><li>INVESTMENT_LOAN_ACCOUNT</li><li>GRANTOR_RETAINED_INCOME_TRUST</li><li>PENSION_PLAN</li><li>OTHER</li></ul><b>loan</b><ul><li>MORTGAGE</li><li>INSTALLMENT_LOAN</li><li>PERSONAL_LOAN</li><li>HOME_EQUITY_LINE_OF_CREDIT</li><li>LINE_OF_CREDIT</li><li>AUTO_LOAN</li><li>STUDENT_LOAN</li><li>HOME_LOAN</li></ul><b>insurance</b><ul><li>AUTO_INSURANCE</li><li>HEALTH_INSURANCE</li><li>HOME_INSURANCE</li><li>LIFE_INSURANCE</li><li>ANNUITY</li><li>TRAVEL_INSURANCE</li><li>INSURANCE</li></ul><b>realEstate</b><ul> <li>REAL_ESTATE</li></ul><b>reward</b><ul><li>REWARD_POINTS</li></ul><b>Manual Account Type</b><br><b>bank</b><ul><li>CHECKING</li><li>SAVINGS</li><li>CD</li><li>PREPAID</li></ul><b>credit</b><ul>  <li>CREDIT</li></ul><b>loan</b><ul>  <li>PERSONAL_LOAN</li><li>HOME_LOAN</li></ul><b>insurance</b><ul><li>INSURANCE</li><li>ANNUITY</li></ul><b>investment</b><ul><li>BROKERAGE_CASH</li></ul><br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        originationDate:
          type: "string"
          description: "The date on which the loan is disbursed.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        totalVestedBalance:
          $ref: "#/components/schemas/Money"
        rewardBalance:
          type: "array"
          description: "Information of different reward balances associated with the account.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/RewardBalance"
        sourceAccountStatus:
          type: "string"
          description: "Indicates the status of the loan account. <br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values:</b><br>"
          readOnly: true
          enum:
          - "IN_REPAYMENT"
          - "DEFAULTED"
          - "IN_SCHOOL"
          - "IN_GRACE_PERIOD"
          - "DELINQUENCY"
          - "DEFERMENT"
          - "FORBEARANCE"
        derivedApr:
          type: "number"
          description: "Derived APR will be an estimated purchase APR based on consumers credit card transactions and credit card purchase.<br><b>Aggregated / Manual / Derived</b>: Derived<br><b>Applicable containers</b>: creditCard<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "double"
          readOnly: true
        policyEffectiveDate:
          type: "string"
          description: "The date on which the insurance policy coverage commences.<br><b>Applicable containers</b>: insurance<br><b>Aggregated / Manual</b>: Aggregated<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        totalUnvestedBalance:
          $ref: "#/components/schemas/Money"
        annuityBalance:
          $ref: "#/components/schemas/Money"
        accountName:
          type: "string"
          description: "The account name as it appears at the site.<br>(The POST accounts service response return this field as name)<br><b>Applicable containers</b>: All Containers<br><b>Aggregated / Manual</b>: Both <br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        totalCreditLimit:
          $ref: "#/components/schemas/Money"
        policyStatus:
          type: "string"
          description: "The status of the policy.<br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "ACTIVE"
          - "INACTIVE"
          - "OTHER"
        shortBalance:
          $ref: "#/components/schemas/Money"
        lender:
          type: "string"
          description: "The financial institution that provides the loan.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        lastEmployeeContributionAmount:
          $ref: "#/components/schemas/Money"
        providerId:
          type: "string"
          description: "Identifier of the provider site. The primary key of provider resource. <br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        lastPaymentDate:
          type: "string"
          description: "The date on which the payment for the previous or current billing cycle is done.<br><b>Additional Details:</b> If the payment is already done for the current billing cycle, then the field indicates the payment date of the current billing cycle. If payment is yet to be done for the current billing cycle, then the field indicates the date on which the payment was made for any of the previous billing cycles. The last payment date at the account-level can differ from the last payment date at the statement-level, as the information in the aggregated card account data provides an up-to-date information to the consumer.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: creditCard, loan, insurance<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        primaryRewardUnit:
          type: "string"
          description: "Primary reward unit for this reward program. E.g. miles, points, etc.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        lastPaymentAmount:
          $ref: "#/components/schemas/Money"
        remainingBalance:
          $ref: "#/components/schemas/Money"
        userClassification:
          type: "string"
          description: "<b>Applicable containers</b>: reward, bank, creditCard, investment, loan, insurance, realEstate,  otherLiabilities<br><b>Endpoints</b>:<ul><li>GET accounts </li><li>GET accounts/{accountId}</li><li>POST accounts</ul><li>GET dataExtracts/userData</li><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "BUSINESS"
          - "PERSONAL"
        bankTransferCode:
          type: "array"
          description: "Bank and branch identification information.<br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: bank, investment, loan<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/BankTransferCode"
        expirationDate:
          type: "string"
          description: "The date on which the insurance policy expires or matures.<br><b>Additional Details:</b> The due date at the account-level can differ from the due date field at the statement-level, as the information in the aggregated card account data provides an up-to-date information to the consumer.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        coverage:
          type: "array"
          description: "The coverage-related details of the account.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance,investment<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/Coverage"
        cashApr:
          type: "number"
          description: "Annual percentage rate applied to cash withdrawals on the card.<br><br><b>Account Type</b>: Aggregated<br><b>Applicable containers</b>: creditCard<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "double"
        autoRefresh:
          $ref: "#/components/schemas/AutoRefresh"
        oauthMigrationStatus:
          type: "string"
          description: "Indicates the migration status of the account from screen-scraping provider to the Open Banking provider. <br><br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          enum:
          - "IN_PROGRESS"
          - "TO_BE_MIGRATED"
          - "COMPLETED"
        displayedName:
          type: "string"
          description: "The name or identification of the account owner, as it appears at the FI site. <br><b>Note:</b> The account holder name can be full or partial based on how it is displayed in the account summary page of the FI site. In most cases, the FI site does not display the full account holder name in the account summary page.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: bank, creditCard, investment, insurance, loan,  reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        fullAccountNumberList:
          $ref: "#/components/schemas/FullAccountNumberList"
        amountDue:
          $ref: "#/components/schemas/Money"
        currentLevel:
          type: "string"
          description: "Current level of the reward program the user is associated with. E.g. Silver, Jade etc.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        originalLoanAmount:
          $ref: "#/components/schemas/Money"
        policyToDate:
          type: "string"
          description: "The date to which the policy exists.<br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        loanPayoffDetails:
          $ref: "#/components/schemas/LoanPayoffDetails"
        paymentProfile:
          $ref: "#/components/schemas/PaymentProfile"
        CONTAINER:
          type: "string"
          description: "The type of service. E.g., Bank, Credit Card, Investment, Insurance, etc.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "bank"
          - "creditCard"
          - "investment"
          - "insurance"
          - "loan"
          - "reward"
          - "realEstate"
          - "otherAssets"
          - "otherLiabilities"
        lastEmployeeContributionDate:
          type: "string"
          description: "The date on which the last employee contribution was made to the 401k account.<br><b>Note:</b> The last employee contribution date field is derived from the transaction data and not aggregated from the FI site. The field is only applicable to the 401k account type.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: investment<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        lastPayment:
          $ref: "#/components/schemas/Money"
        recurringPayment:
          $ref: "#/components/schemas/Money"
    HoldingResponse:
      title: "HoldingResponse"
      type: "object"
      properties:
        holding:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/Holding"
    ApiKeyResponse:
      title: "ApiKeyResponse"
      type: "object"
      properties:
        apiKey:
          type: "array"
          description: "ApiKey customer details.<br><br><b>Endpoints</b>:<ul><li>GET /auth/apiKey</li><li>POST /auth/apiKey</li></ul>"
          items:
            $ref: "#/components/schemas/ApiKeyOutput"
    CreateCobrandNotificationEventRequest:
      title: "CreateCobrandNotificationEventRequest"
      required:
      - "event"
      type: "object"
      properties:
        event:
          $ref: "#/components/schemas/CreateCobrandNotificationEvent"
    ProviderAccount:
      title: "ProviderAccount"
      type: "object"
      properties:
        lastUpdated:
          type: "string"
          description: "Indicate when the providerAccount is last updated successfully.<br><br><b>Account Type</b>: Aggregated<br><b>Endpoints</b>:<ul><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        consentId:
          type: "integer"
          description: "Consent Id generated through POST Consent.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li></ul>"
          format: "int64"
        preferences:
          $ref: "#/components/schemas/ProviderAccountPreferences"
        createdDate:
          type: "string"
          description: "The date on when the provider account is created in the system.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li></ul>"
          readOnly: true
        aggregationSource:
          type: "string"
          description: "The source through which the providerAccount is added in the system.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "SYSTEM"
          - "USER"
        oauthMigrationStatus:
          type: "string"
          description: "Indicates the migration status of the provider account from screen-scraping provider to the Open Banking provider. <br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>GET providerAccounts/{providerAccountId}</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          enum:
          - "IN_PROGRESS"
          - "TO_BE_MIGRATED"
          - "COMPLETED"
        providerId:
          type: "integer"
          description: "Unique identifier for the provider resource. This denotes the provider for which the provider account id is generated by the user.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "int64"
          readOnly: true
        requestId:
          type: "string"
          description: "Unique id generated to indicate the request.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li></ul>"
          readOnly: true
        isManual:
          type: "boolean"
          description: "Indicates whether account is a manual or aggregated provider account.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        id:
          type: "integer"
          description: "Unique identifier for the provider account resource. This is created during account addition.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "int64"
          readOnly: true
        dataset:
          type: "array"
          description: "Logical grouping of dataset attributes into datasets such as Basic Aggregation Data, Account Profile and Documents.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/AccountDataset"
        status:
          type: "string"
          description: "The status of last update attempted for the account. <br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "LOGIN_IN_PROGRESS"
          - "USER_INPUT_REQUIRED"
          - "IN_PROGRESS"
          - "PARTIAL_SUCCESS"
          - "SUCCESS"
          - "FAILED"
          - "MIGRATION_IN_PROGRESS"
    Document:
      title: "Document"
      type: "object"
      properties:
        accountID:
          type: "integer"
          description: "The unique identifier for the account. The account ID to which the document is linked.<br><br><b>Applicable containers</b>: bank, investment, creditCard, loan, insurance<br>"
          format: "int64"
          readOnly: true
        lastUpdated:
          type: "string"
          description: "Indicates the date and time the document was last updated.<br><br><b>Applicable containers</b>: bank, investment, creditCard, loan, insurance<br>"
          readOnly: true
        formType:
          type: "string"
          description: "Indicates the type of the tax form.<br><br><b>Applicable containers</b>: bank, investment, creditCard, loan, insurance<br>"
          readOnly: true
        docType:
          type: "string"
          description: "Indicates the type of the document.<br><br><b>Applicable containers</b>: bank, investment, creditCard, loan, insurance<br>"
          readOnly: true
          enum:
          - "STMT"
          - "TAX"
          - "EBILL"
        name:
          type: "string"
          description: "Indicates the name of the document.<br><br><b>Applicable containers</b>: bank, investment, creditCard, loan, insurance<br>"
          readOnly: true
        id:
          type: "string"
          description: "The document's primary key and unique identifier.<br><br><b>Applicable containers</b>: bank, investment, creditCard, loan, insurance<br>"
          readOnly: true
        source:
          type: "string"
          description: "Indicates the source of the document download.<br><br><b>Applicable containers</b>: bank, investment, creditCard, loan, insurance<br>"
          readOnly: true
        status:
          type: "string"
          description: "Indicates the status of the document download.<br><br><b>Applicable containers</b>: bank, investment, creditCard, loan, insurance<br>"
          readOnly: true
    ProviderAccountUserProfileResponse:
      title: "ProviderAccountUserProfileResponse"
      type: "object"
      properties:
        providerAccount:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/ProviderAccountProfile"
    Security:
      title: "Security"
      type: "object"
      properties:
        stockExchangeDetails:
          type: "array"
          description: "Securities exchange provide the securities information at the corresponding exchanges. <br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
          items:
            $ref: "#/components/schemas/StockExchangeDetail"
        issueTypeMultiplier:
          type: "number"
          description: "Price units corresponding to the security style. This is used to derive actual price of the security from market value.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "double"
          readOnly: true
        stateTaxable:
          type: "boolean"
          description: "The state in which the security is taxed.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        callDate:
          type: "string"
          description: "Next call date of the security.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        cdscFundFlag:
          type: "boolean"
          description: "cdsc fund flag of the security.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        cusip:
          type: "string"
          description: "A CUSIP is a nine-character alphanumeric code that identifies a North American financial security for the purposes of facilitating clearing and settlement of trades.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        federalTaxable:
          type: "boolean"
          description: "Flag indicating federal taxable.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        sAndPRating:
          type: "string"
          description: "Unique identifier for S&P rating on Envestnet platform.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        shareClass:
          type: "string"
          description: "Share class of the security.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        isEnvestnetDummySecurity:
          type: "boolean"
          description: "Flag indicating a dummy security.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        description:
          type: "string"
          description: "The description (name) of the security. For example, Cisco Systems.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        minimumPurchase:
          type: "integer"
          description: "Minimum purchase of security.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "int32"
          readOnly: true
        type:
          type: "string"
          description: "Indicates the type of security like stocks, mutual fund, etc. <br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        firstCouponDate:
          type: "string"
          description: "First coupon date of security.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        frequency:
          type: "integer"
          description: "Coupon Frequency.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "int32"
          readOnly: true
        accrualMethod:
          type: "string"
          description: "The method in which interest is accrued or earned.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        incomeCurrency:
          type: "string"
          description: "ISO 4217 currency code indicating income currency of the security.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        maturityDate:
          type: "string"
          description: "Maturity date of the security.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        callPrice:
          type: "number"
          description: "Next call price of the security.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "double"
          readOnly: true
        id:
          type: "integer"
          description: "The unique identifier of the security.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "int64"
          readOnly: true
        issueDate:
          type: "string"
          description: "Issue date of the security.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        sector:
          type: "string"
          description: "Identifier of the sector to which the security belongs to.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        agencyFactor:
          type: "number"
          description: "Agency factor of the security.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "double"
          readOnly: true
        interestRate:
          type: "number"
          description: "The rate of interest paid annually, expressed as a percentage of the bond's par or face value.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "double"
          readOnly: true
        lastModifiedDate:
          type: "string"
          description: "The last updated date of the security.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        gicsSector:
          type: "string"
          description: "GICS Sector is a categorization the S&P assigns to all publically traded companies. <br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        closedFlag:
          type: "boolean"
          description: "<b>true</b>:Closed for all investors , <b>false</b>: Open to all investors.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        sedol:
          type: "string"
          description: "The Stock Exchange Daily Official List (SEDOL) is a set of security identifiers used in the United Kingdom and Ireland for clearing purposes.<br><b>Note</b>: The SEDOL field is only applicable to the trade related transactions.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        subSector:
          type: "string"
          description: "GICS sector ID to which the security belongs to.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        lastCouponDate:
          type: "string"
          description: "Last coupon date of security.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        isSyntheticSecurity:
          type: "boolean"
          description: "Indicates whether the security is a simulated security.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        tradeCurrencyCode:
          type: "string"
          description: "ISO 4217 currency code indicating trading currency of the security.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        isDummySecurity:
          type: "boolean"
          description: "Indicates whether the security is a dummy security.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        moodyRating:
          type: "string"
          description: "Unique identifier for Moody rating on Envestnet platform.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        style:
          type: "string"
          description: "Classification of the style for the security.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        firmEligible:
          type: "string"
          description: "<b>1</b>- indicates Eligible,<b>0</b>- indicates firm is not eligible.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        fundFamily:
          type: "string"
          description: "Mutual Fund Family Name.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        isin:
          type: "string"
          description: "The International Securities Identification Number (ISIN) is used worldwide to identify specific securities. It is equivalent to CUSIP for international markets.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
    DataExtractsAccount:
      title: "DataExtractsAccount"
      type: "object"
      properties:
        availableCash:
          $ref: "#/components/schemas/Money"
        includeInNetWorth:
          type: "boolean"
          description: "Used to determine  whether an account to be considered in the networth calculation.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: bank,creditCard,loan,investment,insurance,realEstate,otherAssets,otherLiabilities<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        moneyMarketBalance:
          $ref: "#/components/schemas/Money"
        enrollmentDate:
          type: "string"
          description: "Date on which the user is enrolled on the rewards program.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        estimatedDate:
          type: "string"
          description: "The date on which the home value was estimated.<br><br><b>Aggregated / Manual</b>: Manual<br><b>Applicable containers</b>: realEstate<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        memo:
          type: "string"
          description: "The additional description or notes given by the user.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        guarantor:
          type: "string"
          description: "A nonprofit or state organization that works with lender, servicer, school, and the Department of Education to help successfully repay Federal Family Education Loan Program (FFELP) loans. If FFELP student loans default, the guarantor takes ownership of them.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        interestPaidLastYear:
          $ref: "#/components/schemas/Money"
        lastUpdated:
          type: "string"
          description: "The date time the account information was last retrieved from the provider site and updated in the Yodlee system.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        balance:
          $ref: "#/components/schemas/Money"
        homeInsuranceType:
          type: "string"
          description: "Type of home insurance, like -<ul><li>HOME_OWNER</li><li>RENTAL</li><li>RENTER</li><li>etc..</li></ul><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "HOME_OWNER"
          - "RENTAL"
          - "RENTER"
          - "UNKNOWN"
          - "OTHER"
        id:
          type: "integer"
          description: "The primary key of the account resource and the unique identifier for the account.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts </li><li>GET accounts/{accountId}</li><li>GET investmentOptions</li><li>GET accounts/historicalBalances</li><li>POST accounts</li><li>GET dataExtracts/userData</li></ul>"
          format: "int64"
          readOnly: true
        cash:
          $ref: "#/components/schemas/Money"
        totalCreditLine:
          $ref: "#/components/schemas/Money"
        providerName:
          type: "string"
          description: "Service provider or institution name where the account originates. This belongs to the provider resource.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        valuationType:
          type: "string"
          description: "The valuation type indicates whether the home value is calculated either manually or by Yodlee Partners.<br><br><b>Aggregated / Manual</b>: Manual<br><b>Applicable containers</b>: realEstate<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "SYSTEM"
          - "MANUAL"
        marginBalance:
          $ref: "#/components/schemas/Money"
        apr:
          type: "number"
          description: "The annual percentage rate (APR) is the yearly rate of interest on the credit card account.<br><b>Additional Details:</b> The yearly percentage rate charged when a balance is held on a credit card. This rate of interest is applied every month on the outstanding credit card balance.<br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: creditCard<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "double"
          readOnly: true
        availableCredit:
          $ref: "#/components/schemas/Money"
        currentBalance:
          $ref: "#/components/schemas/Money"
        isManual:
          type: "boolean"
          description: "Indicates if an account is aggregated from a site or it is a manual account i.e. account information manually provided by the user.<br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        escrowBalance:
          $ref: "#/components/schemas/Money"
        nextLevel:
          type: "string"
          description: "The eligible next level of the rewards program.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        classification:
          type: "string"
          description: "The classification of the account such as personal, corporate, etc.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: bank, creditCard, investment, reward, loan, insurance<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "OTHER"
          - "PERSONAL"
          - "CORPORATE"
          - "SMALL_BUSINESS"
          - "TRUST"
          - "ADD_ON_CARD"
          - "VIRTUAL_CARD"
        loanPayoffAmount:
          $ref: "#/components/schemas/Money"
        interestRateType:
          type: "string"
          description: "The type of the interest rate, for example, fixed or variable.<br><b>Applicable containers</b>: loan<br><b>Aggregated / Manual</b>: Aggregated<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "FIXED"
          - "VARIABLE"
          - "UNKNOWN"
          - "OTHER"
        loanPayByDate:
          type: "string"
          description: "The date by which the payoff amount should be paid.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        faceAmount:
          $ref: "#/components/schemas/Money"
        policyFromDate:
          type: "string"
          description: "The date the insurance policy began.<br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        premiumPaymentTerm:
          type: "string"
          description: "The number of years for which premium payments have to be made in a policy.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        policyTerm:
          type: "string"
          description: "The duration for which the policy is valid or in effect. For example, one year, five years, etc.<br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        repaymentPlanType:
          type: "string"
          description: "The type of repayment plan that the borrower prefers to repay the loan. <br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values:</b><br>"
          readOnly: true
          enum:
          - "STANDARD"
          - "GRADUATED"
          - "EXTENDED"
          - "INCOME_BASED"
          - "INCOME_CONTINGENT"
          - "INCOME_SENSITIVE"
          - "PAY_AS_YOU_EARN"
          - "REVISED_PAY_AS_YOU_EARN"
        availableBalance:
          $ref: "#/components/schemas/Money"
        accountStatus:
          type: "string"
          description: "The status of the account that is updated by the consumer through an application or an API. Valid Values: AccountStatus<br><b>Additional Details:</b><br><b>ACTIVE:</b> All the added manual and aggregated accounts status will be made \"ACTIVE\" by default. <br><b>TO_BE_CLOSED:</b> If the aggregated accounts are not found or closed in the data provider site, Yodlee system marks the status as TO_BE_CLOSED<br><b>INACTIVE:</b> Users can update the status as INACTIVE to stop updating and to stop considering the account in other services<br><b>CLOSED:</b> Users can update the status as CLOSED, if the account is closed with the provider. <br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "ACTIVE"
          - "INACTIVE"
          - "TO_BE_CLOSED"
          - "CLOSED"
          - "DELETED"
        lifeInsuranceType:
          type: "string"
          description: "Type of life insurance.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "OTHER"
          - "TERM_LIFE_INSURANCE"
          - "UNIVERSAL_LIFE_INSURANCE"
          - "WHOLE_LIFE_INSURANCE"
          - "VARIABLE_LIFE_INSURANCE"
          - "ULIP"
          - "ENDOWMENT"
        premium:
          $ref: "#/components/schemas/Money"
        aggregationSource:
          type: "string"
          description: "The source through which the account(s) are added in the system.<br><b>Valid Values</b>: SYSTEM, USER<br><b>Applicable containers</b>: All Containers<br><b>Aggregated / Manual</b>: Both <br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "SYSTEM"
          - "USER"
        isDeleted:
          type: "boolean"
          description: "Indicates if the account is marked as deleted.<b>Applicable containers</b>: All Containers<br><b>Aggregated / Manual</b>: Both <br><b>Endpoints</b>:<br><ul><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        overDraftLimit:
          $ref: "#/components/schemas/Money"
        nickname:
          type: "string"
          description: "The nickname of the account as provided by the consumer to identify an account. The account nickname can be used instead of the account name.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        term:
          type: "string"
          description: "The tenure for which the CD account is valid  or in case of loan, the number of years/months over which the loan amount  has to be repaid. <br><b>Additional Details:</b><br>  Bank: The Term field is only applicable for the account type CD.Loan: The period for which the loan agreement is in force. The period, before or at the end of which, the loan should either be repaid or renegotiated for another term.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: bank, loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        interestRate:
          type: "number"
          description: "<br><b>Bank:</b> The interest rate offered by a FI to its depositors on a bank account.<br><b>Loan:</b> Interest rate applied on the loan.<br><b>Additional Details:</b><br><b>Note:</b> The Interest Rate field is only applicable for the following account types: savings, checking, money market, and certificate of deposit.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: bank, loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "double"
          readOnly: true
        deathBenefit:
          $ref: "#/components/schemas/Money"
        address:
          $ref: "#/components/schemas/AccountAddress"
        cashValue:
          $ref: "#/components/schemas/Money"
        401kLoan:
          $ref: "#/components/schemas/Money"
        homeValue:
          $ref: "#/components/schemas/Money"
        accountNumber:
          type: "string"
          description: "The account number as it appears on the site. (The POST accounts service response return this field as number)<br><b>Additional Details</b>:<b> Bank/ Loan/ Insurance/ Investment</b>:<br> The account number for the bank account as it appears at the site.<br><b>Credit Card</b>: The account number of the card account as it appears at the site,<br>i.e., the card number.The account number can be full or partial based on how it is displayed in the account summary page of the site.In most cases, the site does not display the full account number in the account summary page and additional navigation is required to aggregate it.<br><b>Applicable containers</b>: All Containers<br><b>Aggregated / Manual</b>: Both <br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>POST accounts</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        createdDate:
          type: "string"
          description: "The date on which the account is created in the Yodlee system.<br><b>Additional Details:</b> It is the date when the user links or aggregates the account(s) that are held with the provider to the Yodlee system.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        interestPaidYTD:
          $ref: "#/components/schemas/Money"
        providerAccountId:
          type: "integer"
          description: "The primary key of the provider account resource.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "int64"
          readOnly: true
        collateral:
          type: "string"
          description: "Property or possession offered to support a loan that can be seized on a default.<br><b>Applicable containers</b>: loan<br><b>Aggregated / Manual</b>: Aggregated<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        dataset:
          type: "array"
          description: "Logical grouping of dataset attributes into datasets such as Basic Aggregation Data, Account Profile and Documents.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/AccountDataset"
        runningBalance:
          $ref: "#/components/schemas/Money"
        sourceId:
          type: "string"
          description: "A unique ID that the provider site has assigned to the account. The source ID is only available for the HELD accounts.<br><br><b>Applicable containers</b>: bank, creditCard, investment, insurance, loan,  reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        dueDate:
          type: "string"
          description: "The date on which the due amount has to be paid. <br><b>Additional Details:</b><br><b>Credit Card:</b> The monthly date by when the minimum payment is due to be paid on the credit card account. <br><b>Loan:</b> The date on or before which the due amount should be paid.<br><b>Note:</b> The due date at the account-level can differ from the due date field at the statement-level, as the information in the aggregated card account data provides an up-to-date information to the consumer.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: creditCard, loan, insurance<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        frequency:
          type: "string"
          description: "The frequency of the billing cycle of the account in case of card. The frequency in which premiums are paid in an insurance policy such as monthly, quarterly, and annually. The frequency in which due amounts are paid in a loan  account.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>:  creditCard, insurance, loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "DAILY"
          - "ONE_TIME"
          - "WEEKLY"
          - "EVERY_2_WEEKS"
          - "SEMI_MONTHLY"
          - "MONTHLY"
          - "QUARTERLY"
          - "SEMI_ANNUALLY"
          - "ANNUALLY"
          - "EVERY_2_MONTHS"
          - "EBILL"
          - "FIRST_DAY_MONTHLY"
          - "LAST_DAY_MONTHLY"
          - "EVERY_4_WEEKS"
          - "UNKNOWN"
          - "OTHER"
        maturityAmount:
          $ref: "#/components/schemas/Money"
        associatedProviderAccountId:
          type: "array"
          description: "The providerAccountIds that share the account with the primary providerAccountId that was created when the user had added the account for the first time.<br><b>Additional Details</b>: This attribute is returned in the response only if the account deduplication feature is enabled and the same account is mapped to more than one provider account IDs indicating the account is owned by more than one user, for example, joint accounts.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: All Containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          items:
            type: "integer"
            format: "int64"
        isAsset:
          type: "boolean"
          description: "The account to be considered as an asset or liability.<br><b>Applicable containers</b>: All Containers<br><b>Aggregated / Manual</b>: Both <br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        principalBalance:
          $ref: "#/components/schemas/Money"
        totalCashLimit:
          $ref: "#/components/schemas/Money"
        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.<br><b>Additional Details:</b> The date when a certificate of deposit (CD) matures, i.e., the money in the CD can be withdrawn without paying an early withdrawal penalty.The final payment date of a loan, i.e., the principal amount (including pending interest) is due to be paid.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: bank, loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        minimumAmountDue:
          $ref: "#/components/schemas/Money"
        annualPercentageYield:
          type: "number"
          description: "Annual percentage yield (APY) is a normalized representation of an interest rate, based on a compounding period of one year. APY generally refers to the rate paid to a depositor by a financial institution on an account.<br><b>Applicable containers</b>: bank<br><b>Aggregated / Manual</b>: Aggregated<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "double"
          readOnly: true
        accountType:
          type: "string"
          description: "The type of account that is aggregated, i.e., savings, checking, credit card, charge, HELOC, etc. The account type is derived based on the attributes of the account. <br><b>Valid Values:</b><br><b>Aggregated Account Type</b><br><b>bank</b><ul><li>CHECKING</li><li>SAVINGS</li><li>CD</li><li>PPF</li><li>RECURRING_DEPOSIT</li><li>FSA</li><li>MONEY_MARKET</li><li>IRA</li><li>PREPAID</li></ul><b>creditCard</b><ul><li>OTHER</li><li>CREDIT</li><li>STORE</li><li>CHARGE</li><li>OTHER</li></ul><b>investment (SN 1.0)</b><ul><li>BROKERAGE_MARGIN</li><li>HSA</li><li>IRA</li><li>BROKERAGE_CASH</li><li>401K</li><li>403B</li><li>TRUST</li><li>ANNUITY</li><li>SIMPLE</li><li>CUSTODIAL</li><li>BROKERAGE_CASH_OPTION</li><li>BROKERAGE_MARGIN_OPTION</li><li>INDIVIDUAL</li><li>CORPORATE</li><li>JTTIC</li><li>JTWROS</li><li>COMMUNITY_PROPERTY</li><li>JOINT_BY_ENTIRETY</li><li>CONSERVATORSHIP</li><li>ROTH</li><li>ROTH_CONVERSION</li><li>ROLLOVER</li><li>EDUCATIONAL</li><li>529_PLAN</li><li>457_DEFERRED_COMPENSATION</li><li>401A</li><li>PSP</li><li>MPP</li><li>STOCK_BASKET</li><li>LIVING_TRUST</li><li>REVOCABLE_TRUST</li><li>IRREVOCABLE_TRUST</li><li>CHARITABLE_REMAINDER</li><li>CHARITABLE_LEAD</li><li>CHARITABLE_GIFT_ACCOUNT</li><li>SEP</li><li>UTMA</li><li>UGMA</li><li>ESOPP</li><li>ADMINISTRATOR</li><li>EXECUTOR</li><li>PARTNERSHIP</li><li>SOLE_PROPRIETORSHIP</li><li>CHURCH</li><li>INVESTMENT_CLUB</li><li>RESTRICTED_STOCK_AWARD</li><li>CMA</li><li>EMPLOYEE_STOCK_PURCHASE_PLAN</li><li>PERFORMANCE_PLAN</li><li>BROKERAGE_LINK_ACCOUNT</li><li>MONEY_MARKET</li><li>SUPER_ANNUATION</li><li>REGISTERED_RETIREMENT_SAVINGS_PLAN</li><li>SPOUSAL_RETIREMENT_SAVINGS_PLAN</li><li>DEFERRED_PROFIT_SHARING_PLAN</li><li>NON_REGISTERED_SAVINGS_PLAN</li><li>REGISTERED_EDUCATION_SAVINGS_PLAN</li><li>GROUP_RETIREMENT_SAVINGS_PLAN</li><li>LOCKED_IN_RETIREMENT_SAVINGS_PLAN</li><li>RESTRICTED_LOCKED_IN_SAVINGS_PLAN</li><li>LOCKED_IN_RETIREMENT_ACCOUNT</li><li>REGISTERED_PENSION_PLAN</li><li>TAX_FREE_SAVINGS_ACCOUNT</li><li>LIFE_INCOME_FUND</li><li>REGISTERED_RETIREMENT_INCOME_FUND</li><li>SPOUSAL_RETIREMENT_INCOME_FUND</li><li>LOCKED_IN_REGISTERED_INVESTMENT_FUND</li><li>PRESCRIBED_REGISTERED_RETIREMENT_INCOME_FUND</li><li>GUARANTEED_INVESTMENT_CERTIFICATES</li><li>REGISTERED_DISABILITY_SAVINGS_PLAN</li><li>OTHER</li></ul><b>investment (SN 2.0)</b><ul><li>BROKERAGE_CASH</li><li>BROKERAGE_MARGIN</li><li>INDIVIDUAL_RETIREMENT_ACCOUNT_IRA</li><li>EMPLOYEE_RETIREMENT_ACCOUNT_401K</li><li>EMPLOYEE_RETIREMENT_SAVINGS_PLAN_403B</li><li>TRUST</li><li>ANNUITY</li><li>SIMPLE_IRA</li><li>CUSTODIAL_ACCOUNT</li><li>BROKERAGE_CASH_OPTION</li><li>BROKERAGE_MARGIN_OPTION</li><li>INDIVIDUAL</li><li>CORPORATE_INVESTMENT_ACCOUNT</li><li>JOINT_TENANTS_TENANCY_IN_COMMON_JTIC</li><li>JOINT_TENANTS_WITH_RIGHTS_OF_SURVIVORSHIP_JTWROS</li><li>JOINT_TENANTS_COMMUNITY_PROPERTY</li><li>JOINT_TENANTS_TENANTS_BY_ENTIRETY</li><li>CONSERVATOR</li><li>ROTH_IRA</li><li>ROTH_CONVERSION</li><li>ROLLOVER_IRA</li><li>EDUCATIONAL</li><li>EDUCATIONAL_SAVINGS_PLAN_529</li><li>DEFERRED_COMPENSATION_PLAN_457</li><li>MONEY_PURCHASE_RETIREMENT_PLAN_401A</li><li>PROFIT_SHARING_PLAN</li><li>MONEY_PURCHASE_PLAN</li><li>STOCK_BASKET_ACCOUNT</li><li>LIVING_TRUST</li><li>REVOCABLE_TRUST</li><li>IRREVOCABLE_TRUST</li><li>CHARITABLE_REMAINDER_TRUST</li><li>CHARITABLE_LEAD_TRUST</li><li>CHARITABLE_GIFT_ACCOUNT</li><li>SEP_IRA</li><li>UNIFORM_TRANSFER_TO_MINORS_ACT_UTMA</li><li>UNIFORM_GIFT_TO_MINORS_ACT_UGMA</li><li>EMPLOYEE_STOCK_OWNERSHIP_PLAN_ESOP</li><li>ADMINISTRATOR</li><li>EXECUTOR</li><li>PARTNERSHIP</li><li>PROPRIETORSHIP</li><li>CHURCH_ACCOUNT</li><li>INVESTMENT_CLUB</li><li>RESTRICTED_STOCK_AWARD</li><li>CASH_MANAGEMENT_ACCOUNT</li><li>EMPLOYEE_STOCK_PURCHASE_PLAN_ESPP</li><li>PERFORMANCE_PLAN</li><li>BROKERAGE_LINK_ACCOUNT</li><li>MONEY_MARKET_ACCOUNT</li><li>SUPERANNUATION</li><li>REGISTERED_RETIREMENT_SAVINGS_PLAN_RRSP</li><li>SPOUSAL_RETIREMENT_SAVINGS_PLAN_SRSP</li><li>DEFERRED_PROFIT_SHARING_PLAN_DPSP</li><li>NON_REGISTERED_SAVINGS_PLAN_NRSP</li><li>REGISTERED_EDUCATION_SAVINGS_PLAN_RESP</li><li>GROUP_RETIREMENT_SAVINGS_PLAN_GRSP</li><li>LOCKED_IN_RETIREMENT_SAVINGS_PLAN_LRSP</li><li>RESTRICTED_LOCKED_IN_SAVINGS_PLAN_RLSP</li><li>LOCKED_IN_RETIREMENT_ACCOUNT_LIRA</li><li>REGISTERED_PENSION_PLAN_RPP</li><li>TAX_FREE_SAVINGS_ACCOUNT_TFSA</li><li>LIFE_INCOME_FUND_LIF</li><li>REGISTERED_RETIREMENT_INCOME_FUND_RIF</li><li>SPOUSAL_RETIREMENT_INCOME_FUND_SRIF</li><li>LOCKED_IN_REGISTERED_INVESTMENT_FUND_LRIF</li><li>PRESCRIBED_REGISTERED_RETIREMENT_INCOME_FUND_PRIF</li><li>GUARANTEED_INVESTMENT_CERTIFICATES_GIC</li><li>REGISTERED_DISABILITY_SAVINGS_PLAN_RDSP</li><li>DEFINED_CONTRIBUTION_PLAN</li><li>DEFINED_BENEFIT_PLAN</li><li>EMPLOYEE_STOCK_OPTION_PLAN</li><li>NONQUALIFIED_DEFERRED_COMPENSATION_PLAN_409A</li><li>KEOGH_PLAN</li><li>EMPLOYEE_RETIREMENT_ACCOUNT_ROTH_401K</li><li>DEFERRED_CONTINGENT_CAPITAL_PLAN_DCCP</li><li>EMPLOYEE_BENEFIT_PLAN</li><li>EMPLOYEE_SAVINGS_PLAN</li><li>HEALTH_SAVINGS_ACCOUNT_HSA</li><li>COVERDELL_EDUCATION_SAVINGS_ACCOUNT_ESA</li><li>TESTAMENTARY_TRUST</li><li>ESTATE</li><li>GRANTOR_RETAINED_ANNUITY_TRUST_GRAT</li><li>ADVISORY_ACCOUNT</li><li>NON_PROFIT_ORGANIZATION_501C</li><li>HEALTH_REIMBURSEMENT_ARRANGEMENT_HRA</li><li>INDIVIDUAL_SAVINGS_ACCOUNT_ISA</li><li>CASH_ISA</li><li>STOCKS_AND_SHARES_ISA</li><li>INNOVATIVE_FINANCE_ISA</li><li>JUNIOR_ISA</li><li>EMPLOYEES_PROVIDENT_FUND_ORGANIZATION_EPFO</li><li>PUBLIC_PROVIDENT_FUND_PPF</li><li>EMPLOYEES_PENSION_SCHEME_EPS</li><li>NATIONAL_PENSION_SYSTEM_NPS</li><li>INDEXED_ANNUITY</li><li>ANNUITIZED_ANNUITY</li><li>VARIABLE_ANNUITY</li><li>ROTH_403B</li><li>SPOUSAL_IRA</li><li>SPOUSAL_ROTH_IRA</li><li>SARSEP_IRA</li><li>SUBSTANTIALLY_EQUAL_PERIODIC_PAYMENTS_SEPP</li><li>OFFSHORE_TRUST</li><li>IRREVOCABLE_LIFE_INSURANCE_TRUST</li><li>INTERNATIONAL_TRUST</li><li>LIFE_INTEREST_TRUST</li><li>EMPLOYEE_BENEFIT_TRUST</li><li>PRECIOUS_METAL_ACCOUNT</li><li>INVESTMENT_LOAN_ACCOUNT</li><li>GRANTOR_RETAINED_INCOME_TRUST</li><li>PENSION_PLAN</li><li>OTHER</li></ul><b>loan</b><ul><li>MORTGAGE</li><li>INSTALLMENT_LOAN</li><li>PERSONAL_LOAN</li><li>HOME_EQUITY_LINE_OF_CREDIT</li><li>LINE_OF_CREDIT</li><li>AUTO_LOAN</li><li>STUDENT_LOAN</li><li>HOME_LOAN</li></ul><b>insurance</b><ul><li>AUTO_INSURANCE</li><li>HEALTH_INSURANCE</li><li>HOME_INSURANCE</li><li>LIFE_INSURANCE</li><li>ANNUITY</li><li>TRAVEL_INSURANCE</li><li>INSURANCE</li></ul><b>realEstate</b><ul> <li>REAL_ESTATE</li></ul><b>reward</b><ul><li>REWARD_POINTS</li></ul><b>Manual Account Type</b><br><b>bank</b><ul><li>CHECKING</li><li>SAVINGS</li><li>CD</li><li>PREPAID</li></ul><b>credit</b><ul>  <li>CREDIT</li></ul><b>loan</b><ul>  <li>PERSONAL_LOAN</li><li>HOME_LOAN</li></ul><b>insurance</b><ul><li>INSURANCE</li><li>ANNUITY</li></ul><b>investment</b><ul><li>BROKERAGE_CASH</li></ul><br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        originationDate:
          type: "string"
          description: "The date on which the loan is disbursed.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        totalVestedBalance:
          $ref: "#/components/schemas/Money"
        rewardBalance:
          type: "array"
          description: "Information of different reward balances associated with the account.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/RewardBalance"
        sourceAccountStatus:
          type: "string"
          description: "Indicates the status of the loan account. <br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values:</b><br>"
          readOnly: true
          enum:
          - "IN_REPAYMENT"
          - "DEFAULTED"
          - "IN_SCHOOL"
          - "IN_GRACE_PERIOD"
          - "DELINQUENCY"
          - "DEFERMENT"
          - "FORBEARANCE"
        derivedApr:
          type: "number"
          description: "Derived APR will be an estimated purchase APR based on consumers credit card transactions and credit card purchase.<br><b>Aggregated / Manual / Derived</b>: Derived<br><b>Applicable containers</b>: creditCard<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "double"
          readOnly: true
        policyEffectiveDate:
          type: "string"
          description: "The date on which the insurance policy coverage commences.<br><b>Applicable containers</b>: insurance<br><b>Aggregated / Manual</b>: Aggregated<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        totalUnvestedBalance:
          $ref: "#/components/schemas/Money"
        annuityBalance:
          $ref: "#/components/schemas/Money"
        accountName:
          type: "string"
          description: "The account name as it appears at the site.<br>(The POST accounts service response return this field as name)<br><b>Applicable containers</b>: All Containers<br><b>Aggregated / Manual</b>: Both <br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        totalCreditLimit:
          $ref: "#/components/schemas/Money"
        policyStatus:
          type: "string"
          description: "The status of the policy.<br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "ACTIVE"
          - "INACTIVE"
          - "OTHER"
        shortBalance:
          $ref: "#/components/schemas/Money"
        lender:
          type: "string"
          description: "The financial institution that provides the loan.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        lastEmployeeContributionAmount:
          $ref: "#/components/schemas/Money"
        providerId:
          type: "string"
          description: "Identifier of the provider site. The primary key of provider resource. <br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        lastPaymentDate:
          type: "string"
          description: "The date on which the payment for the previous or current billing cycle is done.<br><b>Additional Details:</b> If the payment is already done for the current billing cycle, then the field indicates the payment date of the current billing cycle. If payment is yet to be done for the current billing cycle, then the field indicates the date on which the payment was made for any of the previous billing cycles. The last payment date at the account-level can differ from the last payment date at the statement-level, as the information in the aggregated card account data provides an up-to-date information to the consumer.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: creditCard, loan, insurance<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        primaryRewardUnit:
          type: "string"
          description: "Primary reward unit for this reward program. E.g. miles, points, etc.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        lastPaymentAmount:
          $ref: "#/components/schemas/Money"
        remainingBalance:
          $ref: "#/components/schemas/Money"
        userClassification:
          type: "string"
          description: "<b>Applicable containers</b>: reward, bank, creditCard, investment, loan, insurance, realEstate,  otherLiabilities<br><b>Endpoints</b>:<ul><li>GET accounts </li><li>GET accounts/{accountId}</li><li>POST accounts</ul><li>GET dataExtracts/userData</li><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "BUSINESS"
          - "PERSONAL"
        bankTransferCode:
          type: "array"
          description: "Bank and branch identification information.<br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: bank, investment, loan<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/BankTransferCode"
        expirationDate:
          type: "string"
          description: "The date on which the insurance policy expires or matures.<br><b>Additional Details:</b> The due date at the account-level can differ from the due date field at the statement-level, as the information in the aggregated card account data provides an up-to-date information to the consumer.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        coverage:
          type: "array"
          description: "The coverage-related details of the account.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance,investment<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/Coverage"
        cashApr:
          type: "number"
          description: "Annual percentage rate applied to cash withdrawals on the card.<br><br><b>Account Type</b>: Aggregated<br><b>Applicable containers</b>: creditCard<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "double"
        oauthMigrationStatus:
          type: "string"
          description: "Indicates the migration status of the account from screen-scraping provider to the Open Banking provider. <br><br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          enum:
          - "IN_PROGRESS"
          - "TO_BE_MIGRATED"
          - "COMPLETED"
        displayedName:
          type: "string"
          description: "The name or identification of the account owner, as it appears at the FI site. <br><b>Note:</b> The account holder name can be full or partial based on how it is displayed in the account summary page of the FI site. In most cases, the FI site does not display the full account holder name in the account summary page.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: bank, creditCard, investment, insurance, loan,  reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        amountDue:
          $ref: "#/components/schemas/Money"
        currentLevel:
          type: "string"
          description: "Current level of the reward program the user is associated with. E.g. Silver, Jade etc.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        originalLoanAmount:
          $ref: "#/components/schemas/Money"
        policyToDate:
          type: "string"
          description: "The date to which the policy exists.<br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        loanPayoffDetails:
          $ref: "#/components/schemas/LoanPayoffDetails"
        CONTAINER:
          type: "string"
          description: "The type of service. E.g., Bank, Credit Card, Investment, Insurance, etc.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: All containers<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "bank"
          - "creditCard"
          - "investment"
          - "insurance"
          - "loan"
          - "reward"
          - "realEstate"
          - "otherAssets"
          - "otherLiabilities"
        lastEmployeeContributionDate:
          type: "string"
          description: "The date on which the last employee contribution was made to the 401k account.<br><b>Note:</b> The last employee contribution date field is derived from the transaction data and not aggregated from the FI site. The field is only applicable to the 401k account type.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: investment<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        lastPayment:
          $ref: "#/components/schemas/Money"
        recurringPayment:
          $ref: "#/components/schemas/Money"
    YodleeError:
      title: "YodleeError"
      type: "object"
      properties:
        errorMessage:
          type: "string"
        errorCode:
          type: "string"
        referenceCode:
          type: "string"
    DocumentDownload:
      title: "DocumentDownload"
      type: "object"
      properties:
        docContent:
          type: "string"
          description: "Contents of the document in Base64 format.<br><br><b>Applicable containers</b>: bank, investment, creditCard, loan, insurance<br>"
          readOnly: true
        id:
          type: "string"
          description: "The document's primary key and unique identifier.<br><br><b>Applicable containers</b>: bank, investment, creditCard, loan, insurance<br>"
          readOnly: true
    HoldingAssetClassificationListResponse:
      title: "HoldingAssetClassificationListResponse"
      type: "object"
      properties:
        assetClassificationList:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/AssetClassificationList"
    UpdateVerificationRequest:
      title: "UpdateVerificationRequest"
      type: "object"
      properties:
        verification:
          $ref: "#/components/schemas/UpdateVerification"
    DetailCategory:
      title: "DetailCategory"
      type: "object"
      properties:
        name:
          type: "string"
          description: "The name of the detail category<br><br><b>Applicable containers</b>:  creditCard, investment, insurance, loan<br>"
          readOnly: true
        id:
          type: "integer"
          description: "The unique identifier of the detail category.<br><br><b>Applicable containers</b>:  creditCard, investment, insurance, loan<br>"
          format: "int64"
          readOnly: true
    AccessTokens:
      title: "AccessTokens"
      type: "object"
      properties:
        appId:
          type: "string"
          description: "The identifier of the application for which the access token is generated.<br><br><b>Endpoints</b>:<ul><li>GET user/accessTokens</li></ul>"
        value:
          type: "string"
          description: "Access token value used to invoke the widgets/apps.<br><br><b>Endpoints</b>:<ul><li>GET user/accessTokens</li></ul>"
        url:
          type: "string"
          description: "Base URL using which the application is accessed.<br><br><b>Endpoints</b>:<ul><li>GET user/accessTokens</li></ul>"
    DocumentResponse:
      title: "DocumentResponse"
      type: "object"
      properties:
        document:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/Document"
    ApiKeyOutput:
      title: "ApiKeyOutput"
      type: "object"
      properties:
        expiresIn:
          type: "integer"
          description: "Time in seconds after which the JWT token created for users expires.<br><br><b>Endpoints</b>:<ul><li>GET /auth/apiKey</li><li>POST /auth/apiKey</li></ul>"
          format: "int64"
        createdDate:
          type: "string"
          description: "The date on which the apiKey was created for the customer.<br><br><b>Endpoints</b>:<ul><li>GET /auth/apiKey</li><li>POST /auth/apiKey</li></ul>"
        publicKey:
          maxLength: 2147483647
          minLength: 1
          type: "string"
          description: "Public key uploaded by the customer while generating ApiKey.<br><br><b>Endpoints</b>:<ul><li>GET /auth/apiKey</li><li>POST /auth/apiKey</li></ul>"
        key:
          type: "string"
          description: "ApiKey or the issuer key used to generate the JWT token for authentication.<br><br><b>Endpoints</b>:<ul><li>GET /auth/apiKey</li><li>POST /auth/apiKey</li></ul>"
    UserAccessTokensResponse:
      title: "UserAccessTokensResponse"
      type: "object"
      properties:
        user:
          $ref: "#/components/schemas/UserAccessToken"
    LoanPayoffDetails:
      title: "LoanPayoffDetails"
      type: "object"
      properties:
        payByDate:
          type: "string"
          description: "The date by which the payoff amount should be paid.<br><br><b>Account Type</b>: Aggregated<br><b>Applicable containers</b>: loan<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul>"
          readOnly: true
        payoffAmount:
          $ref: "#/components/schemas/Money"
        outstandingBalance:
          $ref: "#/components/schemas/Money"
    HoldingSecuritiesResponse:
      title: "HoldingSecuritiesResponse"
      type: "object"
      properties:
        holding:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/SecurityHolding"
    TransactionCategorizationRuleInfo:
      title: "TransactionCategorizationRuleInfo"
      required:
      - "categoryId"
      - "ruleClause"
      type: "object"
      properties:
        ruleClause:
          type: "array"
          items:
            $ref: "#/components/schemas/FieldOperation"
        source:
          type: "string"
          enum:
          - "SYSTEM"
          - "USER"
        priority:
          type: "integer"
          format: "int32"
        categoryId:
          type: "integer"
          format: "int32"
    VerifyTransactionCriteria:
      title: "VerifyTransactionCriteria"
      required:
      - "amount"
      - "date"
      type: "object"
      properties:
        date:
          type: "string"
        amount:
          type: "number"
          format: "double"
        verifiedTransaction:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/Transaction"
        matched:
          type: "string"
          description: "Indicates if the criteria is matched or not. <br><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "COMPLETE"
          - "NONE"
        keyword:
          type: "string"
        dateVariance:
          type: "string"
        baseType:
          type: "string"
          description: "Indicates if the transaction appears as a debit or a credit transaction in the account. <br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br><b>Applicable Values</b><br>"
          enum:
          - "CREDIT"
          - "DEBIT"
    Capability:
      title: "Capability"
      type: "object"
      properties:
        container:
          type: "array"
          readOnly: true
          items:
            type: "string"
            enum:
            - "bank"
            - "creditCard"
            - "investment"
            - "insurance"
            - "loan"
            - "reward"
            - "realEstate"
            - "otherAssets"
            - "otherLiabilities"
        name:
          type: "string"
          readOnly: true
    Coordinates:
      title: "Coordinates"
      type: "object"
      properties:
        latitude:
          type: "number"
          description: "Latitude of the merchant<br><br><b>Applicable containers</b>: bank,creditCard,loan<br>"
          format: "double"
        longitude:
          type: "number"
          description: "Longitude of the merchant<br><br><b>Applicable containers</b>: bank,creditCard,loan<br>"
          format: "double"
    TransactionCategorizationRuleResponse:
      title: "TransactionCategorizationRuleResponse"
      type: "object"
      properties:
        txnRules:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/TransactionCategorizationRule"
    DataExtractsEventLinks:
      title: "DataExtractsEventLinks"
      type: "object"
      properties:
        methodType:
          type: "string"
          readOnly: true
        rel:
          type: "string"
          readOnly: true
        href:
          type: "string"
          readOnly: true
    ProviderAccountDetailResponse:
      title: "ProviderAccountDetailResponse"
      type: "object"
      properties:
        providerAccount:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/ProviderAccountDetail"
    ConfigsPublicKeyResponse:
      title: "ConfigsPublicKeyResponse"
      type: "object"
      properties:
        publicKey:
          $ref: "#/components/schemas/ConfigsPublicKey"
    HistoricalBalance:
      title: "HistoricalBalance"
      type: "object"
      properties:
        date:
          type: "string"
          description: "Date for which the account balance was provided.  This balance could be a carryforward, calculated or a scraped balance.<br><b>Additional Details</b>:<br><b>Scraped</b>: Balance shown in the provider site. This balance gets stored in Yodlee system during system/user account updates.<br><b>CarryForward</b>: Balance carried forward from the scraped balance to the days for which the balance was not available in the system. Balance may not be available for all the days in the system due to MFA information required, error in the site, credential changes, etc.<br><b>calculated</b>: Balances that gets calculated for the days that are prior to the account added date.  <br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: bank, creditCard, investment, insurance, realEstate, loan<br><b>Endpoints</b>:<ul><li>GET accounts/historicalBalances</li><li>GET derived/networth</li></ul>"
          readOnly: true
        isAsset:
          type: "boolean"
          description: "Indicates whether the balance is an asset or liability.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: bank, creditCard, investment, insurance, realEstate, loan<br><b>Endpoints</b>:<ul><li>GET accounts/historicalBalances</li></ul>"
          readOnly: true
        balance:
          $ref: "#/components/schemas/Money"
        asOfDate:
          type: "string"
          description: "Date as of when the balance is last updated due to the auto account updates or user triggered updates. This balance will be carry forward for the days where there is no balance available in the system. <br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: bank, creditCard, investment, insurance, realEstate, loan<br><b>Endpoints</b>:<ul><li>GET accounts/historicalBalances</li></ul>"
          readOnly: true
        dataSourceType:
          type: "string"
          description: "The source of balance information.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: bank, creditCard, investment, insurance, realEstate, loan<br><b>Endpoints</b>:<ul><li>GET accounts/historicalBalances</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "S"
          - "C"
          - "CF"
    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.<br><b>Applicable Values</b><br>"
          enum:
          - "AUD"
          - "BRL"
          - "CAD"
          - "EUR"
          - "GBP"
          - "HKD"
          - "IDR"
          - "INR"
          - "JPY"
          - "NZD"
          - "SGD"
          - "USD"
          - "ZAR"
          - "CNY"
          - "VND"
          - "MYR"
          - "CHF"
        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.<br><b>Applicable Values</b><br>"
          enum:
          - "en_US"
          - "en_ES"
          - "fr_CA"
          - "zh_CN"
    RewardBalance:
      title: "RewardBalance"
      type: "object"
      properties:
        expiryDate:
          type: "string"
          description: "The date on which the balance expires.<br><br><b>Account Type</b>: Aggregated<br><b>Applicable containers</b>: reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        balanceToReward:
          type: "string"
          description: "The balance required to qualify for a reward such as retaining membership, business reward, etc.<br><br><b>Account Type</b>: Aggregated<br><b>Applicable containers</b>: reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        balanceType:
          type: "string"
          description: "The type of reward balance.<br><br><b>Account Type</b>: Aggregated<br><b>Applicable containers</b>: reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "EXPIRING_BALANCE"
          - "BALANCE_TO_LEVEL"
          - "BALANCE_TO_REWARD"
          - "BALANCE"
          - "TOTAL_BALANCE"
        balance:
          type: "number"
          description: "The actual reward balance.<br><br><b>Account Type</b>: Aggregated<br><b>Applicable containers</b>: reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "double"
          readOnly: true
        description:
          type: "string"
          description: "The description for the reward balance as available at provider source.<br><br><b>Account Type</b>: Aggregated<br><b>Applicable containers</b>: reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        balanceToLevel:
          type: "string"
          description: "The balance required to reach a reward level.<br><br><b>Account Type</b>: Aggregated<br><b>Applicable containers</b>: reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        units:
          type: "string"
          description: "Unit of reward balance - miles, points, segments, dollars, credits.<br><br><b>Account Type</b>: Aggregated<br><b>Applicable containers</b>: reward<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
    UserDetailResponse:
      title: "UserDetailResponse"
      type: "object"
      properties:
        user:
          $ref: "#/components/schemas/UserDetail"
    ProviderAccountDetail:
      title: "ProviderAccountDetail"
      required:
      - "consentId"
      type: "object"
      properties:
        preferences:
          $ref: "#/components/schemas/ProviderAccountPreferences"
        oauthMigrationStatus:
          type: "string"
          description: "Indicates the migration status of the provider account from screen-scraping provider to the Open Banking provider. <br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>GET providerAccounts/{providerAccountId}</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          enum:
          - "IN_PROGRESS"
          - "TO_BE_MIGRATED"
          - "COMPLETED"
        isManual:
          type: "boolean"
          description: "Indicates whether account is a manual or aggregated provider account.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        lastUpdated:
          type: "string"
          description: "Indicate when the providerAccount is last updated successfully.<br><br><b>Account Type</b>: Aggregated<br><b>Endpoints</b>:<ul><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        consentId:
          type: "integer"
          description: "Consent Id generated through POST Consent.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li></ul>"
          format: "int64"
        loginForm:
          type: "array"
          description: "This entity gets returned in the response for only MFA based provider accounts during the add/update account polling process. This indicates that the MFA information is expected from the user to complete the process. This represents the structure of MFA form that is displayed to the user in the provider site.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/LoginForm"
        createdDate:
          type: "string"
          description: "The date on when the provider account is created in the system.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li></ul>"
          readOnly: true
        aggregationSource:
          type: "string"
          description: "The source through which the providerAccount is added in the system.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "SYSTEM"
          - "USER"
        providerId:
          type: "integer"
          description: "Unique identifier for the provider resource. This denotes the provider for which the provider account id is generated by the user.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "int64"
          readOnly: true
        requestId:
          type: "string"
          description: "Unique id generated to indicate the request.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li></ul>"
          readOnly: true
        id:
          type: "integer"
          description: "Unique identifier for the provider account resource. This is created during account addition.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "int64"
          readOnly: true
        dataset:
          type: "array"
          description: "Logical grouping of dataset attributes into datasets such as Basic Aggregation Data, Account Profile and Documents.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/AccountDataset"
        status:
          type: "string"
          description: "The status of last update attempted for the account. <br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "LOGIN_IN_PROGRESS"
          - "USER_INPUT_REQUIRED"
          - "IN_PROGRESS"
          - "PARTIAL_SUCCESS"
          - "SUCCESS"
          - "FAILED"
          - "MIGRATION_IN_PROGRESS"
    StatementResponse:
      title: "StatementResponse"
      type: "object"
      properties:
        statement:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/Statement"
    DerivedNetworthHistoricalBalance:
      title: "DerivedNetworthHistoricalBalance"
      type: "object"
      properties:
        date:
          type: "string"
          description: "Date for which the account balance was provided.  This balance could be a carryforward, calculated or a scraped balance. AdditIonal Details: scraped: Balance shown in the provider site. This balance gets stored in Yodlee system during system/user account updates. carryForward : Balance carried forward from the scraped balance to the days for which the balance was not available in the system. Balance may not be available for all the days in the system due to MFA information required, error in the site, credential changes, etc. calculated: Balances that gets calculated for the days that are prior to the account added date.<br><br><b>Account Type</b>: Aggregated and Manual<br><b>Applicable containers</b>: bank, creditCard, investment, insurance, realEstate, loan<br><b>Endpoints</b>:<ul><li>GET accounts/historicalBalances</li><li>GET derived/networth</li></ul>"
          readOnly: true
        accountId:
          type: "integer"
          format: "int64"
          readOnly: true
        isAsset:
          type: "boolean"
          description: "Indicates whether the balance is an asset or liability.<br><br><b>Account Type</b>: Aggregated and Manual<br><b>Applicable containers</b>: bank, creditCard, investment, insurance, realEstate, loan<br><b>Endpoints</b>:<ul><li>GET accounts/historicalBalances</li></ul>"
          readOnly: true
        balance:
          $ref: "#/components/schemas/Money"
        asOfDate:
          type: "string"
          description: "Date as of when the balance is last  updated due to the auto account updates or user triggered updates. This balance will be carry forward for the days where there is no balance available in the system. <br><br><b>Account Type</b>: Aggregated and Manual<br><b>Applicable containers</b>: bank, creditCard, investment, insurance, realEstate, loan<br><b>Endpoints</b>:<ul><li>GET accounts/historicalBalances</li></ul>"
          readOnly: true
        dataSourceType:
          type: "string"
          description: "The source of balance information.<br><br><b>Account Type</b>: Aggregated and Manual<br><b>Applicable containers</b>: bank, creditCard, investment, insurance, realEstate, loan<br><b>Endpoints</b>:<ul><li>GET accounts/historicalBalances</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "S"
          - "C"
          - "CF"
    UpdatedProviderAccountResponse:
      title: "UpdatedProviderAccountResponse"
      type: "object"
      properties:
        providerAccount:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/UpdatedProviderAccount"
    DerivedTransactionsSummary:
      title: "DerivedTransactionsSummary"
      type: "object"
      properties:
        categoryType:
          type: "string"
          description: "Type of categories provided by transactions/categories service.<br><br><b>Applicable containers</b>: creditCard, bank, investment<br><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "TRANSFER"
          - "DEFERRED_COMPENSATION"
          - "UNCATEGORIZE"
          - "INCOME"
          - "EXPENSE"
        categorySummary:
          type: "array"
          description: "Summary of transaction amouts at category level.<br><br><b>Applicable containers</b>: creditCard, bank, investment<br>"
          readOnly: true
          items:
            $ref: "#/components/schemas/DerivedCategorySummary"
        creditTotal:
          $ref: "#/components/schemas/Money"
        links:
          $ref: "#/components/schemas/DerivedTransactionsLinks"
        debitTotal:
          $ref: "#/components/schemas/Money"
    DerivedCategorySummary:
      title: "DerivedCategorySummary"
      type: "object"
      properties:
        creditTotal:
          $ref: "#/components/schemas/Money"
        details:
          type: "array"
          description: "Credit and debit summary per date.<br><br><b>Applicable containers</b>: creditCard, bank, investment<br>"
          readOnly: true
          items:
            $ref: "#/components/schemas/DerivedCategorySummaryDetails"
        links:
          $ref: "#/components/schemas/DerivedTransactionsLinks"
        categoryName:
          type: "string"
          description: "The name of the category.<br><br><b>Applicable containers</b>: creditCard, bank, investment<br>"
          readOnly: true
        categoryId:
          type: "integer"
          description: "Id of the category. This information is provided by transactions/categories service.<br><br><b>Applicable containers</b>: creditCard, bank, investment<br>"
          format: "int64"
          readOnly: true
        debitTotal:
          $ref: "#/components/schemas/Money"
    BankTransferCode:
      title: "BankTransferCode"
      type: "object"
      properties:
        id:
          type: "string"
          description: "The FI's branch identification number.Additional Details: The routing number of the bank account in the United States. For non-United States accounts, it is the IFSC code (India), BSB number (Australia), and sort code (United Kingdom). <br><b>Account Type</b>: Aggregated<br><b>Applicable containers</b>: bank, investment<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>POST verification</li></ul>"
        type:
          type: "string"
          description: "The bank transfer code type varies depending on the region of the account origination. <br><b>Account Type</b>: Aggregated<br><b>Applicable containers</b>: bank, investment<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>POST verification</li></ul><b>Applicable Values</b><br>"
          enum:
          - "BSB"
          - "IFSC"
          - "ROUTING_NUMBER"
          - "SORT_CODE"
    EvaluateAccountAddress:
      title: "EvaluateAccountAddress"
      required:
      - "street"
      type: "object"
      properties:
        zip:
          type: "string"
        country:
          type: "string"
        address3:
          type: "string"
        address2:
          type: "string"
        city:
          type: "string"
        sourceType:
          type: "string"
        address1:
          type: "string"
        street:
          type: "string"
        state:
          type: "string"
        type:
          type: "string"
          enum:
          - "HOME"
          - "BUSINESS"
          - "POBOX"
          - "RETAIL"
          - "OFFICE"
          - "SMALL_BUSINESS"
          - "COMMUNICATION"
          - "PERMANENT"
          - "STATEMENT_ADDRESS"
          - "PAYMENT"
          - "PAYOFF"
          - "UNKNOWN"
    UpdateCobrandNotificationEventRequest:
      title: "UpdateCobrandNotificationEventRequest"
      required:
      - "event"
      type: "object"
      properties:
        event:
          $ref: "#/components/schemas/UpdateCobrandNotificationEvent"
    CobrandPublicKeyResponse:
      title: "CobrandPublicKeyResponse"
      type: "object"
      properties:
        keyAlias:
          type: "string"
          description: "The key name used for encryption.<br><br><b>Endpoints</b>:<ul><li>GET cobrand/publicKey</li></ul>"
          readOnly: true
        keyAsPemString:
          type: "string"
          description: "Public key that the customer should be using to encrypt the credentials and answers before sending to the add & update providerAccounts APIs.<br><br><b>Endpoints</b>:<ul><li>GET cobrand/publicKey</li></ul>"
          readOnly: true
    Cobrand:
      title: "Cobrand"
      required:
      - "cobrandLogin"
      - "cobrandPassword"
      type: "object"
      properties:
        cobrandLogin:
          maxLength: 2147483647
          minLength: 1
          type: "string"
        cobrandPassword:
          maxLength: 2147483647
          minLength: 1
          type: "string"
        locale:
          pattern: "[a-z]{2}_[A-Z]{2}"
          type: "string"
          description: "The customer's locale that will be considered for the localization functionality.<br><br><b>Endpoints</b>:<ul><li>POST cobrand/login</li></ul>"
    TransactionCategorizationRuleRequest:
      title: "TransactionCategorizationRuleRequest"
      required:
      - "rule"
      type: "object"
      properties:
        rule:
          $ref: "#/components/schemas/TransactionCategorizationRuleInfo"
    AutoRefresh:
      title: "AutoRefresh"
      type: "object"
      properties:
        additionalStatus:
          type: "string"
          description: "Indicates the reason for the status.<br><br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "SCHEDULED"
          - "TEMP_ERROR"
          - "SITE_BLOCKING"
          - "SITE_NOT_SUPPORTED"
          - "REAL_TIME_MFA_REQUIRED"
          - "USER_ACTION_REQUIRED"
          - "UNSUBSCRIBED"
          - "MANUAL_ACCOUNT"
        asOfDate:
          type: "string"
          description: "Date on which the auto refresh status is determined.<br><br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul>"
          readOnly: true
        status:
          type: "string"
          description: "Indicates whether auto refresh is enabled or disabled.<br><br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "ENABLED"
          - "DISABLED"
    DataExtractsUser:
      title: "DataExtractsUser"
      type: "object"
      properties:
        loginName:
          type: "string"
          readOnly: true
    CobrandLoginRequest:
      title: "CobrandLoginRequest"
      required:
      - "cobrand"
      type: "object"
      properties:
        cobrand:
          $ref: "#/components/schemas/Cobrand"
    UpdateAccountRequest:
      title: "UpdateAccountRequest"
      required:
      - "account"
      type: "object"
      properties:
        account:
          $ref: "#/components/schemas/UpdateAccountInfo"
    DerivedNetworthResponse:
      title: "DerivedNetworthResponse"
      type: "object"
      properties:
        networth:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/DerivedNetworth"
    VerificationResponse:
      title: "VerificationResponse"
      type: "object"
      properties:
        verification:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/Verification"
    Description:
      title: "Description"
      type: "object"
      properties:
        security:
          type: "string"
          description: "The description will provide the actual name of the security.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        original:
          type: "string"
          description: "Original transaction description as it appears at the FI site.<br><br><b>Applicable containers</b>:  creditCard, insurance, loan<br>"
          readOnly: true
        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.<br><br><b>Applicable containers</b>:  creditCard, insurance, loan<br>"
          readOnly: true
        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.<br><br><b>Applicable containers</b>:  creditCard, insurance, loan<br>"
    ProviderDetailResponse:
      title: "ProviderDetailResponse"
      type: "object"
      properties:
        provider:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/ProviderDetail"
    ClientCredentialTokenResponse:
      title: "ClientCredentialTokenResponse"
      type: "object"
      properties:
        token:
          $ref: "#/components/schemas/ClientCredentialToken"
    UpdateTransaction:
      title: "UpdateTransaction"
      required:
      - "categoryId"
      - "categorySource"
      - "container"
      type: "object"
      properties:
        categorySource:
          type: "string"
          enum:
          - "SYSTEM"
          - "USER"
        container:
          type: "string"
          enum:
          - "bank"
          - "creditCard"
          - "investment"
          - "insurance"
          - "loan"
          - "reward"
          - "realEstate"
          - "otherAssets"
          - "otherLiabilities"
        description:
          $ref: "#/components/schemas/Description"
        memo:
          type: "string"
        categoryId:
          type: "integer"
          format: "int64"
    Attribute:
      title: "Attribute"
      type: "object"
      properties:
        container:
          type: "array"
          description: "Containers for which the attributes are supported.<br><br><b>Endpoints</b>:<ul><li>GET providers</li><li>GET providers/{providerId}</li></ul>"
          items:
            type: "string"
            enum:
            - "bank"
            - "creditCard"
            - "investment"
            - "insurance"
            - "loan"
            - "reward"
            - "realEstate"
            - "otherAssets"
            - "otherLiabilities"
        fromDate:
          type: "string"
          description: "Applicable only to EBILLS and STATEMENTS attributes of DOCUMENT dataset.<br><br><b>Endpoints</b>:<ul><li>POST providerAccounts</li><li>PUT providerAccounts</li></ul>"
          readOnly: true
        toFinYear:
          type: "string"
          description: "Applicable only to TAX attribute of DOCUMENT dataset.<br><br><b>Endpoints</b>:<ul><li>POST providerAccounts</li><li>PUT providerAccounts</li></ul>"
          readOnly: true
        fromFinYear:
          type: "string"
          description: "Applicable only to TAX attribute of DOCUMENT dataset.<br><br><b>Endpoints</b>:<ul><li>POST providerAccounts</li><li>PUT providerAccounts</li></ul>"
          readOnly: true
        containerAttributes:
          $ref: "#/components/schemas/ContainerAttributes"
        toDate:
          type: "string"
          description: "Applicable only to EBILLS and STATEMENTS attributes of DOCUMENT dataset.<br><br><b>Endpoints</b>:<ul><li>POST providerAccounts</li><li>PUT providerAccounts</li></ul>"
          readOnly: true
        name:
          type: "string"
          description: "Attributes that are supported for a dataset.<br><br><b>Endpoints</b>:<ul><li>GET providers</li><li>GET providers/{providerId}</li></ul>"
          enum:
          - "BASIC_ACCOUNT_INFO"
          - "TRANSACTIONS"
          - "STATEMENTS"
          - "HOLDINGS"
          - "ACCOUNT_DETAILS"
          - "TAX"
          - "EBILLS"
          - "FULL_ACCT_NUMBER"
          - "BANK_TRANSFER_CODE"
          - "HOLDER_NAME"
          - "HOLDER_DETAILS"
          - "PAYMENT_PROFILE"
          - "PAYMENT_DETAILS"
          - "INTEREST_DETAILS"
          - "COVERAGE"
    TransactionCategory:
      title: "TransactionCategory"
      type: "object"
      properties:
        highLevelCategoryName:
          type: "string"
          description: "The name of the high level category. A group of similar transaction categories are clubbed together to form a high-level category.<br><br><b>Applicable containers</b>:  creditCard, investment, insurance, loan<br>"
          readOnly: true
        defaultHighLevelCategoryName:
          type: "string"
          description: "A attribute which will always hold the first value(initial name) of Yodlee defined highLevelCategoryName attribute.<br><br><b>Applicable containers</b>: creditCard, investment, insurance, loan<br>"
          readOnly: true
        highLevelCategoryId:
          type: "integer"
          description: "The unique identifier of the high level category.<br><br><b>Applicable containers</b>:  creditCard, investment, insurance, loan<br>"
          format: "int64"
          readOnly: true
        detailCategory:
          type: "array"
          description: "Entity that provides detail category attributes<br><br><b>Applicable containers</b>:  creditCard, investment, insurance, loan<br>"
          readOnly: true
          items:
            $ref: "#/components/schemas/DetailCategory"
        id:
          type: "integer"
          description: "Unique identifier of the category.<br><br><b>Applicable containers</b>:  creditCard, investment, insurance, loan<br>"
          format: "int64"
          readOnly: true
        source:
          type: "string"
          description: "Source used to identify whether the transaction category is user defined category or system created category.<br><br><b>Applicable containers</b>:  creditCard, investment, insurance, loan<br><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "SYSTEM"
          - "USER"
        category:
          type: "string"
          description: "The name of the category.<br><b>Note</b>: Transaction categorization is one of the core features offered by Yodlee and the categories are assigned to the transactions by the system. Transactions can be clubbed together by the category that is assigned to them.  <br><br><b>Applicable containers</b>:  creditCard, investment, insurance, loan<br>"
          readOnly: true
        classification:
          type: "string"
          description: "Category Classification.<br><br><b>Applicable containers</b>:  creditCard, investment, insurance, loan<br><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "PERSONAL"
          - "BUSINESS"
        type:
          type: "string"
          description: "Transaction categories and high-level categories are further mapped to five transaction category types. Customers, based on their needs can either use the transaction categories, the high-level categories, or the transaction category types. <br><br><b>Applicable containers</b>:  creditCard, investment, insurance, loan<br><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "TRANSFER"
          - "DEFERRED_COMPENSATION"
          - "UNCATEGORIZE"
          - "INCOME"
          - "EXPENSE"
        defaultCategoryName:
          type: "string"
          description: "A attribute which will always hold the first value(initial name) of Yodlee defined category attribute.<br><br><b>Applicable containers</b>: creditCard, investment, insurance, loan<br>"
          readOnly: true
    Providers:
      title: "Providers"
      type: "object"
      properties:
        languageISOCode:
          type: "string"
          description: "The language in which the provider details are provided. For example, a site supports two languages English and French. English being the primary language, the provider response will be provided in French depending on the user's locale. The language follows the two letter ISO code.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        forgetPasswordUrl:
          type: "string"
          description: "The forget password URL of the provider site.<br><br><b>Endpoints</b>:<ul><li>GET providers</li></ul>"
          readOnly: true
        favicon:
          type: "string"
          description: "Favicon link of the provider.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        accountType:
          type: "array"
          description: "AccountType supported by the provider, eg: Brokerage Cash, Current<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
          items:
            type: "string"
            enum:
            - "CURRENT"
            - "BROKERAGE_CASH"
        countryISOCode:
          type: "string"
          description: "Country to which the provider belongs.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        isAddedByUser:
          type: "string"
          description: "Indicates that the site has been added by the user at least once.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        PRIORITY:
          type: "string"
          description: "Indicates the priority for which the service is invoked.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "POPULAR"
          - "SUGGESTED"
          - "COBRAND"
          - "SEARCH"
          - "ALL"
        associatedProviderIds:
          type: "array"
          description: "The screen-scraping providers that are associated to the Open Banking provider ID.<br><br><b>Applicable containers</b>: All Containers<br><b>Endpoints</b>:<ul><li>GET providers</li><li>GET providers/{providerId}</li></ul>"
          readOnly: true
          items:
            type: "integer"
            format: "int64"
        loginHelp:
          type: "string"
          description: "Help text to guide the user to choose the correct provider site.<br><br><b>Endpoints</b>:<ul><li>GET providers</li></ul>"
          readOnly: true
        primaryLanguageISOCode:
          type: "string"
          description: "The primary language of the site.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        help:
          type: "string"
          description: "Text to guide user through linking an account that belongs to the site<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        baseUrl:
          type: "string"
          description: "The base URL of the provider's site.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        capability:
          type: "array"
          description: "Capability of the site<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul><br><b>Note : </b> capability has been deprecated"
          readOnly: true
          items:
            $ref: "#/components/schemas/Capability"
        isConsentRequired:
          type: "boolean"
          description: "Indicates if a provider site requires consent.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        loginUrl:
          type: "string"
          description: "The login URL of the provider's site.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        isAutoRefreshEnabled:
          type: "boolean"
          description: "Indicates if a provider site is auto-refreshed.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        name:
          type: "string"
          description: "The name of a provider site.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        logo:
          type: "string"
          description: "The logo link of the provider institution. The link will return the logo in the PNG format.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        id:
          type: "integer"
          description: "Unique identifier for the provider site(e.g., financial institution sites, biller sites, lender sites, etc.).<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          format: "int64"
          readOnly: true
        lastModified:
          type: "string"
          description: "Determines when the provider information was updated by Yodlee. If the customer caches the data, the cache is recommended to be refreshed based on this field.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        authParameter:
          type: "array"
          description: "AuthParameter appears in the response only in case of token-based aggregation sites.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
          items:
            type: "string"
            enum:
            - "authorizationCode"
            - "idToken"
            - "authResponse"
        authType:
          type: "string"
          description: "The authentication type enabled at the provider site. <br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "OAUTH"
          - "CREDENTIALS"
          - "MFA_CREDENTIALS"
        dataset:
          type: "array"
          description: "Logical grouping of dataset attributes into datasets such as Basic Aggregation Data, Account Profile and Documents<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/ProvidersDataset"
        status:
          type: "string"
          description: "Determines if the provider is supported for the cobrand (customer), is in the beta stage, etc. <br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
          enum:
          - "Supported"
          - "Beta"
          - "Unsupported"
    UpdateUserRegistration:
      title: "UpdateUserRegistration"
      type: "object"
      properties:
        preferences:
          $ref: "#/components/schemas/UserRequestPreferences"
        address:
          $ref: "#/components/schemas/UserAddress"
        name:
          $ref: "#/components/schemas/Name"
        email:
          type: "string"
        segmentName:
          type: "string"
    EvaluateAddressResponse:
      title: "EvaluateAddressResponse"
      type: "object"
      properties:
        address:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/AccountAddress"
        isValidAddress:
          type: "boolean"
    Profile:
      title: "Profile"
      type: "object"
      properties:
        identifier:
          type: "array"
          description: "Identifiers available in the profile page of the account.<br><br><b>Account Type</b>: Aggregated<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/Identifier"
        address:
          type: "array"
          description: "Address available in the profile page of the account.<br><br><b>Account Type</b>: Aggregated<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/AccountAddress"
        phoneNumber:
          type: "array"
          description: "Phone number available in the profile page of the account.<br><br><b>Account Type</b>: Aggregated<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/PhoneNumber"
        gender:
          type: "string"
          description: "Gender of the provider account holder.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Endpoints</b>:<ul><li>GET providerAccounts/profile</li></ul>"
          readOnly: true
        name:
          $ref: "#/components/schemas/Name"
        email:
          type: "array"
          description: "Email Id available in the profile page of the account.<br><br><b>Account Type</b>: Aggregated<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/Email"
    TransactionRequest:
      title: "TransactionRequest"
      required:
      - "transaction"
      type: "object"
      properties:
        transaction:
          $ref: "#/components/schemas/UpdateTransaction"
    UserDetail:
      title: "UserDetail"
      type: "object"
      properties:
        preferences:
          $ref: "#/components/schemas/UserResponsePreferences"
        address:
          $ref: "#/components/schemas/UserAddress"
        loginName:
          type: "string"
          description: "The login name of the user used for authentication.<br><br><b>Endpoints</b>:<ul><li>POST user/register</li><li>GET user</li></ul>"
          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.<br><br><b>Endpoints</b>:<ul><li>POST user/samlLogin</li><li>POST user/register</li><li>GET user</li></ul>"
          format: "int64"
          readOnly: true
        roleType:
          type: "string"
          enum:
          - "INDIVIDUAL"
        email:
          type: "string"
          description: "The email address of the user.<br><br><b>Endpoints</b>:<ul><li>GET user</li></ul>"
          readOnly: true
        segmentName:
          type: "string"
    TransactionResponse:
      title: "TransactionResponse"
      type: "object"
      properties:
        transaction:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/Transaction"
    Merchant:
      title: "Merchant"
      type: "object"
      properties:
        website:
          type: "string"
          description: "The website of the merchant.<br><br><b>Applicable containers</b>: bank,creditCard,investment,loan<br>"
          readOnly: true
        address:
          $ref: "#/components/schemas/AccountAddress"
        contact:
          $ref: "#/components/schemas/Contact"
        categoryLabel:
          type: "array"
          description: "The business categories of the merchant.<br><br><b>Applicable containers</b>: bank,creditCard<br><b>Applicable Values</b><br>"
          readOnly: true
          items:
            type: "string"
        coordinates:
          $ref: "#/components/schemas/Coordinates"
        name:
          type: "string"
          description: "The name of the merchant.<br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          readOnly: true
        id:
          type: "string"
          description: "Identifier of the merchant.<br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          readOnly: true
        source:
          type: "string"
          description: "The source through which merchant information is retrieved.<br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "YODLEE"
          - "FACTUAL"
    CobrandNotificationEvent:
      title: "CobrandNotificationEvent"
      type: "object"
      properties:
        name:
          type: "string"
          description: "Name of the event for which the customers must subscribe to receive notifications.<br><b>Valid Value:</b> Notification Events Name<br><br><b>Endpoints</b>:<ul><li>GET cobrand/config/notifications/events</li></ul><b>Applicable Values</b><br>"
          enum:
          - "REFRESH"
          - "DATA_UPDATES"
          - "AUTO_REFRESH_UPDATES"
        callbackUrl:
          maxLength: 2147483647
          minLength: 1
          type: "string"
          description: "URL to which the notification should be posted.<br><br><b>Endpoints</b>:<ul><li>GET cobrand/config/notifications/events</li></ul>"
    TransactionTotal:
      title: "TransactionTotal"
      type: "object"
      properties:
        count:
          type: "integer"
          format: "int64"
    CobrandNotificationResponse:
      title: "CobrandNotificationResponse"
      type: "object"
      properties:
        event:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/CobrandNotificationEvent"
    LoginForm:
      title: "LoginForm"
      type: "object"
      properties:
        mfaInfoTitle:
          type: "string"
          description: "The title for the MFA information demanded from the user.This is the title displayed in the provider site.This field is applicable for MFA form types only. <br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li></ul>"
          readOnly: true
        help:
          type: "string"
          description: "The help that can be displayed to the customer in the login form.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
          readOnly: true
        forgetPasswordURL:
          type: "string"
          description: "The forget password URL of the provider site.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
        formType:
          type: "string"
          description: "The type of the forms for which the user information is required.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul><b>Applicable Values</b><br>"
          enum:
          - "login"
          - "questionAndAnswer"
          - "token"
          - "image"
        mfaInfoText:
          type: "string"
          description: "The text displayed in the provider site while requesting the user's MFA information. This field is applicable for MFA form types only. <br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li></ul>"
          readOnly: true
        loginHelp:
          type: "string"
          description: "The help that can be displayed to the customer in the login form.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
          readOnly: true
        mfaTimeout:
          type: "integer"
          description: "The amount of time before which the user is expected to provide MFA information. This field is applicable for MFA form types only. This would be an useful information that could be displayed to the users. <br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
          format: "int64"
          readOnly: true
        id:
          type: "integer"
          description: "The identifier of the login form.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
          format: "int64"
        row:
          type: "array"
          description: "This indicates one row in the form. The row will have one label. But it may have single or multiple fields.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
          items:
            $ref: "#/components/schemas/Row"
    ProviderResponse:
      title: "ProviderResponse"
      type: "object"
      properties:
        provider:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/Providers"
    UpdateConfigsNotificationEventRequest:
      title: "UpdateConfigsNotificationEventRequest"
      required:
      - "event"
      type: "object"
      properties:
        event:
          $ref: "#/components/schemas/UpdateConfigsNotificationEvent"
    Statement:
      title: "Statement"
      type: "object"
      properties:
        apr:
          type: "number"
          description: "The APR applied to the balance on the credit card account, as available in the statement.<br><b>Note:</b> In case of variable APR, the APR available on the statement might differ from the APR available at the account-level.<br><br><b>Applicable containers</b>: creditCard,  loan, insurance<br>"
          format: "double"
          readOnly: true
        cashApr:
          type: "number"
          description: "The APR applicable to cash withdrawals on the credit card account.<br><br><b>Applicable containers</b>: creditCard,  loan, insurance<br>"
          format: "double"
          readOnly: true
        billingPeriodStart:
          type: "string"
          description: "The start date of the statement period.<br><br><b>Applicable containers</b>: creditCard,  loan, insurance<br>"
          readOnly: true
        dueDate:
          type: "string"
          description: "The date by when the minimum payment is due to be paid.<br><b>Note:</b> The due date that appears in the statement may differ from the due date at the account-level.<br><br><b>Applicable containers</b>: creditCard,  loan, insurance<br>"
          readOnly: true
        interestAmount:
          $ref: "#/components/schemas/Money"
        statementDate:
          type: "string"
          description: "The date on which the statement is generated.<br><br><b>Applicable containers</b>: creditCard,  loan, insurance<br>"
          readOnly: true
        cashAdvance:
          $ref: "#/components/schemas/Money"
        billingPeriodEnd:
          type: "string"
          description: "The end date of the statement period.<br><br><b>Applicable containers</b>: creditCard,  loan, insurance<br>"
          readOnly: true
        principalAmount:
          $ref: "#/components/schemas/Money"
        loanBalance:
          $ref: "#/components/schemas/Money"
        amountDue:
          $ref: "#/components/schemas/Money"
        accountId:
          type: "integer"
          description: "Account to which the statement belongs to.<br><br><b>Applicable containers</b>: creditCard,  loan, insurance<br>"
          format: "int64"
          readOnly: true
        lastUpdated:
          type: "string"
          description: "The date when the account was last updated by Yodlee.<br><br><b>Applicable containers</b>: creditCard,  loan, insurance<br>"
          readOnly: true
        isLatest:
          type: "boolean"
          description: "The field is set to true if the statement is the latest generated statement.<br><br><b>Applicable containers</b>: creditCard,  loan, insurance<br>"
          readOnly: true
        minimumPayment:
          $ref: "#/components/schemas/Money"
        lastPaymentDate:
          type: "string"
          description: "The date on which the last payment was done during the billing cycle.<br><br><b>Applicable containers</b>: creditCard,  loan, insurance<br>"
          readOnly: true
        lastPaymentAmount:
          $ref: "#/components/schemas/Money"
        id:
          type: "integer"
          description: "Unique identifier for the statement.<br><br><b>Applicable containers</b>: creditCard,  loan, insurance<br>"
          format: "int64"
          readOnly: true
        newCharges:
          $ref: "#/components/schemas/Money"
    Verification:
      title: "Verification"
      type: "object"
      properties:
        accountId:
          type: "integer"
          description: "Unique identifier for the account.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>"
          format: "int64"
        reason:
          type: "string"
          description: "The reason the account verification failed.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>"
          readOnly: true
          enum:
          - "DATA_NOT_AVAILABLE"
          - "ACCOUNT_HOLDER_MISMATCH"
          - "FULL_ACCOUNT_NUMBER_AND_BANK_TRANSFER_CODE_NOT_AVAILABLE"
          - "FULL_ACCOUNT_NUMBER_NOT_AVAILABLE"
          - "BANK_TRANSFER_CODE_NOT_AVAILABLE"
          - "EXPIRED"
          - "DATA_MISMATCH"
          - "INSTRUCTION_GENERATION_ERROR"
        verificationStatus:
          type: "string"
          description: "The status of the account verification.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul><br><b>Applicable Values</b>"
          readOnly: true
          enum:
          - "INITIATED"
          - "DEPOSITED"
          - "SUCCESS"
          - "FAILED"
        providerAccountId:
          type: "integer"
          description: "Unique identifier for the provider account.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>"
          format: "int64"
        verificationType:
          type: "string"
          description: "The account verification type.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul><br><b>Applicable Values</b>"
          enum:
          - "MATCHING"
          - "CHALLENGE_DEPOSIT"
        account:
          $ref: "#/components/schemas/VerificationAccount"
        verificationDate:
          type: "string"
          description: "The date of the account verification.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>"
          readOnly: true
        verificationId:
          type: "integer"
          description: "Unique identifier for the verification request.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>"
          format: "int64"
          readOnly: true
    DataExtractsEventResponse:
      title: "DataExtractsEventResponse"
      type: "object"
      properties:
        event:
          $ref: "#/components/schemas/DataExtractsEvent"
    DerivedNetworth:
      title: "DerivedNetworth"
      type: "object"
      properties:
        date:
          type: "string"
          description: "The date as of when the networth information is provided.<br><br><b>Applicable containers</b>: bank, creditcard, investment, insurance, realEstate, loan<br>"
          readOnly: true
        liability:
          $ref: "#/components/schemas/Money"
        historicalBalances:
          type: "array"
          description: "Balances of the accounts over the period of time.<br><br><b>Applicable containers</b>: bank, creditcard, investment, insurance, realEstate, loan<br>"
          readOnly: true
          items:
            $ref: "#/components/schemas/DerivedNetworthHistoricalBalance"
        networth:
          $ref: "#/components/schemas/Money"
        asset:
          $ref: "#/components/schemas/Money"
    UserRegistration:
      title: "UserRegistration"
      required:
      - "loginName"
      type: "object"
      properties:
        preferences:
          $ref: "#/components/schemas/UserRequestPreferences"
        address:
          $ref: "#/components/schemas/UserAddress"
        loginName:
          maxLength: 150
          minLength: 3
          type: "string"
        name:
          $ref: "#/components/schemas/Name"
        email:
          type: "string"
        segmentName:
          type: "string"
    SecurityHolding:
      title: "SecurityHolding"
      type: "object"
      properties:
        security:
          $ref: "#/components/schemas/Security"
        id:
          type: "string"
          readOnly: true
    TotalCount:
      title: "TotalCount"
      type: "object"
      properties:
        count:
          type: "integer"
          format: "int64"
          readOnly: true
    ProvidersDataset:
      title: "ProvidersDataset"
      type: "object"
      properties:
        name:
          type: "string"
          description: "The name of the dataset requested from the provider site<br><br><b>Account Type</b>: Manual<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li><li>GET providers</li></ul><b>Applicable Values</b><br>"
          enum:
          - "BASIC_AGG_DATA"
          - "ADVANCE_AGG_DATA"
          - "ACCT_PROFILE"
          - "DOCUMENT"
        attribute:
          type: "array"
          description: "The name of the dataset attribute suported by the provider.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          items:
            $ref: "#/components/schemas/Attribute"
    ConfigsNotificationEvent:
      title: "ConfigsNotificationEvent"
      type: "object"
      properties:
        name:
          type: "string"
          description: "Name of the event for which the customers must subscribe to receive notifications.<br><b>Valid Value:</b> Notification Events Name<br><br><b>Endpoints</b>:<ul><li>GET configs/notifications/events</li></ul><b>Applicable Values</b><br>"
          enum:
          - "REFRESH"
          - "DATA_UPDATES"
          - "AUTO_REFRESH_UPDATES"
        callbackUrl:
          maxLength: 2147483647
          minLength: 1
          type: "string"
          description: "URL to which the notification should be posted.<br><br><b>Endpoints</b>:<ul><li>GET configs/notifications/events</li></ul>"
    ConfigsNotificationResponse:
      title: "ConfigsNotificationResponse"
      type: "object"
      properties:
        event:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/ConfigsNotificationEvent"
    DataExtractsProviderAccount:
      title: "DataExtractsProviderAccount"
      type: "object"
      properties:
        lastUpdated:
          type: "string"
          description: "Indicate when the providerAccount is last updated successfully.<br><br><b>Account Type</b>: Aggregated<br><b>Endpoints</b>:<ul><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        createdDate:
          type: "string"
          description: "The date on when the provider account is created in the system.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li></ul>"
          readOnly: true
        aggregationSource:
          type: "string"
          description: "The source through which the providerAccount is added in the system.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "SYSTEM"
          - "USER"
        isDeleted:
          type: "boolean"
          description: "Indicates if the provider account is deleted from the system.<b>Applicable containers</b>: All Containers<br><b>Aggregated / Manual</b>: Both <br><b>Endpoints</b>:<br><ul><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        oauthMigrationStatus:
          type: "string"
          description: "Indicates the migration status of the provider account from screen-scraping provider to the Open Banking provider. <br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>GET providerAccounts/{providerAccountId}</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          enum:
          - "IN_PROGRESS"
          - "TO_BE_MIGRATED"
          - "COMPLETED"
        providerId:
          type: "integer"
          description: "Unique identifier for the provider resource. This denotes the provider for which the provider account id is generated by the user.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "int64"
          readOnly: true
        requestId:
          type: "string"
          description: "Unique id generated to indicate the request.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li></ul>"
          readOnly: true
        isManual:
          type: "boolean"
          description: "Indicates whether account is a manual or aggregated provider account.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        id:
          type: "integer"
          description: "Unique identifier for the provider account resource. This is created during account addition.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "int64"
          readOnly: true
        dataset:
          type: "array"
          description: "Logical grouping of dataset attributes into datasets such as Basic Aggregation Data, Account Profile and Documents.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/AccountDataset"
        status:
          type: "string"
          description: "The status of last update attempted for the account. <br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "LOGIN_IN_PROGRESS"
          - "USER_INPUT_REQUIRED"
          - "IN_PROGRESS"
          - "PARTIAL_SUCCESS"
          - "SUCCESS"
          - "FAILED"
          - "MIGRATION_IN_PROGRESS"
    PhoneNumber:
      title: "PhoneNumber"
      type: "object"
      properties:
        type:
          type: "string"
          description: "type of phone number"
          readOnly: true
          enum:
          - "HOME"
          - "WORK"
          - "LANDLINE"
          - "MOBILE"
        value:
          type: "string"
          description: "Phone Number"
          readOnly: true
    AccountProfile:
      title: "AccountProfile"
      type: "object"
      properties:
        identifier:
          type: "array"
          description: "Identifiers available in the profile page of the account.<br><br><b>Account Type</b>: Aggregated<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/Identifier"
        address:
          type: "array"
          description: "Address available in the profile page of the account.<br><br><b>Account Type</b>: Aggregated<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/AccountAddress"
        phoneNumber:
          type: "array"
          description: "Phone number available in the profile page of the account.<br><br><b>Account Type</b>: Aggregated<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/PhoneNumber"
        email:
          type: "array"
          description: "Email Id available in the profile page of the account.<br><br><b>Account Type</b>: Aggregated<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/Email"
    ProviderAccountRequest:
      title: "ProviderAccountRequest"
      required:
      - "field"
      type: "object"
      properties:
        consentId:
          type: "integer"
          description: "Consent Id generated for the request through POST Consent.<br><br><b>Endpoints</b>:<ul><li>POST Provider Account</li><li>PUT Provider Account</li></ul>"
          format: "int64"
        preferences:
          $ref: "#/components/schemas/ProviderAccountPreferences"
        aggregationSource:
          type: "string"
          enum:
          - "SYSTEM"
          - "USER"
        field:
          type: "array"
          items:
            $ref: "#/components/schemas/Field"
        datasetName:
          type: "array"
          items:
            type: "string"
            enum:
            - "BASIC_AGG_DATA"
            - "ADVANCE_AGG_DATA"
            - "ACCT_PROFILE"
            - "DOCUMENT"
        dataset:
          type: "array"
          items:
            $ref: "#/components/schemas/ProvidersDataset"
    TransactionCount:
      title: "TransactionCount"
      type: "object"
      properties:
        TOTAL:
          $ref: "#/components/schemas/TransactionTotal"
    VerificationStatus:
      title: "VerificationStatus"
      type: "object"
      properties:
        accountId:
          type: "integer"
          description: "Unique identifier for the account.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>"
          format: "int64"
        reason:
          type: "string"
          description: "The reason the account verification failed.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>"
          readOnly: true
          enum:
          - "DATA_NOT_AVAILABLE"
          - "ACCOUNT_HOLDER_MISMATCH"
          - "FULL_ACCOUNT_NUMBER_AND_BANK_TRANSFER_CODE_NOT_AVAILABLE"
          - "FULL_ACCOUNT_NUMBER_NOT_AVAILABLE"
          - "BANK_TRANSFER_CODE_NOT_AVAILABLE"
          - "EXPIRED"
          - "DATA_MISMATCH"
          - "INSTRUCTION_GENERATION_ERROR"
        verificationStatus:
          type: "string"
          description: "The status of the account verification.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul><br><b>Applicable Values</b>"
          readOnly: true
          enum:
          - "INITIATED"
          - "DEPOSITED"
          - "SUCCESS"
          - "FAILED"
        providerAccountId:
          type: "integer"
          description: "Unique identifier for the provider account.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>"
          format: "int64"
        verificationType:
          type: "string"
          description: "The account verification type.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul><br><b>Applicable Values</b>"
          enum:
          - "MATCHING"
          - "CHALLENGE_DEPOSIT"
        account:
          $ref: "#/components/schemas/VerificationAccount"
        remainingAttempts:
          type: "integer"
          format: "int64"
          readOnly: true
        verificationDate:
          type: "string"
          description: "The date of the account verification.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>"
          readOnly: true
        verificationId:
          type: "integer"
          description: "Unique identifier for the verification request.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>"
          format: "int64"
          readOnly: true
    Email:
      title: "Email"
      type: "object"
      properties:
        type:
          type: "string"
          readOnly: true
          enum:
          - "PRIMARY"
          - "SECONDARY"
          - "PERSONAL"
          - "WORK"
          - "OTHERS"
        value:
          type: "string"
          readOnly: true
    ProviderAccountProfile:
      title: "ProviderAccountProfile"
      type: "object"
      properties:
        profile:
          type: "array"
          description: "PII related data like address, name, phoneNumber, identifier and email.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/profile</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/Profile"
        id:
          type: "integer"
          description: "Unique identifier for profile<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/profile</li></ul>"
          format: "int64"
          readOnly: true
    CreateConfigsNotificationEventRequest:
      title: "CreateConfigsNotificationEventRequest"
      required:
      - "event"
      type: "object"
      properties:
        event:
          $ref: "#/components/schemas/CreateConfigsNotificationEvent"
    UserAccessToken:
      title: "UserAccessToken"
      type: "object"
      properties:
        accessTokens:
          type: "array"
          items:
            $ref: "#/components/schemas/AccessTokens"
    EvaluateAddressRequest:
      title: "EvaluateAddressRequest"
      required:
      - "address"
      type: "object"
      properties:
        address:
          $ref: "#/components/schemas/EvaluateAccountAddress"
    VerifiedAccount:
      title: "VerifiedAccount"
      type: "object"
      properties:
        fullAccountNumber:
          type: "string"
        accountType:
          type: "string"
          description: "The type of account that is aggregated, i.e., savings, checking, credit card, charge, HELOC, etc. The account type is derived based on the attributes of the account. <br><b>Valid Values:</b><br><b>Aggregated Account Type</b><br><b>bank</b><ul><li>CHECKING</li><li>SAVINGS</li><li>CD</li><li>PPF</li><li>RECURRING_DEPOSIT</li><li>FSA</li><li>MONEY_MARKET</li><li>IRA</li><li>PREPAID</li></ul><b>creditCard</b><ul><li>OTHER</li><li>CREDIT</li><li>STORE</li><li>CHARGE</li><li>OTHER</li></ul><b>investment (SN 1.0)</b><ul><li>BROKERAGE_MARGIN</li><li>HSA</li><li>IRA</li><li>BROKERAGE_CASH</li><li>401K</li><li>403B</li><li>TRUST</li><li>ANNUITY</li><li>SIMPLE</li><li>CUSTODIAL</li><li>BROKERAGE_CASH_OPTION</li><li>BROKERAGE_MARGIN_OPTION</li><li>INDIVIDUAL</li><li>CORPORATE</li><li>JTTIC</li><li>JTWROS</li><li>COMMUNITY_PROPERTY</li><li>JOINT_BY_ENTIRETY</li><li>CONSERVATORSHIP</li><li>ROTH</li><li>ROTH_CONVERSION</li><li>ROLLOVER</li><li>EDUCATIONAL</li><li>529_PLAN</li><li>457_DEFERRED_COMPENSATION</li><li>401A</li><li>PSP</li><li>MPP</li><li>STOCK_BASKET</li><li>LIVING_TRUST</li><li>REVOCABLE_TRUST</li><li>IRREVOCABLE_TRUST</li><li>CHARITABLE_REMAINDER</li><li>CHARITABLE_LEAD</li><li>CHARITABLE_GIFT_ACCOUNT</li><li>SEP</li><li>UTMA</li><li>UGMA</li><li>ESOPP</li><li>ADMINISTRATOR</li><li>EXECUTOR</li><li>PARTNERSHIP</li><li>SOLE_PROPRIETORSHIP</li><li>CHURCH</li><li>INVESTMENT_CLUB</li><li>RESTRICTED_STOCK_AWARD</li><li>CMA</li><li>EMPLOYEE_STOCK_PURCHASE_PLAN</li><li>PERFORMANCE_PLAN</li><li>BROKERAGE_LINK_ACCOUNT</li><li>MONEY_MARKET</li><li>SUPER_ANNUATION</li><li>REGISTERED_RETIREMENT_SAVINGS_PLAN</li><li>SPOUSAL_RETIREMENT_SAVINGS_PLAN</li><li>DEFERRED_PROFIT_SHARING_PLAN</li><li>NON_REGISTERED_SAVINGS_PLAN</li><li>REGISTERED_EDUCATION_SAVINGS_PLAN</li><li>GROUP_RETIREMENT_SAVINGS_PLAN</li><li>LOCKED_IN_RETIREMENT_SAVINGS_PLAN</li><li>RESTRICTED_LOCKED_IN_SAVINGS_PLAN</li><li>LOCKED_IN_RETIREMENT_ACCOUNT</li><li>REGISTERED_PENSION_PLAN</li><li>TAX_FREE_SAVINGS_ACCOUNT</li><li>LIFE_INCOME_FUND</li><li>REGISTERED_RETIREMENT_INCOME_FUND</li><li>SPOUSAL_RETIREMENT_INCOME_FUND</li><li>LOCKED_IN_REGISTERED_INVESTMENT_FUND</li><li>PRESCRIBED_REGISTERED_RETIREMENT_INCOME_FUND</li><li>GUARANTEED_INVESTMENT_CERTIFICATES</li><li>REGISTERED_DISABILITY_SAVINGS_PLAN</li><li>OTHER</li></ul><b>investment (SN 2.0)</b><ul><li>BROKERAGE_CASH</li><li>BROKERAGE_MARGIN</li><li>INDIVIDUAL_RETIREMENT_ACCOUNT_IRA</li><li>EMPLOYEE_RETIREMENT_ACCOUNT_401K</li><li>EMPLOYEE_RETIREMENT_SAVINGS_PLAN_403B</li><li>TRUST</li><li>ANNUITY</li><li>SIMPLE_IRA</li><li>CUSTODIAL_ACCOUNT</li><li>BROKERAGE_CASH_OPTION</li><li>BROKERAGE_MARGIN_OPTION</li><li>INDIVIDUAL</li><li>CORPORATE_INVESTMENT_ACCOUNT</li><li>JOINT_TENANTS_TENANCY_IN_COMMON_JTIC</li><li>JOINT_TENANTS_WITH_RIGHTS_OF_SURVIVORSHIP_JTWROS</li><li>JOINT_TENANTS_COMMUNITY_PROPERTY</li><li>JOINT_TENANTS_TENANTS_BY_ENTIRETY</li><li>CONSERVATOR</li><li>ROTH_IRA</li><li>ROTH_CONVERSION</li><li>ROLLOVER_IRA</li><li>EDUCATIONAL</li><li>EDUCATIONAL_SAVINGS_PLAN_529</li><li>DEFERRED_COMPENSATION_PLAN_457</li><li>MONEY_PURCHASE_RETIREMENT_PLAN_401A</li><li>PROFIT_SHARING_PLAN</li><li>MONEY_PURCHASE_PLAN</li><li>STOCK_BASKET_ACCOUNT</li><li>LIVING_TRUST</li><li>REVOCABLE_TRUST</li><li>IRREVOCABLE_TRUST</li><li>CHARITABLE_REMAINDER_TRUST</li><li>CHARITABLE_LEAD_TRUST</li><li>CHARITABLE_GIFT_ACCOUNT</li><li>SEP_IRA</li><li>UNIFORM_TRANSFER_TO_MINORS_ACT_UTMA</li><li>UNIFORM_GIFT_TO_MINORS_ACT_UGMA</li><li>EMPLOYEE_STOCK_OWNERSHIP_PLAN_ESOP</li><li>ADMINISTRATOR</li><li>EXECUTOR</li><li>PARTNERSHIP</li><li>PROPRIETORSHIP</li><li>CHURCH_ACCOUNT</li><li>INVESTMENT_CLUB</li><li>RESTRICTED_STOCK_AWARD</li><li>CASH_MANAGEMENT_ACCOUNT</li><li>EMPLOYEE_STOCK_PURCHASE_PLAN_ESPP</li><li>PERFORMANCE_PLAN</li><li>BROKERAGE_LINK_ACCOUNT</li><li>MONEY_MARKET_ACCOUNT</li><li>SUPERANNUATION</li><li>REGISTERED_RETIREMENT_SAVINGS_PLAN_RRSP</li><li>SPOUSAL_RETIREMENT_SAVINGS_PLAN_SRSP</li><li>DEFERRED_PROFIT_SHARING_PLAN_DPSP</li><li>NON_REGISTERED_SAVINGS_PLAN_NRSP</li><li>REGISTERED_EDUCATION_SAVINGS_PLAN_RESP</li><li>GROUP_RETIREMENT_SAVINGS_PLAN_GRSP</li><li>LOCKED_IN_RETIREMENT_SAVINGS_PLAN_LRSP</li><li>RESTRICTED_LOCKED_IN_SAVINGS_PLAN_RLSP</li><li>LOCKED_IN_RETIREMENT_ACCOUNT_LIRA</li><li>REGISTERED_PENSION_PLAN_RPP</li><li>TAX_FREE_SAVINGS_ACCOUNT_TFSA</li><li>LIFE_INCOME_FUND_LIF</li><li>REGISTERED_RETIREMENT_INCOME_FUND_RIF</li><li>SPOUSAL_RETIREMENT_INCOME_FUND_SRIF</li><li>LOCKED_IN_REGISTERED_INVESTMENT_FUND_LRIF</li><li>PRESCRIBED_REGISTERED_RETIREMENT_INCOME_FUND_PRIF</li><li>GUARANTEED_INVESTMENT_CERTIFICATES_GIC</li><li>REGISTERED_DISABILITY_SAVINGS_PLAN_RDSP</li><li>DEFINED_CONTRIBUTION_PLAN</li><li>DEFINED_BENEFIT_PLAN</li><li>EMPLOYEE_STOCK_OPTION_PLAN</li><li>NONQUALIFIED_DEFERRED_COMPENSATION_PLAN_409A</li><li>KEOGH_PLAN</li><li>EMPLOYEE_RETIREMENT_ACCOUNT_ROTH_401K</li><li>DEFERRED_CONTINGENT_CAPITAL_PLAN_DCCP</li><li>EMPLOYEE_BENEFIT_PLAN</li><li>EMPLOYEE_SAVINGS_PLAN</li><li>HEALTH_SAVINGS_ACCOUNT_HSA</li><li>COVERDELL_EDUCATION_SAVINGS_ACCOUNT_ESA</li><li>TESTAMENTARY_TRUST</li><li>ESTATE</li><li>GRANTOR_RETAINED_ANNUITY_TRUST_GRAT</li><li>ADVISORY_ACCOUNT</li><li>NON_PROFIT_ORGANIZATION_501C</li><li>HEALTH_REIMBURSEMENT_ARRANGEMENT_HRA</li><li>INDIVIDUAL_SAVINGS_ACCOUNT_ISA</li><li>CASH_ISA</li><li>STOCKS_AND_SHARES_ISA</li><li>INNOVATIVE_FINANCE_ISA</li><li>JUNIOR_ISA</li><li>EMPLOYEES_PROVIDENT_FUND_ORGANIZATION_EPFO</li><li>PUBLIC_PROVIDENT_FUND_PPF</li><li>EMPLOYEES_PENSION_SCHEME_EPS</li><li>NATIONAL_PENSION_SYSTEM_NPS</li><li>INDEXED_ANNUITY</li><li>ANNUITIZED_ANNUITY</li><li>VARIABLE_ANNUITY</li><li>ROTH_403B</li><li>SPOUSAL_IRA</li><li>SPOUSAL_ROTH_IRA</li><li>SARSEP_IRA</li><li>SUBSTANTIALLY_EQUAL_PERIODIC_PAYMENTS_SEPP</li><li>OFFSHORE_TRUST</li><li>IRREVOCABLE_LIFE_INSURANCE_TRUST</li><li>INTERNATIONAL_TRUST</li><li>LIFE_INTEREST_TRUST</li><li>EMPLOYEE_BENEFIT_TRUST</li><li>PRECIOUS_METAL_ACCOUNT</li><li>INVESTMENT_LOAN_ACCOUNT</li><li>GRANTOR_RETAINED_INCOME_TRUST</li><li>PENSION_PLAN</li><li>OTHER</li></ul><b>loan</b><ul><li>MORTGAGE</li><li>INSTALLMENT_LOAN</li><li>PERSONAL_LOAN</li><li>HOME_EQUITY_LINE_OF_CREDIT</li><li>LINE_OF_CREDIT</li><li>AUTO_LOAN</li><li>STUDENT_LOAN</li><li>HOME_LOAN</li></ul><b>insurance</b><ul><li>AUTO_INSURANCE</li><li>HEALTH_INSURANCE</li><li>HOME_INSURANCE</li><li>LIFE_INSURANCE</li><li>ANNUITY</li><li>TRAVEL_INSURANCE</li><li>INSURANCE</li></ul><b>realEstate</b><ul> <li>REAL_ESTATE</li></ul><b>reward</b><ul><li>REWARD_POINTS</li></ul><b>Manual Account Type</b><br><b>bank</b><ul><li>CHECKING</li><li>SAVINGS</li><li>CD</li><li>PREPAID</li></ul><b>credit</b><ul>  <li>CREDIT</li></ul><b>loan</b><ul>  <li>PERSONAL_LOAN</li><li>HOME_LOAN</li></ul><b>insurance</b><ul><li>INSURANCE</li><li>ANNUITY</li></ul><b>investment</b><ul><li>BROKERAGE_CASH</li></ul><br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br></ul>"
          readOnly: true
        providerAccountId:
          type: "integer"
          description: "The primary key of the provider account resource.<br><br><b>Aggregated / Manual</b>: Both <br><b>Applicable containers</b>: All containers<br>"
          format: "int64"
          readOnly: true
        holder:
          type: "array"
          items:
            $ref: "#/components/schemas/AccountHolder"
        id:
          type: "integer"
          format: "int64"
        accountNumber:
          type: "string"
          description: "The account number as it appears on the site. (The POST accounts service response return this field as number)<br><b>Additional Details</b>:<b> Bank/ Loan/ Insurance/ Investment</b>:<br> The account number for the bank account as it appears at the site.<br><b>Credit Card</b>: The account number of the card account as it appears at the site,<br>i.e., the card number.The account number can be full or partial based on how it is displayed in the account summary page of the site.In most cases, the site does not display the full account number in the account summary page and additional navigation is required to aggregate it.<br><b>Applicable containers</b>: All Containers<br><b>Aggregated / Manual</b>: Both <br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>POST accounts</li></ul>"
          readOnly: true
        bankTransferCode:
          type: "array"
          description: "Bank and branch identification information.<br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: bank, investment, loan<br><b>Endpoints</b>:<br><ul></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/BankTransferCode"
        providerName:
          type: "string"
          description: "<b>Applicable containers</b>: reward, bank, creditCard, investment, loan, insurance, realEstate,  otherLiabilities<br>"
          readOnly: true
    DerivedHoldingSummaryResponse:
      title: "DerivedHoldingSummaryResponse"
      type: "object"
      properties:
        holdingSummary:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/DerivedHoldingsSummary"
        link:
          $ref: "#/components/schemas/DerivedHoldingsLinks"
    UserAddress:
      title: "UserAddress"
      type: "object"
      properties:
        zip:
          type: "string"
        country:
          type: "string"
        address3:
          type: "string"
        address2:
          type: "string"
        city:
          type: "string"
        address1:
          type: "string"
        state:
          type: "string"
    DataExtractsUserData:
      title: "DataExtractsUserData"
      type: "object"
      properties:
        holding:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/DataExtractsHolding"
        totalTransactionsCount:
          type: "integer"
          format: "int64"
          readOnly: true
        user:
          $ref: "#/components/schemas/DataExtractsUser"
        account:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/DataExtractsAccount"
        transaction:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/DataExtractsTransaction"
        providerAccount:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/DataExtractsProviderAccount"
    UpdateCobrandNotificationEvent:
      title: "UpdateCobrandNotificationEvent"
      type: "object"
      properties:
        callbackUrl:
          maxLength: 2147483647
          minLength: 1
          type: "string"
          description: "URL to which the notification should be posted.<br><br><b>Endpoints</b>:<ul><li>GET cobrand/config/notifications/events</li></ul>"
    VerificationRequest:
      title: "VerificationRequest"
      required:
      - "verification"
      type: "object"
      properties:
        verification:
          $ref: "#/components/schemas/Verification"
    AccountAddress:
      title: "AccountAddress"
      type: "object"
      properties:
        zip:
          type: "string"
        country:
          type: "string"
        address3:
          type: "string"
        address2:
          type: "string"
        city:
          type: "string"
        sourceType:
          type: "string"
        address1:
          type: "string"
        street:
          type: "string"
        state:
          type: "string"
        type:
          type: "string"
          enum:
          - "HOME"
          - "BUSINESS"
          - "POBOX"
          - "RETAIL"
          - "OFFICE"
          - "SMALL_BUSINESS"
          - "COMMUNICATION"
          - "PERMANENT"
          - "STATEMENT_ADDRESS"
          - "PAYMENT"
          - "PAYOFF"
          - "UNKNOWN"
    CreateCobrandNotificationEvent:
      title: "CreateCobrandNotificationEvent"
      type: "object"
      properties:
        callbackUrl:
          maxLength: 2147483647
          minLength: 1
          type: "string"
          description: "URL to which the notification should be posted.<br><br><b>Endpoints</b>:<ul><li>GET cobrand/config/notifications/events</li></ul>"
    CreatedAccountInfo:
      title: "CreatedAccountInfo"
      type: "object"
      properties:
        accountName:
          type: "string"
          readOnly: true
        id:
          type: "integer"
          format: "int64"
          readOnly: true
        accountNumber:
          type: "string"
          readOnly: true
    StockExchangeDetail:
      title: "StockExchangeDetail"
      type: "object"
      properties:
        symbol:
          type: "string"
          description: "Ticker symbol representing particular securities listed on an exchange.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        countryCode:
          type: "string"
          description: "Country codes are geocodes developed to represent countries and dependent areas.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        currencyCode:
          type: "string"
          description: "ISO codes of currency.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        exchangeCode:
          type: "string"
          description: "An Exchange code is a four-character code used to identify stock markets and other trading exchanges within global trading.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
    ApiKeyRequest:
      title: "ApiKeyRequest"
      type: "object"
      properties:
        publicKey:
          maxLength: 2147483647
          minLength: 1
          type: "string"
          description: "Public key uploaded by the customer while generating ApiKey.<br><br><b>Endpoints</b>:<ul><li>GET /auth/apiKey</li><li>POST /auth/apiKey</li></ul>"
    Name:
      title: "Name"
      type: "object"
      properties:
        middle:
          type: "string"
        last:
          type: "string"
        fullName:
          type: "string"
        first:
          type: "string"
    VerificationTransaction:
      title: "VerificationTransaction"
      required:
      - "amount"
      - "baseType"
      type: "object"
      properties:
        amount:
          $ref: "#/components/schemas/Money"
        baseType:
          type: "string"
          enum:
          - "CREDIT"
          - "DEBIT"
    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.<br><b>Applicable Values</b><br>"
          enum:
          - "AUD"
          - "BRL"
          - "CAD"
          - "EUR"
          - "GBP"
          - "HKD"
          - "IDR"
          - "INR"
          - "JPY"
          - "NZD"
          - "SGD"
          - "USD"
          - "ZAR"
          - "CNY"
          - "VND"
          - "MYR"
          - "CHF"
        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.<br><b>Applicable Values</b><br>"
          enum:
          - "en_US"
          - "en_ES"
          - "fr_CA"
          - "zh_CN"
    DocumentDownloadResponse:
      title: "DocumentDownloadResponse"
      type: "object"
      properties:
        document:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/DocumentDownload"
    Identifier:
      title: "Identifier"
      type: "object"
      properties:
        type:
          type: "string"
          description: "Type of Identifier"
          readOnly: true
          enum:
          - "NIE"
          - "DNI"
          - "EIN"
          - "BN"
          - "AADHAR"
          - "NIN"
          - "NRIC"
        value:
          type: "string"
          description: "Value of the identifier"
          readOnly: true
    DataExtractsTransaction:
      title: "DataExtractsTransaction"
      type: "object"
      properties:
        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.<br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          readOnly: true
        sourceId:
          type: "string"
          description: "A unique ID that the provider site has assigned to the transaction. The source ID is only available for the pre-populated accounts.<br>Pre-populated accounts are the accounts that the FI customers shares with Yodlee, so that the user does not have to add or aggregate those accounts."
          readOnly: true
        symbol:
          type: "string"
          description: "The symbol of the security being traded.<br><b>Note</b>: The settle date field applies only to trade-related transactions. <br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        cusipNumber:
          type: "string"
          description: "The CUSIP (Committee on Uniform Securities Identification Procedures) identifies the financial instruments in the United States and Canada.<br><b><br><b>Note</b></b>: The CUSIP number field applies only to trade related transactions.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        highLevelCategoryId:
          type: "integer"
          description: "The high level category assigned to the transaction. The supported values are provided by the GET transactions/categories. <br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          format: "int64"
          readOnly: true
        detailCategoryId:
          type: "integer"
          description: "The id of the detail category that is assigned to the transaction. The supported values are provided by GET transactions/categories.<br><br><b>Applicable containers</b>: bank,creditCard<br>"
          format: "int64"
          readOnly: true
        description:
          $ref: "#/components/schemas/Description"
        memo:
          type: "string"
          description: "Additional notes provided by the user for a particular  transaction through application or API services. <br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          readOnly: true
        settleDate:
          type: "string"
          description: "It is the date on which the transaction is finalized, that is, the date the ownership of the security is transferred to the buyer. The settlement date is usually few days after the transaction date.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        type:
          type: "string"
          description: "The nature of the transaction, i.e., deposit, refund, payment, etc.<br><b>Note</b>: The transaction type field is available only for the United States, Canada, United Kingdom, and India based provider sites. <br><br><b>Applicable containers</b>: bank,creditCard,investment<br>"
          readOnly: true
        baseType:
          type: "string"
          description: "Indicates if the transaction appears as a debit or a credit transaction in the account. <br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "CREDIT"
          - "DEBIT"
        categorySource:
          type: "string"
          description: "Indicates the source of the category, i.e., categories derived by the system or assigned/provided by the consumer. This is the source field of the transaction category resource. The supported values are provided by the GET transactions/categories.<br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "SYSTEM"
          - "USER"
        principal:
          $ref: "#/components/schemas/Money"
        lastUpdated:
          type: "string"
          readOnly: true
        isDeleted:
          type: "boolean"
          description: "Indicates if the transaction is marked as deleted.<b>Applicable containers</b>: All Containers<br><b>Aggregated / Manual</b>: Both <br><b>Endpoints</b>:<br><ul><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        interest:
          $ref: "#/components/schemas/Money"
        price:
          $ref: "#/components/schemas/Money"
        commission:
          $ref: "#/components/schemas/Money"
        id:
          type: "integer"
          description: "An unique identifier for the transaction. The combination of the id and account container are unique in the system. <br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          format: "int64"
          readOnly: true
        amount:
          $ref: "#/components/schemas/Money"
        checkNumber:
          type: "string"
          description: "The checkNumber of the transaction.<br><br><b>Applicable containers</b>: bank<br>"
          readOnly: true
        quantity:
          type: "number"
          description: "The quantity associated with the transaction.<br><b>Note</b>: The quantity field applies only to trade-related transactions.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        valoren:
          type: "string"
          description: "It is an identification number that is assigned to financial instruments such as stocks and bonds trading in Switzerland.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        isManual:
          type: "boolean"
          description: "Indicates if the transaction is aggregated from the FI site or the consumer has manually created the transaction using the application or an API. <br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          readOnly: true
        merchant:
          $ref: "#/components/schemas/Merchant"
        sedol:
          type: "string"
          description: "SEDOL stands for Stock Exchange Daily Official List, a list of security identifiers used in the United Kingdom and Ireland for clearing purposes.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        transactionDate:
          type: "string"
          description: "The date the transaction happens in the account. <br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          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. The supported values are provided by the GET transactions/categories.<br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          readOnly: true
          enum:
          - "TRANSFER"
          - "DEFERRED_COMPENSATION"
          - "UNCATEGORIZE"
          - "INCOME"
          - "EXPENSE"
        accountId:
          type: "integer"
          description: "The account from which the transaction was made. This is basically the primary key of the account resource. <br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          format: "int64"
          readOnly: true
        createdDate:
          type: "string"
          readOnly: true
        sourceType:
          type: "string"
          description: "The source through which the transaction is added to the Yodlee system.<br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loann<br><b>Applicable Values:</b><br>"
          readOnly: true
          enum:
          - "AGGREGATED"
          - "MANUAL"
        CONTAINER:
          type: "string"
          description: "The account's container.<br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "bank"
          - "creditCard"
          - "investment"
          - "insurance"
          - "loan"
          - "reward"
          - "realEstate"
          - "otherAssets"
          - "otherLiabilities"
        postDate:
          type: "string"
          description: "The date on which the transaction is posted to the account.<br><br><b>Applicable containers</b>: bank,creditCard,insurance,loan<br>"
          readOnly: true
        parentCategoryId:
          type: "integer"
          description: "The parentCategoryId of the category assigned to the transaction.<br><b>Note</b>: This field will be provided in the response if the transaction is assigned to a user-created category. <br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          format: "int64"
          readOnly: true
        subType:
          type: "string"
          description: "The transaction subtype field provides a detailed transaction type. For example, purchase is a transaction type and the transaction subtype field indicates if the purchase was made using a debit or credit card.<br><b>Note</b>: The transaction subtype field is available only in the United States, Canada, United Kingdom, and India.<br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          readOnly: true
          enum:
          - "AUTH_HOLD"
          - "AUTH_REQUEST"
          - "OVERDRAFT_CHARGE"
          - "CREDIT_ADJUSTMENT"
          - "PIN_DEBIT"
          - "BANK_DIRECT_DEPOSIT"
          - "DIVIDEND_DEPOSIT"
          - "INTEREST_SAVINGS"
          - "INTEREST_ADJUSTMENT"
          - "ONLINE_PURCHASE"
          - "PURCHASED_WITH_CHECK"
          - "RECURRING_BILLING"
          - "TAX_PAYMENT"
          - "PAYMENT_BY_CHECK"
          - "PAYMENT_PLAN"
          - "FEE_REFUND"
          - "WIRE_TRANSFER_CHARGE"
          - "ACCOUNT_TO_ACCOUNT_TRANSFER"
          - "BANK_TO_BANK_TRANSACTION"
          - "BANK_TO_NON_BANK_ACCOUNT_TRANSFER"
          - "CASH_WITHDRAWAL_AT_FI"
          - "ATM_CASH_WITHDRAWAL"
          - "AUTH_PROCESSING"
          - "AUTH_RELEASE"
          - "PRE_AUTH"
          - "AUTH_COMPLETE"
          - "AUTH_VOID"
          - "BALANCE_ENQUIRY"
          - "ACCOUNT_VERIFICATION"
          - "PRE_AUTH_COMPLETION"
          - "SERVICE_CHARGE"
          - "SERVICE_CHARGE_FEE_REFUND"
          - "RETURNED_CHECK_CHARGE"
          - "RETURNED_CHECK_REIMBURSEMENT"
          - "CASH_ADVANCE"
          - "BILL_PAY_CHARGE"
          - "CHECK_IMAGE_SERVICE_CHARGE"
          - "OVERDRAFT_PROTECTION_CHARGE"
          - "STOP_PAYMENT_CHARGE"
          - "CHECKS_ORDERING_CHARGE"
          - "MONTHLY_MAINTENANCE_CHARGE"
          - "DEBIT_CARD_FEE"
          - "CONVENIENCE_FEE"
          - "PERSONAL_LOAN_CREDIT"
          - "CREDIT_CARD_CREDIT"
          - "AUTO_LOAN"
          - "HOME_LOAN_MORTGAGE"
          - "SHORT_TERM_CREDIT"
          - "SIGNATURE_DEBIT"
          - "CONTACT_LESS_DEBIT"
          - "DEFERRED_DEPOSIT"
          - "DEFERRED_BILL_PAY"
          - "INSTALLMENT_PAYMENT"
          - "RECURRING_SUBSCRIPTION_PAYMENT"
          - "HOLD_CHECK_PAYMENT"
          - "CAPITAL_GAINS_DISTIBUTION"
          - "CG_LONG_TERM_DEPOSIT"
          - "OPEN_SALE_DEPOSIT"
          - "INTEREST__CHECK"
          - "PURCHASE_VOID"
          - "PURCHASE_WITH_CREDIT_CARD"
          - "PURCHASE_WITH_DEBIT_CARD"
          - "CHARGE_A_REPEAT_CUSTOMER"
          - "DOWN_PAYMENT_OR_ANNUITY_PAYMENT_OR_DIRECT_PAYMENT"
          - "FEE_PAYMENT"
          - "FINANCE_CHARGE_REFUND"
          - "TRANSACTION_VOID"
          - "FEE_VOID"
          - "DEBIT_CARD_WITHDRAWAL_AT_STORE"
          - "ELECTRONIC_PAYMENT"
          - "ACH_DEBIT"
          - "ATM_TELLER_DEPOSIT"
          - "POS_DEBIT"
          - "BANK_ADJUSTMENT"
          - "CHARGES_FEES"
          - "INTEREST"
          - "DEPOSITS_CREDITS"
          - "PAYMENT"
          - "PURCHASE"
          - "REFUND"
          - "TRANSFER"
          - "WITHDRAWAL"
          - "OTHER_DEPOSITS"
          - "OTHER_WITHDRAWALS"
          - "ADJUSTMENT"
          - "FINANCE_CHARGE"
          - "OTHER_CHARGES_FEES"
          - "ANNUAL_FEE"
          - "DEPOSIT"
          - "DIRECT_DEPOSIT_SALARY"
          - "INVESTMENT_INCOME_CASH"
          - "SSA"
          - "REWARDS"
          - "CHECK_DEPOSIT"
          - "MOBILE_REMOTE_DEPOSIT"
          - "TELLER_DEPOSIT"
          - "TAX_REFUND"
          - "CREDIT_CARD_PAYMENT"
          - "INSURANCE_PAYMENT"
          - "UTILITIES_PAYMENT"
          - "CHILD_SUPPORT"
          - "LOAN"
          - "PERSONAL_LOAN"
          - "STUDENT_LOAN"
          - "SALES_TAX"
          - "REIMBURSEMENT"
          - "BALANCE_TRANSFER"
          - "WIRE_TRANSFER"
          - "OVERDRAFT_PROTECTION"
          - "DEBIT"
          - "CREDIT"
          - "NSF_FEES"
        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.<br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          readOnly: true
        runningBalance:
          $ref: "#/components/schemas/Money"
        categoryId:
          type: "integer"
          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.<br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          format: "int64"
          readOnly: true
        holdingDescription:
          type: "string"
          description: "For transactions involving securities, this captures the securities description.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        isin:
          type: "string"
          description: "International Securities Identification Number (ISIN) standard is used worldwide to identify specific securities.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        status:
          type: "string"
          description: "The status of the transaction: pending or posted.<br><b>Note</b>: Most FI sites only display posted transactions. If the FI site displays transaction status, same will be aggregated.  <br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "POSTED"
          - "PENDING"
          - "SCHEDULED"
          - "FAILED"
          - "CLEARED"
    AccountHistory:
      title: "AccountHistory"
      type: "object"
      properties:
        historicalBalances:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/HistoricalBalance"
        id:
          type: "integer"
          format: "int64"
          readOnly: true
    TransactionCategoryResponse:
      title: "TransactionCategoryResponse"
      type: "object"
      properties:
        transactionCategory:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/TransactionCategory"
    UserSession:
      title: "UserSession"
      type: "object"
      properties:
        userSession:
          type: "string"
          description: "Session provided for a valid user to access API services upon successful authentication.<br><br><b>Endpoints</b>:<ul><li>POST user/samlLogin</li><li>POST user/register</li></ul>"
          readOnly: true
    DerivedTransactionSummaryResponse:
      title: "DerivedTransactionSummaryResponse"
      type: "object"
      properties:
        links:
          $ref: "#/components/schemas/DerivedTransactionsLinks"
        transactionSummary:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/DerivedTransactionsSummary"
    ProviderAccountResponse:
      title: "ProviderAccountResponse"
      type: "object"
      properties:
        providerAccount:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/ProviderAccount"
    DerivedHolding:
      title: "DerivedHolding"
      type: "object"
      properties:
        symbol:
          type: "string"
          description: "The symbol of the security.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        exercisedQuantity:
          type: "number"
          description: "The quantity of the employee stock options that are already exercised or bought by the employee.<br><b>Note</b>: Once the employee stock options is exercised, they are either converted to cash value or equity positions depending on the FI. The exercised quantity field is only applicable to employee stock options.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        cusipNumber:
          type: "string"
          description: "The CUSIP (Committee on Uniform Securities Identification Procedures) identifies most the financial instruments in the United States and Canada.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        assetClassification:
          $ref: "#/components/schemas/AssetClassification"
        vestedQuantity:
          type: "number"
          description: "The quantity of units or shares that are already vested on a vest date.<br><b>Note</b>: The vested quantity field is only applicable to employee stock options, restricted stock units/awards, performance units, etc.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        description:
          type: "string"
          description: "The description (name) for the holding (E.g., Cisco Systems)<br>For insurance container, the field is only applicable for insurance annuity and variable life insurance types. <br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        unvestedValue:
          $ref: "#/components/schemas/Money"
        securityStyle:
          type: "string"
          description: "Indicates the security style of holding identified through the security service.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        vestedValue:
          $ref: "#/components/schemas/Money"
        optionType:
          type: "string"
          description: "The type of the option position (i.e., put or call).<br><b>Note</b>: The option type field is only applicable to options.<br><br><b>Applicable containers</b>: investment<br><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "put"
          - "call"
          - "unknown"
          - "other"
        lastUpdated:
          type: "string"
          description: "The date when the information was last updated in the system.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        matchStatus:
          type: "string"
          description: "Indicates the security match status id of the investment option identified during security normalization.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        holdingType:
          type: "string"
          description: "Type of holding<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
          enum:
          - "stock"
          - "mutualFund"
          - "bond"
          - "CD"
          - "option"
          - "moneyMarketFund"
          - "other"
          - "remic"
          - "future"
          - "commodity"
          - "currency"
          - "unitInvestmentTrust"
          - "employeeStockOption"
          - "insuranceAnnuity"
          - "unknown"
          - "preferredStock"
          - "ETF"
          - "warrants"
          - "ETN"
        maturityDate:
          type: "string"
          description: "The stated maturity date of a bond or CD.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        price:
          $ref: "#/components/schemas/Money"
        term:
          type: "string"
          description: "The fixed duration for which the bond or CD is issued.<br><b>Note</b>: The term field is only applicable to CD.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        contractQuantity:
          type: "number"
          description: "The quantity of tradeable units in a contract.<br><b>Note</b>: The contract quantity field is only applicable to commodity and currency.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        id:
          type: "integer"
          description: "Unique identifier for the security added in the system. This is the primary key of the holding resource.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "int64"
          readOnly: true
        isShort:
          type: "boolean"
          description: "Indicates that the holding is a short trading.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        value:
          $ref: "#/components/schemas/Money"
        expirationDate:
          type: "string"
          description: "The date on which an option, right or warrant expires.<br><b>Note</b>: The expiration date field is only applicable to options and employee stock options.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        interestRate:
          type: "number"
          description: "The interest rate on a CD.<br><b>Note</b>: The interest rate field is only applicable to CD.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        quantity:
          type: "number"
          description: "The quantity held for the holding.<br><b>Note</b>: Only for bonds the quantity field indicates the normalized quantity and not the quantity aggregated from the site. The quantity field is only applicable to restricted stock units/awards, performance units, currency, and commodity.<br>For insurance container, the field is only applicable for insurance annuity and variable life insurance types.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "double"
          readOnly: true
        accruedInterest:
          $ref: "#/components/schemas/Money"
        grantDate:
          type: "string"
          description: "The date on which equity awards like ESOP, RSU, etc., are issued or granted.<br><b>Note</b>: The grant date field is only applicable to employee stock options, restricted stock units/awards, performance units, etc.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        sedol:
          type: "string"
          description: "The SEDOL (Stock Exchange Daily Official List) is a set of security identifiers used in the United Kingdom and Ireland for clearing purposes.<br><b>Note</b>: The SEDOL field is only applicable to the trade related transactions<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        vestedSharesExercisable:
          type: "number"
          description: "The number of vested shares that can be exercised by the employee. It is usually equal to the vested quantity.<br><b>Note</b>: The vested shares exercisable field is only applicable to employee stock options, restricted stock units/awards, performance units, etc.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        spread:
          $ref: "#/components/schemas/Money"
        accountId:
          type: "integer"
          description: "Unique identifier of the account to which the security is linked.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "int64"
          readOnly: true
        enrichedDescription:
          type: "string"
          description: "The enrichedDescription is the security description of the normalized holding<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        couponRate:
          type: "number"
          description: "The stated interest rate for a bond.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        createdDate:
          type: "string"
          description: "The date on which the holding is created in the Yodlee system.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        accruedIncome:
          $ref: "#/components/schemas/Money"
        securityType:
          type: "string"
          description: "Indicates the security type of holding identified through the security service.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        providerAccountId:
          type: "integer"
          description: "Unique identifier for the user's association with the provider.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "int64"
          readOnly: true
        unvestedQuantity:
          type: "number"
          description: "Indicates the number of unvested quantity or units.<br><b>Note</b>: The unvested quantity field is only applicable to employee stock options, restricted stock units/awards, performance units, etc.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        costBasis:
          $ref: "#/components/schemas/Money"
        vestingDate:
          type: "string"
          description: "The date on which a RSU, RSA, or an employee stock options become vested.<br><b>Note</b>: The vesting date field is only applicable to employee stock options, restricted stock units/awards, performance units, etc.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        isin:
          type: "string"
          description: "The ISIN (International Securities Identification Number) is used worldwide to identify specific securities. It is equivalent to CUSIP for international markets.<br><br><b>Note</b>: The ISIN field is only applicable to the trade related transactions<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        strikePrice:
          $ref: "#/components/schemas/Money"
    VerifyAccount:
      title: "VerifyAccount"
      type: "object"
      properties:
        transactionCriteria:
          type: "array"
          items:
            $ref: "#/components/schemas/VerifyTransactionCriteria"
        account:
          type: "array"
          items:
            $ref: "#/components/schemas/VerifiedAccount"
    UpdateConfigsNotificationEvent:
      title: "UpdateConfigsNotificationEvent"
      type: "object"
      properties:
        callbackUrl:
          maxLength: 2147483647
          minLength: 1
          type: "string"
          description: "URL to which the notification should be posted.<br><br><b>Endpoints</b>:<ul><li>GET configs/notifications/events</li></ul>"
    FieldOperation:
      title: "FieldOperation"
      type: "object"
      properties:
        field:
          type: "string"
          description: "Field for which the clause is created.<br><br><b>Applicable containers</b>: bank, creditCard, investment, insurance, loan<br><b>Applicable Values</b>:<ul><li>amount</li><li>description</li></ul><b>Applicable Values</b><br>"
          enum:
          - "amount"
          - "description"
        operation:
          type: "string"
          description: "Operation for which the clause is created.<br><br><b>Applicable containers</b>: bank, creditCard, investment, insurance, loan<br><b>Applicable values (depends on the value of field)</b>:<ul><li>field is <b>description</b> -> operation can be<ol><li>stringEquals</li><li>stringContains</li></ol></li><li>field is <b>amount</b> -> operation can be<ol><li>numberEquals</li><li>numberLessThan</li><li>numberLessThanEquals</li><li>numberGreaterThan</li><li>numberGreaterThanEquals</li></ol></li></ul><b>Applicable Values</b><br>"
          enum:
          - "numberEquals"
          - "numberLessThan"
          - "numberLessThanEquals"
          - "numberGreaterThan"
          - "numberGreaterThanEquals"
          - "stringEquals"
          - "stringContains"
        value:
          type: "object"
          properties: {}
          description: "The value would be the amount value in case of amount based rule clause or the string value in case of description based rule clause.<br><br><b>Applicable containers</b>: bank, creditCard, investment, insurance, loan<br><b>Applicable Values</b>:<ul><li>field is <b>description</b> -> value should be <b>min of 3 and max of 50 characters</b></li><li>field is <b>amount</b> -> value should be <b> min value of 0 and a max value of 99999999999.99</b></li></ul>"
    VerificationBankTransferCode:
      title: "VerificationBankTransferCode"
      type: "object"
      properties:
        id:
          type: "string"
          description: "The FI's branch identification number.Additional Details: The routing number of the bank account in the United States. For non-United States accounts, it is the IFSC code (India), BSB number (Australia), and sort code (United Kingdom). <br><b>Account Type</b>: Aggregated<br><b>Applicable containers</b>: bank, investment<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>POST verification</li></ul>"
        type:
          type: "string"
          description: "The bank transfer code type varies depending on the region of the account origination. <br><b>Account Type</b>: Aggregated<br><b>Applicable containers</b>: bank, investment<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>POST verification</li></ul><b>Applicable Values</b><br>"
          enum:
          - "BSB"
          - "IFSC"
          - "ROUTING_NUMBER"
          - "SORT_CODE"
    AccountHistoricalBalancesResponse:
      title: "AccountHistoricalBalancesResponse"
      type: "object"
      properties:
        account:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/AccountHistory"
    UserRequest:
      title: "UserRequest"
      required:
      - "user"
      type: "object"
      properties:
        user:
          $ref: "#/components/schemas/UserRegistration"
    PaymentProfile:
      title: "PaymentProfile"
      type: "object"
      properties:
        identifier:
          $ref: "#/components/schemas/PaymentIdentifier"
        address:
          type: "array"
          description: "The address of the lender to which the monthly payments or the loan payoff amount should be paid. <br><b>Additional Details:</b>The address field applies only to the student loan account type.<br><b>Account Type</b>: Aggregated<br><b>Applicable containers</b>: loan<br><b>Endpoints</b>:<br><ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul>"
          items:
            $ref: "#/components/schemas/AccountAddress"
        paymentBankTransferCode:
          $ref: "#/components/schemas/PaymentBankTransferCode"
    DerivedHoldingsSummary:
      title: "DerivedHoldingsSummary"
      type: "object"
      properties:
        holding:
          type: "array"
          description: "Securities that belong to the asset classification type and contributed to the summary value.<br><b>Required Feature Enablement</b>: Asset classification feature.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
          items:
            $ref: "#/components/schemas/DerivedHolding"
        classificationType:
          type: "string"
          description: "The classification type of the security. The supported asset classification type and the values are provided in the /holdings/assetClassificationList.<br><b>Required Feature Enablement</b>: Asset classification feature.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        classificationValue:
          type: "string"
          description: "The classification value that corresponds to the classification type of the holding. The supported asset classification type and the values are provided in the /holdings/assetClassificationList.<br><b>Required Feature Enablement</b>: Asset classification feature.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        value:
          $ref: "#/components/schemas/Money"
        account:
          type: "array"
          description: "Accounts that contribute to the classification. <br><b>Required Feature Enablement</b>: Asset classification feature.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
          items:
            $ref: "#/components/schemas/DerivedHoldingsAccount"
    UpdateAccountInfo:
      title: "UpdateAccountInfo"
      type: "object"
      properties:
        container:
          type: "string"
          enum:
          - "bank"
          - "creditCard"
          - "investment"
          - "insurance"
          - "loan"
          - "reward"
          - "realEstate"
          - "otherAssets"
          - "otherLiabilities"
        includeInNetWorth:
          type: "string"
        address:
          $ref: "#/components/schemas/AccountAddress"
        accountName:
          maxLength: 100
          minLength: 1
          type: "string"
        dueDate:
          type: "string"
        memo:
          maxLength: 250
          minLength: 0
          type: "string"
        homeValue:
          $ref: "#/components/schemas/Money"
        accountNumber:
          maxLength: 100
          minLength: 0
          pattern: "^[a-zA-Z0-9]+$"
          type: "string"
        frequency:
          type: "string"
          enum:
          - "DAILY"
          - "ONE_TIME"
          - "WEEKLY"
          - "EVERY_2_WEEKS"
          - "SEMI_MONTHLY"
          - "MONTHLY"
          - "QUARTERLY"
          - "SEMI_ANNUALLY"
          - "ANNUALLY"
          - "EVERY_2_MONTHS"
          - "EBILL"
          - "FIRST_DAY_MONTHLY"
          - "LAST_DAY_MONTHLY"
          - "EVERY_4_WEEKS"
          - "UNKNOWN"
          - "OTHER"
        accountStatus:
          type: "string"
          enum:
          - "ACTIVE"
          - "INACTIVE"
          - "TO_BE_CLOSED"
          - "CLOSED"
          - "DELETED"
        amountDue:
          $ref: "#/components/schemas/Money"
        balance:
          $ref: "#/components/schemas/Money"
        isEbillEnrolled:
          type: "string"
        nickname:
          maxLength: 50
          minLength: 0
          type: "string"
    ProvidersCountResponse:
      title: "ProvidersCountResponse"
      type: "object"
      properties:
        provider:
          $ref: "#/components/schemas/ProvidersCount"
    DataExtractsEvent:
      title: "DataExtractsEvent"
      type: "object"
      properties:
        data:
          $ref: "#/components/schemas/DataExtractsEventData"
        info:
          type: "string"
          readOnly: true
    DataExtractsEventUserData:
      title: "DataExtractsEventUserData"
      type: "object"
      properties:
        links:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/DataExtractsEventLinks"
        user:
          $ref: "#/components/schemas/DataExtractsUser"
    CoverageAmount:
      title: "CoverageAmount"
      type: "object"
      properties:
        cover:
          $ref: "#/components/schemas/Money"
        unitType:
          type: "string"
          description: "The type of coverage unit indicates if the coverage is for an individual or a family.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance,investment<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul><b>Applicable Values:</b><br>"
          readOnly: true
          enum:
          - "PER_FAMILY"
          - "PER_MEMBER"
        type:
          type: "string"
          description: "The type of coverage provided to an individual or an entity.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance,investment<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul><b>Applicable Values:</b><br>"
          readOnly: true
          enum:
          - "DEDUCTIBLE"
          - "OUT_OF_POCKET"
          - "ANNUAL_BENEFIT"
          - "MAX_BENEFIT"
          - "COVERAGE_AMOUNT"
          - "MONTHLY_BENEFIT"
          - "OTHER"
        limitType:
          type: "string"
          description: "The type of coverage limit indicates if the coverage is in-network or out-of-network.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance,investment<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul><b>Applicable Values:</b><br>"
          readOnly: true
          enum:
          - "IN_NETWORK"
          - "OUT_NETWORK"
        met:
          $ref: "#/components/schemas/Money"
    FullAccountNumberList:
      title: "FullAccountNumberList"
      type: "object"
      properties:
        paymentAccountNumber:
          type: "string"
          description: "Payment Account Number of given account.<br><br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul>"
          readOnly: true
        unmaskedAccountNumber:
          type: "string"
          description: "Unmasked account number of given account.<br><br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul>"
          readOnly: true
    PaymentIdentifier:
      title: "PaymentIdentifier"
      type: "object"
      properties:
        type:
          type: "string"
          description: "Type of Identifier"
          readOnly: true
          enum:
          - "REFERENCE_NUMBER"
          - "PLATFORM_CODE"
        value:
          type: "string"
          description: "Value of the identifier"
          readOnly: true
    VerificationAccount:
      title: "VerificationAccount"
      required:
      - "accountNumber"
      - "accountType"
      - "bankTransferCode"
      type: "object"
      properties:
        accountName:
          type: "string"
        accountType:
          type: "string"
          enum:
          - "SAVINGS"
          - "CHECKING"
        accountNumber:
          maxLength: 17
          minLength: 3
          type: "string"
        bankTransferCode:
          $ref: "#/components/schemas/VerificationBankTransferCode"
    UpdateCategoryRequest:
      title: "UpdateCategoryRequest"
      required:
      - "id"
      - "source"
      type: "object"
      properties:
        highLevelCategoryName:
          type: "string"
        id:
          minimum: 1
          exclusiveMinimum: false
          type: "integer"
          format: "int64"
        source:
          type: "string"
          enum:
          - "SYSTEM"
          - "USER"
        categoryName:
          type: "string"
    DerivedTransactionsLinks:
      title: "DerivedTransactionsLinks"
      type: "object"
      properties:
        transactions:
          type: "string"
          description: "Link of the transaction API service that corresponds to the value derivation.<br><br><b>Applicable containers</b>: creditCard, bank, investment<br>"
          readOnly: true
    TransactionCountResponse:
      title: "TransactionCountResponse"
      type: "object"
      properties:
        transaction:
          $ref: "#/components/schemas/TransactionCount"
    Transaction:
      title: "Transaction"
      type: "object"
      properties:
        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.<br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          readOnly: true
        sourceId:
          type: "string"
          description: "A unique ID that the provider site has assigned to the transaction. The source ID is only available for the pre-populated accounts.<br>Pre-populated accounts are the accounts that the FI customers shares with Yodlee, so that the user does not have to add or aggregate those accounts."
          readOnly: true
        symbol:
          type: "string"
          description: "The symbol of the security being traded.<br><b>Note</b>: The settle date field applies only to trade-related transactions. <br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        cusipNumber:
          type: "string"
          description: "The CUSIP (Committee on Uniform Securities Identification Procedures) identifies the financial instruments in the United States and Canada.<br><b><br><b>Note</b></b>: The CUSIP number field applies only to trade related transactions.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        highLevelCategoryId:
          type: "integer"
          description: "The high level category assigned to the transaction. The supported values are provided by the GET transactions/categories. <br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          format: "int64"
          readOnly: true
        detailCategoryId:
          type: "integer"
          description: "The id of the detail category that is assigned to the transaction. The supported values are provided by GET transactions/categories.<br><br><b>Applicable containers</b>: bank,creditCard<br>"
          format: "int64"
          readOnly: true
        description:
          $ref: "#/components/schemas/Description"
        memo:
          type: "string"
          description: "Additional notes provided by the user for a particular  transaction through application or API services. <br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          readOnly: true
        settleDate:
          type: "string"
          description: "It is the date on which the transaction is finalized, that is, the date the ownership of the security is transferred to the buyer. The settlement date is usually few days after the transaction date.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        type:
          type: "string"
          description: "The nature of the transaction, i.e., deposit, refund, payment, etc.<br><b>Note</b>: The transaction type field is available only for the United States, Canada, United Kingdom, and India based provider sites. <br><br><b>Applicable containers</b>: bank,creditCard,investment<br>"
          readOnly: true
        baseType:
          type: "string"
          description: "Indicates if the transaction appears as a debit or a credit transaction in the account. <br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "CREDIT"
          - "DEBIT"
        categorySource:
          type: "string"
          description: "Indicates the source of the category, i.e., categories derived by the system or assigned/provided by the consumer. This is the source field of the transaction category resource. The supported values are provided by the GET transactions/categories.<br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "SYSTEM"
          - "USER"
        principal:
          $ref: "#/components/schemas/Money"
        lastUpdated:
          type: "string"
          readOnly: true
        interest:
          $ref: "#/components/schemas/Money"
        price:
          $ref: "#/components/schemas/Money"
        commission:
          $ref: "#/components/schemas/Money"
        id:
          type: "integer"
          description: "An unique identifier for the transaction. The combination of the id and account container are unique in the system. <br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          format: "int64"
          readOnly: true
        amount:
          $ref: "#/components/schemas/Money"
        checkNumber:
          type: "string"
          description: "The checkNumber of the transaction.<br><br><b>Applicable containers</b>: bank<br>"
          readOnly: true
        quantity:
          type: "number"
          description: "The quantity associated with the transaction.<br><b>Note</b>: The quantity field applies only to trade-related transactions.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        valoren:
          type: "string"
          description: "It is an identification number that is assigned to financial instruments such as stocks and bonds trading in Switzerland.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        isManual:
          type: "boolean"
          description: "Indicates if the transaction is aggregated from the FI site or the consumer has manually created the transaction using the application or an API. <br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          readOnly: true
        merchant:
          $ref: "#/components/schemas/Merchant"
        sedol:
          type: "string"
          description: "SEDOL stands for Stock Exchange Daily Official List, a list of security identifiers used in the United Kingdom and Ireland for clearing purposes.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        transactionDate:
          type: "string"
          description: "The date the transaction happens in the account. <br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          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. The supported values are provided by the GET transactions/categories.<br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          readOnly: true
          enum:
          - "TRANSFER"
          - "DEFERRED_COMPENSATION"
          - "UNCATEGORIZE"
          - "INCOME"
          - "EXPENSE"
        accountId:
          type: "integer"
          description: "The account from which the transaction was made. This is basically the primary key of the account resource. <br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          format: "int64"
          readOnly: true
        createdDate:
          type: "string"
          readOnly: true
        sourceType:
          type: "string"
          description: "The source through which the transaction is added to the Yodlee system.<br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loann<br><b>Applicable Values:</b><br>"
          readOnly: true
          enum:
          - "AGGREGATED"
          - "MANUAL"
        CONTAINER:
          type: "string"
          description: "The account's container.<br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "bank"
          - "creditCard"
          - "investment"
          - "insurance"
          - "loan"
          - "reward"
          - "realEstate"
          - "otherAssets"
          - "otherLiabilities"
        postDate:
          type: "string"
          description: "The date on which the transaction is posted to the account.<br><br><b>Applicable containers</b>: bank,creditCard,insurance,loan<br>"
          readOnly: true
        parentCategoryId:
          type: "integer"
          description: "The parentCategoryId of the category assigned to the transaction.<br><b>Note</b>: This field will be provided in the response if the transaction is assigned to a user-created category. <br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          format: "int64"
          readOnly: true
        subType:
          type: "string"
          description: "The transaction subtype field provides a detailed transaction type. For example, purchase is a transaction type and the transaction subtype field indicates if the purchase was made using a debit or credit card.<br><b>Note</b>: The transaction subtype field is available only in the United States, Canada, United Kingdom, and India.<br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          readOnly: true
          enum:
          - "AUTH_HOLD"
          - "AUTH_REQUEST"
          - "OVERDRAFT_CHARGE"
          - "CREDIT_ADJUSTMENT"
          - "PIN_DEBIT"
          - "BANK_DIRECT_DEPOSIT"
          - "DIVIDEND_DEPOSIT"
          - "INTEREST_SAVINGS"
          - "INTEREST_ADJUSTMENT"
          - "ONLINE_PURCHASE"
          - "PURCHASED_WITH_CHECK"
          - "RECURRING_BILLING"
          - "TAX_PAYMENT"
          - "PAYMENT_BY_CHECK"
          - "PAYMENT_PLAN"
          - "FEE_REFUND"
          - "WIRE_TRANSFER_CHARGE"
          - "ACCOUNT_TO_ACCOUNT_TRANSFER"
          - "BANK_TO_BANK_TRANSACTION"
          - "BANK_TO_NON_BANK_ACCOUNT_TRANSFER"
          - "CASH_WITHDRAWAL_AT_FI"
          - "ATM_CASH_WITHDRAWAL"
          - "AUTH_PROCESSING"
          - "AUTH_RELEASE"
          - "PRE_AUTH"
          - "AUTH_COMPLETE"
          - "AUTH_VOID"
          - "BALANCE_ENQUIRY"
          - "ACCOUNT_VERIFICATION"
          - "PRE_AUTH_COMPLETION"
          - "SERVICE_CHARGE"
          - "SERVICE_CHARGE_FEE_REFUND"
          - "RETURNED_CHECK_CHARGE"
          - "RETURNED_CHECK_REIMBURSEMENT"
          - "CASH_ADVANCE"
          - "BILL_PAY_CHARGE"
          - "CHECK_IMAGE_SERVICE_CHARGE"
          - "OVERDRAFT_PROTECTION_CHARGE"
          - "STOP_PAYMENT_CHARGE"
          - "CHECKS_ORDERING_CHARGE"
          - "MONTHLY_MAINTENANCE_CHARGE"
          - "DEBIT_CARD_FEE"
          - "CONVENIENCE_FEE"
          - "PERSONAL_LOAN_CREDIT"
          - "CREDIT_CARD_CREDIT"
          - "AUTO_LOAN"
          - "HOME_LOAN_MORTGAGE"
          - "SHORT_TERM_CREDIT"
          - "SIGNATURE_DEBIT"
          - "CONTACT_LESS_DEBIT"
          - "DEFERRED_DEPOSIT"
          - "DEFERRED_BILL_PAY"
          - "INSTALLMENT_PAYMENT"
          - "RECURRING_SUBSCRIPTION_PAYMENT"
          - "HOLD_CHECK_PAYMENT"
          - "CAPITAL_GAINS_DISTIBUTION"
          - "CG_LONG_TERM_DEPOSIT"
          - "OPEN_SALE_DEPOSIT"
          - "INTEREST__CHECK"
          - "PURCHASE_VOID"
          - "PURCHASE_WITH_CREDIT_CARD"
          - "PURCHASE_WITH_DEBIT_CARD"
          - "CHARGE_A_REPEAT_CUSTOMER"
          - "DOWN_PAYMENT_OR_ANNUITY_PAYMENT_OR_DIRECT_PAYMENT"
          - "FEE_PAYMENT"
          - "FINANCE_CHARGE_REFUND"
          - "TRANSACTION_VOID"
          - "FEE_VOID"
          - "DEBIT_CARD_WITHDRAWAL_AT_STORE"
          - "ELECTRONIC_PAYMENT"
          - "ACH_DEBIT"
          - "ATM_TELLER_DEPOSIT"
          - "POS_DEBIT"
          - "BANK_ADJUSTMENT"
          - "CHARGES_FEES"
          - "INTEREST"
          - "DEPOSITS_CREDITS"
          - "PAYMENT"
          - "PURCHASE"
          - "REFUND"
          - "TRANSFER"
          - "WITHDRAWAL"
          - "OTHER_DEPOSITS"
          - "OTHER_WITHDRAWALS"
          - "ADJUSTMENT"
          - "FINANCE_CHARGE"
          - "OTHER_CHARGES_FEES"
          - "ANNUAL_FEE"
          - "DEPOSIT"
          - "DIRECT_DEPOSIT_SALARY"
          - "INVESTMENT_INCOME_CASH"
          - "SSA"
          - "REWARDS"
          - "CHECK_DEPOSIT"
          - "MOBILE_REMOTE_DEPOSIT"
          - "TELLER_DEPOSIT"
          - "TAX_REFUND"
          - "CREDIT_CARD_PAYMENT"
          - "INSURANCE_PAYMENT"
          - "UTILITIES_PAYMENT"
          - "CHILD_SUPPORT"
          - "LOAN"
          - "PERSONAL_LOAN"
          - "STUDENT_LOAN"
          - "SALES_TAX"
          - "REIMBURSEMENT"
          - "BALANCE_TRANSFER"
          - "WIRE_TRANSFER"
          - "OVERDRAFT_PROTECTION"
          - "DEBIT"
          - "CREDIT"
          - "NSF_FEES"
        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.<br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          readOnly: true
        runningBalance:
          $ref: "#/components/schemas/Money"
        categoryId:
          type: "integer"
          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.<br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br>"
          format: "int64"
          readOnly: true
        holdingDescription:
          type: "string"
          description: "For transactions involving securities, this captures the securities description.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        isin:
          type: "string"
          description: "International Securities Identification Number (ISIN) standard is used worldwide to identify specific securities.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        status:
          type: "string"
          description: "The status of the transaction: pending or posted.<br><b>Note</b>: Most FI sites only display posted transactions. If the FI site displays transaction status, same will be aggregated.  <br><br><b>Applicable containers</b>: bank,creditCard,investment,insurance,loan<br><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "POSTED"
          - "PENDING"
          - "SCHEDULED"
          - "FAILED"
          - "CLEARED"
    Option:
      title: "Option"
      type: "object"
      properties:
        displayText:
          type: "string"
          description: "The text that is displayed to the user for that option in the provider site.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
        optionValue:
          type: "string"
          description: "The value that is associated with the option.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
        isSelected:
          type: "boolean"
          description: "The option that is selected by default in the provider site.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
    ConfigsPublicKey:
      title: "ConfigsPublicKey"
      type: "object"
      properties:
        alias:
          type: "string"
          description: "The key name used for encryption.<br><br><b>Endpoints</b>:<ul><li>GET configs/publicKey</li></ul>"
          readOnly: true
        key:
          type: "string"
          description: "Public key that the customer should be using to encrypt the credentials and answers before sending to the add and update providerAccounts APIs.<br><br><b>Endpoints</b>:<ul><li>GET configs/publicKey</li></ul>"
          readOnly: true
    Row:
      title: "Row"
      type: "object"
      properties:
        fieldRowChoice:
          type: "string"
          description: "Fields that belong to a particular choice are collected together using this field.<br><b>Recommendations</b>: All the field row choices label to be grouped and displayed as options to the customer. On choosing a particular choice field, we recommend displaying the fields relevant to them. First field choice could be selected by default.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
        field:
          type: "array"
          description: "Details of fields that belong to the row.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
          items:
            $ref: "#/components/schemas/Field"
        form:
          type: "string"
          description: "Form denotes the set of the fields that are related. <br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
        id:
          type: "string"
          description: "Unique identifier of the row.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
        label:
          type: "string"
          description: "The label text displayed for a row in the form.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
    ProviderAccountPreferencesRequest:
      title: "ProviderAccountPreferencesRequest"
      type: "object"
      properties:
        preferences:
          $ref: "#/components/schemas/ProviderAccountPreferences"
    AccountResponse:
      title: "AccountResponse"
      type: "object"
      properties:
        account:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/Account"
    AccountDataset:
      title: "AccountDataset"
      type: "object"
      properties:
        lastUpdated:
          type: "string"
          description: "Indicate when the dataset is last updated successfully for the given provider account.<br><br><b>Account Type</b>: Aggregated<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li></ul>"
          readOnly: true
        updateEligibility:
          type: "string"
          description: "Indicate whether the dataset is eligible for update or not.<br><br><b>Account Type</b>: Aggregated<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "ALLOW_UPDATE"
          - "ALLOW_UPDATE_WITH_CREDENTIALS"
          - "DISALLOW_UPDATE"
        additionalStatus:
          type: "string"
          description: "The status of last update attempted for the dataset. <br><br><b>Account Type</b>: Aggregated<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "LOGIN_IN_PROGRESS"
          - "DATA_RETRIEVAL_IN_PROGRESS"
          - "ACCT_SUMMARY_RECEIVED"
          - "AVAILABLE_DATA_RETRIEVED"
          - "PARTIAL_DATA_RETRIEVED"
          - "DATA_RETRIEVAL_FAILED"
          - "DATA_NOT_AVAILABLE"
          - "ACCOUNT_LOCKED"
          - "ADDL_AUTHENTICATION_REQUIRED"
          - "BETA_SITE_DEV_IN_PROGRESS"
          - "CREDENTIALS_UPDATE_NEEDED"
          - "INCORRECT_CREDENTIALS"
          - "PROPERTY_VALUE_NOT_AVAILABLE"
          - "INVALID_ADDL_INFO_PROVIDED"
          - "REQUEST_TIME_OUT"
          - "SITE_BLOCKING_ERROR"
          - "UNEXPECTED_SITE_ERROR"
          - "SITE_NOT_SUPPORTED"
          - "SITE_UNAVAILABLE"
          - "TECH_ERROR"
          - "USER_ACTION_NEEDED_AT_SITE"
          - "SITE_SESSION_INVALIDATED"
          - "NEW_AUTHENTICATION_REQUIRED"
          - "DATASET_NOT_SUPPORTED"
          - "ENROLLMENT_REQUIRED_FOR_DATASET"
          - "CONSENT_REQUIRED"
          - "CONSENT_EXPIRED"
          - "CONSENT_REVOKED"
          - "INCORRECT_OAUTH_TOKEN"
          - "MIGRATION_IN_PROGRESS"
        nextUpdateScheduled:
          type: "string"
          description: "Indicates when the next attempt to update the dataset is scheduled.<br><br><b>Account Type</b>: Aggregated<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li></ul>"
          readOnly: true
        name:
          type: "string"
          description: "The name of the dataset requested from the provider site<br><br><b>Account Type</b>: Manual<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li><li>GET providers</li></ul><b>Applicable Values</b><br>"
          enum:
          - "BASIC_AGG_DATA"
          - "ADVANCE_AGG_DATA"
          - "ACCT_PROFILE"
          - "DOCUMENT"
        lastUpdateAttempt:
          type: "string"
          description: "Indicate when the last attempt was performed to update the dataset for the given provider account<br><br><b>Account Type</b>: Aggregated<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li></ul>"
          readOnly: true
    UpdateUserRequest:
      title: "UpdateUserRequest"
      required:
      - "user"
      type: "object"
      properties:
        user:
          $ref: "#/components/schemas/UpdateUserRegistration"
    RuleClause:
      title: "RuleClause"
      type: "object"
      properties:
        field:
          type: "string"
          description: "Field for which the clause is created.<br><br><br><b>Valid Values</b>:amount,description<b>Applicable containers</b>:  creditCard, investment, insurance, loan<br>"
          readOnly: true
          enum:
          - "amount"
          - "description"
        userDefinedRuleId:
          type: "integer"
          description: "Unique identifier generated for every rule the user creates.<br><br><b>Applicable containers</b>:  creditCard, investment, insurance, loan<br>"
          format: "int64"
          readOnly: true
        fieldValue:
          type: "string"
          description: "The value would be the amount value in case of amount based rule clause or the string value in case of description based rule clause.<br><br><b>Applicable containers</b>:  creditCard, investment, insurance, loan<br>"
          readOnly: true
        operation:
          type: "string"
          description: "Operation for which the clause is created.<br><br><b>Applicable containers</b>:  creditCard, investment, insurance, loan<br>"
          readOnly: true
          enum:
          - "numberEquals"
          - "numberLessThan"
          - "numberLessThanEquals"
          - "numberGreaterThan"
          - "numberGreaterThanEquals"
          - "stringEquals"
          - "stringContains"
        ruleClauseId:
          type: "integer"
          description: "Unique identifier generated for the rule clause.<br><br><b>Applicable containers</b>:  creditCard, investment, insurance, loan<br>"
          format: "int64"
          readOnly: true
    ProviderAccountPreferences:
      title: "ProviderAccountPreferences"
      type: "object"
      properties:
        isDataExtractsEnabled:
          type: "boolean"
          description: "Indicates if the updates to the provider account should be part of the data extracts event notification or the data extract data retrieval service.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts?include=preferences</li><li>GET providerAccounts/{providerAccountId}?include=preferences</li></ul>"
        linkedProviderAccountId:
          type: "integer"
          description: "LinkedproviderAccountd is a providerAccountId linked by the user to the primary provider account. <br>LinkedProviderAccountId and the providerAccountId belongs to the same institution.<br><br><b>Endpoints</b>:<ul><li>POST Provider Account</li><li>PUT Provider Account</li><li>GET Provider Accounts</li></ul>"
          format: "int64"
        isAutoRefreshEnabled:
          type: "boolean"
          description: "Indicates if auto-refreshes have to be triggered for the provider account.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts?include=preferences</li><li>GET providerAccounts/{providerAccountId}?include=preferences</li></ul>"
    DataExtractsEventData:
      title: "DataExtractsEventData"
      type: "object"
      properties:
        fromDate:
          type: "string"
          readOnly: true
        userData:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/DataExtractsEventUserData"
        userCount:
          type: "integer"
          format: "int32"
          readOnly: true
        toDate:
          type: "string"
          readOnly: true
    CreateAccountInfo:
      title: "CreateAccountInfo"
      required:
      - "accountName"
      - "accountType"
      type: "object"
      properties:
        includeInNetWorth:
          type: "string"
        address:
          $ref: "#/components/schemas/AccountAddress"
        accountName:
          maxLength: 100
          minLength: 1
          type: "string"
        accountType:
          maxLength: 2147483647
          minLength: 1
          type: "string"
        dueDate:
          type: "string"
        memo:
          maxLength: 250
          minLength: 0
          type: "string"
        homeValue:
          $ref: "#/components/schemas/Money"
        accountNumber:
          maxLength: 100
          minLength: 0
          pattern: "^[a-zA-Z0-9]+$"
          type: "string"
        frequency:
          type: "string"
          enum:
          - "DAILY"
          - "ONE_TIME"
          - "WEEKLY"
          - "EVERY_2_WEEKS"
          - "SEMI_MONTHLY"
          - "MONTHLY"
          - "QUARTERLY"
          - "SEMI_ANNUALLY"
          - "ANNUALLY"
          - "EVERY_2_MONTHS"
          - "EBILL"
          - "FIRST_DAY_MONTHLY"
          - "LAST_DAY_MONTHLY"
          - "EVERY_4_WEEKS"
          - "UNKNOWN"
          - "OTHER"
        amountDue:
          $ref: "#/components/schemas/Money"
        balance:
          $ref: "#/components/schemas/Money"
        nickname:
          maxLength: 50
          minLength: 0
          type: "string"
        valuationType:
          type: "string"
          enum:
          - "SYSTEM"
          - "MANUAL"
    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.<br><br><b>Endpoints</b>:<ul><li>POST user/register</li><li>GET user</li></ul>"
          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.<br><br><b>Endpoints</b>:<ul><li>POST user/samlLogin</li><li>POST user/register</li><li>GET user</li></ul>"
          format: "int64"
          readOnly: true
        roleType:
          type: "string"
          enum:
          - "INDIVIDUAL"
    UpdateVerification:
      title: "UpdateVerification"
      required:
      - "transaction"
      type: "object"
      properties:
        accountId:
          type: "integer"
          description: "Unique identifier for the account.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>"
          format: "int64"
        reason:
          type: "string"
          description: "The reason the account verification failed.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>"
          readOnly: true
          enum:
          - "DATA_NOT_AVAILABLE"
          - "ACCOUNT_HOLDER_MISMATCH"
          - "FULL_ACCOUNT_NUMBER_AND_BANK_TRANSFER_CODE_NOT_AVAILABLE"
          - "FULL_ACCOUNT_NUMBER_NOT_AVAILABLE"
          - "BANK_TRANSFER_CODE_NOT_AVAILABLE"
          - "EXPIRED"
          - "DATA_MISMATCH"
          - "INSTRUCTION_GENERATION_ERROR"
        verificationStatus:
          type: "string"
          description: "The status of the account verification.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul><br><b>Applicable Values</b>"
          readOnly: true
          enum:
          - "INITIATED"
          - "DEPOSITED"
          - "SUCCESS"
          - "FAILED"
        providerAccountId:
          type: "integer"
          description: "Unique identifier for the provider account.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>"
          format: "int64"
        verificationType:
          type: "string"
          description: "The account verification type.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul><br><b>Applicable Values</b>"
          enum:
          - "MATCHING"
          - "CHALLENGE_DEPOSIT"
        account:
          $ref: "#/components/schemas/VerificationAccount"
        transaction:
          type: "array"
          items:
            $ref: "#/components/schemas/VerificationTransaction"
        verificationDate:
          type: "string"
          description: "The date of the account verification.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>"
          readOnly: true
        verificationId:
          type: "integer"
          description: "Unique identifier for the verification request.<br><br><b>Endpoints</b>:<ul><li>POST verification</li><li>GET verification</li><li>PUT verification</li></ul>"
          format: "int64"
          readOnly: true
    VerificationStatusResponse:
      title: "VerificationStatusResponse"
      type: "object"
      properties:
        verification:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/VerificationStatus"
    Money:
      title: "Money"
      required:
      - "amount"
      - "currency"
      type: "object"
      properties:
        amount:
          type: "number"
          format: "double"
        currency:
          type: "string"
          enum:
          - "AUD"
          - "BRL"
          - "CAD"
          - "EUR"
          - "GBP"
          - "HKD"
          - "IDR"
          - "INR"
          - "JPY"
          - "NZD"
          - "SGD"
          - "USD"
          - "ZAR"
          - "CNY"
          - "VND"
          - "MYR"
          - "CHF"
    Field:
      title: "Field"
      type: "object"
      properties:
        image:
          type: "string"
          description: "Image displayed at the endsite.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li></ul>"
        prefix:
          type: "string"
          description: "The prefix string that has to be displayed before the field value.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
          readOnly: true
        minLength:
          type: "integer"
          description: "The minimum length of the login form field.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
          format: "int64"
          readOnly: true
        valueEditable:
          type: "string"
          description: "Indicates whether the field is editable or not.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
          readOnly: true
        isOptional:
          type: "boolean"
          description: "Indicates if a field is an optional field or a mandatory field.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
          readOnly: true
        suffix:
          type: "string"
          description: "The suffix string that has to be displayed next to the field value.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
          readOnly: true
        type:
          type: "string"
          description: "This indicates the display type of the field. For example, text box, image, etc. <br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "text"
          - "password"
          - "option"
          - "checkbox"
          - "radio"
          - "image"
        isValueProvided:
          type: "boolean"
          description: "Indicates that the answer to the security question already exists in the Yodlee system.Persuading the user to provide the answer to the security question again during the edit-credential flow can be avoided.<br><br><br><b>Endpoints</b>:<ul><li>GET providerAccounts?include=questions</li><li>GET providerAccounts/{providerAccountId}? include=questions</li></ul>"
          readOnly: true
        name:
          type: "string"
          description: "Name of the field.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
          readOnly: true
        id:
          maxLength: 2147483647
          minLength: 1
          type: "string"
          description: "Identifier for the field.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
        value:
          type: "string"
          description: "Value expected from the user for the field. This will be blank and is expected to be filled and sent back when submitting the login or MFA information.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
        maxLength:
          type: "integer"
          description: "The maximum length of the login form field.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
          format: "int64"
          readOnly: true
        option:
          type: "array"
          description: "Provides the different values that are available for the user to choose. This field is applicable for drop-down or radio field types.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts/{providerAccountId}</li><li>GET providers/{providerId}</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/Option"
    CreatedAccountResponse:
      title: "CreatedAccountResponse"
      type: "object"
      properties:
        account:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/CreatedAccountInfo"
    VerifyAccountResponse:
      title: "VerifyAccountResponse"
      type: "object"
      properties:
        verifyAccount:
          $ref: "#/components/schemas/VerifyAccount"
    CreateConfigsNotificationEvent:
      title: "CreateConfigsNotificationEvent"
      type: "object"
      properties:
        callbackUrl:
          maxLength: 2147483647
          minLength: 1
          type: "string"
          description: "URL to which the notification should be posted.<br><br><b>Endpoints</b>:<ul><li>GET configs/notifications/events</li></ul>"
    PaymentBankTransferCode:
      title: "PaymentBankTransferCode"
      type: "object"
      properties:
        id:
          type: "string"
          description: "Value of the identifier"
          readOnly: true
        type:
          type: "string"
          description: "Type of BankTransferCode"
          readOnly: true
          enum:
          - "ROUTING_NUMBER"
          - "BSB"
          - "IFSC"
          - "SORT_CODE"
    ContainerAttributes:
      title: "ContainerAttributes"
      type: "object"
      properties:
        BANK:
          $ref: "#/components/schemas/TransactionDays"
        LOAN:
          $ref: "#/components/schemas/TransactionDays"
        CREDITCARD:
          $ref: "#/components/schemas/TransactionDays"
        INVESTMENT:
          $ref: "#/components/schemas/TransactionDays"
        INSURANCE:
          $ref: "#/components/schemas/TransactionDays"
    ProviderDetail:
      title: "ProviderDetail"
      type: "object"
      properties:
        languageISOCode:
          type: "string"
          description: "The language in which the provider details are provided. For example, a site supports two languages English and French. English being the primary language, the provider response will be provided in French depending on the user's locale. The language follows the two letter ISO code.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        favicon:
          type: "string"
          description: "Favicon link of the provider.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        accountType:
          type: "array"
          description: "AccountType supported by the provider, eg: Brokerage Cash, Current<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
          items:
            type: "string"
            enum:
            - "CURRENT"
            - "BROKERAGE_CASH"
        countryISOCode:
          type: "string"
          description: "Country to which the provider belongs.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        isAddedByUser:
          type: "string"
          description: "Indicates that the site has been added by the user at least once.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        PRIORITY:
          type: "string"
          description: "Indicates the priority for which the service is invoked.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "POPULAR"
          - "SUGGESTED"
          - "COBRAND"
          - "SEARCH"
          - "ALL"
        associatedProviderIds:
          type: "array"
          description: "The screen-scraping providers that are associated to the Open Banking provider ID.<br><br><b>Applicable containers</b>: All Containers<br><b>Endpoints</b>:<ul><li>GET providers</li><li>GET providers/{providerId}</li></ul>"
          readOnly: true
          items:
            type: "integer"
            format: "int64"
        primaryLanguageISOCode:
          type: "string"
          description: "The primary language of the site.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        help:
          type: "string"
          description: "Text to guide user through linking an account that belongs to the site<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        baseUrl:
          type: "string"
          description: "The base URL of the provider's site.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        capability:
          type: "array"
          description: "Capability of the site<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul><br><b>Note : </b> capability has been deprecated"
          readOnly: true
          items:
            $ref: "#/components/schemas/Capability"
        loginForm:
          type: "array"
          description: "This entity represents the structure of the login or MFA form that is displayed to the user at the provider site. For performance reasons, this field is returned only when a single provider is requested in the request.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/LoginForm"
        isConsentRequired:
          type: "boolean"
          description: "Indicates if a provider site requires consent.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        loginUrl:
          type: "string"
          description: "The login URL of the provider's site.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        isAutoRefreshEnabled:
          type: "boolean"
          description: "Indicates if a provider site is auto-refreshed.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        name:
          type: "string"
          description: "The name of a provider site.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        logo:
          type: "string"
          description: "The logo link of the provider institution. The link will return the logo in the PNG format.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        id:
          type: "integer"
          description: "Unique identifier for the provider site(e.g., financial institution sites, biller sites, lender sites, etc.).<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          format: "int64"
          readOnly: true
        lastModified:
          type: "string"
          description: "Determines when the provider information was updated by Yodlee. If the customer caches the data, the cache is recommended to be refreshed based on this field.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
        authParameter:
          type: "array"
          description: "AuthParameter appears in the response only in case of token-based aggregation sites.<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
          items:
            type: "string"
            enum:
            - "authorizationCode"
            - "idToken"
            - "authResponse"
        authType:
          type: "string"
          description: "The authentication type enabled at the provider site. <br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "OAUTH"
          - "CREDENTIALS"
          - "MFA_CREDENTIALS"
        dataset:
          type: "array"
          description: "Logical grouping of dataset attributes into datasets such as Basic Aggregation Data, Account Profile and Documents<br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/ProvidersDataset"
        status:
          type: "string"
          description: "Determines if the provider is supported for the cobrand (customer), is in the beta stage, etc. <br><br><b>Endpoints</b>:<ul><li>GET providers/{providerId}</li><li>GET providers</li></ul>"
          readOnly: true
          enum:
          - "Supported"
          - "Beta"
          - "Unsupported"
    AccountHolder:
      title: "AccountHolder"
      type: "object"
      properties:
        identifier:
          type: "array"
          description: "Identifiers of the account holder.<br><br><b>Aggregated / Manual</b>: Aggregated <br><b>Applicable containers</b>: bank<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/Identifier"
        gender:
          type: "string"
          description: "Identifiers of the account holder.<br><br><b>Aggregated / Manual</b>: Aggregated <br><b>Applicable containers</b>: bank<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul>"
          readOnly: true
        ownership:
          type: "string"
          description: "Indicates the ownership of the account.<br><br><b>Aggregated / Manual</b>: Aggregated <br><b>Applicable containers</b>: bank<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "PRIMARY"
          - "SECONDARY"
          - "CUSTODIAN"
          - "OTHERS"
          - "POWER_OF_ATTORNEY"
          - "TRUSTEE"
          - "JOINT_OWNER"
          - "BENEFICIARY"
          - "AAS"
          - "BUSINESS"
          - "DBA"
          - "TRUST"
        name:
          $ref: "#/components/schemas/Name"
    ProvidersCount:
      title: "ProvidersCount"
      type: "object"
      properties:
        TOTAL:
          $ref: "#/components/schemas/TotalCount"
    TransactionCategorizationRule:
      title: "TransactionCategorizationRule"
      type: "object"
      properties:
        ruleClauses:
          type: "array"
          description: "Details of rules. <br><br><b>Applicable containers</b>:  creditCard, investment, insurance, loan<br>"
          readOnly: true
          items:
            $ref: "#/components/schemas/RuleClause"
        userDefinedRuleId:
          type: "integer"
          description: "Unique identifier generated for every rule the user creates.<br><br><b>Applicable containers</b>:  creditCard, investment, insurance, loan<br>"
          format: "int64"
          readOnly: true
        categoryLevelId:
          type: "integer"
          description: "The level of the category for which the rule is created.<br><br><b>Applicable containers</b>:  creditCard, insurance, loan<br>"
          format: "int32"
          readOnly: true
        transactionCategorisationId:
          type: "integer"
          description: "Category id that is assigned to the transaction when the transaction matches the rule clause. This is the id field of the transaction category resource.<br><br><b>Applicable containers</b>:  creditCard, investment, insurance, loan<br>"
          format: "int64"
          readOnly: true
        memId:
          type: "integer"
          description: "Unique identifier of the user.<br><br><b>Applicable containers</b>:  creditCard, investment, insurance, loan<br>"
          format: "int64"
          readOnly: true
        rulePriority:
          type: "integer"
          description: "The order in which the rules get executed on transactions.<br><br><b>Applicable containers</b>:  creditCard, investment, insurance, loan<br>"
          format: "int32"
          readOnly: true
    HoldingTypeListResponse:
      title: "HoldingTypeListResponse"
      type: "object"
      properties:
        holdingType:
          type: "array"
          readOnly: true
          items:
            type: "string"
            enum:
            - "stock"
            - "mutualFund"
            - "bond"
            - "CD"
            - "option"
            - "moneyMarketFund"
            - "other"
            - "remic"
            - "future"
            - "commodity"
            - "currency"
            - "unitInvestmentTrust"
            - "employeeStockOption"
            - "insuranceAnnuity"
            - "unknown"
            - "preferredStock"
            - "ETF"
            - "warrants"
            - "ETN"
    TransactionDays:
      title: "TransactionDays"
      type: "object"
      properties:
        fullAccountNumberFields:
          type: "array"
          items:
            type: "string"
            enum:
            - "paymentAccountNumber"
            - "unmaskedAccountNumber"
        numberOfTransactionDays:
          type: "integer"
          format: "int32"
    UpdatedProviderAccount:
      title: "UpdatedProviderAccount"
      type: "object"
      properties:
        lastUpdated:
          type: "string"
          description: "Indicate when the providerAccount is last updated successfully.<br><br><b>Account Type</b>: Aggregated<br><b>Endpoints</b>:<ul><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        loginForm:
          type: "array"
          description: "This entity gets returned in the response for only MFA based provider accounts during the add/update account polling process. This indicates that the MFA information is expected from the user to complete the process. This represents the structure of MFA form that is displayed to the user in the provider site.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/LoginForm"
        createdDate:
          type: "string"
          description: "The date on when the provider account is created in the system.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        aggregationSource:
          type: "string"
          description: "The source through which the providerAccount is added in the system.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "SYSTEM"
          - "USER"
        oauthMigrationStatus:
          type: "string"
          description: "Indicates the migration status of the provider account from screen-scraping provider to the Open Banking provider. <br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>GET providerAccounts/{providerAccountId}</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          enum:
          - "IN_PROGRESS"
          - "TO_BE_MIGRATED"
          - "COMPLETED"
        providerId:
          type: "integer"
          description: "Unique identifier for the provider resource. This denotes the provider for which the provider account id is generated by the user.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "int64"
          readOnly: true
        requestId:
          type: "string"
          description: "Unique id generated to indicate the request.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li></ul>"
          readOnly: true
        isManual:
          type: "boolean"
          description: "Indicates whether account is a manual or aggregated provider account.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
        id:
          type: "integer"
          description: "Unique identifier for the provider account resource. This is created during account addition.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          format: "int64"
          readOnly: true
        dataset:
          type: "array"
          description: "Logical grouping of dataset attributes into datasets such as Basic Aggregation Data, Account Profile and Documents.<br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/AccountDataset"
        status:
          type: "string"
          description: "The status of last update attempted for the account. <br><br><b>Endpoints</b>:<ul><li>GET providerAccounts</li><li>POST providerAccounts</li><li>PUT providerAccounts/{providerAccountId}</li><li>GET providerAccounts/{providerAccountId}</li><li>GET dataExtracts/userData</li></ul><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "LOGIN_IN_PROGRESS"
          - "USER_INPUT_REQUIRED"
          - "IN_PROGRESS"
          - "PARTIAL_SUCCESS"
          - "SUCCESS"
          - "FAILED"
          - "MIGRATION_IN_PROGRESS"
    Holding:
      title: "Holding"
      type: "object"
      properties:
        symbol:
          type: "string"
          description: "The symbol of the security.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        exercisedQuantity:
          type: "number"
          description: "The quantity of the employee stock options that are already exercised or bought by the employee.<br><b>Note</b>: Once the employee stock options is exercised, they are either converted to cash value or equity positions depending on the FI. The exercised quantity field is only applicable to employee stock options.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        cusipNumber:
          type: "string"
          description: "The CUSIP (Committee on Uniform Securities Identification Procedures) identifies most the financial instruments in the United States and Canada.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        assetClassification:
          type: "array"
          description: "Asset classification applied to the holding. <br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
          items:
            $ref: "#/components/schemas/AssetClassification"
        vestedQuantity:
          type: "number"
          description: "The quantity of units or shares that are already vested on a vest date.<br><b>Note</b>: The vested quantity field is only applicable to employee stock options, restricted stock units/awards, performance units, etc.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        description:
          type: "string"
          description: "The description (name) for the holding (E.g., Cisco Systems)<br>For insurance container, the field is only applicable for insurance annuity and variable life insurance types. <br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        unvestedValue:
          $ref: "#/components/schemas/Money"
        securityStyle:
          type: "string"
          description: "Indicates the security style of holding identified through the security service.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        vestedValue:
          $ref: "#/components/schemas/Money"
        optionType:
          type: "string"
          description: "The type of the option position (i.e., put or call).<br><b>Note</b>: The option type field is only applicable to options.<br><br><b>Applicable containers</b>: investment<br><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "put"
          - "call"
          - "unknown"
          - "other"
        lastUpdated:
          type: "string"
          description: "The date when the information was last updated in the system.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        matchStatus:
          type: "string"
          description: "Indicates the security match status id of the investment option identified during security normalization.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        holdingType:
          type: "string"
          description: "Type of holding<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
          enum:
          - "stock"
          - "mutualFund"
          - "bond"
          - "CD"
          - "option"
          - "moneyMarketFund"
          - "other"
          - "remic"
          - "future"
          - "commodity"
          - "currency"
          - "unitInvestmentTrust"
          - "employeeStockOption"
          - "insuranceAnnuity"
          - "unknown"
          - "preferredStock"
          - "ETF"
          - "warrants"
          - "ETN"
        maturityDate:
          type: "string"
          description: "The stated maturity date of a bond or CD.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        price:
          $ref: "#/components/schemas/Money"
        term:
          type: "string"
          description: "The fixed duration for which the bond or CD is issued.<br><b>Note</b>: The term field is only applicable to CD.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        contractQuantity:
          type: "number"
          description: "The quantity of tradeable units in a contract.<br><b>Note</b>: The contract quantity field is only applicable to commodity and currency.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        id:
          type: "integer"
          description: "Unique identifier for the security added in the system. This is the primary key of the holding resource.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "int64"
          readOnly: true
        isShort:
          type: "boolean"
          description: "Indicates that the holding is a short trading.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        value:
          $ref: "#/components/schemas/Money"
        expirationDate:
          type: "string"
          description: "The date on which an option, right or warrant expires.<br><b>Note</b>: The expiration date field is only applicable to options and employee stock options.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        interestRate:
          type: "number"
          description: "The interest rate on a CD.<br><b>Note</b>: The interest rate field is only applicable to CD.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        quantity:
          type: "number"
          description: "The quantity held for the holding.<br><b>Note</b>: Only for bonds the quantity field indicates the normalized quantity and not the quantity aggregated from the site. The quantity field is only applicable to restricted stock units/awards, performance units, currency, and commodity.<br>For insurance container, the field is only applicable for insurance annuity and variable life insurance types.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "double"
          readOnly: true
        accruedInterest:
          $ref: "#/components/schemas/Money"
        grantDate:
          type: "string"
          description: "The date on which equity awards like ESOP, RSU, etc., are issued or granted.<br><b>Note</b>: The grant date field is only applicable to employee stock options, restricted stock units/awards, performance units, etc.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        sedol:
          type: "string"
          description: "The SEDOL (Stock Exchange Daily Official List) is a set of security identifiers used in the United Kingdom and Ireland for clearing purposes.<br><b>Note</b>: The SEDOL field is only applicable to the trade related transactions<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        vestedSharesExercisable:
          type: "number"
          description: "The number of vested shares that can be exercised by the employee. It is usually equal to the vested quantity.<br><b>Note</b>: The vested shares exercisable field is only applicable to employee stock options, restricted stock units/awards, performance units, etc.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        spread:
          $ref: "#/components/schemas/Money"
        accountId:
          type: "integer"
          description: "Unique identifier of the account to which the security is linked.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "int64"
          readOnly: true
        enrichedDescription:
          type: "string"
          description: "The enrichedDescription is the security description of the normalized holding<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        couponRate:
          type: "number"
          description: "The stated interest rate for a bond.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        createdDate:
          type: "string"
          description: "The date on which the holding is created in the Yodlee system.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        accruedIncome:
          $ref: "#/components/schemas/Money"
        securityType:
          type: "string"
          description: "Indicates the security type of holding identified through the security service.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        providerAccountId:
          type: "integer"
          description: "Unique identifier for the user's association with the provider.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "int64"
          readOnly: true
        unvestedQuantity:
          type: "number"
          description: "Indicates the number of unvested quantity or units.<br><b>Note</b>: The unvested quantity field is only applicable to employee stock options, restricted stock units/awards, performance units, etc.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        costBasis:
          $ref: "#/components/schemas/Money"
        vestingDate:
          type: "string"
          description: "The date on which a RSU, RSA, or an employee stock options become vested.<br><b>Note</b>: The vesting date field is only applicable to employee stock options, restricted stock units/awards, performance units, etc.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        isin:
          type: "string"
          description: "The ISIN (International Securities Identification Number) is used worldwide to identify specific securities. It is equivalent to CUSIP for international markets.<br><br><b>Note</b>: The ISIN field is only applicable to the trade related transactions<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        strikePrice:
          $ref: "#/components/schemas/Money"
    DataExtractsUserDataResponse:
      title: "DataExtractsUserDataResponse"
      type: "object"
      properties:
        userData:
          type: "array"
          readOnly: true
          items:
            $ref: "#/components/schemas/DataExtractsUserData"
    ClientCredentialToken:
      title: "ClientCredentialToken"
      type: "object"
      properties:
        expiresIn:
          type: "integer"
          description: "Time in seconds after which the issued accessToken expires.<br><br><b>Endpoints</b>:<ul><li>POST /auth/token</li></ul>"
          format: "int32"
          readOnly: true
        issuedAt:
          type: "string"
          description: "The date and time on which accessToken was created for the customer.<br><br><b>Endpoints</b>:<ul><li>POST /auth/token</li></ul>"
          readOnly: true
        accessToken:
          type: "string"
          description: "Access Token to access YSL 1.1 services.<br><br><b>Endpoints</b>:<ul><li>POST /auth/token</li></ul>"
          readOnly: true
    Coverage:
      title: "Coverage"
      type: "object"
      properties:
        amount:
          type: "array"
          description: "The coverage amount-related details.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance,investment<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul>"
          readOnly: true
          items:
            $ref: "#/components/schemas/CoverageAmount"
        planType:
          type: "string"
          description: "The plan type for an insurance provided to an individual or an entity.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul><b>Applicable Values:</b><br>"
          readOnly: true
          enum:
          - "PPO"
          - "HMO"
          - "UNKNOWN"
        endDate:
          type: "string"
          description: "The date on which the coverage for the account ends or expires.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance,investment<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul>"
          readOnly: true
        type:
          type: "string"
          description: "The type of coverage provided to an individual or an entity.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance,investment<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul><b>Applicable Values:</b><br>"
          readOnly: true
          enum:
          - "VISION"
          - "DENTAL"
          - "MEDICAL"
          - "HEALTH"
          - "DEATH_COVER"
          - "TOTAL_PERMANENT_DISABILITY"
          - "ACCIDENTAL_DEATH_COVER"
          - "INCOME_PROTECTION"
          - "DEATH_TOTAL_PERMANENT_DISABILITY"
          - "OTHER"
        startDate:
          type: "string"
          description: "The date on which the coverage for the account starts.<br><br><b>Aggregated / Manual</b>: Aggregated<br><b>Applicable containers</b>: insurance,investment<br><b>Endpoints</b>:<ul><li>GET accounts</li><li>GET accounts/{accountId}</li></ul>"
          readOnly: true
    DerivedHoldingsLinks:
      title: "DerivedHoldingsLinks"
      type: "object"
      properties:
        holdings:
          type: "string"
          readOnly: true
    AssetClassificationList:
      title: "AssetClassificationList"
      type: "object"
      properties:
        classificationType:
          type: "string"
          description: "The type of classification to which the investment belongs (assetClass, country, sector, and style).<br><b>Required Feature Enablement</b>: Asset classification feature<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        classificationValue:
          type: "array"
          description: "The value for each classificationType.<br><b>Required Feature Enablement</b>: Asset classification feature<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
          items:
            type: "string"
    Contact:
      title: "Contact"
      type: "object"
      properties:
        phone:
          type: "string"
          description: "Phone number of the merchant<br><br><b>Applicable containers</b>: bank,creditCard,investment,loan<br>"
        email:
          type: "string"
          description: "Email Id of the merchant<br><br><b>Applicable containers</b>: bank,creditCard,investment,loan<br>"
    UserResponse:
      title: "UserResponse"
      type: "object"
      properties:
        user:
          $ref: "#/components/schemas/User"
    CreateAccountRequest:
      title: "CreateAccountRequest"
      required:
      - "account"
      type: "object"
      properties:
        account:
          $ref: "#/components/schemas/CreateAccountInfo"
    DerivedHoldingsAccount:
      title: "DerivedHoldingsAccount"
      type: "object"
      properties:
        id:
          type: "integer"
          description: "The primary key of the account resource and the unique identifier for the account.<br>Required Feature Enablement: Asset classification feature.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "int64"
          readOnly: true
        value:
          $ref: "#/components/schemas/Money"
    CobrandSession:
      title: "CobrandSession"
      type: "object"
      properties:
        cobSession:
          type: "string"
    AssetClassification:
      title: "AssetClassification"
      type: "object"
      properties:
        allocation:
          type: "number"
          description: "The allocation percentage of the holding.<br><br><b>Required Feature Enablement</b>: Asset classification feature<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        classificationType:
          type: "string"
          description: "The type of classification to which the investment belongs (assetClass, country, sector, and style).<br><b>Required Feature Enablement</b>: Asset classification feature<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        classificationValue:
          type: "string"
          description: "The value for each classificationType.<br><b>Required Feature Enablement</b>: Asset classification feature<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
    VerifyAccountRequest:
      title: "VerifyAccountRequest"
      required:
      - "transactionCriteria"
      type: "object"
      properties:
        container:
          type: "string"
          enum:
          - "bank"
          - "creditCard"
          - "investment"
          - "insurance"
          - "loan"
          - "reward"
          - "realEstate"
          - "otherAssets"
          - "otherLiabilities"
        accountId:
          type: "integer"
          format: "int64"
        transactionCriteria:
          type: "array"
          items:
            $ref: "#/components/schemas/VerifyTransactionCriteria"
    TransactionCategoryRequest:
      title: "TransactionCategoryRequest"
      required:
      - "parentCategoryId"
      type: "object"
      properties:
        parentCategoryId:
          minimum: 1
          exclusiveMinimum: false
          type: "integer"
          format: "int32"
        source:
          type: "string"
          readOnly: true
        categoryName:
          maxLength: 50
          minLength: 1
          type: "string"
    DataExtractsHolding:
      title: "DataExtractsHolding"
      type: "object"
      properties:
        symbol:
          type: "string"
          description: "The symbol of the security.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        exercisedQuantity:
          type: "number"
          description: "The quantity of the employee stock options that are already exercised or bought by the employee.<br><b>Note</b>: Once the employee stock options is exercised, they are either converted to cash value or equity positions depending on the FI. The exercised quantity field is only applicable to employee stock options.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        cusipNumber:
          type: "string"
          description: "The CUSIP (Committee on Uniform Securities Identification Procedures) identifies most the financial instruments in the United States and Canada.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        vestedQuantity:
          type: "number"
          description: "The quantity of units or shares that are already vested on a vest date.<br><b>Note</b>: The vested quantity field is only applicable to employee stock options, restricted stock units/awards, performance units, etc.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        description:
          type: "string"
          description: "The description (name) for the holding (E.g., Cisco Systems)<br>For insurance container, the field is only applicable for insurance annuity and variable life insurance types. <br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        unvestedValue:
          $ref: "#/components/schemas/Money"
        securityStyle:
          type: "string"
          description: "Indicates the security style of holding identified through the security service.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        vestedValue:
          $ref: "#/components/schemas/Money"
        optionType:
          type: "string"
          description: "The type of the option position (i.e., put or call).<br><b>Note</b>: The option type field is only applicable to options.<br><br><b>Applicable containers</b>: investment<br><b>Applicable Values</b><br>"
          readOnly: true
          enum:
          - "put"
          - "call"
          - "unknown"
          - "other"
        lastUpdated:
          type: "string"
          description: "The date when the information was last updated in the system.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        matchStatus:
          type: "string"
          description: "Indicates the security match status id of the investment option identified during security normalization.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        holdingType:
          type: "string"
          description: "Type of holding<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
          enum:
          - "stock"
          - "mutualFund"
          - "bond"
          - "CD"
          - "option"
          - "moneyMarketFund"
          - "other"
          - "remic"
          - "future"
          - "commodity"
          - "currency"
          - "unitInvestmentTrust"
          - "employeeStockOption"
          - "insuranceAnnuity"
          - "unknown"
          - "preferredStock"
          - "ETF"
          - "warrants"
          - "ETN"
        maturityDate:
          type: "string"
          description: "The stated maturity date of a bond or CD.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        price:
          $ref: "#/components/schemas/Money"
        term:
          type: "string"
          description: "The fixed duration for which the bond or CD is issued.<br><b>Note</b>: The term field is only applicable to CD.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        contractQuantity:
          type: "number"
          description: "The quantity of tradeable units in a contract.<br><b>Note</b>: The contract quantity field is only applicable to commodity and currency.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        id:
          type: "integer"
          description: "Unique identifier for the security added in the system. This is the primary key of the holding resource.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "int64"
          readOnly: true
        isShort:
          type: "boolean"
          description: "Indicates that the holding is a short trading.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        value:
          $ref: "#/components/schemas/Money"
        expirationDate:
          type: "string"
          description: "The date on which an option, right or warrant expires.<br><b>Note</b>: The expiration date field is only applicable to options and employee stock options.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        interestRate:
          type: "number"
          description: "The interest rate on a CD.<br><b>Note</b>: The interest rate field is only applicable to CD.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        quantity:
          type: "number"
          description: "The quantity held for the holding.<br><b>Note</b>: Only for bonds the quantity field indicates the normalized quantity and not the quantity aggregated from the site. The quantity field is only applicable to restricted stock units/awards, performance units, currency, and commodity.<br>For insurance container, the field is only applicable for insurance annuity and variable life insurance types.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "double"
          readOnly: true
        accruedInterest:
          $ref: "#/components/schemas/Money"
        grantDate:
          type: "string"
          description: "The date on which equity awards like ESOP, RSU, etc., are issued or granted.<br><b>Note</b>: The grant date field is only applicable to employee stock options, restricted stock units/awards, performance units, etc.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        sedol:
          type: "string"
          description: "The SEDOL (Stock Exchange Daily Official List) is a set of security identifiers used in the United Kingdom and Ireland for clearing purposes.<br><b>Note</b>: The SEDOL field is only applicable to the trade related transactions<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        vestedSharesExercisable:
          type: "number"
          description: "The number of vested shares that can be exercised by the employee. It is usually equal to the vested quantity.<br><b>Note</b>: The vested shares exercisable field is only applicable to employee stock options, restricted stock units/awards, performance units, etc.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        spread:
          $ref: "#/components/schemas/Money"
        accountId:
          type: "integer"
          description: "Unique identifier of the account to which the security is linked.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "int64"
          readOnly: true
        enrichedDescription:
          type: "string"
          description: "The enrichedDescription is the security description of the normalized holding<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        couponRate:
          type: "number"
          description: "The stated interest rate for a bond.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        createdDate:
          type: "string"
          description: "The date on which the holding is created in the Yodlee system.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        accruedIncome:
          $ref: "#/components/schemas/Money"
        securityType:
          type: "string"
          description: "Indicates the security type of holding identified through the security service.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          readOnly: true
        providerAccountId:
          type: "integer"
          description: "Unique identifier for the user's association with the provider.<br><br><b>Applicable containers</b>: investment, insurance<br>"
          format: "int64"
          readOnly: true
        unvestedQuantity:
          type: "number"
          description: "Indicates the number of unvested quantity or units.<br><b>Note</b>: The unvested quantity field is only applicable to employee stock options, restricted stock units/awards, performance units, etc.<br><br><b>Applicable containers</b>: investment<br>"
          format: "double"
          readOnly: true
        costBasis:
          $ref: "#/components/schemas/Money"
        vestingDate:
          type: "string"
          description: "The date on which a RSU, RSA, or an employee stock options become vested.<br><b>Note</b>: The vesting date field is only applicable to employee stock options, restricted stock units/awards, performance units, etc.<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        isin:
          type: "string"
          description: "The ISIN (International Securities Identification Number) is used worldwide to identify specific securities. It is equivalent to CUSIP for international markets.<br><br><b>Note</b>: The ISIN field is only applicable to the trade related transactions<br><br><b>Applicable containers</b>: investment<br>"
          readOnly: true
        strikePrice:
          $ref: "#/components/schemas/Money"
    DerivedCategorySummaryDetails:
      title: "DerivedCategorySummaryDetails"
      type: "object"
      properties:
        date:
          type: "string"
          description: "Date on which the credit and debit transactions had occured.<br><br><b>Applicable containers</b>: creditCard, bank, investment<br>"
          readOnly: true
        creditTotal:
          $ref: "#/components/schemas/Money"
        debitTotal:
          $ref: "#/components/schemas/Money"
    CobrandLoginResponse:
      title: "CobrandLoginResponse"
      type: "object"
      properties:
        session:
          $ref: "#/components/schemas/CobrandSession"
        cobrandId:
          type: "integer"
          description: "Unique identifier of the cobrand (customer) in the system.<br><br><b>Endpoints</b>:<ul><li>POST cobrand/login</li></ul>"
          format: "int64"
          readOnly: true
        applicationId:
          type: "string"
          description: "The application identifier.<br><br><b>Endpoints</b>:<ul><li>POST cobrand/login</li></ul>"
          readOnly: true
        locale:
          type: "string"
          description: "The customer's locale that will be considered for the localization functionality.<br><br><b>Endpoints</b>:<ul><li>POST cobrand/login</li></ul>"
          readOnly: true
