openapi: 3.0.1 info: version: 1.0.0 title: Authorization Tokens Accounts Credentials API description: 'Use the `oauth` endpoint to generate the secure, time-limited JSON Web Tokens (JWTs) used to authorize access to APIs and components.

To request a token, click Authorize and enter the following credentials: * Username - Your Client ID. * Password - Your Client Secret.' servers: - url: https://www.us-api.morningstar.com/token description: PROD US - url: https://www.emea-api.morningstar.com/token description: PROD EMEA - url: https://www.apac-api.morningstar.com/token description: PROD APAC security: - BasicAuth: [] tags: - name: Credentials paths: /credentials/accounts: get: tags: - Credentials summary: Get credentials and account information description: "Get credentials and any associated accounts in a single list. Credentials that have no associated accounts will also be included. This response also includes information about asynchronous activities for the credentials and accounts. Use the `limitToProgressAfter` parameter to request that information for asynchronous activities in the response should be limited to those initiated after the specified point in time.

The applicable scope of this endpoint is always a single authenticated investor. This endpoint can provide information on asynchronous activity for the current session or for all activity in the system. Use the scope parameter with value session to request information about activity initiated during the current session. Use the `scope` parameter with value global to request information for all activity in the system. When `scope` is `global`, asynchronous activity progress will be available for terminated sessions up to 15 minutes after completion of that activity. If the `scope` parameter is not provided then the endpoint will report on activity for the current session, if there is one. If there is no current session (UIM) then it will report on all activity for the authenticated investor.

You can specify the number of the page to return and the number of records per page.
\n
**Response Model** - Special situations for Credentials and Accounts
\n Credentials and accounts in the aggregation system are complex objects for which the following statements are true:

Credentials or accounts can be incomplete, meaning they do not contain enough information to access data from the Financial Institution. This situation can occur if the user has not yet provided all necessary information (e.g. has not yet provided their password or completed OAUTH authorization)

The aggregation system may encounter a variety of errors when attempting to use a credential or an account to access data from a Financial Institution. These errors can occur because the information in the object is incorrect (e.g. a wrong password), problems with the aggregation system’s support (e.g. Financial Institution web site has changed and we need to update our support), or problems at the Financial Institution (e.g. site not available).

These conditions are not errors from an application perspective, instead they are “normal” things that can happen in the day-to-day of aggregation activities. It is important to properly represent these conditions to the end user and, whenever possible, help the user to understand when they must take action to resolve the condition or when the solution is not under their control. Due to the complexity of these error conditions, it is not always possible to make the condition clear to the user. ByAllAccounts continues to work to improve the clarity of these error conditions.

In addition to these situations, the system may be asynchronously performing activities that the user requested, directly or indirectly, on credentials and accounts. For example, if a request was made to obtain the latest data for an account then an asynchronous aggregation process is going on in the background and we want the end user to understand that it is in process and when that process completes. This endpoint includes information at the individual object level (credential or account) as well as the summary level (for the collection) to aid in the presentation of this information to the user. Note also that any asynchronous activity can result in the clearing of an error condition or the encountering of a new condition, so that information should be queried and redisplayed upon completion of the asynchronous activity.

For Supplemental Response Model Information including Account and Credential Error Information and Activity in Progress information, refer to the [Overview](/apis/account-aggregation/byallaccounts/overview) page. " operationId: getAccountUsingGET_1 parameters: - name: limitToProgressAfter in: query description: 'Show only credentials/accounts authenticated/aggregated by the user after the specified date. If not specified will return the full list of credentials/accounts.

date-time ISO 8601 JSON format yyyy-mm-ddThh:mm:ss.nnnnnn+|-hh:mm Local time relative to GMT. For example: 2019-08-22T15:16:33.045-04:00 ' allowEmptyValue: false schema: type: string format: date-time - name: page in: query description: Page number schema: type: integer format: int32 default: 0 - name: scope in: query description: Scope of activity for the authenticated user. Values can be `session`, to include only session-specific information, or `global` to also include information from other sessions for this user. Default is `session` for session-based users and `global` for users authenticated by Morningstar Authentication. allowEmptyValue: false schema: type: string default: session or global - name: size in: query description: Number of records per page schema: type: integer format: int32 default: 25 responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Page«Credential-Account Pair,DefaultSummaryDto»' '400': description: Bad Request '401': description: Not Authorized '500': description: Internal Server Error deprecated: false /credentials/{id}: delete: tags: - Credentials summary: Delete a credential and all associated accounts from the system description: 'Delete the credentials specified by the `id` parameter. All accounts associated with the credentials are also deleted from the system. ' operationId: deleteUsingDELETE_1 parameters: - name: id in: path description: ID of the credential to delete required: true schema: type: integer format: int64 responses: '204': description: No Content '401': description: Not Authorized '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error deprecated: false components: schemas: DefaultSummaryDto: title: DefaultSummaryDto type: object ActivitySummary: title: ActivitySummary type: object properties: activityInProgress: type: boolean description: If scope=`session` (or not set), then true indicates aggregation or authentication is in-progress for at least one credential in the session. If scope=`global`, then true indicates aggregation or authentication is in-progress for at least one credential in the session or authentication or discover/add/aggregate is in progress for at least one credential outside the current session. true, then aggregation is in-progress for atleast one credential example: false Page«Credential-Account Pair,DefaultSummaryDto»: title: Page«Credential-Account Pair,DefaultSummaryDto» type: object properties: activitySummary: $ref: '#/components/schemas/ActivitySummary' data: type: array items: $ref: '#/components/schemas/Credential-Account Pair' isFirst: type: boolean description: True if and only if this is the first page of data in the result set example: true isLast: type: boolean description: True if and only if this is the last page of data in the result set example: true pageNumber: type: integer description: Page number of this page format: int32 example: 0 pageSize: type: integer description: Number of records per page format: int32 example: 25 summary: $ref: '#/components/schemas/DefaultSummaryDto' totalElements: type: integer description: Total number of elements in result set format: int64 example: 1 totalPages: type: integer description: Total number of pages in result set format: int32 example: 1 description: A page of data records CurrencyValue: title: CurrencyValue type: object properties: amount: type: number readOnly: true example: 2078.34 currencyCode: type: string description: ISO 4217 currency code readOnly: true example: USD Account: title: Account required: - id type: object properties: accountNumber: type: string description: The account number at this financial institution example: ABC123456789 accountNumber2: type: string description: The optional account number at this financial institution example: XYZ123456 accountType: type: string example: CREDITCARD aggregationStatusErrorCode: type: integer description: Error code from latest aggregation attempt. This field can be ignored. Instead, refer to unifiedStatusInfoType format: int64 example: 1005 id: type: integer description: An account identifier assigned by the service format: int64 example: 11223344 lastUpdated: type: string description: Date and time stamp of last update format: date-time marketValue: $ref: '#/components/schemas/CurrencyValue' name: type: string description: Name of the account example: BofA Checking Account FinancialInstitution: title: FinancialInstitution required: - id - supportsAccountDiscovery - supportsOauth - supportsTestCredential - userLoginURL type: object properties: accountNumber2Term: type: string description: Term used for the optional account number at this financial institution example: Other Account Number accountNumberTerm: type: string description: Term used for the account number at this financial institution example: Plan Number icon: type: string description: The path to the icon for the financial institution. If the financial institution is requested (not supported) it is the path to a default icon. example: https://www.byallaccounts.net/WebPortfolio/vendorResources/Default/assets/fi/icons/icon.svg id: type: integer description: ID of the financial institution format: int64 example: 254367 login2Term: type: string description: Term used for the optional second login at this financial institution example: Other Login loginTerm: type: string description: Term used for the login at this financial institution example: Login name: type: string description: Name of the financial institution example: Bank of America - Banking pw2Term: type: string description: Term used for the optional second password at this financial institution example: Other Password pwTerm: type: string description: Term used for the password at this financial institution example: Password supportsAccountDiscovery: type: boolean description: Indicates whether the financial institution supports account discovery example: true supportsOauth: type: boolean description: Indicates whether the financial institution supports OAuth flag example: true supportsTestCredential: type: boolean description: Indicates whether the financial institution supports test credential (testing authentication) example: true userLoginURL: type: string description: User login URL of the financial institution example: https://chaseonline.chase.com/Logon.aspx?LOB=COLLogin websiteURL: type: string description: Website URL of the financial institution example: https://chaseonline.chase.com/Logon.aspx?LOB=COLLogin Credential-Account Pair: title: Credential-Account Pair required: - alarm - credentialComplete - id type: object properties: account: $ref: '#/components/schemas/Account' activityInProgressStatus: type: string description: 'Status of authentication or aggregation. Values are either "In Progress" or "Complete". ' example: In Progress alarm: type: boolean description: If true, credential requires attention from user. This field can be ignored. Instead, refer to unifiedStatusInfoType. example: false authenticationStatusErrorCode: type: integer description: Error code from the latest authentication attempt. Can be ignored. Instead, refer to unifiedStatusInfoType format: int64 example: 1006 credentialComplete: type: boolean description: Indicates whether the credential contains sufficient information to perform authentication. This field can be ignored. Instead, refer to unifiedStatusInfoType example: true financialInstitution: $ref: '#/components/schemas/FinancialInstitution' id: type: integer description: ID of the Account Credential format: int64 example: 778899 unifiedStatusInfoMsg: type: string description: Status information from the latest the combination of the latest authentication and aggregation attempt example: Cannot connect. Missing Login or Password. unifiedStatusInfoType: type: string description: Type of status information from the combination of the latest authentication and aggregation attempt example: cannotConnectMissingLoginPW unifiedStatusInfoShortMsg: type: string description: Deprecated. Status information from the latest authentication attempt (simplified) example: Cannot connect. Missing Login or Password. unifiedStatusInfoShortType: type: string description: Deprecated. Type of status information from the latest authentication attempt (simplified) example: cannotConnectMissingLoginPW description: Either an account and its related credential or a credential that has no accounts associated with it. securitySchemes: BasicAuth: type: http scheme: basic