Meow Accounts API

Access and manage accounts.

OpenAPI Specification

meow-accounts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Meow Accounts API
  description: '## Overview


    The Meow API provides financial services and billing capabilities for your business.


    ### Core Features


    - **Financial data access**: access account information, transactions, balances, and payment networks.

    - **Crypto operations**: create and manage crypto contacts, and initiate USDC transfers across blockchain networks.


    ### Billing API


    The Billing API lets you create and manage invoices and collect payments:


    - **Product management**: create and manage products with custom pricing.

    - **Customer management**: maintain invoicing customers with their addresses.

    - **Invoice creation**: generate invoices with line items, discounts, and custom notes.

    - **Payment options**: accept payments via ACH, wire, international wire, card, and USDC.

    - **Collection accounts**: configure accounts for payment collection.


    ### Getting Started


    Authenticate by sending your API key in the `x-api-key` request header.


    To scope requests to a specific entity, include the `x-entity-id` header. Use the `/api-keys/accessible-entities` endpoint to list all entities accessible by your API key.


    ### Error Responses


    Errors return JSON with `code`, `message`, and `debug_message`. The `code` aligns with FDX where possible; use `debug_message` for troubleshooting only.


    Common error codes:


    - `500`: Internal server error

    - `501`: Subsystem unavailable

    - `503`: Scheduled maintenance

    - `601`: Data not found

    - `602`: Customer not authorized

    - `701`: Account not found

    - `703`: Invalid input (including invalid date ranges)

    - `704`: Account type not supported

    - `705`: Account is closed

    - `801`: Transaction not found

    '
  contact:
    name: Meow
    url: https://meow.com/
    email: support@meow.com
  version: 1.0.0
  license:
    name: Proprietary
    url: https://www.meow.com/terms-of-service
servers:
- url: https://api.meow.com/v1
  description: Meow API Production
- url: https://api.sandbox.meow.com/v1
  description: Meow API Sandbox
security:
- apiKeyAuth: []
tags:
- name: Accounts
  description: Access and manage accounts.
paths:
  /accounts:
    get:
      tags:
      - Accounts
      summary: List Bank Accounts
      description: Returns a list of bank accounts.
      operationId: list_accounts_accounts_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Accounts'
      security:
      - apiKeyAuth:
        - accounts:read
      parameters:
      - $ref: '#/components/parameters/EntityIdHeader'
    post:
      tags:
      - Accounts
      summary: Create Bank Account
      description: Opens an additional bank account under the given `product`. You must already have an open account of that product, and your business must have completed verification. The account may open immediately (status `created`, with `account_id`) or in the background (status `processing`); when `processing`, poll `GET /accounts` until the account appears.
      operationId: create_account_accounts_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAccountRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAccountResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - apiKeyAuth:
        - accounts:write
      parameters:
      - $ref: '#/components/parameters/EntityIdHeader'
  /accounts/{account_id}:
    get:
      tags:
      - Accounts
      summary: Get Account Details
      description: Returns detailed information about a specified bank account.
      operationId: get_account_handler_accounts__account_id__get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
          description: The ID of the account.
          title: Account Id
        description: The ID of the account.
      - $ref: '#/components/parameters/EntityIdHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountWithDetails'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - apiKeyAuth:
        - accounts:read
    patch:
      tags:
      - Accounts
      summary: Update Bank Account
      description: Updates a bank account's `nickname` (display name), shown in the dashboard to distinguish it from other accounts. Supported for checking accounts (grasshopper, tcb, firstbank) and crb accounts. The nickname must be unique among your accounts.
      operationId: update_account_accounts__account_id__patch
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
          description: The ID of the bank account to update.
          title: Account Id
        description: The ID of the bank account to update.
      - $ref: '#/components/parameters/EntityIdHeader'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAccountRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateAccountResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - apiKeyAuth:
        - accounts:write
  /accounts/{account_id}/close:
    post:
      tags:
      - Accounts
      summary: Close a Bank Account
      description: Closes a bank account. The account must have a zero balance and no active cards, scheduled payments, or open invoices. Cancel or remove those first. Supported for checking accounts (grasshopper, tcb, firstbank) and crb accounts. Some accounts close immediately (status `closed`); others process the close asynchronously (status `close_pending`), in which case poll `GET /accounts/{account_id}` until its `status` reads `CLOSED`.
      operationId: close_account_accounts__account_id__close_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: string
          description: The ID of the bank account to close.
          title: Account Id
        description: The ID of the bank account to close.
      - $ref: '#/components/parameters/EntityIdHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloseAccountResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - apiKeyAuth:
        - accounts:write
components:
  schemas:
    UpdateAccountResponse:
      properties:
        account_id:
          type: string
          title: Account Id
          description: The `account_id` of the updated account.
          examples:
          - cash_account_3f9c1b2e-7a4d-4e88-9c21-0b6f5d8e1a2c
        nickname:
          type: string
          title: Nickname
          description: The account's display name after the update.
          examples:
          - Payroll
      type: object
      required:
      - account_id
      - nickname
      title: UpdateAccountResponse
    DateString:
      type: string
      format: date
      title: DateString
      description: ISO 8601 full-date in the format `YYYY-MM-DD` (per [IETF RFC 3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)).
    DigitalWalletType:
      type: string
      enum:
      - DIGITALWALLET
      title: DigitalWalletType
    UpdateAccountRequest:
      properties:
        nickname:
          type: string
          maxLength: 25
          minLength: 2
          pattern: ^[A-Za-z0-9\-' ]+$
          title: Nickname
          description: A custom display name for the account, shown in the dashboard to distinguish it from other accounts. 2-25 characters; letters, numbers, hyphens, apostrophes, and spaces only. Must be unique among your accounts.
          examples:
          - Payroll
      type: object
      required:
      - nickname
      title: UpdateAccountRequest
    AccountType:
      type: string
      enum:
      - BROKERAGEPRODUCT
      - CHECKING
      - MONEYMARKET
      - SAVINGS
      - TAXABLE
      title: AccountType
    Iso4217Code:
      type: string
      enum:
      - AED
      - AFN
      - ALL
      - AMD
      - ANG
      - AOA
      - ARS
      - AUD
      - AWG
      - AZN
      - BAM
      - BBD
      - BDT
      - BGN
      - BHD
      - BIF
      - BMD
      - BND
      - BOB
      - BOV
      - BRL
      - BSD
      - BTN
      - BWP
      - BYN
      - BZD
      - CAD
      - CDF
      - CHE
      - CHF
      - CHW
      - CLF
      - CLP
      - CNY
      - COP
      - COU
      - CRC
      - CUC
      - CUP
      - CVE
      - CZK
      - DJF
      - DKK
      - DOP
      - DZD
      - EGP
      - ERN
      - ETB
      - EUR
      - FJD
      - FKP
      - GBP
      - GEL
      - GHS
      - GIP
      - GMD
      - GNF
      - GTQ
      - GYD
      - HKD
      - HNL
      - HRK
      - HTG
      - HUF
      - IDR
      - ILS
      - INR
      - IQD
      - IRR
      - ISK
      - JMD
      - JOD
      - JPY
      - KES
      - KGS
      - KHR
      - KMF
      - KPW
      - KRW
      - KWD
      - KYD
      - KZT
      - LAK
      - LBP
      - LKR
      - LRD
      - LSL
      - LYD
      - MAD
      - MDL
      - MGA
      - MKD
      - MMK
      - MNT
      - MOP
      - MRU
      - MUR
      - MVR
      - MWK
      - MXN
      - MXV
      - MYR
      - MZN
      - NAD
      - NGN
      - NIO
      - NOK
      - NPR
      - NZD
      - OMR
      - PAB
      - PEN
      - PGK
      - PHP
      - PKR
      - PLN
      - PYG
      - QAR
      - RON
      - RSD
      - RUB
      - RWF
      - SAR
      - SBD
      - SCR
      - SDG
      - SLE
      - SEK
      - SGD
      - SHP
      - SLL
      - SOS
      - SRD
      - SSP
      - STN
      - SVC
      - SYP
      - SZL
      - THB
      - TJS
      - TMT
      - TND
      - TOP
      - TRY
      - TTD
      - TWD
      - TZS
      - UAH
      - UGX
      - USD
      - USN
      - UYI
      - UYU
      - UYW
      - UZS
      - VED
      - VES
      - VND
      - VUV
      - WST
      - XAF
      - XAG
      - XAU
      - XBA
      - XBB
      - XBC
      - XBD
      - XCD
      - XDR
      - XOF
      - XPD
      - XPF
      - XPT
      - XSU
      - XTS
      - XUA
      - XXX
      - YER
      - ZAR
      - ZMW
      - ZWG
      - ZWL
      title: Iso4217Code
    CreateAccountRequest:
      properties:
        product:
          $ref: '#/components/schemas/OpenableBankProduct'
          description: The product to open the new account under. You must already have an open account of this product. The account may open immediately (status `created`, with `account_id`) or in the background (status `processing`); when `processing`, poll `GET /accounts` until the account appears.
          examples:
          - grasshopper
      type: object
      required:
      - product
      title: CreateAccountRequest
    AccountDescriptor:
      properties:
        accountId:
          $ref: '#/components/schemas/Identifier'
          description: Unique identifier for this account.
        accountType:
          $ref: '#/components/schemas/AccountType'
          description: The type of account.
        accountNumberDisplay:
          anyOf:
          - type: string
          - type: 'null'
          title: Accountnumberdisplay
          description: Last 4 digits of the account number.
          examples:
          - 4321
        productName:
          type: string
          title: Productname
          description: Product name (e.g., Business Checking, Treasury).
        nickname:
          anyOf:
          - type: string
          - type: 'null'
          title: Nickname
          description: Custom display name for the account.
        status:
          $ref: '#/components/schemas/AccountStatus'
          description: Current account status.
        currency:
          $ref: '#/components/schemas/Currency'
          description: Currency of the account.
      type: object
      required:
      - accountId
      - accountType
      - productName
      - status
      - currency
      title: AccountDescriptor
    AccountCategory:
      type: string
      enum:
      - DEPOSIT_ACCOUNT
      - DIGITAL_WALLET
      - INVESTMENT_ACCOUNT
      title: AccountCategory
    AccountStatus:
      type: string
      enum:
      - CLOSED
      - DELINQUENT
      - NEGATIVECURRENTBALANCE
      - OPEN
      - PAID
      - PENDINGCLOSE
      - PENDINGOPEN
      - RESTRICTED
      title: AccountStatus
    HoldingType-Output:
      type: string
      enum:
      - ANNUITY
      - BOND
      - CD
      - MUTUALFUND
      - OPTION
      - OTHER
      - STOCK
      title: HoldingType
      description: 'Types of financial holdings or investments.


        ANNUITY - A contract sold by financial institutions that provides fixed payments to the holder at specified intervals

        BOND - A debt security where an investor loans money to an entity for a defined period at a fixed interest rate

        CD - Certificate of Deposit, a time deposit with a bank with fixed term and interest rate

        MUTUALFUND - An investment vehicle made up of a pool of funds collected from many investors

        OPTION - A contract giving the buyer the right to buy or sell an underlying asset at a specific price

        OTHER - Any holding type not covered by the other categories

        STOCK - Shares or equity in a corporation'
    DepositAccount:
      properties:
        accountId:
          $ref: '#/components/schemas/Identifier'
          description: Unique identifier for this account.
        accountType:
          $ref: '#/components/schemas/AccountType'
          description: The type of account.
        accountNumberDisplay:
          anyOf:
          - type: string
          - type: 'null'
          title: Accountnumberdisplay
          description: Last 4 digits of the account number.
          examples:
          - 4321
        productName:
          type: string
          title: Productname
          description: Product name (e.g., Business Checking, Treasury).
        nickname:
          anyOf:
          - type: string
          - type: 'null'
          title: Nickname
          description: Custom display name for the account.
        status:
          $ref: '#/components/schemas/AccountStatus'
          description: Current account status.
        currency:
          $ref: '#/components/schemas/Currency'
          description: Currency of the account.
        currentBalance:
          type: number
          title: Currentbalance
          description: Total balance of posted transactions.
        availableBalance:
          type: number
          title: Availablebalance
          description: Balance available for transfers and payments.
        bankProductType:
          anyOf:
          - type: string
          - type: 'null'
          title: Bankproducttype
          description: The name of the bank this account is held at.
      type: object
      required:
      - accountId
      - accountType
      - productName
      - status
      - currency
      - currentBalance
      - availableBalance
      title: DepositAccount
    AccountWithDetails:
      anyOf:
      - $ref: '#/components/schemas/DepositAccountWithDetail'
      - $ref: '#/components/schemas/InvestmentAccountWithDetail'
      - $ref: '#/components/schemas/DigitalWalletWithDetail'
      title: AccountWithDetails
      description: Account with balance details.
    DigitalWalletInfo:
      properties:
        accountId:
          $ref: '#/components/schemas/Identifier'
          description: Unique identifier for this wallet.
        accountCategory:
          $ref: '#/components/schemas/AccountCategory'
          description: Account category.
          default: DIGITAL_WALLET
        accountType:
          $ref: '#/components/schemas/DigitalWalletType'
          description: The type of digital wallet.
        accountNumberDisplay:
          anyOf:
          - type: string
          - type: 'null'
          title: Accountnumberdisplay
          description: Last 4 digits of the wallet address.
          examples:
          - 4321
        productName:
          type: string
          title: Productname
          description: Product name (e.g., USDC Wallet).
        nickname:
          anyOf:
          - type: string
          - type: 'null'
          title: Nickname
          description: Custom display name for the wallet.
        status:
          $ref: '#/components/schemas/AccountStatus'
          description: Current wallet status.
        currency:
          $ref: '#/components/schemas/Currency'
          description: Currency of the wallet.
      type: object
      required:
      - accountId
      - accountType
      - productName
      - status
      - currency
      title: DigitalWalletInfo
    CloseAccountStatus:
      type: string
      enum:
      - closed
      - close_pending
      title: CloseAccountStatus
    DepositAccountInfo:
      properties:
        accountId:
          $ref: '#/components/schemas/Identifier'
          description: Unique identifier for this account.
        accountType:
          $ref: '#/components/schemas/AccountType'
          description: The type of account.
        accountNumberDisplay:
          anyOf:
          - type: string
          - type: 'null'
          title: Accountnumberdisplay
          description: Last 4 digits of the account number.
          examples:
          - 4321
        productName:
          type: string
          title: Productname
          description: Product name (e.g., Business Checking, Treasury).
        nickname:
          anyOf:
          - type: string
          - type: 'null'
          title: Nickname
          description: Custom display name for the account.
        status:
          $ref: '#/components/schemas/AccountStatus'
          description: Current account status.
        currency:
          $ref: '#/components/schemas/Currency'
          description: Currency of the account.
        bankProductType:
          anyOf:
          - type: string
          - type: 'null'
          title: Bankproducttype
          description: The name of the bank this account is held at.
      type: object
      required:
      - accountId
      - accountType
      - productName
      - status
      - currency
      title: DepositAccountInfo
    DigitalWallet:
      properties:
        accountId:
          $ref: '#/components/schemas/Identifier'
          description: Unique identifier for this wallet.
        accountCategory:
          $ref: '#/components/schemas/AccountCategory'
          description: Account category.
          default: DIGITAL_WALLET
        accountType:
          $ref: '#/components/schemas/DigitalWalletType'
          description: The type of digital wallet.
        accountNumberDisplay:
          anyOf:
          - type: string
          - type: 'null'
          title: Accountnumberdisplay
          description: Last 4 digits of the wallet address.
          examples:
          - 4321
        productName:
          type: string
          title: Productname
          description: Product name (e.g., USDC Wallet).
        nickname:
          anyOf:
          - type: string
          - type: 'null'
          title: Nickname
          description: Custom display name for the wallet.
        status:
          $ref: '#/components/schemas/AccountStatus'
          description: Current wallet status.
        currency:
          $ref: '#/components/schemas/Currency'
          description: Currency of the wallet.
        currentBalance:
          type: number
          title: Currentbalance
          description: Total balance of the wallet.
        availableBalance:
          type: number
          title: Availablebalance
          description: Balance available for transfers.
      type: object
      required:
      - accountId
      - accountType
      - productName
      - status
      - currency
      - currentBalance
      - availableBalance
      title: DigitalWallet
    Currency:
      properties:
        currencyCode:
          $ref: '#/components/schemas/Iso4217Code'
          description: ISO 4217 currency code.
      type: object
      required:
      - currencyCode
      title: Currency
    CloseAccountResponse:
      properties:
        status:
          $ref: '#/components/schemas/CloseAccountStatus'
      type: object
      required:
      - status
      title: CloseAccountResponse
    HoldingSubType:
      type: string
      enum:
      - CASH
      - MONEYMARKET
      title: HoldingSubType
      description: The subtype of an investment holding. Set `holdingSubType` to `CASH` or `MONEYMARKET` to indicate cash-type holdings.
    OpenableBankProduct:
      type: string
      enum:
      - grasshopper
      - tcb
      - firstbank
      - crb
      title: OpenableBankProduct
      x-enum-varnames:
      - grasshopper
      - tcb
      - firstbank
      - crb
    DigitalWalletWithDetail:
      properties:
        digitalWallet:
          $ref: '#/components/schemas/DigitalWallet'
          description: Digital wallet with balances.
      additionalProperties: false
      type: object
      required:
      - digitalWallet
      title: DigitalWalletWithDetail
    DepositAccountWithDetail:
      properties:
        depositAccount:
          $ref: '#/components/schemas/DepositAccount'
          description: Deposit account with balances.
      additionalProperties: false
      type: object
      required:
      - depositAccount
      title: DepositAccountWithDetail
    CreateAccountResponse:
      properties:
        status:
          $ref: '#/components/schemas/CreateAccountStatus'
          description: '`created` when the new account is ready immediately and its `account_id` is returned. `processing` when the account is still being opened; poll `GET /accounts` until it appears.'
          examples:
          - created
        account_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Account Id
          description: The new `account_id`, returned only when status is `created`. Null when status is `processing`; fetch it from `GET /accounts` once the account appears.
          examples:
          - cash_account_3f9c1b2e-7a4d-4e88-9c21-0b6f5d8e1a2c
      type: object
      required:
      - status
      title: CreateAccountResponse
    Identifier:
      type: string
      maxLength: 256
      title: Identifier
      description: Value for a unique identifier.
    Holding:
      properties:
        securityId:
          anyOf:
          - type: string
          - type: 'null'
          title: Securityid
          description: Security identifier used to look up the closing price. Required together with `securityIdType` unless you provide `symbol`.
        securityIdType:
          anyOf:
          - $ref: '#/components/schemas/SecurityIdType'
          - type: 'null'
          description: Type of security identifier provided (e.g., CUSIP, ISIN).
        holdingName:
          anyOf:
          - type: string
          - type: 'null'
          title: Holdingname
          description: Holding name or security name.
        holdingType:
          anyOf:
          - $ref: '#/components/schemas/HoldingType-Output'
          - type: 'null'
          description: The high-level type of the holding (e.g., STOCK, BOND).
        holdingSubType:
          anyOf:
          - $ref: '#/components/schemas/HoldingSubType'
          - type: 'null'
          description: The more granular subtype of the holding (e.g., CASH, MONEYMARKET).
        symbol:
          anyOf:
          - type: string
          - type: 'null'
          title: Symbol
          description: Ticker or market symbol. Required unless both `securityId` and `securityIdType` are provided.
        purchasedPrice:
          anyOf:
          - type: number
          - type: 'null'
          title: Purchasedprice
          description: Price of holding at the time of purchase. Used to determine the approximate cost basis using the purchase price and the number of units.
        currentUnitPrice:
          anyOf:
          - type: number
          - type: 'null'
          title: Currentunitprice
          description: Current unit price. Used as the institution price and fallback for the close price if a security ID is not provided.
        currentUnitPriceDate:
          anyOf:
          - $ref: '#/components/schemas/DateString'
          - type: 'null'
          description: Current unit price as-of date. ISO 8601 full-date in format `YYYY-MM-DD`, per [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339.html#section-5.6).
        units:
          anyOf:
          - type: number
          - type: 'null'
          title: Units
          description: 'Quantity for security-based holdings: shares for stocks and mutual funds, face value for bonds, contracts for options. Required when the holding involves a security.'
        marketValue:
          type: number
          title: Marketvalue
          description: Market value at the time the data was retrieved.
        faceValue:
          anyOf:
          - type: number
          - type: 'null'
          title: Facevalue
          description: Required for bonds. Face value at the time the data was retrieved. If not present, assume the holding isn't a bond and fall back to `marketValue`.
        cashAccount:
          type: boolean
          title: Cashaccount
          description: If true, indicates that this holding is used to maintain proceeds from sales, dividends, and other cash postings to the investment account. Used in determining if the security is a cash equivalent.
          default: false
        currency:
          anyOf:
          - $ref: '#/components/schemas/Currency'
          - type: 'null'
          description: Currency of the holding, if different from the account's currency.
      type: object
      required:
      - marketValue
      title: Holding
      description: A holding in an investment account.
    PageMetadata:
      properties:
        nextOffset:
          anyOf:
          - type: string
          - type: 'null'
          title: Nextoffset
          description: Opaque offset identifier.
          examples:
          - qwer123454q2f
      type: object
      title: PageMetadata
    InvestmentAccountDescriptor:
      properties:
        investmentAccount:
          $ref: '#/components/schemas/AccountDescriptor'
          description: Investment account details.
      additionalProperties: false
      type: object
      required:
      - investmentAccount
      title: InvestmentAccountDescriptor
    DigitalWalletDescriptor:
      properties:
        digitalWallet:
          $ref: '#/components/schemas/DigitalWalletInfo'
          description: Digital wallet details.
      additionalProperties: false
      type: object
      required:
      - digitalWallet
      title: DigitalWalletDescriptor
    InvestmentAccountWithDetail:
      properties:
        investmentAccount:
          $ref: '#/components/schemas/InvestmentAccount'
          description: Investment account with balances and holdings.
      additionalProperties: false
      type: object
      required:
      - investmentAccount
      title: InvestmentAccountWithDetail
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    CreateAccountStatus:
      type: string
      enum:
      - processing
      - created
      title: CreateAccountStatus
      x-enum-varnames:
      - processing
      - created
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    AccountWithDescriptor:
      anyOf:
      - $ref: '#/components/schemas/DepositAccountDescriptor'
      - $ref: '#/components/schemas/InvestmentAccountDescriptor'
      - $ref: '#/components/schemas/DigitalWalletDescriptor'
      title: AccountWithDescriptor
      description: Account summary without balance details.
    InvestmentAccount:
      properties:
        accountId:
          $ref: '#/components/schemas/Identifier'
          description: Unique identifier for this account.
        accountType:
          $ref: '#/components/schemas/AccountType'
          description: The type of account.
        accountNumberDisplay:
          anyOf:
          - type: string
          - type: 'null'
          title: Accountnumberdisplay
          description: Last 4 digits of the account number.
          examples:
          - 4321
        productName:
          type: string
          title: Productname
          description: Product name (e.g., Business Checking, Treasury).
        nickname:
          anyOf:
          - type: string
          - type: 'null'
          title: Nickname
          description: Custom display name for the account.
        status:
          $ref: '#/components/schemas/AccountStatus'
          description: Current account status.
        currency:
          $ref: '#/components/schemas/Currency'
          description: Currency of the account.
        availableCashBalance:
          type: number
          title: Availablecashbalance
          description: Cash available for withdrawal or investment.
        currentValue:
          type: number
          title: Currentvalue
          description: Total current value of the account including all holdings.
        holdings:
          anyOf:
          - items:
              $ref: '#/components/schemas/Holding'
            type: array
          - type: 'null'
          title: Holdings
          description: List of securities and cash positions in the account.
      type: object
      required:
      - accountId
      - accountType
      - productName
      - status
      - currency
      - availableCashBalance
      - currentValue
      - holdings
      title: InvestmentAccount
    SecurityIdType:
      type: string
      enum:
      - CUSIP
      - ISIN
      - SEDOL
      - SICC
      - VALOR
      - WKN
      title: SecurityIdType
      description: 'Standard identifiers used for securities in financial markets.

        CUSIP - Committee on Uniform Securities Identification Procedures (North American securities)

        ISIN - International Securities Identification Number (global standard)

        SEDOL - Stock Exchange Daily Official List (UK securities)

        SICC - Standard Industrial Classification Code

        VALOR - Swiss security identification number

        WKN - Wertpapierkennnummer (German securities)'
    Accounts:
      properties:
        page:
          anyOf:
          - $ref: '#/components/schemas/PageMetadata'
          - type: 'null'
          description: Metadata for pagination.
        accounts:
          items:
            $ref: '#/components/schemas/AccountWithDescriptor'
          type: array
          title: Accounts
          description: List of bank accounts.
          examples:
          - - depositAccount:
                accountId: cash_account_1234567

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