Finicity Accounts API

Fetch or refresh customer accounts

Operations 10

GET /aggregation/v1/customers/{customerId}/institutionLogins/{institutionLoginId}/accounts Get Customer Accounts by Institution Login ID #
POST /aggregation/v1/customers/{customerId}/institutionLogins/{institutionLoginId}/accounts Refresh Customer Accounts by Institution Login ID #
POST /aggregation/v2/customers/{customerId}/institutionLogins/{institutionLoginId}/accounts Refresh Customer Accounts by Institution Login ID for Data Access Tiers #
DELETE /aggregation/v1/customers/{customerId}/institutionLogins/{institutionLoginId} Delete Access to Customer Accounts by Institution Login ID #
GET /aggregation/v2/customers/{customerId}/accounts/{accountId} Get Customer Account by ID #
DELETE /aggregation/v1/customers/{customerId}/accounts/{accountId} Delete Access to Customer Account by ID #
GET /aggregation/v1/customers/{customerId}/accounts Get Customer Accounts #
POST /aggregation/v1/customers/{customerId}/accounts Refresh Customer Accounts #
POST /aggregation/v2/customers/{customerId}/accounts Refresh Customer Accounts for Data Access Tiers #
GET /aggregation/v1/customers/{customerId}/institutions/{institutionId}/accounts Get Customer Accounts by Institution ID #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/finicity-accounts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

finicity-accounts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Open Finance Accounts API
  description: 'OpenAPI specification for Finicity APIs.


    Open Finance (formerly Open Banking) solutions in the US are provided by

    Finicity, a Mastercard company.'
  contact:
    name: API Support
    email: apisupport@mastercard.com
    url: https://developer.mastercard.com/open-finance-us/documentation/support/
  version: 1.43.0
servers:
- url: https://api.finicity.com
  description: Production
security:
- FinicityAppKey: []
  FinicityAppToken: []
tags:
- name: Accounts
  description: Fetch or refresh customer accounts
paths:
  /aggregation/v1/customers/{customerId}/institutionLogins/{institutionLoginId}/accounts:
    get:
      tags:
      - Accounts
      summary: Get Customer Accounts by Institution Login ID
      description: 'Get all accounts associated with the given institution login. All accounts returned are accessible by a single set of credentials on a single institution.


        _Supported regions_: ![🇺🇸](https://flagcdn.com/20x15/us.png)'
      operationId: GetCustomerAccountsByInstitutionLogin
      parameters:
      - $ref: '#/components/parameters/CustomerIdParameter'
      - $ref: '#/components/parameters/InstitutionLoginIdParameter'
      responses:
        '200':
          $ref: '#/components/responses/GetCustomerAccountsResponse'
        '400':
          $ref: '#/components/responses/GetAccountsInstitutionIdBadRequestErrorResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        '404':
          $ref: '#/components/responses/GetAccountsInstitutionIdResourceNotFoundErrorResponse'
    post:
      tags:
      - Accounts
      summary: Refresh Customer Accounts by Institution Login ID
      description: 'Refresh account and transaction data for all accounts associated with a given `institutionLoginId` with a connection to the institution.


        Client apps are not permitted to automate calls to the Refresh services. Active accounts are automatically refreshed by Finicity once per day. Because many financial institutions only post transactions once per day, calling Refresh repeatedly is usually a waste of resources and is not recommended.


        Apps may call Refresh services for a specific customer when there is a specific business case for the need of data that is up to date as of the moment. Please discuss with your account manager and systems engineer for further clarification.


        The recommended timeout setting for this request is 180 seconds in order to receive a response. However, you can terminate the connection after making the call the operation will still complete. You will have to pull the account records to check for an updated aggregation attempt date to know when the refresh is complete.


        Note: Do not use this service if you use Data Access Tiers.


        _Supported regions_: ![🇺🇸](https://flagcdn.com/20x15/us.png)'
      operationId: RefreshCustomerAccountsByInstitutionLogin
      parameters:
      - $ref: '#/components/parameters/CustomerIdParameter'
      - $ref: '#/components/parameters/InstitutionLoginIdParameter'
      - $ref: '#/components/parameters/ToDateParameterForRefreshAccounts'
      - $ref: '#/components/parameters/FromDateParameterForRefreshAccounts'
      responses:
        '200':
          $ref: '#/components/responses/RefreshCustomerAccountsResponse'
        '400':
          $ref: '#/components/responses/GenericBadRequestErrorResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundErrorResponse'
  /aggregation/v2/customers/{customerId}/institutionLogins/{institutionLoginId}/accounts:
    post:
      tags:
      - Accounts
      summary: Refresh Customer Accounts by Institution Login ID for Data Access Tiers
      description: 'Refresh account and transaction data for all accounts associated with a given `institutionLoginId` with a connection to the institution. Client apps are not permitted to automate calls to the Refresh services. Active accounts are automatically refreshed by Finicity once per day.


        Apps may call Refresh services for a specific customer when there is a specific business case for the need of data that is up to date as of the moment. Please discuss with your account manager and systems engineer for further clarification.


        Note: Use this service for Data Access Tiers ASD, AFD and ATD.


        _Supported regions_: ![🇺🇸](https://flagcdn.com/20x15/us.png)'
      operationId: RefreshCustomerAccountsByInstitutionLoginV2
      parameters:
      - $ref: '#/components/parameters/CustomerIdParameter'
      - $ref: '#/components/parameters/InstitutionLoginIdParameter'
      responses:
        '204':
          $ref: '#/components/responses/RefreshCustomerV2AccountsResponse'
        '400':
          $ref: '#/components/responses/GenericBadRequestErrorResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundErrorResponse'
  /aggregation/v1/customers/{customerId}/institutionLogins/{institutionLoginId}:
    delete:
      tags:
      - Accounts
      summary: Delete Access to Customer Accounts by Institution Login ID
      description: 'This will delete access to the underlying account(s) under a given Institution Login ID. The customer data will no longer be accessible. Any customer data already collected will be retained in accordance with our enterprise retention policy consistent with legal and business purposes.

        _Supported regions_: ![🇺🇸](https://flagcdn.com/20x15/us.png)'
      operationId: DeleteCustomerAccountsByInstitutionLogin
      parameters:
      - $ref: '#/components/parameters/CustomerIdParameter'
      - $ref: '#/components/parameters/InstitutionLoginIdParameter'
      responses:
        '204':
          $ref: '#/components/responses/DeleteCustomerAccountsByInstitutionLoginResponse'
        '400':
          $ref: '#/components/responses/BadRequestErrorResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundErrorResponse'
  /aggregation/v2/customers/{customerId}/accounts/{accountId}:
    get:
      tags:
      - Accounts
      summary: Get Customer Account by ID
      description: 'Get a customer account by ID.


        _Supported regions_: ![🇺🇸](https://flagcdn.com/20x15/us.png)'
      operationId: GetCustomerAccount
      parameters:
      - $ref: '#/components/parameters/CustomerIdParameter'
      - $ref: '#/components/parameters/AccountIdParameter'
      responses:
        '200':
          $ref: '#/components/responses/GetCustomerAccountResponse'
        '400':
          $ref: '#/components/responses/BadRequestErrorResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundErrorResponse'
  /aggregation/v1/customers/{customerId}/accounts/{accountId}:
    delete:
      tags:
      - Accounts
      summary: Delete Access to Customer Account by ID
      description: 'This will delete access to a specific account only. If there are multiple permissioned accounts, then partners and their customers will have the flexibility to continue to access data from other connected accounts using the consented (Oauth) token for the customer.

        The customer data on that specific account will no longer be accessible. Any customer data already collected will be retained in accordance with our enterprise retention policy consistent with legal and business purposes. ​

        _Supported regions_: ![🇺🇸](https://flagcdn.com/20x15/us.png)'
      operationId: DeleteCustomerAccount
      parameters:
      - $ref: '#/components/parameters/CustomerIdParameter'
      - $ref: '#/components/parameters/AccountIdParameter'
      responses:
        '204':
          $ref: '#/components/responses/DeleteCustomerAccountResponse'
        '400':
          $ref: '#/components/responses/BadRequestErrorResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundErrorResponse'
  /aggregation/v1/customers/{customerId}/accounts:
    get:
      tags:
      - Accounts
      summary: Get Customer Accounts
      description: 'Get all accounts owned by the given customer.


        _Supported regions_: ![🇺🇸](https://flagcdn.com/20x15/us.png)'
      operationId: GetCustomerAccounts
      parameters:
      - $ref: '#/components/parameters/CustomerIdParameter'
      - $ref: '#/components/parameters/AccountStatusParameter'
      - $ref: '#/components/parameters/AccountTypeParameter'
      responses:
        '200':
          $ref: '#/components/responses/GetCustomerAccountsResponse'
        '400':
          $ref: '#/components/responses/BadRequestErrorResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundErrorResponse'
    post:
      tags:
      - Accounts
      summary: Refresh Customer Accounts
      description: 'Refresh account and transaction data for all accounts associated with the  given `customerId` with a connection to the institution.


        Client apps are not permitted to automate calls to the Refresh services. Active accounts are automatically refreshed by Finicity once per day. Because many financial institutions only post transactions once per day, calling Refresh services repeatedly is usually a waste of resources and is not recommended.


        Apps may call Refresh services for a specific customer when there is a specific business case for the need of data that is up to date as of the moment. Please discuss with your account manager and systems engineer for further clarification.


        The recommended timeout setting for this request is 180 seconds in order to receive a response. However, you can terminate the connection after making the call the operation will still complete. You will have to pull the account records to check for an updated aggregation attempt date to know when the refresh is complete.


        Note: Do not use this service if you use Data Access Tiers.


        _Supported regions_: ![🇺🇸](https://flagcdn.com/20x15/us.png)'
      operationId: RefreshCustomerAccounts
      parameters:
      - $ref: '#/components/parameters/CustomerIdParameter'
      responses:
        '200':
          $ref: '#/components/responses/RefreshCustomerAccountsResponse'
        '400':
          $ref: '#/components/responses/GenericBadRequestErrorResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundErrorResponse'
  /aggregation/v2/customers/{customerId}/accounts:
    post:
      tags:
      - Accounts
      summary: Refresh Customer Accounts for Data Access Tiers
      description: 'Refresh account and transaction data for all accounts associated with the  given `customerId` with a connection to the institution.


        Client apps are not permitted to automate calls to the Refresh services. Active accounts are automatically refreshed by Finicity once per day.

        Apps may call Refresh services for a specific customer when there is a specific business case for the need of data that is up to date as of the moment. Please discuss with your account manager and systems engineer for further clarification.


        Note: Use this service for Data Access Tiers ASD, AFD and ATD.


        _Supported regions_: ![🇺🇸](https://flagcdn.com/20x15/us.png)'
      operationId: RefreshCustomerAccountsV2
      parameters:
      - $ref: '#/components/parameters/CustomerIdParameter'
      responses:
        '204':
          $ref: '#/components/responses/RefreshCustomerV2AccountsResponse'
        '400':
          $ref: '#/components/responses/GenericBadRequestErrorResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundErrorResponse'
  /aggregation/v1/customers/{customerId}/institutions/{institutionId}/accounts:
    get:
      tags:
      - Accounts
      summary: Get Customer Accounts by Institution ID
      description: 'Get all active accounts owned by the given customer at the given institution.


        _Supported regions_: ![🇺🇸](https://flagcdn.com/20x15/us.png)'
      operationId: GetCustomerAccountsByInstitution
      parameters:
      - $ref: '#/components/parameters/CustomerIdParameter'
      - $ref: '#/components/parameters/InstitutionIdParameter'
      responses:
        '200':
          $ref: '#/components/responses/GetCustomerAccountsResponse'
        '400':
          $ref: '#/components/responses/BadRequestErrorResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        '404':
          $ref: '#/components/responses/ResourceNotFoundErrorResponse'
components:
  examples:
    MissingFinicityAppKeyExample:
      value:
        code: '10026'
        message: Missing parameter (Finicity-App-Key)
    ResellerNoReportForPartnerExample:
      value:
        code: '10100'
        message: Cannot find resellerBilling reports with id 2445581559892.
    ResellerInvalidDateRangeGreaterThan31DaysExample:
      value:
        code: '10100'
        message: 'RESELLER_BILLING_REPORT: Invalid date range - It is more than 31 days'
    ResellerInvalidDateRangeGreaterThanEndDateExample:
      value:
        code: '10100'
        message: 'RESELLER_BILLING_REPORT: Invalid date range - startDate is greaterThan endDate'
    BothCraAndFtcPurposeTrueExample:
      value:
        code: '10100'
        status: '400'
        message: forCRAPurpose and forFTCPurpose may not both be TRUE.
    MissingFieldExample:
      value:
        code: '10005'
        message: Missing parameter (partnerId)
    ResellerInvalidDateRangeLessThanZeroExample:
      value:
        code: '10100'
        message: 'RESELLER_BILLING_REPORT: Invalid date range - start or end date less than or equal to zero'
    InvalidConsumerEmailExample:
      value:
        code: '10100'
        message: Invalid format for field consumer.email.
    BadCredentialsExample:
      value:
        code: '24302'
        message: Bad credentials
    InvalidForesightReportRequestExample:
      value:
        code: '10100'
        message: At least one of customerId or externalCustomerId must be provided; both are also allowed.
    NoRegisteredApplicationExample:
      value:
        code: '50051'
        message: No registered partner applications found.
    ExpiredFinicityAppTokenExample:
      value:
        code: '10023'
        message: Expired (Finicity-App-Token)
    InvalidFieldExample:
      value:
        code: '10010'
        status: '400'
        message: Customer ID does not exist or does not belong to this partner
        user_message: One or more of the fields could not be validated. Please ensure you have entered the correct data.
        tags: ''
    InvalidValueExample:
      value:
        code: '1618'
        message: Negative or invalid value entered. Please use positive numbers only.
    InvalidConsumerSSNExample:
      value:
        code: '10100'
        message: Invalid format for field consumer.ssn.  Required format is 9 digits.
    InvalidFinicityAppTokenExample:
      value:
        code: '10022'
        message: Invalid (Finicity-App-Token)
    NoAccountForInstitutionLoginIdExample:
      value:
        code: '38007'
        message: Customer does not have any accounts associated with institutionLoginId.
    CustomerNotFoundExample:
      value:
        code: '14001'
        message: Customer not found.
    ResellerNoDataForPartnerExample:
      value:
        code: '10100'
        message: 'RESELLER_BILLING_REPORT: Reports not found 2445583947903 resellerBilling reports'
    ExpiredTokenExample:
      value:
        code: '10023'
        message: Expired (Finicity-App-Token)
    ResellerInvalidDateRangeExample:
      value:
        code: '10100'
        message: 'RESELLER_BILLING_REPORT: Invalid date range - start or end date is empty or null'
    ResourceNotFoundExample:
      value:
        code: '14001'
        message: Resource not found.
    ConsumerNotFoundExample:
      value:
        code: '10100'
        message: Cannot find consumer with id 1234.
    GenericBadRequestExample:
      value:
        code: '14020'
        message: Bad request.
    InvalidConsumerPhoneExample:
      value:
        code: '10100'
        message: Invalid format for field consumer.phone.
    AccountTypeNotSupportedExample:
      value:
        code: '14020'
        message: Bad request. (Account type not supported).
    PermissiblePurposeCodeExample:
      value:
        code: '10100'
        status: '400'
        message: Permissible Purpose Code is required
    InvalidStatusParameterExample:
      value:
        code: '18017'
        message: status parameter value must be 'active' or 'pending
    ResellerPartnerNotAuthorizedExample:
      value:
        code: '10100'
        message: 'RESELLER_BILLING_REPORT: Partner is not authorized to access resellerBilling reports for partnerId 2445583947903'
    CustomerReportLimitExceedExample:
      value:
        code: '20400'
        message: The max report generation limit was exceeded for this customer.
    InvalidExperienceFieldExample:
      value:
        code: '10010'
        status: '400'
        message: '"experience" must be a valid GUID'
        user_message: One or more of the fields could not be validated. Please ensure you have entered the correct data.
        tags: ''
    NoConsumerForCustomerExample:
      value:
        code: '10100'
        message: Cannot find consumer for customer with id 5011115315."
    MissingFinicityAppTokenExample:
      value:
        code: '10024'
        message: Missing parameter (Finicity-App-Token)
  schemas:
    AuthorizationExpires:
      type: boolean
      description: A Boolean flag that indicates whether the customer’s authorization period has a defined authorization end date.
      example: true
      default: false
    PeriodEndDate:
      type: integer
      description: 'End date of period. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).'
      format: int64
      example: 1607450357
    PayoffAmountDate:
      type: integer
      description: '(Mortgage/Loan) Date of final payment. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).'
      format: int64
      example: 1607450357
    CustomerAccountMarketSegment:
      type: string
      description: 'The market segment of the account. Possible values: personal, business'
      example: personal
    MaturityDate:
      type: integer
      description: '(Checking/Savings/CD/MoneyMarket) Maturity date of account type. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).'
      format: int64
      example: 1607450357
    CustomerAccountPosition:
      description: Details for investment account holdings
      type: object
      properties:
        id:
          type: integer
          description: The ID of the investment position
          format: int64
          example: 454678080
        description:
          type: string
          description: The description of the holding
          example: DELTA AIR LINES INC
        symbol:
          type: string
          description: The investment position's market ticker symbol
          example: DAL
        units:
          type: number
          description: The number of units of the holding
          example: 6.537
        currentPrice:
          type: number
          description: The current price of the investment holding
          example: 41.585
        securityName:
          type: string
          description: The security name for the investment holding
          example: DELTA AIR LINES INC
        transactionType:
          type: string
          description: The transaction type of the holding, such as cash, margin, and more
          example: Margin
        marketValue:
          type: number
          description: Market value of an investment position at the time of retrieval
          example: 271.84
        changePercent:
          type: number
          description: The percent change in value since the previous day
          example: 170.02
        dailyChange:
          type: number
          description: The value amount change since the previous day
          example: 180.03
        costBasis:
          type: number
          description: The total cost of acquiring the security
          example: 190.01
        paidPrice:
          type: number
          description: The price per unit of a holding at the time of purchase
          example: 11.1526
        holdType:
          type: string
          description: The type of the holding
          example: INVESTMENT
        invSecurityType:
          type: string
          description: The security type for the investment holding
          example: OTHERINFO
        status:
          type: string
          description: The status of the holding
          example: A
        currentPriceDate:
          $ref: '#/components/schemas/UnixDate'
        securityType:
          type: string
          description: Type of security for the investment position
          example: Stock
        mfType:
          type: string
          description: Type of mutual fund, such as open ended
          example: OPENEND
        posType:
          type: string
          description: Fund type assigned by the FI (long or short)
          example: Long
        totalGLDollar:
          type: number
          description: Total gain and loss of the position at the time of aggregation in dollars
          example: 162742.9
        totalGLPercent:
          type: number
          description: Total gain and loss of the position at the time of aggregation in percentage
          example: 68.89
        optionStrikePrice:
          type: number
          description: The strike price of the option contract
          example: 50
        optionType:
          type: string
          description: The type of option contract (PUT or CALL)
          example: PUT
        optionSharesPerContract:
          type: number
          description: The number of shares per option contract
          example: 100
        optionExpireDate:
          type: string
          description: Expiration date of option
          format: date
          example: '1644994800'
        fiAssetClass:
          type: string
          description: Financial Institution (FI) defined asset class (COMMON STOCK, COMNEQTY, EQUITY/STOCK, CMA-ISA, CONVERTIBLE PREFERREDS, CORPORATE BONDS, OTHER MONEY FUNDS, ALLOCATION FUNDS, CMA-TAXABLE, FOREIGNEQUITYADRS, COMMONSTOCK, PREFERRED STOCKS, STABLE VALUE, FOREIGN EQUITY ADRS)
          example: COMNEQTY
        assetClass:
          type: string
          description: An asset class is a grouping of comparable financial securities. These include equities (stocks), fixed income (bonds), and cash equivalent or money market instruments. (DOMESTICBOND, LARGESTOCK, INTLSTOCK, MONEYMRKT, OTHER)
          example: INTLSTOCK
        currencyRate:
          type: number
          description: Currency rate, ratio of currency to original currency
          example: 1
        securityId:
          type: string
          description: The security ID of the transaction
          example: 25400W102
        securityIdType:
          $ref: '#/components/schemas/SecurityIdType'
        costBasisPerShare:
          type: number
          description: The per share cost of acquiring the security
          example: 13.38
        subAccountType:
          type: string
          description: The subaccount's type, such as cash
          example: CASH
        securityCurrency:
          type: string
          description: Symbol for the currency that the account is being converted into
          example: USD
        todayGLDollar:
          type: number
          description: The current day's gain and loss of the position at the time of aggregation in dollars
          example: 16272.9
        todayGLPercent:
          type: number
          description: The current day's gain and loss of the position at the time of aggregation in percentage
          example: 18.89
    LoanStatusEndDate:
      type: integer
      description: '(Student Loan) The end date of the current status. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).'
      format: int64
      example: 1607450357
    LastPaymentDate:
      type: integer
      description: '(Credit Card/Line Of Credit) The date of the last payment. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).'
      format: int64
      example: 1607450357
    CustomerAccountCreatedDate:
      type: integer
      description: 'A timestamp showing when the account record was created. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).'
      format: int64
      example: 1607450357
    NextPaymentDate:
      type: integer
      description: '(Mortgage/Loan) Due date for the next payment. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).'
      format: int64
      example: 1607450357
    StatementCloseDate:
      type: integer
      description: '(Mortgage/Loan) Date the statement closed. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://docs.finicity.com/endpoint-syntax-and-format/).'
      format: int64
      example: 1607450357
    CustomerAccountOldestTransactionDate:
      type: integer
      description: 'The date of the oldest transaction in the transactions for the account. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).'
      format: int64
      example: 1607450357
    LoanStatusStartDate:
      type: integer
      description: '(Student Loan) The start date of the current status. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).'
      format: int64
      example: 1607450357
    CustomerLastUpdatedDate:
      type: integer
      description: 'A timestamp showing when the account was last modified. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).'
      format: int64
      example: 1607450357
    RepaymentPlanEndDate:
      type: integer
      description: '(Student Loan) The end date of the current repayment plan. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).'
      format: int64
      example: 1607450357
    FirstPaymentDate:
      type: integer
      description: '(Mortgage/Loan) First payment due date. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).'
      format: int64
      example: 1607450357
    CustomerAccountBalanceDate:
      type: integer
      description: 'A timestamp showing when the balance was captured by the FI. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).'
      format: int64
      example: 1607450357
    RepaymentPlanStartDate:
      type: integer
      description: '(Student Loan) The start date of the current repayment plan. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).'
      format: int64
      example: 1607450357
    CustomerAccountAggregationAttemptDate:
      type: integer
      description: 'A timestamp showing the last aggregation attempt, whether successful or not. This will not be present until you have run your first aggregation for the account. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).'
      format: int64
      example: 1607450357
    LinkedAccountDate:
      type: integer
      description: 'A timestamp showing when the customer first linked the account via Data Connect. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).'
      format: int64
      example: 1607450357
    ConvertToRepayment:
      type: integer
      description: '(Student Loan) The date the loan enters into repayment. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).'
      format: int64
      example: 1607450357
    ErrorMessage:
      required:
      - code
      type: object
      properties:
        code:
          type: object
          description: 'An error code (can be returned as a number or a string). Useful links: [Common API Status Codes](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/#common-api-status-codes), [Aggregation Status Codes](https://developer.mastercard.com/open-finance-us/documentation/products/manage/account-aggregation/#aggregation-status-codes).'
          example: '10001'
        status:
          type: string
          description: A status code
          example: '401'
        title:
          type: string
          description: A title for the error
          example: Connecting accounts error
        level:
          type: string
          description: An error level
          example: error
        message:
          type: string
          description: An error message
          example: Invalid authorization credentials
        user_message:
          type: string
          description: Some more details about the error
          example: The session has expired or is invalid
        assetId:
          $ref: '#/components/schemas/AssetId'
        accountId:
          $ref: '#/components/schemas/AccountId'
        externalTransactionId:
          type: string
          description: A unique identifier for the transaction that assists in linking data back to your systems.
          example: MAC1005061234
          minLength: 1
          maxLength: 100
        tags:
          type: string
          description: Categories that the error belongs to
          example: AGG
    AccountId:
      type: string
      description: An account ID
      example: '5011648377'
    AccountStatus:
      description: An account status
      type: string
      example: pending
    OpenDate:
      type: integer
      description: '(Checking/Savings/CD/MoneyMarket) Date when account was opened. A date in Unix epoch time (in seconds). See: [Handling Epoch Dates and Times](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/).'
      format: int64
      example: 1607450357
    AggregationStatus:
      type: string
      description: "\"pending\" during account discovery, always \"active\" following\n  successful account activation"
      example: active
    CustomerAccountLastTransactionDate:
      type: integer
      description: 'The date of the latest transaction on the account. This will not be present until you have run your first aggregation for the account. A date in Unix epoch time (in seconds). See: [Handling Epoc

# --- truncated at 32 KB (72 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/finicity/refs/heads/main/openapi/finicity-accounts-api-openapi.yml