openapi: '3.0.0'
info:
  contact:
    name: MX Platform API
    url: https://www.mx.com/products/platform-api
  description: |
    The MX Platform API is a powerful, fully-featured API designed to make aggregating and enhancing financial data easy and reliable. It can seamlessly connect your app or website to tens of thousands of financial institutions.

  title: MX Platform API
  version: "20111101"
servers:
  - url: https://int-api.mx.com
  - url: https://api.mx.com
security:
  - basicAuth: []
tags:
  - name: authorization
  - name: widgets
  - name: users
  - name: members
  - name: institutions
  - name: accounts
  - name: transactions
  - name: microdeposits
  - name: managed data
  - name: transaction rules
  - name: statements
  - name: merchants
  - name: categories
  - name: insights
  - name: investment holdings
  - name: spending plan
  - name: goals
  - name: budgets
  - name: monthly cash flow profile
  - name: notifications
  - name: taggings
  - name: tags
  - name: deprecated
  - name: processor token
  - name: verifiable credentials
  - name: rewards
  - name: ach return
paths:
  /authorization_code:
    post:
      description: Clients use this endpoint to request an authorization code
        according to the parameters specified in the scope. Clients then pass
        this code to processors. Processor access is scoped only to the GUIDs
        and features specified in this request. Before requesting an
        authorization code which includes a member in the scope, clients must
        have verified that member.
      operationId: requestAuthorizationCode
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AuthorizationCodeRequestBody"
        description: The scope for the authorization code.
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/AuthorizationCodeResponseBody"
          description: OK
      summary: Request an authorization code
      tags:
        - processor token
  /ach_returns/{ach_return_guid}:
    get:
      description: |        
        The features documented here are in a beta state, and this documentation is considered draft material subject to frequent change.

        Use this endpoint to get an ACH return by its `guid` or `id`.
      operationId: readACHRetrun
      parameters:
        - $ref: "#/components/parameters/achReturnGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/ACHReturnResponseBody"
          description: OK
      summary: Read ACH Return
      tags:
        - ach return
  /ach_returns:
    get:
      description: |
        The features documented here are in a beta state, and this documentation is considered draft material subject to frequent change.

        Use this endpoint to get all ACH returns.
      operationId: listACHRetruns
      parameters:
        - $ref: "#/components/parameters/institutionGuid"
        - $ref: "#/components/parameters/returnedAt"
        - $ref: "#/components/parameters/resolvedStatusAt"
        - $ref: "#/components/parameters/returnCode"
        - $ref: "#/components/parameters/returnStatus"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPage"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/ACHReturnsResponseBody"
          description: OK
      summary: List ACH Returns
      tags:
        - ach return
    post:
      description: |
        The features documented here are in a beta state, and this documentation is considered draft material subject to frequent change.

        Use this endpoint to create an ACH return in our system.
      operationId: createACHReturn
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ACHReturnCreateRequestBody"
        description: ACH return object to be created.
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/ACHReturnResponseBody"
          description: OK
      summary: Create ACH Return
      tags:
        - ach return
  /categories/default:
    get:
      description: Use this endpoint to retrieve a list of all the default categories
        and subcategories offered within the MX Platform API. In other words,
        each item in the returned list will have its `is_default` field set to
        `true`. There are currently 119 default categories and subcategories.
        Both the _list default categories_ and _list default categories by user_
        endpoints return the same results. The different routes are provided for
        convenience.
      operationId: listDefaultCategories
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPage"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/CategoriesResponseBody"
          description: OK
      summary: List default categories
      tags:
        - categories
  /categories/{category_guid}:
    get:
      description: Use this endpoint to read the attributes of a default category.
      operationId: readDefaultCategory
      parameters:
        - $ref: "#/components/parameters/categoryGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/CategoryResponseBody"
          description: OK
      summary: Read a default category
      tags:
        - categories
  /institutions:
    get:
      description: This endpoint returns a list of institutions based on the specified
        search term or parameter.
      operationId: listInstitutions
      parameters:
        - $ref: "#/components/parameters/institutionName"
        - $ref: "#/components/parameters/isoCountryCode"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/supportsAccountIdentification"
        - $ref: "#/components/parameters/supportsAccountStatement"
        - $ref: "#/components/parameters/supportsAccountVerification"
        - $ref: "#/components/parameters/supportsTransactionHistory"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/InstitutionsResponseBody"
          description: OK
      summary: List institutions
      tags:
        - institutions
  /institutions/favorites:
    get:
      description: This endpoint returns a paginated list containing institutions that
        have been set as the partner’s favorites, sorted by popularity. Please
        contact MX to set a list of favorites.
      operationId: listFavoriteInstitutions
      parameters:
        - $ref: "#/components/parameters/isoCountryCode"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/InstitutionsResponseBody"
          description: OK
      summary: List favorite institutions
      tags:
        - institutions
  /institutions/{institution_code}:
    get:
      description: This endpoint returns information about the institution specified
        by `institution_code`.
      operationId: readInstitution
      parameters:
        - $ref: "#/components/parameters/institutionCode"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/InstitutionResponseBody"
          description: OK
      summary: Read institution
      tags:
        - institutions
  /institutions/{institution_code}/credentials:
    get:
      description: |
        Use this endpoint to see which credentials will be needed to create a member for a specific institution.

        Passing an invalid `institution_code` returns a `404`.
      operationId: listInstitutionCredentials
      parameters:
        - $ref: "#/components/parameters/institutionCode"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/CredentialsResponseBody"
          description: OK
      summary: List institution credentials
      tags:
        - institutions
  /managed_institutions:
    get:
      description: |
        **Sunset.** This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. There is no direct replacement; to send data held at your institution to MX, use [MDX Real Time](/products/connectivity/overview/held-data/mdx-real-time). See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints) for details.
      operationId: listManagedInstitutions
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
      responses:
        "410":
          description: |
            Gone. This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints).
      deprecated: true
      summary: List managed institutions
      tags:
        - managed data
  /merchant_locations/{merchant_location_guid}:
    get:
      description: This endpoint returns the specified `merchant_location` resource.
        The `merchant_location_guid` can be found on `transaction` objects.
      operationId: readMerchantLocation
      parameters:
        - $ref: "#/components/parameters/merchantLocationGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MerchantLocationResponseBody"
          description: OK
      summary: Read merchant location
      tags:
        - merchants
  /merchants:
    get:
      description: This endpoint returns a paginated list of all the merchants in the
        MX system.
      operationId: listMerchants
      parameters:
        - $ref: "#/components/parameters/merchantName"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MerchantsResponseBody"
          description: OK
      summary: List merchants
      tags:
        - merchants
  /merchants/{merchant_guid}:
    get:
      description: Returns information about a particular merchant, such as a logo,
        name, and website.
      operationId: readMerchant
      parameters:
        - $ref: "#/components/parameters/merchantGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MerchantResponseBody"
          description: OK
      summary: Read merchant
      tags:
        - merchants
  /payment_processor_authorization_code:
    post:
      description: (This endpoint is deprecated. Clients should use
        `/authorization_code`.) Clients use this endpoint to request an
        authorization_code according to a user, member, and account specified in
        the request body. Clients then pass this code to processors. Processor
        access is scoped only to the user/member/account specified in this
        request. Before requesting an authorization_code, clients must have
        verified the specified member.
      operationId: deprecatedRequestPaymentProcessorAuthorizationCode
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PaymentProcessorAuthorizationCodeRequestBody"
        description: The scope for the authorization code.
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/PaymentProcessorAuthorizationCodeResponseBody"
          description: OK
      summary: (Deprecated) Request an authorization code
      tags:
        - processor token
  /transactions/enhance:
    post:
      description: Use this endpoint to categorize, cleanse, and classify
        transactions. These transactions are not persisted or stored on the MX
        platform. <br /><br />For more information on returned data, please see
        the [Enhanced Transactions fields
        guide](/api-reference/platform-api/v20111101/reference/transactions#enhanced-transactions).
      operationId: enhanceTransactions
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/EnhanceTransactionsRequestBody"
        description: Transaction object to be enhanced
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/EnhanceTransactionsResponseBody"
          description: OK
      summary: Enhance transactions
      tags:
        - transactions
  /users:
    get:
      description: Use this endpoint to list every user you've created in the MX
        Platform API.
      operationId: listUsers
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userId"
        - $ref: "#/components/parameters/userEmail"
        - $ref: "#/components/parameters/userIsDisabled"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/UsersResponseBody"
          description: OK
      summary: List users
      tags:
        - users
    post:
      description: Use this endpoint to create a new user. The API will respond with
        the newly-created user object if successful, containing a `guid` that
        you'll set as the `user_guid` in other requests when required. Disabling
        a user means that accounts and transactions associated with it will not
        be updated in the background by MX. It will also restrict access to that
        user’s data until they are no longer disabled.
      operationId: createUser
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UserCreateRequestBody"
        description: User object to be created. (None of these parameters are required,
          but the user object cannot be empty)
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/UserResponseBody"
          description: OK
      summary: Create user
      tags:
        - users
  /users/{user_guid}:
    delete:
      description: |
        Use this endpoint to delete the specified `user`. The response will have a status of `204 No Content` without an object.

        Deleting a user is permanent. Deleted users can never be restored. For more info, see [Deleting Objects](/api-reference/platform-api/v20111101/overview/introduction#deleting-objects).
      operationId: deleteUser
      parameters:
        - $ref: "#/components/parameters/acceptHeader"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "204":
          description: No Content
      summary: Delete user
      tags:
        - users
    get:
      description: Use this endpoint to read the attributes of a specific user.
      operationId: readUser
      parameters:
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/UserResponseBody"
          description: OK
      summary: Read user
      tags:
        - users
    put:
      description: Use this endpoint to update the attributes of the specified user.
      operationId: updateUser
      parameters:
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UserUpdateRequestBody"
        description: User object to be updated (None of these parameters are required,
          but the user object cannot be empty.)
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/UserResponseBody"
          description: OK
      summary: Update user
      tags:
        - users
  /users/{user_guid}/accounts:
    get:
      description: |
        This endpoint returns a list of all the accounts associated with the specified `user`.

        This request will not return the full account number. It may return the last four digits of the account number if that information has been provided during aggregation. If you need the full account number, please refer to [List account numbers by member](/api-reference/platform-api/v20111101/reference/accounts/list-account-numbers-by-member) or [List account numbers by account](/api-reference/platform-api/v20111101/reference/accounts/list-account-numbers-by-account).      operationId: listUserAccounts
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/memberIsManagedByUser"
        - $ref: "#/components/parameters/accountIsManual"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/useCase"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/AccountsResponseBody"
          description: OK
      summary: List accounts
      tags:
        - accounts
    post:
      description: This endpoint can only be used to create manual accounts. Creating
        a manual account will automatically create it under the Manual
        Institution member. Since a manual account has no credentials tied to
        the member, the account will never aggregate or include data from a data
        feed..
      operationId: createManualAccount
      parameters:
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AccountCreateRequestBody"
        description: Manual account object to be created.
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/AccountResponseBody"
          description: OK
      summary: Create manual account
      tags:
        - accounts
  /users/{user_guid}/accounts/{account_guid}:
    get:
      description: This endpoint returns the specified `account` resource.
      operationId: readAccount
      parameters:
        - $ref: "#/components/parameters/accountGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/AccountResponseBody"
          description: OK
      summary: Read account
      tags:
        - accounts
    delete:
      description: This endpoint deletes accounts that were manually created. The API
        will respond with an empty object and a status of `204 No Content`.
      operationId: deleteManualAccount
      parameters:
        - $ref: "#/components/parameters/accountGuid"
        - $ref: "#/components/parameters/acceptHeader"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "204":
          description: No content.
      summary: Delete manual account
      tags:
        - accounts
  /users/{user_guid}/accounts/{account_guid}/account_numbers:
    get:
      description: This endpoint returns a list of account numbers associated with the
        specified `account`.
      operationId: listAccountNumbersByAccount
      parameters:
        - $ref: "#/components/parameters/accountGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/AccountNumbersResponseBody"
          description: OK
      summary: List account numbers by account
      tags:
        - accounts
  /users/{user_guid}/accounts/{account_guid}/insights:
    get:
      description: Use this endpoint to list all insights associated with an account GUID.
      operationId: listInsightsByAccount
      parameters:
        - $ref: "#/components/parameters/accountGuid"
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPage"
        - $ref: "#/components/parameters/insightIncludes"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/InsightsResponseBody"
          description: OK
      summary: List insights by account
      tags:
        - insights
  /users/{user_guid}/accounts/{account_guid}/transactions:
    post:
      operationId: createManualTransaction
      tags:
        - transactions
      summary: Create manual transaction
      description: This endpoint can only be used to create manual transactions that
        are under a manual account. This endpoint accepts the optional
        MX-Skip-Webhook header and skip_webhook parameter.
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/accountGuid"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TransactionCreateRequestBody"
      responses:
        "200":
          description: OK
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TransactionCreateResponseBody"
    get:
      description: Requests to this endpoint return a list of transactions associated
        with the specified account. <br /><br /> Enhanced transaction data may
        be requested using the `includes` parameter. To use this optional
        parameter, the value should include the optional metadata requested
        such as `repeating_transactions`, `merchants`, `classifications`,
        `geolocations`. For more information, see the [Optional Enhancement
        Query Parameter
        guide](/api-reference/platform-api/v20111101/reference/transactions#optional-enhancement-query-parameter).
      operationId: listTransactionsByAccount
      parameters:
        - $ref: "#/components/parameters/accountGuid"
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/fromDate"
        - $ref: "#/components/parameters/toDate"
        - $ref: "#/components/parameters/fromCreatedAt"
        - $ref: "#/components/parameters/toCreatedAt"
        - $ref: "#/components/parameters/fromUpdatedAt"
        - $ref: "#/components/parameters/toUpdatedAt"
        - $ref: "#/components/parameters/categoryGuidQuery"
        - $ref: "#/components/parameters/categoryGuidQueryArray"
        - $ref: "#/components/parameters/topLevelCategoryGuid"
        - $ref: "#/components/parameters/topLevelCategoryGuidArray"
        - $ref: "#/components/parameters/includes"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TransactionsResponseBodyIncludes"
          description: OK
      summary: List transactions by account
      tags:
        - transactions
  /users/{user_guid}/categories:
    get:
      description: Use this endpoint to list all categories associated with a `user`,
        including both default and custom categories.
      operationId: listCategories
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/CategoriesResponseBody"
          description: OK
      summary: List categories
      tags:
        - categories
    post:
      description: Use this endpoint to create a new custom category for a specific `user`.
      operationId: createCategory
      parameters:
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CategoryCreateRequestBody"
        description: Custom category object to be created
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/CategoryResponseBody"
          description: OK
      summary: Create category
      tags:
        - categories
  /users/{user_guid}/categories/default:
    get:
      description: Use this endpoint to retrieve a list of all the default categories
        and subcategories, scoped by user, offered within the MX Platform API.
        In other words, each item in the returned list will have its
        `is_default` field set to `true`. There are currently 119 default
        categories and subcategories. Both the _list default categories_ and
        _list default categories by user_ endpoints return the same results. The
        different routes are provided for convenience.
      operationId: listDefaultCategoriesByUser
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/CategoriesResponseBody"
          description: OK
      summary: List default categories by user
      tags:
        - categories
  /users/{user_guid}/categories/{category_guid}:
    delete:
      description: Use this endpoint to delete a specific custom category according to
        its unique GUID. The API will respond with an empty object and a status
        of `204 No Content`.
      operationId: deleteCategory
      parameters:
        - $ref: "#/components/parameters/categoryGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "204":
          description: No Content
      summary: Delete category
      tags:
        - categories
    get:
      description: Use this endpoint to read the attributes of either a default
        category or a custom category.
      operationId: readCategory
      parameters:
        - $ref: "#/components/parameters/categoryGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/CategoryResponseBody"
          description: OK
      summary: Read a custom category
      tags:
        - categories
    put:
      description: Use this endpoint to update the attributes of a custom category
        according to its unique GUID.
      operationId: updateCategory
      parameters:
        - $ref: "#/components/parameters/categoryGuid"
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CategoryUpdateRequestBody"
        description: Category object to be updated (While no single parameter is
          required, the `category` object cannot be empty)
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/CategoryResponseBody"
          description: OK
      summary: Update category
      tags:
        - categories
  /users/{user_guid}/connect_widget_url:
    post:
      description: This endpoint will return a URL for an embeddable version of MX Connect.
      operationId: requestConnectWidgetURL
      parameters:
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ConnectWidgetRequestBody"
        description: Optional config options for WebView (is_mobile_webview,
          current_institution_code, current_member_guid, update_credentials)
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/ConnectWidgetResponseBody"
          description: OK
      summary: (Deprecated) Request connect widget URL
      deprecated: true
      tags:
        - widgets
  /users/{user_guid}/insights:
    get:
      description: Use this endpoint to list all the insights associated with the user.
      operationId: listInsightsUser
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPage"
        - $ref: "#/components/parameters/insightIncludes"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/InsightsResponseBody"
          description: OK
      summary: List all insights for a user
      tags:
        - insights
  /users/{user_guid}/insights/{insight_guid}/categories:
    get:
      description: Use this endpoint to list all the categories associated with the insight.
      operationId: listCategoriesInsight
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/insightGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPage"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/CategoriesResponseBody"
          description: OK
      summary: List all categories associated with an insight
      tags:
        - insights
  /users/{user_guid}/insights/{insight_guid}/accounts:
    get:
      description: Use this endpoint to list all the accounts associated with the insight.
      operationId: listAccountsInsight
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/insightGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPage"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/AccountsResponseBody"
          description: OK
      summary: List all accounts associated with an insight
      tags:
        - insights
  /users/{user_guid}/insights/{insight_guid}/merchants:
    get:
      description: Use this endpoint to list all the merchants associated with the insight.
      operationId: listMerchantsInsight
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/insightGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPage"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MerchantsResponseBody"
          description: OK
      summary: List all merchants associated with an insight
      tags:
        - insights
  /users/{user_guid}/insights/{insight_guid}/scheduled_payments:
    get:
      description: Use this endpoint to list all the scheduled payments associated
        with the insight.
      operationId: listScheduledPaymentsInsight
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/insightGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPage"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/ScheduledPaymentsResponseBody"
          description: OK
      deprecated: true
      summary: List all scheduled payments associated with an insight
      tags:
        - insights
  /users/{user_guid}/insights/{insight_guid}/transactions:
    get:
      description: Use this endpoint to list all the transactions associated with the
        insight.
      operationId: listTransactionsInsight
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/insightGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPage"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TransactionsResponseBody"
          description: OK
      summary: List all transactions associated with an insight
      tags:
        - insights
  /users/{user_guid}/insights/{insight_guid}:
    get:
      description: Use this endpoint to read the attributes of an insight according to
        its unique GUID.
      operationId: readInsightUser
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/insightGuid"
        - $ref: "#/components/parameters/insightIncludes"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/InsightResponseBody"
          description: OK
      summary: Read insight
      tags:
        - insights
    put:
      description: Use this endpoint to update the attributes of an insight according
        to its unique GUID.
      operationId: updateInsight
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/insightGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/InsightUpdateRequestBody"
        description: The insight to be updated (None of these parameters are required,
          but the user object cannot be empty.)
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/InsightResponse"
          description: OK
      summary: Update insight
      tags:
        - insights
  /users/{user_guid}/managed_members:
    get:
      description: |
        **Sunset.** This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. There is no direct replacement; to send data held at your institution to MX, use [MDX Real Time](/products/connectivity/overview/held-data/mdx-real-time). See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints) for details.
      operationId: listManagedMembers
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "410":
          description: |
            Gone. This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints).
      deprecated: true
      summary: List managed members
      tags:
        - managed data
    post:
      description: |
        **Sunset.** This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. There is no direct replacement; to send data held at your institution to MX, use [MDX Real Time](/products/connectivity/overview/held-data/mdx-real-time). See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints) for details.
      operationId: createManagedMember
      parameters:
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ManagedMemberCreateRequestBody"
        description: Managed member to be created.
        required: true
      responses:
        "410":
          description: |
            Gone. This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints).
      deprecated: true
      summary: Create managed member
      tags:
        - managed data
  /users/{user_guid}/managed_members/{member_guid}:
    delete:
      description: |
        **Sunset.** This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. There is no direct replacement; to send data held at your institution to MX, use [MDX Real Time](/products/connectivity/overview/held-data/mdx-real-time). See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints) for details.
      operationId: deleteManagedMember
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/acceptHeader"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "410":
          description: |
            Gone. This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints).
      deprecated: true
      summary: Delete managed member
      tags:
        - managed data
    get:
      description: |
        **Sunset.** This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. There is no direct replacement; to send data held at your institution to MX, use [MDX Real Time](/products/connectivity/overview/held-data/mdx-real-time). See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints) for details.
      operationId: readManagedMember
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "410":
          description: |
            Gone. This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints).
      deprecated: true
      summary: Read managed member
      tags:
        - managed data
    put:
      description: |
        **Sunset.** This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. There is no direct replacement; to send data held at your institution to MX, use [MDX Real Time](/products/connectivity/overview/held-data/mdx-real-time). See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints) for details.
      operationId: updateManagedMember
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ManagedMemberUpdateRequestBody"
        description: Managed member object to be updated (While no single parameter is
          required, the request body can't be empty)
        required: true
      responses:
        "410":
          description: |
            Gone. This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints).
      deprecated: true
      summary: Update managed member
      tags:
        - managed data
  /users/{user_guid}/managed_members/{member_guid}/accounts:
    get:
      description: |
        **Sunset.** This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. There is no direct replacement; to send data held at your institution to MX, use [MDX Real Time](/products/connectivity/overview/held-data/mdx-real-time). See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints) for details.
      operationId: listManagedAccounts
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "410":
          description: |
            Gone. This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints).
      deprecated: true
      summary: List managed accounts
      tags:
        - managed data
    post:
      description: |
        **Sunset.** This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. There is no direct replacement; to send data held at your institution to MX, use [MDX Real Time](/products/connectivity/overview/held-data/mdx-real-time). See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints) for details.
      operationId: createManagedAccount
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ManagedAccountCreateRequestBody"
        description: Managed account to be created.
        required: true
      responses:
        "410":
          description: |
            Gone. This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints).
      deprecated: true
      summary: Create managed account
      tags:
        - managed data
  /users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}:
    delete:
      description: |
        **Sunset.** This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. There is no direct replacement; to send data held at your institution to MX, use [MDX Real Time](/products/connectivity/overview/held-data/mdx-real-time). See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints) for details.
      operationId: deleteManagedAccount
      parameters:
        - $ref: "#/components/parameters/accountGuid"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "410":
          description: |
            Gone. This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints).
      deprecated: true
      summary: Delete managed account
      tags:
        - managed data
    get:
      description: |
        **Sunset.** This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. There is no direct replacement; to send data held at your institution to MX, use [MDX Real Time](/products/connectivity/overview/held-data/mdx-real-time). See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints) for details.
      operationId: readManagedAccount
      parameters:
        - $ref: "#/components/parameters/accountGuid"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "410":
          description: |
            Gone. This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints).
      deprecated: true
      summary: Read managed account
      tags:
        - managed data
    put:
      description: |
        **Sunset.** This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. There is no direct replacement; to send data held at your institution to MX, use [MDX Real Time](/products/connectivity/overview/held-data/mdx-real-time). See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints) for details.
      operationId: updateManagedAccount
      parameters:
        - $ref: "#/components/parameters/accountGuid"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ManagedAccountUpdateRequestBody"
        description: Managed account object to be updated (While no single parameter is
          required, the request body can't be empty)
        required: true
      responses:
        "410":
          description: |
            Gone. This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints).
      deprecated: true
      summary: Update managed account
      tags:
        - managed data
  /users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}/transactions:
    get:
      description: |
        **Sunset.** This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. There is no direct replacement; to send data held at your institution to MX, use [MDX Real Time](/products/connectivity/overview/held-data/mdx-real-time). See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints) for details.
      operationId: listManagedTransactions
      parameters:
        - $ref: "#/components/parameters/accountGuid"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/fromDate"
        - $ref: "#/components/parameters/toDate"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "410":
          description: |
            Gone. This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints).
      deprecated: true
      summary: List managed transactions
      tags:
        - managed data
    post:
      description: |
        **Sunset.** This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. There is no direct replacement; to send data held at your institution to MX, use [MDX Real Time](/products/connectivity/overview/held-data/mdx-real-time). See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints) for details.
      operationId: createManagedTransaction
      parameters:
        - $ref: "#/components/parameters/accountGuid"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ManagedTransactionCreateRequestBody"
        description: Managed transaction to be created.
        required: true
      responses:
        "410":
          description: |
            Gone. This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints).
      deprecated: true
      summary: Create managed transaction
      tags:
        - managed data
  /users/{user_guid}/managed_members/{member_guid}/accounts/{account_guid}/transactions/{transaction_guid}:
    delete:
      description: |
        **Sunset.** This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. There is no direct replacement; to send data held at your institution to MX, use [MDX Real Time](/products/connectivity/overview/held-data/mdx-real-time). See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints) for details.
      operationId: deleteManagedTransaction
      parameters:
        - $ref: "#/components/parameters/accountGuid"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/transactionGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "410":
          description: |
            Gone. This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints).
      deprecated: true
      summary: Delete managed transaction
      tags:
        - managed data
    get:
      description: |
        **Sunset.** This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. There is no direct replacement; to send data held at your institution to MX, use [MDX Real Time](/products/connectivity/overview/held-data/mdx-real-time). See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints) for details.
      operationId: readManagedTransaction
      parameters:
        - $ref: "#/components/parameters/accountGuid"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/transactionGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "410":
          description: |
            Gone. This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints).
      deprecated: true
      summary: Read managed transaction
      tags:
        - managed data
    put:
      description: |
        **Sunset.** This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. There is no direct replacement; to send data held at your institution to MX, use [MDX Real Time](/products/connectivity/overview/held-data/mdx-real-time). See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints) for details.
      operationId: updateManagedTransaction
      parameters:
        - $ref: "#/components/parameters/accountGuid"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/transactionGuid"
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ManagedTransactionUpdateRequestBody"
        description: Managed transaction object to be updated (While no single parameter
          is required, the request body can't be empty)
        required: true
      responses:
        "410":
          description: |
            Gone. This endpoint was sunset on 2026-09-29 and no longer returns data — it responds with `410 Gone` on all API versions. See [Deprecations](/api-reference/platform-api/v20111101/overview/deprecations#managed-data-endpoints).
      deprecated: true
      summary: Update managed transaction
      tags:
        - managed data
  /users/{user_guid}/members:
    get:
      description: This endpoint returns an array which contains information on every
        member associated with a specific user.
      operationId: listMembers
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/useCase"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MembersResponseBody"
          description: OK
      summary: List members
      tags:
        - members
    post:
      description: This endpoint allows you to create a new member. Members are
        created with the required parameters credentials and institution_code,
        and the optional parameters id and metadata. When creating a member,
        youll need to include the correct type of credential required by the
        financial institution and provided by the user. You can find out which
        credential type is required with the
        `/institutions/{institution_code}/credentials` endpoint. If successful,
        the MX Platform API will respond with the newly-created member object.
        Once you successfully create a member, MX will immediately validate the
        provided credentials and attempt to aggregate data for accounts and
        transactions.
      operationId: createMember
      parameters:
        - $ref: "#/components/parameters/xCallback"
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/MemberCreateRequestBody"
        description: Member object to be created with optional parameters (id and
          metadata) and required parameters (credentials and institution_code)
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
          description: OK
        "202":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
          description: Accepted
      summary: Create member
      tags:
        - members
  /users/{user_guid}/members/{member_guid}:
    delete:
      description: Accessing this endpoint will permanently delete a member.
      operationId: deleteMember
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "204":
          description: No Content
      summary: Delete member
      tags:
        - members
    get:
      description: Use this endpoint to read the attributes of a specific member.
      operationId: readMember
      parameters:
        - $ref: "#/components/parameters/acceptLanguage"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
          description: OK
      summary: Read member
      tags:
        - members
    put:
      description: Use this endpoint to update a members attributes. Only the
        credentials, id, and metadata parameters can be updated. To get a list
        of the required credentials for the member, use the list member
        credentials endpoint.
      operationId: updateMember
      parameters:
        - $ref: "#/components/parameters/xCallback"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/MemberUpdateRequestBody"
        description: Member object to be updated (While no single parameter is required,
          the request body can't be empty)
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
          description: OK
      summary: Update member
      tags:
        - members
  /users/{user_guid}/members/{member_guid}/account_numbers:
    get:
      description: This endpoint returns a list of account numbers associated with the
        specified `member`.
      operationId: listAccountNumbersByMember
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/AccountNumbersResponseBody"
          description: OK
      summary: List account numbers by member
      tags:
        - accounts
  /users/{user_guid}/members/{member_guid}/account_owners:
    get:
      description: This endpoint returns an array with information about every account
        associated with a particular member.
      operationId: listAccountOwnersByMember
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/AccountOwnersResponseBody"
          description: OK
      summary: List account owners by member
      tags:
        - accounts
  /users/{user_guid}/members/{member_guid}/accounts:
    get:
      description: This endpoint returns a list of all the accounts associated with
        the specified `member`.
      operationId: listMemberAccounts
      parameters:
        - $ref: "#/components/parameters/memberIsManagedByUser"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/memberGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/AccountsResponseBody"
          description: OK
      summary: List accounts by member
      tags:
        - accounts
  /users/{user_guid}/members/{member_guid}/accounts/{account_guid}:
    get:
      description: This endpoint allows you to read the attributes of an `account` resource.
      operationId: readAccountByMember
      parameters:
        - $ref: "#/components/parameters/accountGuid"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/AccountResponseBody"
          description: OK
      summary: Read account by member
      tags:
        - accounts
    put:
      description: This endpoint allows you to update certain attributes of an
        `account` resource, including manual accounts. For manual accounts, you
        can update every field listed. For aggregated accounts, you can only
        update `is_business`, `is_hidden` and `metadata`.
      operationId: updateAccountByMember
      parameters:
        - $ref: "#/components/parameters/accountGuid"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AccountUpdateRequestBody"
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/AccountResponseBody"
          description: OK
      summary: Update account by member
      tags:
        - accounts
  /users/{user_guid}/members/{member_guid}/accounts/{account_guid}/transactions/{transaction_guid}:
    put:
      description: Use this endpoint to update a specific transaction according to its
        unique GUID.
      operationId: updateTransactionByAccount
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/accountGuid"
        - $ref: "#/components/parameters/transactionGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TransactionUpdateRequestBody"
        description: Transaction object to be updated
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TransactionResponseBody"
          description: OK
      summary: Update Transaction by Account
      tags:
        - transactions
  /users/{user_guid}/members/{member_guid}/aggregate:
    post:
      description: Calling this endpoint initiates an aggregation event for the
        member. This brings in the latest account and transaction data from the
        connected institution. If this data has recently been updated, MX may
        not initiate an aggregation event.
      operationId: aggregateMember
      parameters:
        - $ref: "#/components/parameters/xCallback"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/include_holdings"
        - $ref: "#/components/parameters/include_transactions"
      responses:
        "202":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
          description: Accepted
      deprecated: true
      summary: Aggregate member
      tags:
        - members
  /users/{user_guid}/members/{member_guid}/challenges:
    get:
      description: Use this endpoint for information on what multi-factor
        authentication challenges need to be answered in order to aggregate a
        member. If the aggregation is not challenged, i.e., the member does not
        have a connection status of `CHALLENGED`, then code `204 No Content`
        will be returned. If the aggregation has been challenged, i.e., the
        member does have a connection status of `CHALLENGED`, then code `200 OK`
        will be returned - along with the corresponding credentials.
      operationId: listMemberChallenges
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/ChallengesResponseBody"
          description: OK
      summary: List member challenges
      tags:
        - members
  /users/{user_guid}/members/{member_guid}/check_balance:
    post:
      description: This endpoint operates much like the aggregate member endpoint
        except that it gathers only account balance information; it does not
        gather any transaction data.
      operationId: checkBalances
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "202":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
          description: Accepted
      deprecated: true
      summary: Check balances
      tags:
        - members
  /users/{user_guid}/members/{member_guid}/balance:
    post:
      description: This endpoint operates much like the aggregate member endpoint
        except that it gathers only account balance information; it does not
        gather any transaction data.
      operationId: aggregateAccountBalances
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "202":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
          description: Accepted
      summary: Aggregate Account Balances
      tags:
        - members
  /users/{user_guid}/members/{member_guid}/credentials:
    get:
      description: This endpoint returns an array which contains information on every
        non-MFA credential associated with a specific member.
      operationId: listMemberCredentials
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/CredentialsResponseBody"
          description: OK
      summary: List member credentials
      tags:
        - members
  /users/{user_guid}/members/{member_guid}/extend_history:
    post:
      description: Some institutions allow developers to access an extended
        transaction history with up to 24 months of data associated with a
        particular member. The process for fetching and then reading this
        extended transaction history is much like standard aggregation, and it
        may trigger multi-factor authentication.
      operationId: extendHistory
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "202":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
          description: Accepted
      deprecated: true
      summary: Extend history
      tags:
        - transactions
  /users/{user_guid}/members/{member_guid}/transaction_history:
    post:
      description: Some institutions allow developers to access an extended
        transaction history with up to 24 months of data associated with a
        particular member. The process for fetching and then reading this
        extended transaction history is much like standard aggregation, and it
        may trigger multi-factor authentication.
      operationId: aggregateTransactionHistory
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "202":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
          description: Accepted
      summary: Aggregate Transaction History
      tags:
        - transactions
  /users/{user_guid}/members/{member_guid}/fetch_statements:
    post:
      description: Use this endpoint to fetch the statements associated with a
        particular member.
      operationId: fetchStatements
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "202":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
          description: Accepted
      deprecated: true
      summary: Fetch statements
      tags:
        - statements
  /users/{user_guid}/members/{member_guid}/investment_holdings:
    get:
      description: This endpoint lists all holdings associated with the specified member.
      operationId: listHoldingsByMember
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/InvestmentHoldingsResponseBody"
          description: OK
      summary: List holdings by member
      tags:
        - investment holdings
  /users/{user_guid}/investment_holdings:
    get:
      description: This endpoint lists all holdings associated with the user across
        all accounts.
      operationId: listHoldings
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/InvestmentHoldingsResponseBody"
          description: OK
      summary: List holdings by user
      tags:
        - investment holdings
  /users/{user_guid}/investment_holdings/{holding_guid}:
    get:
      description: Use this endpoint to read the attributes of a specific `holding`.
      operationId: readHolding
      parameters:
        - $ref: "#/components/parameters/holdingGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/InvestmentHoldingResponseBody"
          description: OK
      summary: Read holding
      tags:
        - investment holdings
  /users/{user_guid}/accounts/{account_guid}/investment_holdings:
    get:
      description: This endpoint lists all holdings associated with the particular
        account defined.
      operationId: listHoldingsByAccount
      parameters:
        - $ref: "#/components/parameters/accountGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/InvestmentHoldingsResponseBody"
          description: OK
      summary: List holdings by account
      tags:
        - investment holdings
  /users/{user_guid}/investment_holdings_deactivate:
    get:
      description: This endpoint deactivates the specific user from the
        `/investment_holdings` product. To reactivate a user, use any of the
        current `/investment_holding` endpoints.
      operationId: deactivateUser
      parameters:
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/InvestmentHoldingsDeactivation"
          description: OK
      summary: Deactivate user from Investment Holdings
      tags:
        - investment holdings
  /users/{user_guid}/members/{member_guid}/identify:
    post:
      description: The identify endpoint begins an identification process for an
        already-existing member.
      operationId: identifyMember
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "202":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
          description: Accepted
      deprecated: true
      summary: Identify member
      tags:
        - members
  /users/{user_guid}/members/{member_guid}/identity_verification:
    post:
      description: The identify endpoint begins an identification process for an
        already-existing member.
      operationId: identityVerification
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "202":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
          description: Accepted
      summary: Identity Verification
      tags:
        - members
  /users/{user_guid}/members/{member_guid}/oauth_window_uri:
    get:
      description: This endpoint will generate an `oauth_window_uri` for the specified
        `member`.
      operationId: requestOAuthWindowURI
      parameters:
        - $ref: "#/components/parameters/clientRedirectUrl"
        - $ref: "#/components/parameters/enableApp2app"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/referralSource"
        - $ref: "#/components/parameters/skipAggregation"
        - $ref: "#/components/parameters/uiMessageWebviewUrlScheme"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/OAuthWindowResponseBody"
          description: OK
      deprecated: true
      summary: Request oauth window uri
      tags:
        - widgets
  /users/{user_guid}/members/{member_guid}/oauth/authorization_url:
    post:
      description: Generate an `authorization_url` for OAuth authorization of the specified `member` during the connection flow.
      operationId: createOauthAuthorizationUrl
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/vnd.mx.api.v1+json:
            schema:
              $ref: '#/components/schemas/OauthAuthorizationUrlRequestBody'
        description: Both `oauth` and `data_request` bodies are optional, but if provided, neither can be empty.
        required: false
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/OAuthWindowResponseBody"
          description: OK
      summary: Create OAuth Authorization URL
      tags:
        - widgets
  /users/{user_guid}/members/{member_guid}/resume:
    put:
      description: This endpoint answers the challenges needed when a member has been
        challenged by multi-factor authentication.
      operationId: resumeAggregation
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/MemberResumeRequestBody"
        description: Member object with MFA challenge answers
        required: true
      responses:
        "202":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
          description: Accepted
      summary: Resume aggregation
      tags:
        - members
  /users/{user_guid}/members/{member_guid}/statements:
    post:
      description: Use this endpoint to fetch the statements associated with a
        particular member.
      operationId: aggregateStatements
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "202":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
          description: Accepted
      summary: Aggregate Statements
      tags:
        - statements
    get:
      description: Use this endpoint to get an array of available statements.
      operationId: listStatementsByMember
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/StatementsResponseBody"
          description: OK
      summary: List statements by member
      tags:
        - statements
  /users/{user_guid}/members/{member_guid}/statements/{statement_guid}:
    get:
      description: Use this endpoint to read a JSON representation of the statement.
      operationId: readStatementByMember
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/statementGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/StatementResponseBody"
          description: OK
      summary: Read statement by member
      tags:
        - statements
  /users/{user_guid}/members/{member_guid}/statements/{statement_guid}.pdf:
    get:
      description: Use this endpoint to download a specified statement PDF.
      operationId: downloadStatementPDF
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/statementGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+pdf:
              schema:
                format: binary
                type: string
          description: OK
      summary: Download statement pdf
      tags:
        - statements
  /users/{user_guid}/members/{member_guid}/status:
    get:
      description: This endpoint provides the status of the members most recent
        aggregation event. This is an important step in the aggregation process,
        and the results returned by this endpoint should determine what you do
        next in order to successfully aggregate a member. MX has introduced new,
        more detailed information on the current status of a members connection
        to a financial institution and the state of its aggregation - the
        connection_status field. These are intended to replace and expand upon
        the information provided in the status field, which will soon be
        deprecated; support for the status field remains for the time being.
      operationId: readMemberStatus
      parameters:
        - $ref: "#/components/parameters/acceptLanguage"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberStatusResponseBody"
          description: OK
      summary: Read member status
      tags:
        - members
  /users/{user_guid}/members/{member_guid}/transactions:
    post:
      description: Calling this endpoint initiates an aggregation event for the
        member. This brings in the latest account and transaction data from the
        connected institution. If this data has recently been updated, MX may
        not initiate an aggregation event.
      operationId: aggregateTransactions
      parameters:
        - $ref: "#/components/parameters/xCallback"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/include_holdings"
        - $ref: "#/components/parameters/include_transactions"
      responses:
        "202":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
          description: Accepted
      summary: Aggregate Transactions
      tags:
        - members
    get:
      description: Requests to this endpoint return a list of transactions associated
        with the specified `member`, across all accounts associated with that
        `member`. <br /><br />Enhanced transaction data may be requested using
        the `includes` parameter. To use this optional parameter, the value
        should include the optional metadata requested such as
        `repeating_transactions`, `merchants`,
        `classifications`, `geolocations`. For more information, see the
        [Optional Enhancement Query Parameter
        guide](/api-reference/platform-api/v20111101/reference/transactions#optional-enhancement-query-parameter).
      operationId: listTransactionsByMember
      parameters:
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/fromDate"
        - $ref: "#/components/parameters/toDate"
        - $ref: "#/components/parameters/fromCreatedAt"
        - $ref: "#/components/parameters/toCreatedAt"
        - $ref: "#/components/parameters/fromUpdatedAt"
        - $ref: "#/components/parameters/toUpdatedAt"
        - $ref: "#/components/parameters/categoryGuidQuery"
        - $ref: "#/components/parameters/categoryGuidQueryArray"
        - $ref: "#/components/parameters/topLevelCategoryGuid"
        - $ref: "#/components/parameters/topLevelCategoryGuidArray"
        - $ref: "#/components/parameters/includes"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TransactionsResponseBodyIncludes"
          description: OK
      summary: List transactions by member
      tags:
        - transactions
  /users/{user_guid}/members/{member_guid}/verify:
    post:
      description: The verify endpoint begins a verification process for a member.
      operationId: verifyMember
      parameters:
        - $ref: "#/components/parameters/xCallback"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
          description: OK
      deprecated: true
      summary: Verify member
      tags:
        - members
  /users/{user_guid}/members/{member_guid}/account_verification:
    post:
      description: The verify endpoint begins a verification process for a member.
      operationId: accountVerification
      parameters:
        - $ref: "#/components/parameters/xCallback"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
          description: OK
      summary: Account Verification
      tags:
        - members
  /users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items:
    post:
      description: This endpoint creates a new `spending_plan_iteration_item`.
      operationId: createSpendingPlanIterationItem
      parameters:
        - $ref: "#/components/parameters/spendingPlanGuid"
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/SpendingPlanIterationItemCreateRequestBody"
        description: Iteration item to be created with required parameter (planned_amount)
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/SpendingPlanIterationItemResponse"
          description: OK
      summary: Create spending plan iteration item
      tags:
        - spending plan
    get:
      description: Use this endpoint to list all the spending plan `iteration_items`
        associated with the `iteration`.
      operationId: listSpendingPlanIterationItems
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/spendingPlanGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/SpendingPlanIterationItemsResponseBody"
          description: OK
      summary: List spending plan iteration items
      tags:
        - spending plan
  /users/{user_guid}/spending_plans:
    post:
      description: This endpoint creates a new `spending_plan` for the user.
      operationId: createSpendingPlan
      parameters:
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/SpendingPlanResponse"
          description: OK
      summary: Create spending plan
      tags:
        - spending plan
    get:
      description: Use this endpoint to list all the spending plans associated with
        the user.
      operationId: listSpendingPlans
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/SpendingPlansResponseBody"
          description: OK
      summary: List spending plans
      tags:
        - spending plan
  /users/{user_guid}/spending_plans/{spending_plan_guid}/spending_plan_accounts/{spending_plan_account_guid}:
    delete:
      description: Use this endpoint to delete a `spending_plan_account`.
      operationId: deleteSpendingPlanAccount
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/spendingPlanGuid"
        - $ref: "#/components/parameters/spendingPlanAccountGuid"
      responses:
        "204":
          description: No Content
      summary: Delete spending plan account
      tags:
        - spending plan
    get:
      description: Use this endpoint to read the attributes of a specific spending
        plan account according to its unique GUID.
      operationId: readSpendingPlanAccount
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/spendingPlanGuid"
        - $ref: "#/components/parameters/spendingPlanAccountGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/SpendingPlanAccountResponse"
          description: OK
      summary: Read spending plan account
      tags:
        - spending plan
  /users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current/iteration_items/{iteration_item_guid}:
    delete:
      description: Use this endpoint to delete a spending plan `iteration_item`.
      operationId: deleteSpendingPlanIterationItem
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/spendingPlanGuid"
        - $ref: "#/components/parameters/iterationItemGuid"
      responses:
        "204":
          description: No Content
      summary: Delete spending plan iteration item
      tags:
        - spending plan
    get:
      description: Use this endpoint to read the attributes of a specific spending
        plan `iteration_item` according to its unique GUID.
      operationId: readSpendingPlanIterationItem
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/spendingPlanGuid"
        - $ref: "#/components/parameters/iterationItemGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/SpendingPlanIterationItemResponse"
          description: OK
      summary: Read a spending plan iteration item
      tags:
        - spending plan
    put:
      description: Use this endpoint to update an existing `spending_plan_iteration_item`.
      operationId: updateSpendingPlanIterationItem
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/spendingPlanGuid"
        - $ref: "#/components/parameters/iterationItemGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/SpendingPlanIterationItemCreateRequestBody"
        description: Iteration item to be updated with required parameter (planned_amount)
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/SpendingPlanIterationItemResponse"
          description: OK
      summary: Update a spending plan iteration item
      tags:
        - spending plan
  /users/{user_guid}/spending_plans/{spending_plan_guid}:
    delete:
      description: Use this endpoint to delete a user's `spending_plan`.
      operationId: deleteSpendingPlan
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/spendingPlanGuid"
      responses:
        "204":
          description: No Content
      summary: Delete spending plan
      tags:
        - spending plan
    get:
      description: Use this endpoint to read the attributes of a specific spending
        plan according to its unique GUID.
      operationId: readSpendingPlanUser
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/spendingPlanGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/SpendingPlanResponse"
          description: OK
      summary: Read a spending plan for a user
      tags:
        - spending plan
  /users/{user_guid}/spending_plans/{spending_plan_guid}/spending_plan_accounts:
    get:
      description: Use this endpoint to list all the spending plan accounts associated
        with the spending plan.
      operationId: listSpendingPlanAccounts
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/spendingPlanGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/SpendingPlanAccountsResponse"
          description: OK
      summary: List spending plan accounts
      tags:
        - spending plan
  /users/{user_guid}/spending_plans/{spending_plan_guid}/iterations:
    get:
      description: Use this endpoint to list all the spending plan `iterations`
        associated with the `spending_plan`.
      operationId: listSpendingPlanIterations
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/spendingPlanGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/SpendingPlanIterationsResponse"
          description: OK
      summary: List spending plan iterations
      tags:
        - spending plan
  /users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/current:
    get:
      description: Use this endpoint to read the attributes of the current spending
        plan `iteration`.
      operationId: readCurrentSpendingPlanIteration
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/spendingPlanGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/SpendingPlanIterationResponse"
          description: OK
      summary: Read current spending plan iteration
      tags:
        - spending plan
  /users/{user_guid}/spending_plans/{spending_plan_guid}/iterations/{iteration_number}:
    get:
      description: Use this endpoint to read the attributes of a specific spending
        plan `iteration` according to its `iteration_number`.
      operationId: readSpendingPlanIteration
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/spendingPlanGuid"
        - $ref: "#/components/parameters/iterationNumber"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/SpendingPlanIterationResponse"
          description: OK
      summary: Read a spending plan iteration
      tags:
        - spending plan
  /users/{user_guid}/taggings:
    get:
      description: Use this endpoint to retrieve a list of all the taggings associated
        with a specific user.
      operationId: listTaggings
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TaggingsResponseBody"
          description: OK
      summary: List taggings
      tags:
        - taggings
    post:
      description: Use this endpoint to create a new association between a tag and a
        particular transaction, according to their unique GUIDs.
      operationId: createTagging
      parameters:
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TaggingCreateRequestBody"
        description: Tagging object to be created with required parameters (tag_guid and
          transaction_guid)
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TaggingResponseBody"
          description: Accepted
      summary: Create tagging
      tags:
        - taggings
  /users/{user_guid}/taggings/{tagging_guid}:
    delete:
      description: Use this endpoint to delete a tagging according to its unique GUID.
        If successful, the API will respond with an empty body and a status of
        204 NO Content.
      operationId: deleteTagging
      parameters:
        - $ref: "#/components/parameters/taggingGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "204":
          description: No Content
      summary: Delete tagging
      tags:
        - taggings
    get:
      description: Use this endpoint to read the attributes of a `tagging` according
        to its unique GUID.
      operationId: readTagging
      parameters:
        - $ref: "#/components/parameters/taggingGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TaggingResponseBody"
          description: OK
      summary: Read tagging
      tags:
        - taggings
    put:
      description: Use this endpoint to update a tagging.
      operationId: updateTagging
      parameters:
        - $ref: "#/components/parameters/taggingGuid"
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TaggingUpdateRequestBody"
        description: Tagging object to be updated with required parameter (tag_guid)
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TaggingResponseBody"
          description: OK
      summary: Update tagging
      tags:
        - taggings
  /users/{user_guid}/tags:
    get:
      description: Use this endpoint to list all tags associated with the specified
        `user`. Each user includes the `Business` tag by default.
      operationId: listTags
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TagsResponseBody"
          description: OK
      summary: List tags
      tags:
        - tags
    post:
      description: Use this endpoint to create a new custom tag.
      operationId: createTag
      parameters:
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TagCreateRequestBody"
        description: Tag object to be created with required parameters (tag_guid)
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TagResponseBody"
          description: OK
      summary: Create tag
      tags:
        - tags
  /users/{user_guid}/tags/{tag_guid}:
    delete:
      description: Use this endpoint to permanently delete a specific tag based on its
        unique GUID. If successful, the API will respond with status of `204 No
        Content`.
      operationId: deleteTag
      parameters:
        - $ref: "#/components/parameters/tagGuid"
        - $ref: "#/components/parameters/acceptHeader"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "204":
          description: No Content
      summary: Delete tag
      tags:
        - tags
    get:
      description: Use this endpoint to read the attributes of a particular tag
        according to its unique GUID.
      operationId: readTag
      parameters:
        - $ref: "#/components/parameters/tagGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TagResponseBody"
          description: OK
      summary: Read tag
      tags:
        - tags
    put:
      description: Use this endpoint to update the name of a specific tag according to
        its unique GUID.
      operationId: updateTag
      parameters:
        - $ref: "#/components/parameters/tagGuid"
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TagUpdateRequestBody"
        description: Tag object to be updated with required parameter (tag_guid)
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TagResponseBody"
          description: OK
      summary: Update tag
      tags:
        - tags
  /users/{user_guid}/tags/{tag_guid}/transactions:
    get:
      description: Use this endpoint to get a list of all transactions associated with
        a particular tag according to the tag's unique GUID. This lists all
        transactions that have been assigned to a particular tag using the
        create tagging endpoint. <br /><br />Enhanced transaction data may be
        requested using the `includes` parameter. To use this optional
        parameter, the value should include the optional metadata requested
        such as `repeating_transactions`, `merchants`, `classifications`,
        `geolocations`. For more information, see the [Optional Enhancement
        Query Parameter
        guide](/api-reference/platform-api/v20111101/reference/transactions#optional-enhancement-query-parameter).
      operationId: listTransactionsByTag
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/tagGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/fromDate"
        - $ref: "#/components/parameters/toDate"
        - $ref: "#/components/parameters/fromCreatedAt"
        - $ref: "#/components/parameters/toCreatedAt"
        - $ref: "#/components/parameters/fromUpdatedAt"
        - $ref: "#/components/parameters/toUpdatedAt"
        - $ref: "#/components/parameters/categoryGuidQuery"
        - $ref: "#/components/parameters/categoryGuidQueryArray"
        - $ref: "#/components/parameters/topLevelCategoryGuid"
        - $ref: "#/components/parameters/topLevelCategoryGuidArray"
        - $ref: "#/components/parameters/useCase"
        - $ref: "#/components/parameters/includes"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TransactionsResponseBodyIncludes"
          description: OK
      summary: List transactions by tag
      tags:
        - transactions
  /users/{user_guid}/transaction_rules:
    get:
      description: Use this endpoint to read the attributes of all existing
        transaction rules belonging to the user.
      operationId: listTransactionRules
      parameters:
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TransactionRulesResponseBody"
          description: OK
      summary: List transaction rules
      tags:
        - transaction rules
    post:
      description: Use this endpoint to create a new transaction rule. The
        newly-created `transaction_rule` object will be returned if successful.
      operationId: createTransactionRule
      parameters:
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TransactionRuleCreateRequestBody"
        description: TransactionRule object to be created with optional parameters
          (description) and required parameters (category_guid and
          match_description)
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TransactionRuleResponseBody"
          description: OK
      summary: Create transaction rule
      tags:
        - transaction rules
  /users/{user_guid}/transaction_rules/{transaction_rule_guid}:
    delete:
      description: Use this endpoint to permanently delete a transaction rule based on
        its unique GUID.
      operationId: deleteTransactionRule
      parameters:
        - $ref: "#/components/parameters/transactionRuleGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "204":
          description: No Content
      summary: Delete transaction rule
      tags:
        - transaction rules
    get:
      description: Use this endpoint to read the attributes of an existing transaction
        rule based on the rule’s unique GUID.
      operationId: readTransactionRule
      parameters:
        - $ref: "#/components/parameters/transactionRuleGuid"
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TransactionRuleResponseBody"
          description: OK
      summary: Read transaction rule
      tags:
        - transaction rules
    put:
      description: Use this endpoint to update the attributes of a specific
        transaction rule based on its unique GUID. The API will respond with the
        updated transaction_rule object. Any attributes not provided will be
        left unchanged.
      operationId: updateTransactionRule
      parameters:
        - $ref: "#/components/parameters/transactionRuleGuid"
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TransactionRuleUpdateRequestBody"
        description: TransactionRule object to be updated
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TransactionRuleResponseBody"
          description: OK
      summary: Update transaction rule
      tags:
        - transaction rules
  /users/{user_guid}/transactions:
    get:
      description: Requests to this endpoint return a list of transactions associated
        with the specified `user`, across all members and accounts associated
        with that `user`. <br /><br />Enhanced transaction data may be
        requested using the `includes` parameter. To use this optional
        parameter, the value should include the optional metadata requested
        such as `repeating_transactions`, `merchants`,
        `classifications`, `geolocations`. For more information, see the
        [Optional Enhancement Query Parameter
        guide](/api-reference/platform-api/v20111101/reference/transactions#optional-enhancement-query-parameter).
      operationId: listTransactions
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
        - $ref: "#/components/parameters/fromDate"
        - $ref: "#/components/parameters/toDate"
        - $ref: "#/components/parameters/fromCreatedAt"
        - $ref: "#/components/parameters/toCreatedAt"
        - $ref: "#/components/parameters/fromUpdatedAt"
        - $ref: "#/components/parameters/toUpdatedAt"
        - $ref: "#/components/parameters/categoryGuidQuery"
        - $ref: "#/components/parameters/categoryGuidQueryArray"
        - $ref: "#/components/parameters/topLevelCategoryGuid"
        - $ref: "#/components/parameters/topLevelCategoryGuidArray"
        - $ref: "#/components/parameters/useCase"
        - $ref: "#/components/parameters/includes"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TransactionsResponseBodyIncludes"
          description: OK
      summary: List transactions
      tags:
        - transactions
  /users/{user_guid}/transactions/{transaction_guid}:
    parameters:
      - $ref: "#/components/parameters/userGuid"
      - $ref: "#/components/parameters/transactionGuid"
    get:
      description: Requests to this endpoint will return the attributes of the
        specified `transaction`. To read a manual transaction, use the manual
        transaction guid in the path as the `transactionGuid`. <br /><br />
        Enhanced transaction data may be requested using the `includes`
        parameter. To use this optional parameter, the value should include the
        optional metadata requested such as `repeating_transactions`,
        `merchants`, `classifications`, `geolocations`. For more information,
        see the [Optional Enhancement Query Parameter
        guide](/api-reference/platform-api/v20111101/reference/transactions#optional-enhancement-query-parameter).
      operationId: readTransaction
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TransactionsResponseBodyIncludes"
          description: OK
      summary: Read transaction
      tags:
        - transactions
      parameters:
        - $ref: "#/components/parameters/includes"
    put:
      description: Use this endpoint to update a specific transaction according to its
        unique GUID.
      operationId: updateTransaction
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TransactionUpdateRequestBody"
        description: Transaction object with the fields to be updated.
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TransactionResponseBody"
          description: OK
      summary: Update transaction
      tags:
        - transactions
    delete:
      tags:
        - transactions
      operationId: deleteManualTransactions
      summary: Delete manual transactions
      description: Delete a manual transaction. In the path, use the manual
        transaction guid as the `transaction_guid`, such as
        `MAN-810828b0-5210-4878-9bd3-f4ce514f90c4`.
      responses:
        "204":
          description: No content
  /users/{user_guid}/widget_urls:
    post:
      description: |
        Get an embeddable URL for integrating a widget into your website or app. The URL expires after ten minutes or upon first use, whichever occurs first. You'll need to obtain a new URL each time the page loads or reloads.

        Include the `widget_type` in the request body to specify which widget you want to embed—the Connect Widget, a Personal Financial Management widget, or an Insights widget. Some request parameters are specific to certain widget types.

        To embed the Connect Widget, set `widget_type` to `connect_widget`.

        For a full list of available widget types, see [Widget Types](/api-reference/platform-api/v20111101/reference/widgets#widget-types).
      operationId: requestWidgetURL
      parameters:
        - $ref: "#/components/parameters/acceptLanguage"
        - $ref: "#/components/parameters/xCallback"
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/WidgetRequestBody"
        description: The widget url configuration options.
        required: true
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/WidgetResponseBody"
          description: OK
      summary: Request widget URL
      tags:
        - widgets
  /users/{user_guid}/budgets/generate:
    post:
      tags:
        - budgets
      operationId: autoGenerateBudgets
      summary: Auto-generate budgets
      parameters:
        - $ref: "#/components/parameters/userGuid"
      description: This endpoint will automatically create budgets for several
        categories based on existing transactions; these budgets are returned as
        an array. Specifically, budgets will only be generated if the `user` has
        at least one `transaction` in a given category during each of the two
        previous calendar months. For example, if the request is made on March
        6, and there is at least one "Bills & Utilities" `transaction` in both
        January and February, a budget will be generated for "Bills &
        Utilities." If there are two "Bills & Utilities" transactions in
        February but none in January, no budget will be generated for that
        category. If budgets already exist for particular categories, new
        budgets will be generated and returned based on the available
        transactions. If one or more budgets remain unchanged, they will
        nevertheless be returned in the response. If no transaction data for the
        `user` meet the above criteria, a `422 Unprocessable Entity` error will
        be returned with status code 4221 along with the message, `There aren't
        enough transactions to automatically create any budgets`.
      responses:
        "200":
          description: OK
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/BudgetResponseBody"
  /users/{user_guid}/budgets:
    parameters:
      - $ref: "#/components/parameters/userGuid"
    post:
      tags:
        - budgets
      operationId: createBudget
      summary: Create a budget
      description: Create a budget. This endpoint accepts the optional
        `MX-Skip-Webhook` header and `skip_webhook` parameter. You cannot create
        a duplicate budget. For example, if you attempt to create a budget for
        "Gas", but that budget already exist, the request will fail. You can
        retrieve a list of all existing categories by using the List Categories
        endpoint.
      requestBody:
        required: true
        content:
          application/vnd.mx.api.v1+json:
            schema:
              $ref: "#/components/schemas/BudgetCreateRequestBody"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BudgetResponseBody"
    get:
      tags:
        - budgets
      operationId: listAllBudgets
      summary: List all budgets
      description: List all budgets
      responses:
        "200":
          description: OK
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/BudgetResponseBody"
  /users/{user_guid}/budgets/{budget_guid}:
    parameters:
      - $ref: "#/components/parameters/userGuid"
      - $ref: "#/components/parameters/budgetGuid"
    get:
      tags:
        - budgets
      operationId: readSpecificBudget
      summary: Read a specific budget
      description: Read a specific budget.
      responses:
        "200":
          description: OK
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/BudgetResponseBody"
    put:
      tags:
        - budgets
      operationId: updateSpecificBudget
      summary: Update a specific budget
      description: Update a specific budget.
      requestBody:
        required: false
        content:
          application/vnd.mx.api.v1+json:
            schema:
              $ref: "#/components/schemas/BudgetUpdateRequestBody"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BudgetResponseBody"
    delete:
      tags:
        - budgets
      operationId: deleteBudget
      summary: Delete a budget
      description: Delete a budget.
      responses:
        "204":
          description: No content
  /users/{user_guid}/goals:
    post:
      tags:
        - goals
      operationId: createGoal
      summary: Create a goal
      description: Create a goal. This endpoint accepts the optional `MX-Skip-Webhook`
        header and `skip_webhook` parameter.
      parameters:
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        required: true
        content:
          application/vnd.mx.api.v1+json:
            schema:
              $ref: "#/components/schemas/GoalRequestBody"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GoalResponseBody"
    get:
      tags:
        - goals
      operationId: listGoals
      summary: List goals
      description: List all goals a user can set.
      parameters:
        - $ref: "#/components/parameters/acceptHeader"
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
      responses:
        "200":
          description: OK
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/GoalsResponseBody"
  /users/{user_guid}/goals/{goal_guid}:
    parameters:
      - $ref: "#/components/parameters/goalGuid"
      - $ref: "#/components/parameters/userGuid"
    delete:
      tags:
        - goals
      operationId: deleteGoal
      summary: Delete a goal
      description: Delete a goal.
      parameters:
        - $ref: "#/components/parameters/acceptHeader"
      responses:
        "204":
          description: No content
    get:
      tags:
        - goals
      operationId: readGoal
      summary: Read a goal
      description: Read a specific goal.
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GoalResponseBody"
    put:
      tags:
        - goals
      operationId: updateGoal
      summary: Update a goal
      description: This endpoint updates a specific goal.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateGoalRequestBody"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GoalResponseBody"
  /users/{user_guid}/goals/reposition:
    put:
      tags:
        - goals
      operationId: repositionGoals
      summary: Reposition goals
      description: This endpoint repositions goal priority levels. If one goal is set
        to a lower priority, then any other goals need to be adjusted
        accordingly.
      parameters:
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        required: true
        content:
          application/vnd.mx.api.v1+json:
            schema:
              $ref: "#/components/schemas/RepositionRequestBody"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RepositionResponseBody"
  /users/{user_guid}/notifications:
    parameters:
      - $ref: "#/components/parameters/userGuid"
    post:
      tags:
        - notifications
      operationId: createNotification
      summary: Create a notification
      description: All notifications created through the API will be of notification
        type `API_NOTIFICATION`, channel `PUSH`, and will not be associated to
        an entity. No other channels are supported. This will only have an
        effect for clients using an MX mobile application.
      parameters:
        - $ref: "#/components/parameters/content"
        - $ref: "#/components/parameters/subject"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotificationResponseBody"
    get:
      tags:
        - notifications
      operationId: listNotifications
      summary: List notifications
      description: All notifications for the user can be listed, including
        notifications created by MX for other channels besides `PUSH`.
      parameters:
        - $ref: "#/components/parameters/fromDate"
        - $ref: "#/components/parameters/toDate"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPageMax1000"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotificationsResponseBody"
  /users/{user_guid}/notifications/{notification_guid}:
    get:
      tags:
        - notifications
      operationId: readNotifications
      summary: Read notifications
      description: |
        Can pull up any notification associated with the user, including notifications created by MX for other channels besides `PUSH`.
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/notificationGuid"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotificationResponseBody"
  /users/{user_guid}/repeating_transactions:
    get:
      description: Retrieve a list of all recurring transactions for a user. <br /><br
        />For more information, see the [Repeating Transactions
        guide](/api-reference/platform-api/v20111101/reference/transactions#repeating-transactions).
      operationId: repeatingTransactions
      parameters:
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/RepeatingTransactionsResponseBody"
          description: OK
      summary: List Repeating Transactions
      tags:
        - transactions
  /users/{user_guid}/repeating_transactions/{repeating_transaction_guid}:
    get:
      description: Get a Specific Repeating Transaction. <br /><br />For more information, see
        the [Repeating Transactions
        guide](/api-reference/platform-api/v20111101/reference/transactions#repeating-transactions).
      operationId: specificRepeatingTransaction
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/repeatingTransactionGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/RepeatingTransactionsResponseBody"
          description: OK
      summary: Get a Repeating Transaction
      tags:
        - transactions
  /users/{user_guid}/transactions/{transaction_guid}/insights:
    get:
      description: Use this endpoint to list all insights associated with a
        transaction GUID.
      operationId: listInsightsByTransaction
      parameters:
        - $ref: "#/components/parameters/transactionGuid"
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/recordsPerPage"
        - $ref: "#/components/parameters/insightIncludes"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/InsightsResponseBody"
          description: OK
      summary: List insights by transaction
      tags:
        - insights
  /users/{user_guid}/transactions/{transaction_guid}/split:
    parameters:
      - $ref: "#/components/parameters/transactionGuid"
      - $ref: "#/components/parameters/userGuid"
    delete:
      tags:
        - transactions
      operationId: deleteSplitTransactions
      summary: Delete split transactions
      description: This endpoint deletes all split transactions linked to a parent
        transaction, but it leaves the parent transaction active. This request
        will also update the parent transaction's has_been_split field to false.
        This endpoint accepts the optional MX-Skip-Webhook header.
      responses:
        "204":
          description: No content
    post:
      tags:
        - transactions
      operationId: createSplitTransactions
      summary: Create split transactions
      description: |
        This endpoint creates two or more child transactions that are branched from a previous transaction. This endpoint allows you to link multiple categories, descriptions, and amounts to a parent transaction. When a split transaction is created, the parent transaction's `has_been_split` field will automatically be updated to true and the child transactions' `parent_guid` will have the transaction guid of the parent. The total amount of the child transactions must equal the amount of the parent transaction. Once a transaction has been split it can't be split again. In order to re-split a transaction, it must first be un-split. This can be done by calling the Delete Split Transactions endpoint. Calling this endpoint will delete the existing child transactions and update the parent transaction's `has_been_split` field to false. You can then re-split the parent transaction by calling Create Split Transaction again.
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/SplitTransactionRequestBody"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/SplitTransactionsResponseBody"
          description: OK
  /users/{user_guid}/monthly_cash_flow_profile:
    parameters:
      - $ref: "#/components/parameters/userGuid"
    get:
      tags:
        - monthly cash flow profile
      operationId: readMonthlyCashFlowProfile
      summary: Read monthly cash flow profile
      description: Read monthly cash flow profile.
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MonthlyCashFlowResponseBody"
    put:
      tags:
        - monthly cash flow profile
      operationId: updateMonthlyCashFlowProfile
      summary: Update monthly cash flow profile
      description: Use this endpoint to update the attributes of a
        `monthly_cash_flow_profile`.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/MonthlyCashFlowProfileRequestBody"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MonthlyCashFlowResponseBody"
  /tokens:
    get:
      tags:
        - processor token
      operationId: listTokens
      summary: View a List of Tokens
      description: View a list of tokens that exist for a user, member, or account.
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TokenRequestBody"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/TokenResponseBody"
          description: OK
  /account/account_numbers:
    get:
      security:
        - bearerAuth: []
      tags:
        - processor token
      operationId: requestAccountNumber
      summary: Request an account number (Processors Only)
      description: Get account information such as routing number and account number,
        scoped to your access token.
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProcessorAccountNumberBody"
  /account/check_balance:
    post:
      security:
        - bearerAuth: []
      tags:
        - processor token
      operationId: checkRealTimeAccountBalance
      summary: Check Real Time Account Balance (Processors Only)
      description: Check the real-time account balance using your access token.
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
  /payment_account:
    get:
      security:
        - bearerAuth: []
      tags:
        - processor token
      operationId: readAccountBalance
      summary: Read the account balance (Processors Only)
      description: Read the account balance (Processors Only)
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PaymentAccountBody"
  /account/transactions:
    get:
      security:
        - bearerAuth: []
      tags:
        - processor token
      operationId: getAccountOwnerInfo
      summary: Get account owner information (Processors Only)
      description: Get account owner information (Processors Only)
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProcessorOwnerBody"
  /users/{user_guid}/micro_deposits:
    get:
      tags:
        - microdeposits
      operationId: listUserMicrodeposits
      summary: List all microdeposits for a user
      description: Use this endpoint to read the attributes of a specific microdeposit
        according to its unique GUID.
      parameters:
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MicrodepositsResponseBody"
    post:
      tags:
        - microdeposits
      operationId: createMicrodeposit
      summary: Create or pre-initiate a microdeposit
      description: |
        Use this endpoint to create or pre-initiate a microdeposit. The response will include the new microdeposit record with a status of `INITIATED` or `PREINITIATED` respectively.

        To pre-initiate a microdeposit, you only need to set `email` (string), `first_name` (string), and `last_name` (string) in the request body. 

        Pre-initiating a microdeposit allows you to pass the end user's first name, last name, and email if this data has already been collected. If the end user selects an institution which requires the microdeposit flow, the pre-initiated `micro_deposit` will be used and the Connect Widget step that normally requests this info from the end user will be skipped. However, if the end user selects an institution which supports IAV, the pre-initiated `micro_deposit` will be deleted and IAV will be used instead. When requesting a Connect Widget URL after pre-initiating, make sure to set the `current_microdeposit_guid` to the resulting microdeposit's `guid` and set the `mode` to `verification`. If you use this enhanced flow, a `micro_deposit` should be pre-initiated for all connect sessions in verification mode. After pre-initiating a microdeposit, pass the GUID to the config as `current_microdeposit_guid` and set the `mode` to `verification` when requesting a Connect URL. Pre-initiating a microdeposit is optional. If you choose to implement this flow, it should be used for all Connect Widget sessions in verification mode.
      parameters:
        - $ref: "#/components/parameters/userGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/MicrodepositRequestBody"
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MicrodepositResponseBody"
  /users/{user_guid}/micro_deposits/{micro_deposit_guid}:
    parameters:
      - $ref: "#/components/parameters/microDepositGuid"
      - $ref: "#/components/parameters/userGuid"
    delete:
      tags:
        - microdeposits
      operationId: deleteMicrodeposit
      summary: Delete a microdeposit
      description: Use this endpoint to delete the specified microdeposit.
      responses:
        "204":
          description: No Content
    get:
      tags:
        - microdeposits
      operationId: readUserMicrodeposit
      summary: Read a microdeposit for a user
      description: Use this endpoint to read the attributes of a specific microdeposit
        according to its unique GUID. <br></br> Webhooks for microdeposit
        status changes are triggered when a status changes. The actual status
        of the microdeposit guid updates every minute. You may force a status
        update by calling the read microdeposit endpoint.
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MicrodepositResponseBody"
  /micro_deposits/{micro_deposit_guid}/verify:
    put:
      tags:
        - microdeposits
      operationId: verifyMicrodeposit
      summary: Verify a Microdeposit
      description: Use this endpoint to verify the amounts deposited into the account
        during a microdeposit verification. The verification has not
        successfully completed until the `status` is `VERIFIED`. Poll the
        `/users/{user_guid}/micro_deposits/{micro_deposit_guid}` (read
        microdeposit) endpoint until you see this status or an error state.
      parameters:
        - $ref: "#/components/parameters/microDepositGuid"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/MicrodepositVerifyRequestBody"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MicrodepositResponseBody"
  /users/{user_guid}/account_verifications:
    get:
      tags:
        - microdeposits
      operationId: listUserVerifications
      summary: List all verifications for a user
      description: |
        This endpoint returns a list of the account verifications associated with the user, as well as the status of those verifications.
      parameters:
        - $ref: "#/components/parameters/userGuid"
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MicrodepositResponseBody"
  /users/{user_guid}/members/{member_guid}/fetch_rewards:
    post:
      description: Calling this endpoint initiates an aggregation-type event which
        will gather the member's rewards information, as well as account and
        transaction information. Rewards data is also gathered with daily
        background aggregations. Member and Rewards guids are defined by MX.
      operationId: fetchRewards
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/memberGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
          description: OK
      deprecated: true
      summary: Fetch Rewards
      tags:
        - rewards
  /users/{user_guid}/members/{member_guid}/rewards:
    post:
      description: Calling this endpoint initiates an aggregation-type event which
        will gather the member's rewards information, as well as account and
        transaction information. Rewards data is also gathered with daily
        background aggregations. Member and Rewards guids are defined by MX.
      operationId: aggregateRewards
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/memberGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/MemberResponseBody"
          description: OK
      summary: Aggregate Rewards
      tags:
        - rewards
    get:
      description: Use this endpoint to list all the `rewards` associated with a
        specified `member`. Member guids are defined by MX.
      operationId: listRewards
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/memberGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/RewardsResponseBody"
          description: OK
      summary: List Rewards
      tags:
        - rewards
  /users/{user_guid}/members/{member_guid}/rewards/{reward_guid}:
    get:
      description: Use this endpoint to read a specific `reward` based on its unique
        GUID. Member and Rewards guids are defined by MX.
      operationId: readRewards
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/memberGuid"
        - $ref: "#/components/parameters/rewardGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/RewardResponseBody"
          description: OK
      summary: Read Reward
      tags:
        - rewards
  /credit_card_products/{credit_card_product_guid}:
    get:
      description: This endpoint returns the specified `credit_card_product` according
        to the unique GUID.
      operationId: creditCard
      parameters:
        - $ref: "#/components/parameters/creditCardProductGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v1+json:
              schema:
                $ref: "#/components/schemas/CreditCardProductResponse"
          description: OK
      summary: Read a Credit Card Product
      tags:
        - rewards
  /vc/users/{user_guid}/members/{member_guid}/customers:
    get:
      description: Get an MX-issued verifiable credential of a user's identity data.
      operationId: getIdentityData
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/memberGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v2beta+json:
              schema:
                $ref: "#/components/schemas/VCResponse"
          description: OK
      summary: Get Identity Data
      tags:
        - verifiable credentials
  /vc/users/{user_guid}/members/{member_guid}/accounts:
    get:
      description: Get an MX-issued verifiable credential of a user's accounts data.
      operationId: getAccountsData
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/memberGuid"
      responses:
        "200":
          content:
            application/vnd.mx.api.v2beta+json:
              schema:
                $ref: "#/components/schemas/VCResponse"
          description: OK
      summary: Get Accounts Data
      tags:
        - verifiable credentials
  /vc/users/{user_guid}/accounts/{account_guid}/transactions:
    get:
      description: Get an MX-issued verifiable credential of a user's transaction data.
      operationId: getTransactionsData
      parameters:
        - $ref: "#/components/parameters/userGuid"
        - $ref: "#/components/parameters/accountGuid"
        - $ref: "#/components/parameters/startTime"
        - $ref: "#/components/parameters/endTime"
      responses:
        "200":
          content:
            application/vnd.mx.api.v2beta+json:
              schema:
                $ref: "#/components/schemas/VCResponse"
          description: OK
      summary: Get Transactions Data
      tags:
        - verifiable credentials
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
    basicAuth:
      scheme: basic
      type: http
  schemas:
    OauthAuthorizationUrlRequestBody:
      type: object
      properties:
        data_request:
          $ref: '#/components/schemas/DataRequest'
        oauth:
          $ref: '#/components/schemas/OauthAuthorizationUrlRequest'
    OauthAuthorizationUrlRequest:
      type: object
      properties:
        client_redirect_url:
          description: "This determines the redirect destination at the end of OAuth when used with `is_mobile_webview: true` or `oauth_referral_source: 'APP'`."
          example: https://{yoursite.com}
          type: string
        enable_app2app:
          description: "This indicates whether OAuth app2app behavior is enabled for institutions that support it. Defaults to `true`. When set to `false`, any generated OAuth URL will not direct the end user to the institution's mobile application. This setting is not persistent and currently only affects Chase institutions."
          example: false
          type: boolean
        referral_source:
          example: APP
          type: string
        skip_aggregation:
          description: "When `true`, the member will not be automatically aggregated after the OAuth connection completes. Deprecated and slated for removal in a future version."
          type: boolean
          deprecated: true
        ui_message_webview_url_scheme:
          description: "A client-defined scheme used in OAuth redirects in WebViews. Defaults to `mx`."
          type: string
    DataRequest:
      type: object
      description: "Contains a products array that specifies the products you want to aggregate."
      required:
        - products
      properties:
        products:
          description: "Contains the products you want to aggregate upon a successful connection. For accepted products, see [Unified Product Ordering](/products/connectivity/overview/intro-to-unified-product-ordering)."
          items:
            $ref: '#/components/schemas/DataRequestProducts'
          type: array
    DataRequestProducts:
      type: string
      enum:
        - account_verification
        - identity_verification
        - transactions
        - transaction_history
        - statements
        - investments
    AuthorizationCodeRequest:
      properties:
        scope:
          example: user-guid:USR-101ad774-288b-44ed-ad16-da87d522ea20
            member-guid:MBR-54feffb9-8474-47bd-8442-de003910113a
            account-guid:ACT-32a64160-582a-4f00-ab34-5f49cc35ed35 read-protected
          nullable: true
          type: string
      type: object
    AuthorizationCodeRequestBody:
      properties:
        authorization_code:
          $ref: "#/components/schemas/AuthorizationCodeRequest"
      type: object
    AuthorizationCodeResponse:
      properties:
        code:
          example: 9nN-9D8_4Z3WYazx7-zXfmqsD3jwgL_2W927Sb3otI
          nullable: true
          type: string
      type: object
    AuthorizationCodeResponseBody:
      properties:
        authorization_code:
          $ref: "#/components/schemas/AuthorizationCodeResponse"
      type: object
    ACHResponse:
      properties:
        account_guid:
          example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
          nullable: false
          type: string
        account_number_last_four:
          example: "1234"
          nullable: true
          type: string
        account_type:
          type: string
          nullable: true
          example: CREDIT
        ach_initiated_at:
          example: "2025-02-13T18:08:00+00:00"
          nullable: true
          type: string
        client_guid:
          example: CLT-abcd-1234
          nullable: false
          type: string
        corrected_account_number:
          example: null
          nullable: true
          type: string
        corrected_routing_number:
          example: null
          nullable: true
          type: string
        created_at:
          example: null
          nullable: false
          type: string
        guid:
          example: ACH-d74cb14f-fd0a-449f-991b-e0362a63d9c6
          nullable: false
          type: string
        id:
          example: client_ach_return_id_1234
          nullable: false
          type: string
        institution_guid:
          example: INS-34r4f44b-cfge-0f6e-3484-21f47e45tfv7
          nullable: false
          type: string
        investigation_notes:
          example: null
          nullable: true
          type: string
        member_guid:
          example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
          nullable: false
          type: string
        processing_errors:
          example: null
          nullable: true
          type: string
        resolution_code:
          example: null
          nullable: true
          type: string
        resolution_detail:
          example: null
          nullable: true
          type: string
        resolved_status_at:
          example: null
          nullable: true
          type: string
        return_code:
          example: R01
          nullable: false
          type: string
        return_notes:
          example: null
          nullable: true
          type: string
        return_account_number:
          example: null
          nullable: true
          type: string
        return_routing_number:
          example: null
          nullable: true
          type: string
        return_status:
          example: SUBMITTED
          nullable: true
          type: string
        returned_at:
          example: "2025-02-13T18:09:00+00:00"
          nullable: true
          type: string
        sec_code:
          example: PPD
          nullable: true
          type: string
        started_processing_at:
          example: null
          nullable: true
          type: string
        submitted_at:
          example: null
          nullable: true
          type: string
        transaction_amount:
          example: 225.84
          format: double
          nullable: true
          type: number
        updated_at:
          example: null
          nullable: false
          type: string
        user_guid:
          example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
          nullable: false
          type: string
      type: object
    ACHReturnResponseBody:
      properties:
        ach_return:
          $ref: "#/components/schemas/ACHResponse"
      type: object
    PaginationResponse:
      properties:
        current_page:
          example: 1
          type: integer
        per_page:
          example: 25
          type: integer
        total_entries:
          example: 1
          type: integer
        total_pages:
          example: 1
          type: integer
      type: object
    ACHReturnsResponseBody:
      properties:
        ach_returns:
          items:
            $ref: "#/components/schemas/ACHResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    ACHReturnCreateRequest:
      properties:
        account_guid:
          description: The unique identifier for the account associated with the
            transaction. Defined by MX.
          example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
          nullable: false
          type: string
        account_number_last_four:
          description: The last 4 digits of the account number used for the transaction by
            the Originating Depository Financial Institution (ODFI).
          example: "1234"
          type: string
        ach_initiated_at:
          description: The date and time when the transaction was initiated by the
            Originating Depository Financial Institution (ODFI) in ISO 8601
            format without timestamp.
          example: "2025-02-13T18:08:00+00:00"
          type: string
        corrected_account_number:
          description: The account number correction reported by the RDFI. Populate only
            if the `resolution_code` is `NOTICE_OF_CHANGE`.
          example: null
          type: string
        corrected_routing_number:
          description: The routing number correction reported by the RDFI. Populate only
            if the `resolution_code` is `NOTICE_OF_CHANGE`. Must be a valid
            9-digit routing number format.
          example: null
          type: string
        id:
          description: Client-defined identifier for this specific return submission.
            Allows you to track and reference you requests.
          example: client_ach_id_1234
          nullable: false
          type: string
        member_guid:
          example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
          description: The unique identifier for the member associated with the
            transaction. Defined by MX.
          nullable: false
          type: string
        return_account_number:
          description: Incorrect account number used in the ACH transaction.
          example: null
          type: string
        return_code:
          description: The associated ACH return code and notice of change code (for
            example, R02, R03, R04, R05, R20, NOC). See [Return
            Codes](/api-reference/platform-api/v20111101/reference/ach-returns#return-codes)
            for a complete list.
          example: R01
          nullable: false
          type: string
        return_notes:
          description: Notes that you set to inform MX on internal ACH processing.
          example: null
          type: string
        return_routing_number:
          description: Incorrect routing number used in the ACH transaction.
          example: null
          type: string
        returned_at:
          description: The date and time when the return was reported by the Receiving
            Financial Depository Institution (RDFI) in ISO 8601 format without
            timestamp.
          example: "2025-02-13T18:09:00+00:00"
          type: string
        sec_code:
          description: The SEC code (Standard Entry Class Code)–a three-letter code
            describing how a payment was authorized (for example, `WEB`). See
            [SEC
            Codes](/api-reference/platform-api/v20111101/reference/ach-returns#sec-codes)
            for a complete list.
          example: PPD
          type: string
        transaction_amount:
          description: The amount of the transaction.
          example: 225.84
          type: number
        transaction_amount_range:
          description: The transaction amount range, used for impact assessment.
          example: null
          type: number
        user_guid:
          example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
          description: MX-defined identifier for the user associated with the ACH return.
          nullable: false
          type: string
      required:
        - member_guid
        - account_guid
        - id
        - user_guid
        - return_code
    ACHReturnCreateRequestBody:
      properties:
        ach_return:
          $ref: "#/components/schemas/ACHReturnCreateRequest"
      type: object
    CategoryResponse:
      properties:
        created_at:
          description: Category creation date-time.
          example: "2015-04-13T18:01:23.000Z"
          nullable: true
          type: string
        guid:
          example: CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874
          nullable: true
          type: string
        is_default:
          example: true
          nullable: true
          type: boolean
        is_income:
          example: false
          nullable: true
          type: boolean
        metadata:
          example: some metadata
          nullable: true
          type: string
        name:
          example: Auto Insurance
          nullable: true
          type: string
        parent_guid:
          example: CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874
          nullable: true
          type: string
        updated_at:
          example: "2015-05-13T18:01:23.000Z"
          nullable: true
          type: string
      type: object
    CategoriesResponseBody:
      properties:
        categories:
          items:
            $ref: "#/components/schemas/CategoryResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    CategoryResponseBody:
      properties:
        category:
          $ref: "#/components/schemas/CategoryResponse"
      type: object
    InstitutionResponse:
      properties:
        code:
          example: mxbank
          nullable: true
          type: string
        forgot_password_url:
          example: https://example.url.mxbank.com/forgot-password
          nullable: true
          type: string
        forgot_username_url:
          example: https://example.url.mxbank.com/forgot-username
          nullable: true
          type: string
        instructional_text:
          description: Render this text when end users are asked for their credentials, as
            it helps end users provide the correct credentials when creating a
            new member. May contain `<a></a>` tags to link to explanatory
            material.
          example: Some instructional text <a
            href="https://example.url.mxbank.com/instructions"
            id="instructional_text">for end users</a>.
          nullable: true
          type: string
        instructional_text_steps:
          type: array
          items:
            type: string
          description: An array of instructional steps that may contain html elements.
          example:
            - "Step 1: Do this."
            - "Step 2: Do that."
          nullable: true
        is_disabled_by_client:
          example: false
          nullable: true
          type: boolean
        iso_country_code:
          example: US
          type: string
        medium_logo_url:
          example: https://content.moneydesktop.com/storage/MD_Assets/Ipad%20Logos/100x100/default_100x100.png
          nullable: true
          type: string
        name:
          example: MX Bank
          nullable: true
          type: string
        small_logo_url:
          example: https://content.moneydesktop.com/storage/MD_Assets/Ipad%20Logos/50x50/default_50x50.png
          nullable: true
          type: string
        supports_account_identification:
          example: true
          nullable: true
          type: boolean
        supports_account_statement:
          example: true
          nullable: true
          type: boolean
        supports_account_verification:
          example: true
          nullable: true
          type: boolean
        supports_oauth:
          example: true
          nullable: true
          type: boolean
        supports_tax_document:
          example: true
          nullable: true
          type: boolean
        supports_transaction_history:
          example: true
          nullable: true
          type: boolean
        trouble_signing_in_url:
          example: https://example.url.mxbank.com/login-trouble
          nullable: true
          type: string
        url:
          example: https://www.mxbank.com
          nullable: true
          type: string
      type: object
    InstitutionsResponseBody:
      properties:
        institutions:
          items:
            $ref: "#/components/schemas/InstitutionResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    InstitutionResponseBody:
      properties:
        institution:
          $ref: "#/components/schemas/InstitutionResponse"
      type: object
    CredentialResponse:
      properties:
        display_order:
          example: 1
          nullable: true
          type: integer
        field_name:
          example: LOGIN
          nullable: true
          type: string
        field_type:
          example: TEXT
          nullable: true
          type: string
        guid:
          example: CRD-1ec152cd-e628-e81a-e852-d1e7104624da
          nullable: true
          type: string
        label:
          example: Username
          nullable: true
          type: string
        type:
          example: TEXT
          nullable: true
          type: string
      type: object
    CredentialsResponseBody:
      properties:
        credentials:
          items:
            $ref: "#/components/schemas/CredentialResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    MerchantLocationResponse:
      properties:
        city:
          example: Greenwood Village
          nullable: true
          type: string
        country:
          example: US
          nullable: true
          type: string
        created_at:
          example: "2020-04-13 21:05:09.000000000 Z"
          nullable: true
          type: string
        guid:
          example: MCL-00024e59-18b5-4d79-b879-2a7896726fea
          nullable: true
          type: string
        latitude:
          example: 39.5963005
          nullable: true
          type: number
        longitude:
          example: -104.89158799999998
          nullable: true
          type: number
        merchant_guid:
          example: MCH-09466f0a-fb58-9d1a-bae2-2af0afbea621
          nullable: true
          type: string
        phone_number:
          example: (303) 689-0728
          nullable: true
          type: string
        postal_code:
          example: "801121436"
          nullable: true
          type: string
        state:
          example: CO
          nullable: true
          type: string
        street_address:
          example: 8547 E Arapahoe Rd, Ste 1
          nullable: true
          type: string
        updated_at:
          example: "2020-04-13 21:05:09.000000000 Z"
          nullable: true
          type: string
      type: object
    MerchantLocationResponseBody:
      properties:
        merchant_location:
          $ref: "#/components/schemas/MerchantLocationResponse"
      type: object
    MerchantResponse:
      properties:
        created_at:
          example: "2017-04-20T19:30:12.000Z"
          nullable: true
          type: string
        guid:
          example: MCH-7ed79542-884d-2b1b-dd74-501c5cc9d25b
          nullable: true
          type: string
        logo_url:
          example: https://s3.amazonaws.com/MD_Assets/merchant_logos/comcast.png
          nullable: true
          type: string
        name:
          example: Comcast
          nullable: true
          type: string
        updated_at:
          example: "2018-09-28T21:13:53.000Z"
          nullable: true
          type: string
        website_url:
          example: https://www.xfinity.com
          nullable: true
          type: string
      type: object
    MerchantsResponseBody:
      properties:
        merchants:
          items:
            $ref: "#/components/schemas/MerchantResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    MerchantResponseBody:
      properties:
        merchant:
          $ref: "#/components/schemas/MerchantResponse"
      type: object
    PaymentProcessorAuthorizationCodeRequest:
      properties:
        account_guid:
          example: ACT-4d4c0068-33bc-4d06-bbd6-cd270fd0135c
          type: string
        member_guid:
          example: MBR-46637bc5-942d-4229-9370-ddd858bf805e
          type: string
        user_guid:
          example: USR-f12b1f5a-7cbe-467c-aa30-0a10d0b2f549
          type: string
      required:
        - account_guid
        - member_guid
        - user_guid
      type: object
    PaymentProcessorAuthorizationCodeRequestBody:
      properties:
        payment_processor_authorization_code:
          $ref: "#/components/schemas/PaymentProcessorAuthorizationCodeRequest"
      type: object
    PaymentProcessorAuthorizationCodeResponse:
      properties:
        authorization_code:
          example: 9nN-9D8_4Z3WYazx7-zXfmqsD3jwgL_2W927Sb3otI
          nullable: true
          type: string
      type: object
    PaymentProcessorAuthorizationCodeResponseBody:
      properties:
        payment_processor_authorization_code:
          $ref: "#/components/schemas/PaymentProcessorAuthorizationCodeResponse"
      type: object
    EnhanceTransactionsRequest:
      properties:
        amount:
          example: 21.33
          type: number
        description:
          example: ubr* pending.uber.com
          type: string
        extended_transaction_type:
          example: partner_transaction_type
          type: string
        id:
          example: ID-123
          type: string
        memo:
          example: Additional-information*on_transaction
          type: string
        merchant_category_code:
          example: 4121
          type: integer
        type:
          example: DEBIT
          type: string
      required:
        - description
        - id
      type: object
    EnhanceTransactionsRequestBody:
      properties:
        transactions:
          items:
            $ref: "#/components/schemas/EnhanceTransactionsRequest"
          type: array
      type: object
    EnhanceTransactionResponse:
      properties:
        amount:
          example: 21.33
          nullable: true
          type: number
        categorized_by:
          example: 13
          nullable: true
          type: integer
        category:
          example: Rental Car & Taxi
          nullable: true
          type: string
        category_guid:
          example: CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8
          nullable: true
          type: string
        described_by:
          example: 6
          nullable: true
          type: integer
        description:
          example: Uber
          nullable: true
          type: string
        extended_transaction_type:
          example: partner_transaction_type
          nullable: true
          type: string
        id:
          example: ID-123
          nullable: true
          type: string
        is_bill_pay:
          example: false
          nullable: true
          type: boolean
        is_direct_deposit:
          example: false
          nullable: true
          type: boolean
        is_expense:
          example: false
          nullable: true
          type: boolean
        is_fee:
          example: false
          nullable: true
          type: boolean
        is_income:
          example: false
          nullable: true
          type: boolean
        is_international:
          example: false
          nullable: true
          type: boolean
        is_overdraft_fee:
          example: false
          nullable: true
          type: boolean
        is_payroll_advance:
          example: false
          nullable: true
          type: boolean
        is_subscription:
          example: false
          nullable: true
          type: boolean
        memo:
          example: Additional-information*on_transaction
          nullable: true
          type: string
        merchant_category_code:
          example: 4121
          nullable: true
          type: integer
        merchant_guid:
          example: MCH-14f25b63-ef47-a38e-b2b6-d02b280b6e4e
          nullable: true
          type: string
        merchant_location_guid:
          example: MCL-00024e59-18b5-4d79-b879-2a7896726fea
          nullable: true
          type: string
        original_description:
          example: ubr* pending.uber.com
          nullable: true
          type: string
        type:
          example: DEBIT
          nullable: true
          type: string
      type: object
    EnhanceTransactionsResponseBody:
      properties:
        transactions:
          items:
            $ref: "#/components/schemas/EnhanceTransactionResponse"
          type: array
      type: object
    UserResponse:
      properties:
        email:
          example: email@provider.com
          nullable: true
          type: string
        guid:
          example: USR-d74cb14f-fd0a-449f-991b-e0362a63d9c6
          nullable: true
          type: string
        id:
          example: My-Unique-ID
          nullable: true
          type: string
        is_disabled:
          example: false
          nullable: true
          type: boolean
        metadata:
          example: "{\\\"first_name\\\": \\\"Steven\\\", \\\"last_name\\\":
            \\\"Universe\\\"}"
          nullable: true
          type: string
      type: object
    UsersResponseBody:
      properties:
        users:
          items:
            $ref: "#/components/schemas/UserResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    UserCreateRequest:
      properties:
        email:
          example: email@provider.com
          type: string
        id:
          example: My-Unique-ID
          type: string
        is_disabled:
          example: false
          type: boolean
        metadata:
          example: "{\\\"type\\\": \\\"individual\\\", \\\"status\\\": \\\"preferred\\\"}"
          type: string
      type: object
    UserCreateRequestBody:
      properties:
        user:
          $ref: "#/components/schemas/UserCreateRequest"
      type: object
    UserResponseBody:
      properties:
        user:
          $ref: "#/components/schemas/UserResponse"
      type: object
    UserUpdateRequest:
      properties:
        email:
          example: email@provider.com
          type: string
        id:
          example: My-Unique-ID
          type: string
        is_disabled:
          example: false
          type: boolean
        metadata:
          example: "{\\\"first_name\\\": \\\"Steven\\\", \\\"last_name\\\":
            \\\"Universe\\\"}"
          type: string
      type: object
    UserUpdateRequestBody:
      properties:
        user:
          $ref: "#/components/schemas/UserUpdateRequest"
      type: object
    AccountResponse:
      properties:
        account_number:
          example: "5366"
          nullable: true
          type: string
        account_number_set_by:
          example: 1
          nullable: true
          type: integer
        account_ownership:
          example: INDIVIDUAL
          nullable: true
          type: string
        annuity_policy_to_date:
          example: "2016-10-13T17:57:37.000Z"
          nullable: true
          type: string
        annuity_provider:
          example: Metlife
          nullable: true
          type: string
        annuity_term_year:
          example: 2048
          nullable: true
          type: integer
        apr:
          example: 1
          nullable: true
          type: number
        apr_set_by:
          example: 1
          nullable: true
          type: integer
        apy:
          example: 1
          nullable: true
          type: number
        apy_set_by:
          example: 1
          nullable: true
          type: integer
        available_balance:
          example: 1000
          nullable: true
          type: number
        available_balance_set_by:
          example: 1
          nullable: true
          type: integer
        available_credit:
          example: 1000
          nullable: true
          type: number
        available_credit_set_by:
          example: 1
          nullable: true
          type: integer
        balance:
          example: 10000
          nullable: true
          type: number
        balance_set_by:
          example: 1
          nullable: true
          type: integer
        calculated_apr:
          example: 21.66409
          nullable: true
          type: number
        cash_balance:
          example: 1000
          nullable: true
          type: number
        cash_balance_set_by:
          example: 1
          nullable: true
          type: integer
        cash_surrender_value:
          example: 1000
          nullable: true
          type: number
        cash_surrender_value_set_by:
          example: 1
          nullable: true
          type: integer
        created_at:
          example: "2023-07-25T17:14:46Z"
          nullable: false
          type: string
        credit_limit:
          example: 100
          nullable: true
          type: number
        credit_limit_set_by:
          example: 1
          nullable: true
          type: integer
        currency_code:
          example: USD
          nullable: true
          type: string
        currency_code_set_by:
          example: 1
          nullable: true
          type: integer
        day_payment_is_due:
          example: 20
          nullable: true
          type: integer
        day_payment_is_due_set_by:
          example: 1
          nullable: true
          type: integer
        death_benefit:
          example: 1000
          nullable: true
          type: integer
        death_benefit_set_by:
          example: 1
          nullable: true
          type: integer
        federal_insurance_status:
          example: INSURED
          nullable: true
          type: string
        feed_account_number:
          example: "5366"
          nullable: true
          type: string
        feed_account_subtype:
          example: 1
          nullable: true
          type: integer
        feed_account_type:
          example: 1
          nullable: true
          type: integer
        feed_apr:
          example: 1
          nullable: true
          type: number
        feed_apy:
          example: 1
          nullable: true
          type: number
        feed_available_balance:
          example: 1000
          nullable: true
          type: number
        feed_balance:
          example: 1000
          nullable: true
          type: number
        feed_cash_balance:
          example: 1000
          nullable: true
          type: number
        feed_cash_surrender_value:
          example: 1000
          nullable: true
          type: number
        feed_credit_limit:
          example: 100
          nullable: true
          type: number
        feed_currency_code:
          example: USD
          nullable: true
          type: string
        feed_day_payment_is_due:
          example: 20
          nullable: true
          type: integer
        feed_death_benefit:
          example: 1000
          nullable: true
          type: integer
        feed_holdings_value:
          example: 1000
          nullable: true
          type: number
        feed_interest_rate:
          example: 1
          nullable: true
          type: number
        feed_is_closed:
          example: false
          nullable: true
          type: boolean
        feed_last_payment:
          example: 100
          nullable: true
          type: number
        feed_last_payment_at:
          example: "2023-07-25T17:14:46Z"
          nullable: true
          type: string
        feed_loan_amount:
          example: 1000
          nullable: true
          type: number
        feed_matures_on:
          example: "2015-10-13T17:57:37.000Z"
          nullable: true
          type: string
        feed_minimum_balance:
          example: 100
          nullable: true
          type: number
        feed_minimum_payment:
          example: 10
          nullable: true
          type: number
        feed_name:
          example: Test account 2
          nullable: true
          type: string
        feed_nickname:
          example: My Checking
          nullable: true
          type: string
        feed_original_balance:
          example: 10
          nullable: true
          type: number
        feed_payment_due_at:
          example: "2025-02-13T17:57:37.000Z"
          nullable: true
          type: string
        feed_payoff_balance:
          example: 10
          nullable: true
          type: number
        feed_routing_number:
          example: "68899990000000"
          nullable: true
          type: string
        feed_started_on:
          example: "2020-10-13T17:57:37.000Z"
          nullable: true
          type: string
        feed_statement_balance:
          example: 100
          nullable: true
          type: number
        feed_total_account_value:
          example: 100
          nullable: true
          type: number
        guid:
          example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
          nullable: true
          type: string
        holdings_value:
          example: 1000
          nullable: true
          type: number
        holdings_value_set_by:
          example: 1
          nullable: true
          type: integer
        id:
          example: "1040434698"
          nullable: true
          type: string
        imported_at:
          example: "2015-10-13T17:57:37.000Z"
          nullable: true
          type: string
        institution_code:
          example: 3af3685e-05d9-7060-359f-008d0755e993
          nullable: true
          type: string
        institution_guid:
          example: INS-12a3b-4c5dd6-1349-008d0755e993
          nullable: true
          type: string
        insured_name:
          example: Tommy Shelby
          nullable: true
          type: string
        interest_rate:
          example: 1
          nullable: true
          type: number
        interest_rate_set_by:
          example: 1
          nullable: true
          type: integer
        is_closed:
          example: false
          nullable: true
          type: boolean
        is_closed_set_by:
          example: 1
          nullable: true
          type: integer
        is_hidden:
          example: false
          nullable: true
          type: boolean
        is_manual:
          example: false
          nullable: true
          type: boolean
        last_payment:
          example: 100
          nullable: true
          type: number
        last_payment_set_by:
          example: 1
          nullable: true
          type: integer
        last_payment_at:
          example: "2023-07-25T17:14:46Z"
          nullable: true
          type: string
        last_payment_at_set_by:
          example: 1
          nullable: true
          type: integer
        loan_amount:
          example: 1000
          nullable: true
          type: number
        loan_amount_set_by:
          example: 1
          nullable: true
          type: integer
        margin_balance:
          example: 1000
          nullable: true
          type: number
        matures_on:
          example: "2015-10-13T17:57:37.000Z"
          nullable: true
          type: string
        matures_on_set_by:
          example: 1
          nullable: true
          type: integer
        member_guid:
          example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
          nullable: true
          type: string
        member_id:
          example: member123
          nullable: true
          type: string
        member_is_managed_by_user:
          example: false
          nullable: true
          type: boolean
        metadata:
          example: some metadata
          nullable: true
          type: string
        minimum_balance:
          example: 100
          nullable: true
          type: number
        minimum_balance_set_by:
          example: 1
          nullable: true
          type: integer
        minimum_payment:
          example: 10
          nullable: true
          type: number
        minimum_payment_set_by:
          example: 1
          nullable: true
          type: integer
        name:
          example: Test account 2
          nullable: true
          type: string
        name_set_by:
          example: 1
          nullable: true
          type: integer
        nickname:
          example: My Checking
          nullable: true
          type: string
        nickname_set_by:
          example: 1
          nullable: true
          type: integer
        original_balance:
          example: 10
          nullable: true
          type: number
        original_balance_set_by:
          example: 1
          nullable: true
          type: integer
        pay_out_amount:
          example: 10
          nullable: true
          type: number
        payment_due_at:
          example: "2015-10-13T17:57:37.000Z"
          nullable: true
          type: string
        payment_due_at_set_by:
          example: 1
          nullable: true
          type: integer
        payoff_balance:
          example: 10
          nullable: true
          type: number
        payoff_balance_set_by:
          example: 1
          nullable: true
          type: integer
        premium_amount:
          example: 3900
          nullable: true
          type: number
        property_type:
          example: VEHICLE
          nullable: true
          type: string
        routing_number:
          example: "68899990000000"
          nullable: true
          type: string
        started_on:
          example: "2015-10-13T17:57:37.000Z"
          nullable: true
          type: string
        started_on_set_by:
          example: 1
          nullable: true
          type: integer
        statement_balance:
          example: 1000.5
          nullable: true
          type: number
        statement_balance_set_by:
          example: 1
          nullable: true
          type: integer
        subtype:
          example: NONE
          nullable: true
          type: string
        subtype_set_by:
          example: 1
          nullable: true
          type: integer
        today_ugl_amount:
          example: 1000.5
          nullable: true
          type: number
        today_ugl_percentage:
          example: 6.9
          nullable: true
          type: number
        total_account_value:
          example: 1
          nullable: true
          type: number
        total_account_value_set_by:
          example: 1
          nullable: true
          type: integer
        total_account_value_ugl:
          example: 1
          nullable: true
          type: number
        type:
          example: SAVINGS
          nullable: true
          type: string
        type_set_by:
          example: 1
          nullable: true
          type: integer
        updated_at:
          example: "2016-10-13T18:08:00.000Z"
          nullable: true
          type: string
        user_guid:
          example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
          nullable: true
          type: string
        user_id:
          example: user123
          nullable: true
          type: string
      type: object
    AccountsResponseBody:
      properties:
        accounts:
          items:
            $ref: "#/components/schemas/AccountResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    AccountCreateRequest:
      properties:
        account_subtype:
          example: PERSONAL
          type: string
        account_type:
          example: SAVINGS
          type: string
        apr:
          example: 1
          type: number
        apy:
          example: 1
          type: number
        available_balance:
          example: 1000
          type: number
        balance:
          example: 1000
          type: number
        cash_surrender_value:
          example: 1000
          type: number
        credit_limit:
          example: 100
          type: number
        currency_code:
          example: USD
          type: string
        death_benefit:
          example: 1000
          type: integer
        interest_rate:
          example: 1
          type: number
        is_business:
          example: false
          type: boolean
        is_closed:
          example: false
          type: boolean
        is_hidden:
          example: false
          type: boolean
        loan_amount:
          example: 1000
          type: number
        metadata:
          example: some metadata
          type: string
        name:
          example: Test account 2
          type: string
        nickname:
          example: Swiss Account
          type: string
        original_balance:
          example: 10
          type: number
        property_type:
          example: VEHICLE
          type: string
        skip_webhook:
          example: true
          type: boolean
      required:
        - name
        - account_type
      type: object
    AccountCreateRequestBody:
      properties:
        account:
          $ref: "#/components/schemas/AccountCreateRequest"
      type: object
    AccountResponseBody:
      properties:
        account:
          $ref: "#/components/schemas/AccountResponse"
      type: object
    AccountNumberResponse:
      properties:
        account_guid:
          example: ACT-06d7f45b-caae-0f6e-1384-01f52e75dcb1
          nullable: true
          type: string
        account_number:
          example: "10001"
          nullable: true
          type: string
        guid:
          example: ACN-8899832e-e5b4-42cd-aa25-bbf1dc889a8f
          nullable: true
          type: string
        institution_number:
          example: "123"
          nullable: true
          type: string
        loan_guarantor:
          example: U.S. DEPARTMENT OF EDUCATION (123456)
          nullable: true
          type: string
        loan_reference_number:
          example: "123456789012345"
          nullable: true
          type: string
        member_guid:
          example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
          nullable: true
          type: string
        passed_validation:
          example: true
          nullable: true
          type: boolean
        routing_number:
          example: "68899990000000"
          nullable: true
          type: string
        sequence_number:
          example: 1-01
          nullable: true
          type: string
        transit_number:
          example: "12345"
          nullable: true
          type: string
        user_guid:
          example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
          nullable: true
          type: string
      type: object
    AccountNumbersResponseBody:
      properties:
        account_numbers:
          items:
            $ref: "#/components/schemas/AccountNumberResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    InsightResponse:
      properties:
        active_at:
          example: "2022-01-07T12:00:00Z"
          nullable: true
          type: string
        client_guid:
          example: CLT-abcd-1234
          nullable: true
          type: string
        created_at:
          example: "2022-01-12T18:16:51Z"
          nullable: true
          type: string
        cta_clicked_at:
          example: "2022-01-13T18:13:51Z"
          nullable: true
          type: string
        description:
          example: Gold's Gym charged you $36.71 more this month than normal. Did you
            upgrade your service?
          nullable: true
          type: string
        guid:
          example: BET-abcd-1234
          nullable: true
          type: string
        has_associated_accounts:
          example: false
          nullable: true
          type: boolean
        has_associated_categories:
          example: false
          nullable: true
          type: boolean
        has_associated_merchants:
          example: false
          nullable: true
          type: boolean
        has_associated_repeating_transactions:
          example: false
          nullable: true
          type: boolean
        has_associated_scheduled_payments:
          example: false
          nullable: true
          type: boolean
        has_associated_transactions:
          example: true
          nullable: true
          type: boolean
        has_been_displayed:
          example: true
          nullable: true
          type: boolean
        is_dismissed:
          example: false
          nullable: true
          type: boolean
        localization_payload:
          type: object
          description:
            "Structured, per-template values used to render the insight description
            and micro_description. The shape depends on the insight `template`. Opt-in: returned
            only when `?includes=localization_payload` is passed (otherwise the key is absent).
            When the insight's template is supported, `is_enabled` is `true` and the
            template-specific fields are populated. When the template is not yet supported,
            `is_enabled` is `false`."
          oneOf:
            - "$ref": "#/components/schemas/LocalizationPayloadUnsupported"
            - "$ref": "#/components/schemas/LocalizationPayloadBillAmountNotStandard"
            - "$ref": "#/components/schemas/LocalizationPayloadMonthlySubscriptionAggregateV2"
            - "$ref": "#/components/schemas/LocalizationPayloadSubscriptionPriceIncrease"
        micro_call_to_action:
          example: Learn more
          nullable: true
          type: string
        micro_description:
          example: Netflix charged you $5.00 more this month than normal.
          nullable: true
          type: string
        micro_title:
          example: Price increase
          nullable: true
          type: string
        template:
          example: SubscriptionPriceIncrease
          nullable: true
          type: string
        title:
          example: Price increase
          nullable: true
          type: string
        updated_at:
          example: "2022-01-12T18:16:51Z"
          nullable: true
          type: string
        user_guid:
          example: USR-1234-abcd
          type: string
        user_id:
          example: user-partner-defined-1234
      type: object
    InsightsResponseBody:
      properties:
        insights:
          items:
            $ref: "#/components/schemas/InsightResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    LocalizationPayloadBillAmountNotStandard:
      type: object
      additionalProperties: false
      required:
        - is_enabled
        - template
        - scenario
        - average_amount
        - current_amount
        - higher_or_lower
        - merchant_name
        - percentage_change
        - transaction_month
      properties:
        is_enabled:
          type: boolean
          description:
            Whether the localization payload is populated for this insight's
            template.
          example: true
        template:
          type: string
          enum:
            - BillAmountNotStandard
        scenario:
          type: string
          nullable: true
          description:
            The variant for this insight, used to select the appropriate
            localized string template. Null when the template has only one variant.
          example: higher
        average_amount:
          type: number
          example: 36.71
          description: The average bill amount (limited to the five most recent transactions).
        current_amount:
          type: number
          example: 36.71
          description: The triggering transaction's amount.
        higher_or_lower:
          type: string
          description: Whether the bill was higher or lower than usual.
        merchant_name:
          type: string
          description: The merchant's name.
        percentage_change:
          type: number
          example: 25.0
          description:
            The percentage increase or decrease between `average_amount` and
            `current_amount`.
        transaction_month:
          type: string
          example: June 5
          description: The month of the triggering transaction.
    LocalizationPayloadMonthlySubscriptionAggregateV2:
      type: object
      additionalProperties: false
      required:
        - is_enabled
        - template
        - scenario
        - amount_sum
        - count
        - date
      properties:
        is_enabled:
          type: boolean
          description:
            Whether the localization payload is populated for this insight's
            template.
          example: true
        template:
          type: string
          enum:
            - MonthlySubscriptionAggregateV2
        scenario:
          type: string
          nullable: true
          description:
            The copy variant for this insight, used to select the appropriate
            localized string template. Null when the template has only one variant.
          example:
        amount_sum:
          type: number
          example: 36.71
          description: The total value of all of those subscriptions.
        count:
          type: integer
          example: 3
          description:
            The total number of merchants from which subscription transactions
            were detected for the period.
        date:
          type: string
          example: June 5
          description: The date the beat was generated.
    LocalizationPayloadSubscriptionPriceIncrease:
      type: object
      additionalProperties: false
      required:
        - is_enabled
        - template
        - scenario
        - increase_amount
        - merchant_name
      properties:
        is_enabled:
          type: boolean
          description:
            Whether the localization payload is populated for this insight's
            template.
          example: true
        template:
          type: string
          enum:
            - SubscriptionPriceIncrease
        scenario:
          type: string
          nullable: true
          description:
            The copy variant for this insight, used to select the appropriate
            localized string template. Null when the template has only one variant.
          example:
        increase_amount:
          type: number
          example: 36.71
          description: The amount the subscription price increased.
        merchant_name:
          type: string
          description: The merchant name associated with the subscription.
    LocalizationPayloadUnsupported:
      type: object
      additionalProperties: false
      required:
        - is_enabled
      properties:
        is_enabled:
          type: boolean
          description:
            Whether the localization payload is populated for this insight's
            template.
          example: false
          enum:
            - false
    TransactionResponse:
      properties:
        account_guid:
          example: ACT-0af29528-bb91-447f-b5de-85c1c42593e5
          nullable: true
          type: string
        account_id:
          example: FdvkkAgLS0nbDNUujrblz6rYDSl5w-tTLwYRgIxe7jw
          nullable: true
          type: string
        amount:
          example: 5003.9
          nullable: true
          type: number
        category:
          example: Paycheck
          nullable: true
          type: string
        category_guid:
          example: CAT-982ea9e6-3f0e-0c5b-611b-6657a10ba819
          nullable: true
          type: string
        check_number_string:
          example: null
          nullable: true
          type: string
        created_at:
          example: "2024-12-20T18:52:36Z"
          nullable: true
          type: string
        currency_code:
          example: null
          nullable: true
          type: string
        date:
          example: "2024-12-20"
          nullable: true
          type: string
        description:
          example: MX Technologies
          nullable: true
          type: string
        extended_transaction_type:
          example: null
          nullable: true
          type: string
        guid:
          example: TRN-429ad9fe-a1d2-4559-8590-885b2603f0e1
          nullable: true
          type: string
        id:
          example: 1734681600000-178fa8095c154a55b9172f977b4c5f9a-0
          nullable: true
          type: string
        is_bill_pay:
          example: false
          nullable: true
          type: boolean
        is_direct_deposit:
          example: false
          nullable: true
          type: boolean
        is_expense:
          example: false
          nullable: true
          type: boolean
        is_fee:
          example: false
          nullable: true
          type: boolean
        is_income:
          example: true
          nullable: true
          type: boolean
        is_international:
          example: null
          nullable: true
          type: boolean
        is_manual:
          example: false
          nullable: true
          type: boolean
        is_overdraft_fee:
          example: false
          nullable: true
          type: boolean
        is_payroll_advance:
          example: false
          nullable: true
          type: boolean
        is_recurring:
          example: null
          nullable: true
          type: boolean
        is_subscription:
          example: false
          nullable: true
          type: boolean
        latitude:
          example: null
          nullable: true
          type: number
        localized_description:
          example: null
          nullable: true
          type: string
        localized_memo:
          example: null
          nullable: true
          type: string
        longitude:
          example: null
          nullable: true
          type: number
        member_guid:
          example: MBR-78b14c5f-7297-4fb5-a966-65ac45f74d8
          nullable: true
          type: string
        member_is_managed_by_user:
          example: true
          nullable: true
          type: boolean
        memo:
          example: Transactions
          nullable: true
          type: string
        merchant_category_code:
          example: null
          nullable: true
          type: integer
        merchant_guid:
          example: MCH-8cc3b01a-1c52-47d4-970d-30f8ee5566f1
          nullable: true
          type: string
        merchant_location_guid:
          example: null
          nullable: true
          type: string
        metadata:
          example: null
          nullable: true
          type: string
        original_description:
          example: MX TECHNOLOGIES PAYMENT
          nullable: true
          type: string
        posted_at:
          example: "2024-12-20T12:00:00Z"
          nullable: true
          type: string
        status:
          example: POSTED
          nullable: true
          type: string
        top_level_category:
          example: Income
          nullable: true
          type: string
        transacted_at:
          example: "2024-12-20T12:00:00Z"
          nullable: true
          type: string
        type:
          example: CREDIT
          nullable: true
          type: string
        updated_at:
          example: "2024-12-20T18:52:38Z"
          nullable: true
          type: string
        user_guid:
          example: USR-ef7a82f6-d6c1-42c4-9061-bdece5c4d44e
          nullable: true
          type: string
        user_id:
          example: null
          nullable: true
          type: string
      type: object
    TransactionIncludesResponse:
      allOf:
        - $ref: "#/components/schemas/TransactionResponse"
        - properties:
            classification:
              type: object
              nullable: true
              properties:
                parent_class:
                  example: Deposit
                  type: string
                  enum:
                    - Payroll
                    - Deposit
                    - Savings
                    - Transfer
                    - Refunds
                    - Spend
                    - Investment
                    - Buy
                    - Sell
                    - Income
                    - Fees
                    - Expenses
                    - Corporate Actions
                    - Other
                guid:
                  example: MNC-3ad50f86-60d0-4545-a1f9-e66c2ac40f69
                  type: string
            geolocation:
              nullable: true
              type: object
              properties:
                country:
                  example: us
                  type: string
                state:
                  example: UT
                  type: string
                city:
                  example: lehi
                  type: string
                postal code:
                  example: "84043"
                  type: string
            merchant:
              type: object
              nullable: true
              properties:
                name:
                  example: MX
                  type: string
                guid:
                  example: MCH-0c25f895-393c-42a4-9c18-95a0b26d4d84
                  type: string
                logo_url:
                  type: string
                  example: https://content.mx.com/logos/merchants/MCH-0c25f895-393c-42a4-9c18-95a0b26d4d84.png
                website_url:
                  type: string
                  example: https://www.mx.com
            repeating_transaction:
              nullable: true
              type: object
              properties:
                repeating_transaction_type:
                  type: string
                  enum:
                    - BILL
                    - SUBSCRIPTION
                    - INCOME
                    - UNKNOWN
                recurrence_type:
                  type: string
                  enum:
                    - EVERY_OTHER_WEEK
                guid:
                  type: string
                  example: RPT-065b8b1d-826a-45ce-8487-60ca1510e72a
      type: object
    TransactionsResponseBodyIncludes:
      properties:
        transactions:
          items:
            $ref: "#/components/schemas/TransactionIncludesResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    TransactionCreateRequest:
      properties:
        amount:
          example: 61.11
          type: number
        date:
          example: "2016-10-06"
          type: string
        description:
          example: Whole foods
          type: string
        type:
          description: The type of transaction, which must be CREDIT or DEBIT. See
            Transaction Fields for more information.
          example: DEBIT
          type: string
        category_guid:
          description: Unique identifier of the category.
          example: CAT-b6d61a19-30a7-e852-2703-bdfb4072289e
          type: string
        currency_code:
          example: USD
          type: string
        has_been_viewed:
          example: false
          type: boolean
        is_hidden:
          example: false
          type: boolean
        is_international:
          example: false
          type: boolean
        memo:
          example: This is a memo
          type: string
        metadata:
          example: some metadata
          type: string
        skip_webhook:
          description: When set to true, this parameter will prevent a webhook from being
            triggered by the request.
          example: true
          type: boolean
      required:
        - amount
        - date
        - description
        - type
    TransactionCreateRequestBody:
      properties:
        transaction:
          $ref: "#/components/schemas/TransactionCreateRequest"
      type: object
    TransactionCreateResponseBody:
      properties:
        account_guid:
          example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
          nullable: true
          type: string
        account_id:
          example: account123
          nullable: true
          type: string
        amount:
          example: 61.11
          nullable: false
          type: number
        category:
          example: Groceries
          nullable: true
          type: string
        category_guid:
          example: CAT-b6d61a19-30a7-e852-2703-bdfb4072289e
          nullable: true
          type: string
        check_number_string:
          example: null
          nullable: true
          type: string
        created_at:
          example: "2016-10-08T09:43:42.000Z"
          nullable: true
          type: string
        currency_code:
          example: USD
          nullable: true
          type: string
        date:
          example: "2016-10-06T00:00:00.000Z"
          nullable: true
          type: string
        description:
          example: Whole foods
          nullable: true
          type: string
        extended_transaction_type:
          example: null
          nullable: true
          type: string
        guid:
          example: TRN-265abee9-889b-af6a-c69b-25157db2bdd9
          nullable: true
          type: string
        id:
          example: null
          nullable: true
          type: string
        is_bill_pay:
          example: false
          nullable: true
          type: boolean
        is_direct_deposit:
          example: false
          nullable: true
          type: boolean
        is_expense:
          example: true
          nullable: true
          type: boolean
        is_fee:
          example: false
          nullable: true
          type: boolean
        is_income:
          example: false
          nullable: true
          type: boolean
        is_international:
          example: false
          nullable: true
          type: boolean
        is_manual:
          example: true
          nullable: true
          type: boolean
        is_overdraft_fee:
          example: false
          nullable: true
          type: boolean
        is_payroll_advance:
          example: false
          nullable: true
          type: boolean
        is_recurring:
          example: null
          nullable: true
          type: boolean
        is_subscription:
          example: false
          nullable: true
          type: boolean
        latitude:
          example: null
          nullable: true
          type: number
        localized_description:
          example: null
          nullable: true
          type: string
        localized_memo:
          example: null
          nullable: true
          type: string
        longitude:
          example: null
          nullable: true
          type: number
        member_guid:
          example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
          nullable: true
          type: string
        member_is_managed_by_user:
          example: true
          nullable: true
          type: boolean
        memo:
          example: This is a memo
          nullable: true
          type: string
        merchant_category_code:
          example: null
          nullable: true
          type: integer
        merchant_guid:
          example: null
          nullable: true
          type: string
        merchant_location_guid:
          example: null
          nullable: true
          type: string
        metadata:
          example: some metadata
          nullable: true
          type: string
        original_description:
          example: null
          nullable: true
          type: string
        posted_at:
          example: null
          nullable: true
          type: string
        status:
          example: null
          nullable: true
          type: string
        top_level_category:
          example: Food & Dining
          nullable: true
          type: string
        transacted_at:
          example: null
          nullable: true
          type: string
        type:
          example: DEBIT
          nullable: false
          type: string
        updated_at:
          example: "2016-10-08T05:49:12.000Z"
          nullable: false
          type: string
        user_guid:
          example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
          nullable: true
          type: string
        user_id:
          example: user123
          nullable: true
          type: string
      type: object
    CategoryCreateRequest:
      properties:
        metadata:
          example: some metadata
          type: string
        name:
          example: Online Shopping
          type: string
        parent_guid:
          example: CAT-aad51b46-d6f7-3da5-fd6e-492328b3023f
          type: string
      required:
        - name
        - parent_guid
      type: object
    CategoryCreateRequestBody:
      properties:
        category:
          $ref: "#/components/schemas/CategoryCreateRequest"
      type: object
    CategoryUpdateRequest:
      properties:
        metadata:
          example: some metadata
          type: string
        name:
          example: Web shopping
          type: string
      type: object
    CategoryUpdateRequestBody:
      properties:
        category:
          $ref: "#/components/schemas/CategoryUpdateRequest"
      type: object
    ConnectWidgetRequest:
      properties:
        client_redirect_url:
          example: https://{yoursite.com}
          type: string
        color_scheme:
          example: light
          type: string
        current_institution_code:
          example: mxbank
          type: string
        current_member_guid:
          example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
          type: string
        disable_background_agg:
          example: false
          type: boolean
        disable_institution_search:
          example: false
          type: boolean
        enable_app2app:
          example: false
          type: boolean
          description: |
            This indicates whether OAuth app2app behavior is enabled for institutions that support it. Defaults to `true`. When set to `false`, the widget will **not** direct the end user to the institution's mobile application. This setting is not persistent. This setting currently only affects Chase institutions.
        include_identity:
          example: false
          type: boolean
        include_transactions:
          example: true
          type: boolean
        is_mobile_webview:
          example: false
          type: boolean
        mode:
          example: aggregation
          type: string
        oauth_referral_source:
          example: BROWSER
          type: string
        ui_message_version:
          example: 4
          type: integer
        ui_message_webview_url_scheme:
          type: string
        update_credentials:
          example: false
          type: boolean
      type: object
    ConnectWidgetRequestBody:
      properties:
        config:
          $ref: "#/components/schemas/ConnectWidgetRequest"
      type: object
    ConnectWidgetResponse:
      properties:
        connect_widget_url:
          example: https://int-widgets.moneydesktop.com/md/connect/jb1rA14m85tw2lyvpgfx4gc6d3Z8z8Ayb8
          nullable: true
          type: string
        guid:
          example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
          nullable: true
          type: string
      type: object
    ConnectWidgetResponseBody:
      properties:
        user:
          $ref: "#/components/schemas/ConnectWidgetResponse"
      type: object
    ScheduledPaymentResponse:
      properties:
        amount:
          example: 13.54
          type: number
        created_at:
          example: "2023-04-27T23:14:16Z"
          type: string
        description:
          example: Netflix
          type: string
        guid:
          example: SPA-c76e4a85-b2c4-4335-82b7-8f8b8f28c35a
          type: string
        is_completed:
          example: false
          type: boolean
        is_recurring:
          example: true
          type: boolean
        merchant_guid:
          example: MCH-b8a2624c-2176-59ec-c150-37854bc38aa8
          type: string
        occurs_on:
          example: "2022-01-15"
          type: string
        recurrence_day:
          example: 15
          type: integer
        recurrence_type:
          example: EVERY_MONTH
          type: string
        transaction_type:
          example: DEBIT
          type: string
        updated_at:
          example: "2023-04-27T23:14:16Z"
          type: string
        user_guid:
          example: USR-72086f59-6684-4adf-8f29-c4d32db43cd7
          type: string
      type: object
    ScheduledPaymentsResponseBody:
      properties:
        scheduled_payments:
          items:
            $ref: "#/components/schemas/ScheduledPaymentResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    TransactionsResponseBody:
      properties:
        transactions:
          items:
            $ref: "#/components/schemas/TransactionResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
    InsightResponseBody:
      properties:
        insight:
          $ref: "#/components/schemas/InsightResponse"
      type: object
    InsightUpdateRequest:
      properties:
        cta_clicked_at:
          description: The date and time when a call-to-action was clicked, represented in ISO 8601 format with a timestamp.
          example: "2022-01-13T18:13:51Z"
          nullable: true
          type: string
        has_been_displayed:
          example: false
          type: boolean
        is_dismissed:
          example: false
          type: boolean
    InsightUpdateRequestBody:
      properties:
        insight:
          $ref: "#/components/schemas/InsightUpdateRequest"
      type: object
    MemberResponse:
      properties:
        aggregated_at:
          example: "2016-10-13T18:07:57.000Z"
          nullable: true
          type: string
        background_aggregation_is_disabled:
          example: false
          type: boolean
        connection_status:
          example: CONNECTED
          nullable: true
          type: string
        connection_status_message:
          example: Connected to MX Bank
          nullable: true
          type: string
        error:
          description: Details about why the member's most recent aggregation failed. This is `null` unless the aggregation failed for one of the reasons in [Member Connection Errors](/api-reference/platform-api/v20111101/reference/members#member-connection-errors).
          nullable: true
          type: object
          properties:
            error_type:
              description: The category of the error.
              type: string
              example: MEMBER
            error_code:
              description: The code that identifies the error.
              type: string
              example: NO_VERIFIABLE_ACCOUNTS
            error_message:
              description: A description of the error for logging and troubleshooting.
              type: string
              example: This Member has no eligible checking, savings, or money market accounts.
            user_message:
              description: A message you can display to the end user.
              type: string
              example: We couldn't find any accounts eligible for transfers. Please link a checking or savings account.
            locale:
              description: The language of `error_message` and `user_message`, such as `en`, `es`, or `fr`.
              type: string
              example: en
        guid:
          example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
          nullable: true
          type: string
        id:
          example: unique_id
          nullable: true
          type: string
        institution_code:
          example: mxbank
          nullable: true
          type: string
        institution_guid:
          example: INST-12345678-90ab-cdef-1234-567890abcdef
          nullable: false
          type: string
        is_being_aggregated:
          example: false
          nullable: true
          type: boolean
        is_managed_by_user:
          example: false
          nullable: true
          type: boolean
        is_manual:
          example: false
          nullable: true
          type: boolean
        is_oauth:
          example: false
          nullable: true
          type: boolean
        metadata:
          example: "\\\"credentials_last_refreshed_at\\\": \\\"2015-10-15\\"
          nullable: true
          type: string
        most_recent_job_detail_code:
          example: null
          nullable: true
          type: integer
        most_recent_job_detail_text:
          example: null
          nullable: true
          type: boolean
        most_recent_job_guid:
          example: JOB-12345678-90ab-cdef-1234-567890abcdef
          nullable: true
          type: boolean
        name:
          example: MX Bank
          nullable: true
          type: string
        needs_updated_credentials:
          example: false
          nullable: true
          type: boolean
        oauth_window_uri:
          example: https://mxbank.mx.com/oauth/authorize?client_id=b8OikQ4Ep3NuSUrQ13DdvFuwpNx-qqoAsJDVAQCyLkQ&redirect_uri=https%3A%2F%2Fint-app.moneydesktop.com%2Foauth%2Fredirect_from&response_type=code&scope=openid&state=d745bd4ee6f0f9c184757f574bcc2df2
          nullable: true
          type: string
        successfully_aggregated_at:
          example: "2016-10-13T17:57:38.000Z"
          nullable: true
          type: string
        use_cases:
          type: array
          description: The use case associated with the member. Valid values are `PFM`
            and/or `MONEY_MOVEMENT`. Only set this if you've met with MX and
            have opted in to using this field.
          items:
            type: string
            enum:
              - MONEY_MOVEMENT
              - PFM
          example:
            - PFM
        user_guid:
          example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
          nullable: true
          type: string
        user_id:
          example: user123
          nullable: true
          type: string
      type: object
    MembersResponseBody:
      properties:
        members:
          items:
            $ref: "#/components/schemas/MemberResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    ManagedMemberCreateRequest:
      properties:
        id:
          example: member123
          type: string
        institution_code:
          example: mxbank
          type: string
        metadata:
          example: some metadata
          type: string
        name:
          example: MX Bank
          type: string
      required:
        - institution_code
      type: object
    ManagedMemberCreateRequestBody:
      properties:
        member:
          $ref: "#/components/schemas/ManagedMemberCreateRequest"
      type: object
    MemberResponseBody:
      properties:
        member:
          $ref: "#/components/schemas/MemberResponse"
      type: object
    ManagedMemberUpdateRequest:
      properties:
        id:
          example: member123
          type: string
        metadata:
          example: some metadata
          type: string
        name:
          example: MX Bank
          type: string
      type: object
    ManagedMemberUpdateRequestBody:
      properties:
        member:
          $ref: "#/components/schemas/ManagedMemberUpdateRequest"
      type: object
    ManagedAccountCreateRequest:
      properties:
        account_number:
          example: "5366"
          type: string
        apr:
          example: 1
          type: number
        apy:
          example: 1
          type: number
        available_balance:
          example: 1000
          type: number
        available_credit:
          example: 1000
          type: number
        balance:
          example: 1000
          type: number
        cash_surrender_value:
          example: 1000
          type: number
        credit_limit:
          example: 100
          type: number
        currency_code:
          example: USD
          type: string
        day_payment_is_due:
          example: 20
          type: integer
        death_benefit:
          example: 1000
          type: integer
        id:
          example: "1040434698"
          type: string
        interest_rate:
          example: 1
          type: number
        is_closed:
          example: false
          type: boolean
        is_hidden:
          example: false
          type: boolean
        last_payment:
          example: 100
          type: number
        last_payment_at:
          example: "2015-10-13T17:57:37.000Z"
          type: string
        loan_amount:
          example: 1000
          type: number
        matures_on:
          example: "2015-10-13T17:57:37.000Z"
          type: string
        metadata:
          example: some metadata
          type: string
        minimum_balance:
          example: 100
          type: number
        minimum_payment:
          example: 10
          type: number
        name:
          example: Test account 2
          type: string
        nickname:
          example: Swiss Account
          type: string
        original_balance:
          example: 10
          type: number
        payment_due_at:
          example: "2015-10-13T17:57:37.000Z"
          type: string
        payoff_balance:
          example: 10
          type: number
        routing_number:
          example: "68899990000000"
          type: string
        started_on:
          example: "2015-10-13T17:57:37.000Z"
          type: string
        subtype:
          example: NONE
          type: string
        type:
          example: SAVINGS
          type: string
      required:
        - balance
        - id
        - name
        - type
      type: object
    ManagedAccountCreateRequestBody:
      properties:
        account:
          $ref: "#/components/schemas/ManagedAccountCreateRequest"
      type: object
    ManagedAccountUpdateRequest:
      properties:
        account_number:
          example: "5366"
          type: string
        apr:
          example: 1
          type: number
        apy:
          example: 1
          type: number
        available_balance:
          example: 1000
          type: number
        available_credit:
          example: 1000
          type: number
        balance:
          example: 1000
          type: number
        cash_surrender_value:
          example: 1000
          type: number
        credit_limit:
          example: 100
          type: number
        currency_code:
          example: USD
          type: string
        day_payment_is_due:
          example: 20
          type: integer
        death_benefit:
          example: 1000
          type: integer
        id:
          example: "1040434698"
          type: string
        interest_rate:
          example: 1
          type: number
        is_closed:
          example: false
          type: boolean
        is_hidden:
          example: false
          type: boolean
        last_payment:
          example: 100
          type: number
        last_payment_at:
          example: "2015-10-13T17:57:37.000Z"
          type: string
        loan_amount:
          example: 1000
          type: number
        matures_on:
          example: "2015-10-13T17:57:37.000Z"
          type: string
        metadata:
          example: some metadata
          type: string
        minimum_balance:
          example: 100
          type: number
        minimum_payment:
          example: 10
          type: number
        name:
          example: Test account 2
          type: string
        nickname:
          example: Swiss Account
          type: string
        original_balance:
          example: 10
          type: number
        payment_due_at:
          example: "2015-10-13T17:57:37.000Z"
          type: string
        payoff_balance:
          example: 10
          type: number
        routing_number:
          example: "68899990000000"
          type: string
        started_on:
          example: "2015-10-13T17:57:37.000Z"
          type: string
        subtype:
          example: NONE
          type: string
        type:
          example: SAVINGS
          type: string
      type: object
    ManagedAccountUpdateRequestBody:
      properties:
        account:
          $ref: "#/components/schemas/ManagedAccountUpdateRequest"
      type: object
    ManagedTransactionCreateRequest:
      properties:
        amount:
          example: "61.11"
          type: string
        category:
          example: Groceries
          type: string
        check_number_string:
          example: "6812"
          type: string
        currency_code:
          example: USD
          type: string
        description:
          example: Whole foods
          type: string
        id:
          example: transaction-265abee9-889b-af6a-c69b-25157db2bdd9
          type: string
        is_international:
          example: false
          type: boolean
        latitude:
          example: -43.2075
          type: number
        localized_description:
          example: This is a localized_description
          type: string
        localized_memo:
          example: This is a localized_memo
          type: string
        longitude:
          example: 139.691706
          type: number
        memo:
          example: This is a memo
          type: string
        merchant_category_code:
          example: 5411
          type: integer
        merchant_guid:
          example: MCH-7ed79542-884d-2b1b-dd74-501c5cc9d25b
          type: string
        merchant_location_guid:
          example: MCL-00024e59-18b5-4d79-b879-2a7896726fea
          type: string
        metadata:
          example: some metadata
          type: string
        posted_at:
          example: "2016-10-07T06:00:00.000Z"
          type: string
        status:
          example: POSTED
          type: string
        transacted_at:
          example: "2016-10-06T13:00:00.000Z"
          type: string
        type:
          example: DEBIT
          type: string
      required:
        - amount
        - description
        - status
        - posted_at
        - transacted_at
        - type
      type: object
    ManagedTransactionCreateRequestBody:
      properties:
        transaction:
          $ref: "#/components/schemas/ManagedTransactionCreateRequest"
      type: object
    TransactionResponseBody:
      properties:
        transaction:
          $ref: "#/components/schemas/TransactionResponse"
      type: object
    ManagedTransactionUpdateRequest:
      properties:
        amount:
          example: "61.11"
          type: string
        category:
          example: Groceries
          type: string
        check_number_string:
          example: "6812"
          type: string
        currency_code:
          example: USD
          type: string
        description:
          example: Whole foods
          type: string
        id:
          example: transaction-265abee9-889b-af6a-c69b-25157db2bdd9
          type: string
        is_international:
          example: false
          type: boolean
        latitude:
          example: -43.2075
          type: number
        localized_description:
          example: This is a localized_description
          type: string
        localized_memo:
          example: This is a localized_memo
          type: string
        longitude:
          example: 139.691706
          type: number
        memo:
          example: This is a memo
          type: string
        merchant_category_code:
          example: 5411
          type: integer
        merchant_guid:
          example: MCH-7ed79542-884d-2b1b-dd74-501c5cc9d25b
          type: string
        merchant_location_guid:
          example: MCL-00024e59-18b5-4d79-b879-2a7896726fea
          type: string
        metadata:
          example: some metadata
          type: string
        posted_at:
          example: "2016-10-07T06:00:00.000Z"
          type: string
        status:
          example: POSTED
          type: string
        transacted_at:
          example: "2016-10-06T13:00:00.000Z"
          type: string
        type:
          example: DEBIT
          type: string
      type: object
    ManagedTransactionUpdateRequestBody:
      properties:
        transaction:
          $ref: "#/components/schemas/ManagedTransactionUpdateRequest"
      type: object
    CredentialRequest:
      properties:
        guid:
          example: CRD-27d0edb8-1d50-5b90-bcbc-be270ca42b9f
          type: string
        value:
          example: password
          type: string
      type: object
    MemberCreateRequest:
      properties:
        background_aggregation_is_disabled:
          example: false
          type: boolean
        credentials:
          items:
            $ref: "#/components/schemas/CredentialRequest"
          type: array
        id:
          example: unique_id
          type: string
        institution_code:
          example: mxbank
          type: string
        is_oauth:
          example: false
          type: boolean
        metadata:
          example: "\\\"credentials_last_refreshed_at\\\": \\\"2015-10-15\\"
          type: string
        skip_aggregation:
          example: false
          type: boolean
        use_cases:
          type: array
          description: The use case associated with the member. Valid values are `PFM`
            and/or `MONEY_MOVEMENT`. Only set this if you've met with MX and
            have opted in to using this field.
          items:
            type: string
            enum:
              - MONEY_MOVEMENT
              - PFM
          example:
            - PFM
      required:
        - credentials
        - institution_code
      type: object
    MemberCreateRequestBody:
      properties:
        client_redirect_url:
          example: https://{yoursite.com}
          type: string
        enable_app2app:
          example: false
          type: boolean
          description: |
            This indicates whether OAuth app2app behavior is enabled for institutions that support it. Defaults to `true`. When set to `false`, any `oauth_window_uri` generated will **not** direct the end user to the institution's mobile application. This setting is not persistent. This setting currently only affects Chase institutions.
        member:
          $ref: "#/components/schemas/MemberCreateRequest"
        referral_source:
          example: APP
          type: string
        ui_message_webview_url_scheme:
          type: string
      type: object
    MemberUpdateRequest:
      properties:
        background_aggregation_is_disabled:
          example: false
          type: boolean
        credentials:
          items:
            $ref: "#/components/schemas/CredentialRequest"
          type: array
        id:
          example: unique_id
          type: string
        metadata:
          example: "\\\"credentials_last_refreshed_at\\\": \\\"2015-10-15\\"
          type: string
        skip_aggregation:
          example: false
          type: boolean
        use_cases:
          type: array
          description: The use case associated with the member. Valid values are `PFM`
            and/or `MONEY_MOVEMENT`. Only set this if you've met with MX and
            have opted in to using this field.
          items:
            type: string
            enum:
              - MONEY_MOVEMENT
              - PFM
          example:
            - PFM
      type: object
    MemberUpdateRequestBody:
      properties:
        member:
          $ref: "#/components/schemas/MemberUpdateRequest"
      type: object
    AccountOwnerResponse:
      properties:
        account_guid:
          example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
          nullable: true
          type: string
        address:
          example: 123 This Way
          nullable: true
          type: string
        city:
          example: Middlesex
          nullable: true
          type: string
        country:
          example: US
          nullable: true
          type: string
        email:
          example: donnie@darko.co
          nullable: true
          type: string
        first_name:
          example: Donnie
          nullable: true
          type: string
        guid:
          example: ACO-63dc7714-6fc0-4aa2-a069-c06cdccd1af9
          nullable: true
          type: string
        last_name:
          example: Darko
          nullable: true
          type: string
        member_guid:
          example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
          nullable: true
          type: string
        owner_name:
          example: Donnie Darko
          nullable: true
          type: string
        phone:
          example: 555-555-5555
          nullable: true
          type: string
        postal_code:
          example: 00000-0000
          nullable: true
          type: string
        state:
          example: VA
          nullable: true
          type: string
        user_guid:
          example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
          nullable: true
          type: string
      type: object
    AccountOwnersResponseBody:
      properties:
        account_owners:
          items:
            $ref: "#/components/schemas/AccountOwnerResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    AccountUpdateRequest:
      properties:
        account_subtype:
          example: PERSONAL
          type: string
          description: Can only be updated for manual accounts.
        account_type:
          example: SAVINGS
          type: string
          description: Can only be updated for manual accounts.
        apr:
          example: 1
          type: number
          description: Can only be updated for manual accounts.
        apy:
          example: 1
          type: number
          description: Can only be updated for manual accounts.
        available_balance:
          example: 1000
          type: number
          description: Can only be updated for manual accounts.
        balance:
          example: 1000
          type: number
          description: Can only be updated for manual accounts.
        cash_surrender_value:
          example: 1000
          type: number
          description: Can only be updated for manual accounts.
        credit_limit:
          example: 100
          type: number
          description: Can only be updated for manual accounts.
        currency_code:
          example: USD
          type: string
          description: Can only be updated for manual accounts.
        death_benefit:
          example: 1000
          type: integer
          description: Can only be updated for manual accounts.
        interest_rate:
          example: 1
          type: number
          description: Can only be updated for manual accounts.
        is_business:
          example: false
          type: boolean
          description: Can be updated for manual accounts and aggregated accounts.
        is_closed:
          example: false
          type: boolean
          description: Can only be updated for manual accounts.
        is_hidden:
          example: false
          type: boolean
          description: Can be updated for manual accounts and aggregated accounts.
        loan_amount:
          example: 1000
          type: number
          description: Can only be updated for manual accounts.
        metadata:
          example: some metadata
          type: string
          description: Can only be updated for manual accounts.
        name:
          example: Test account 2
          type: string
          description: Can only be updated for manual accounts.
        nickname:
          example: Swiss Account
          type: string
          description: Can only be updated for manual accounts.
        original_balance:
          example: 10
          type: number
          description: Can only be updated for manual accounts.
        property_type:
          example: VEHICLE
          type: string
          description: Can only be updated for manual accounts.
        skip_webhook:
          example: true
          type: boolean
          description: If set to true, prevents sending an account webhook for the update
            if that webhook type is enabled for you.
      type: object
    AccountUpdateRequestBody:
      properties:
        account:
          $ref: "#/components/schemas/AccountUpdateRequest"
      type: object
    TransactionUpdateRequest:
      properties:
        date:
          type: string
        memo:
          type: string
        category_guid:
          type: string
        description:
          example: new description
          type: string
      type: object
    TransactionUpdateRequestBody:
      properties:
        transaction:
          $ref: "#/components/schemas/TransactionUpdateRequest"
      type: object
    ImageOptionResponse:
      properties:
        data_uri:
          example: data:image/png;base64,iVBORw0KGgoAAAANSUh ... more image data ...
          nullable: true
          type: string
        guid:
          example: CRD-ce76d2e3-86bd-ec4a-ec52-eb53b5194bf5
          nullable: true
          type: string
        label:
          example: IMAGE_1
          nullable: true
          type: string
        value:
          example: image_data
          nullable: true
          type: string
      type: object
    OptionResponse:
      properties:
        guid:
          example: CRD-ce76d2e3-86bd-ec4a-ec52-eb53b5194bf5
          nullable: true
          type: string
        label:
          example: IMAGE_1
          nullable: true
          type: string
        value:
          example: image_data
          nullable: true
          type: string
      type: object
    ChallengeResponse:
      properties:
        field_name:
          example: Who is this guy?
          nullable: true
          type: string
        guid:
          example: CRD-ce76d2e3-86bd-ec4a-ec52-eb53b5194bf5
          nullable: true
          type: string
        image_data:
          example: Who is this guy?
          nullable: true
          type: string
        image_options:
          items:
            $ref: "#/components/schemas/ImageOptionResponse"
          type: array
        label:
          example: Who is this guy?
          nullable: true
          type: string
        options:
          items:
            $ref: "#/components/schemas/OptionResponse"
          type: array
        type:
          example: IMAGE_DATA
          nullable: true
          type: string
      type: object
    ChallengesResponseBody:
      properties:
        challenges:
          items:
            $ref: "#/components/schemas/ChallengeResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    InvestmentHoldingResponse:
      properties:
        account_guid:
          example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
          nullable: true
          type: string
        cost_basis:
          example: 827
          nullable: true
          type: number
        coupon_yield:
          example: null
          nullable: true
          type: string
        currency_code:
          example: USD
          nullable: true
          type: string
        current_price:
          example: 15
          nullable: true
          type: number
        daily_change:
          example: 2.5
          nullable: true
          type: number
        description:
          example: Guggenheim Defensive Equity ETF
          nullable: true
          type: string
        expiration:
          example: null
          nullable: true
          type: string
        face_value:
          example: null
          nullable: true
          type: number
        frequency:
          example: null
          nullable: true
          type: string
        guid:
          example: HOL-d65683e8-9eab-26bb-bcfd-ced159c9abe2
          nullable: true
          type: string
        market_value:
          example: 989.5
          nullable: true
          type: number
        maturity_date:
          example: null
          nullable: true
          type: string
        percentage_change:
          example: 0.2
          nullable: true
          type: number
        purchase_price:
          example: 26.3
          nullable: true
          type: number
        quantity:
          example: "5000.0"
          nullable: true
          type: string
        rate:
          example: null
          nullable: true
          type: number
        strike_price:
          example: null
          nullable: true
          type: number
        symbol:
          example: DEF
          nullable: true
          type: string
        term:
          example: null
          nullable: true
          type: string
        today_ugl_amount:
          example: 200
          nullable: true
          type: number
        today_ugl_percentage:
          example: 0.27
          nullable: true
          type: number
        total_ugl_amount:
          example: 20000
          nullable: true
          type: number
        total_ugl_percentage:
          example: 26.67
          nullable: true
          type: number
        unvested_quantity:
          example: null
          nullable: true
          type: number
        unvested_value:
          example: null
          nullable: true
          type: number
        user_guid:
          example: USR-743e5d7f-1116-28fa-5de1-d3ba02e41d8d
          nullable: true
          type: string
        vested_quantity:
          example: null
          nullable: true
          type: number
        vested_value:
          example: null
          nullable: true
          type: number
        created_at:
          example: "2015-04-13T18:01:23.000Z"
          nullable: true
          type: string
        current_price_as_of:
          example: "2023-11-06T00:00:00Z"
          nullable: true
          type: string
        issue_date:
          example: "2015-08-15"
          nullable: true
          type: string
        vesting_start_date:
          example: null
          nullable: true
          type: string
        vesting_end_date:
          example: null
          nullable: true
          type: string
        put_or_call:
          example: null
          nullable: true
          type: string
        holding_type:
          example: MUTUAL_FUND
          nullable: true
          type: string
        term_unit:
          example: null
          nullable: true
          type: string
      type: object
    InvestmentHoldingsResponseBody:
      properties:
        investment_holdings:
          items:
            $ref: "#/components/schemas/InvestmentHoldingResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    InvestmentHoldingResponseBody:
      properties:
        investment_holding:
          $ref: "#/components/schemas/InvestmentHoldingResponse"
      type: object
    InvestmentHoldingsDeactivation:
      properties:
        message:
          example: Successfully deactivated user from billing
        status:
          example: 200
    OAuthWindowResponse:
      properties:
        guid:
          example: MBR-df96fd60-7122-4464-b3c2-ff11d8c74f6f
          nullable: true
          type: string
        oauth_window_uri:
          example: https://mxbank.mx.com/oauth/authorize?client_id=b8OikQ4Ep3NuSUrQ13DdvFuwpNx-qqoAsJDVAQCyLkQ&redirect_uri=https%3A%2F%2Fint-app.moneydesktop.com%2Foauth%2Fredirect_from&response_type=code&scope=openid&state=d745bd4ee6f0f9c184757f574bcc2df2
          nullable: true
          type: string
      type: object
    OAuthWindowResponseBody:
      properties:
        member:
          $ref: "#/components/schemas/OAuthWindowResponse"
      type: object
    MemberResumeRequest:
      properties:
        challenges:
          items:
            $ref: "#/components/schemas/CredentialRequest"
          type: array
      type: object
    MemberResumeRequestBody:
      properties:
        member:
          $ref: "#/components/schemas/MemberResumeRequest"
      type: object
    StatementResponse:
      properties:
        account_guid:
          example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
          nullable: true
          type: string
        content_hash:
          example: ca53785b812d00ef821c3d94bfd6e5bbc0020504410589b7ea8552169f021981
          nullable: true
          type: string
        created_at:
          example: "2016-10-13T18:08:00+00:00"
          nullable: true
          type: string
        guid:
          example: STA-737a344b-caae-0f6e-1384-01f52e75dcb1
          nullable: true
          type: string
        member_guid:
          example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
          nullable: true
          type: string
        updated_at:
          example: "2016-10-13T18:09:00+00:00"
          nullable: true
          type: string
        uri:
          example: uri/to/statement
          nullable: true
          type: string
        user_guid:
          example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
          nullable: true
          type: string
      type: object
    StatementsResponseBody:
      properties:
        statements:
          items:
            $ref: "#/components/schemas/StatementResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    StatementResponseBody:
      properties:
        statement:
          $ref: "#/components/schemas/StatementResponse"
      type: object
    MemberStatusResponse:
      properties:
        aggregated_at:
          example: "2016-10-13T18:07:57.000Z"
          nullable: true
          type: string
        challenges:
          items:
            $ref: "#/components/schemas/ChallengeResponse"
          type: array
        connection_status:
          example: CONNECTED
          nullable: true
          type: string
        error:
          description: Details about why the member's most recent aggregation failed. This is `null` unless the aggregation failed for one of the reasons in [Member Connection Errors](/api-reference/platform-api/v20111101/reference/members#member-connection-errors).
          nullable: true
          type: object
          properties:
            error_type:
              description: The category of the error.
              type: string
              example: MEMBER
            error_code:
              description: The code that identifies the error.
              type: string
              example: NO_VERIFIABLE_ACCOUNTS
            error_message:
              description: A description of the error for logging and troubleshooting.
              type: string
              example: This Member has no eligible checking, savings, or money market accounts.
            user_message:
              description: A message you can display to the end user.
              type: string
              example: We couldn't find any accounts eligible for transfers. Please link a checking or savings account.
            locale:
              description: The language of `error_message` and `user_message`, such as `en`, `es`, or `fr`.
              type: string
              example: en
        guid:
          example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
          nullable: true
          type: string
        has_processed_account_numbers:
          example: true
          nullable: true
          type: boolean
        has_processed_accounts:
          example: true
          nullable: true
          type: boolean
        has_processed_transactions:
          example: false
          nullable: true
          type: boolean
        is_authenticated:
          example: false
          nullable: true
          type: boolean
        is_being_aggregated:
          example: false
          nullable: true
          type: boolean
        successfully_aggregated_at:
          example: "2016-10-13T17:57:38.000Z"
          nullable: true
          type: string
      type: object
    MemberStatusResponseBody:
      properties:
        member:
          $ref: "#/components/schemas/MemberStatusResponse"
      type: object
    SpendingPlanIterationItemResponse:
      properties:
        actual_amount:
          example: 345
          nullable: true
          type: number
        category_guid:
          example: CAT-40faf068-abb4-405c-8f6a-e883ed541fff
          nullable: true
          type: string
        created_at:
          example: "2016-10-13T18:08:00+00:00"
          nullable: true
          type: string
        guid:
          example: SPL-e5f9a5bd-c5b3-4901-bdc0-62119b9db262
          nullable: true
          type: string
        item_type:
          example: "1"
          nullable: true
          type: string
        planned_amount:
          example: 110
          nullable: true
          type: number
        scheduled_payment_guid:
          example: SCP-c731988a-712f-4f83-9b3b-0aa5b3d5208b
          nullable: true
          type: string
        spending_plan_iteration_guid:
          example: SPI-848e6648-3fa3-4632-ac8f-e65f03167102
          nullable: true
          type: string
        top_level_category_guid:
          example: CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8
          nullable: true
          type: string
        transaction_guids:
          items:
            example: TRN-265abee9-889b-af6a-c69b-25157db2bdd9
            nullable: true
            type: string
          type: array
        updated_at:
          example: "2016-10-13T18:09:00+00:00"
          nullable: true
          type: string
        user_guid:
          example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
          nullable: true
          type: string
      type: object
    SpendingPlanIterationItemsResponseBody:
      properties:
        iteration_items:
          items:
            $ref: "#/components/schemas/SpendingPlanIterationItemResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    SpendingPlanIterationItemCreateRequestBody:
      properties:
        category_guid:
          example: CAT-40faf068-abb4-405c-8f6a-e883ed541fff
          type: string
        item_type:
          example: 1
          type: number
        planned_amount:
          example: 110
          type: number
        scheduled_payment_guid:
          example: SCP-c731988a-712f-4f83-9b3b-0aa5b3d5208b
          type: string
        top_level_category_guid:
          example: CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8
          type: string
      required:
        - planned_amount
      type: object
    SpendingPlanResponse:
      properties:
        created_at:
          example: "2016-10-13T18:08:00+00:00"
          nullable: true
          type: string
        current_iteration_number:
          example: 1
          nullable: true
          type: integer
        guid:
          example: SPL-e5f9a5bd-c5b3-4901-bdc0-62119b9db262
          nullable: true
          type: string
        updated_at:
          example: "2016-10-13T18:09:00+00:00"
          nullable: true
          type: string
        user_guid:
          example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
          nullable: true
          type: string
      type: object
    SpendingPlansResponseBody:
      properties:
        spending_plans:
          items:
            $ref: "#/components/schemas/SpendingPlanResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    SpendingPlanAccountResponse:
      properties:
        account_guid:
          example: ACT-97d3948f-ebe7-434a-9bd0-20b29d67c9d4
          type: string
        client_guid:
          example: CLT-024284fc-a6a7-42ee-b363-dab9343e3f72
          type: string
        created_at:
          example: "2023-04-27T23:14:16Z"
          type: string
        guid:
          example: SPA-c76e4a85-b2c4-4335-82b7-8f8b8f28c35a
          type: string
        spending_plan_guid:
          example: SPL-dbfe201d-c341-4bff-93c0-62a918d0b600
          type: string
        updated_at:
          example: "2023-04-27T23:14:16Z"
          type: string
        user_guid:
          example: USR-72086f59-6684-4adf-8f29-c4d32db43cd7
          type: string
      type: object
    SpendingPlanAccountsResponse:
      properties:
        spending_plan_accounts:
          items:
            $ref: "#/components/schemas/SpendingPlanAccountResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    SpendingPlanIterationResponse:
      properties:
        created_at:
          example: "2016-10-13T18:08:00+00:00"
          nullable: true
          type: string
        end_on:
          example: "2023-05-31"
          nullable: true
          type: string
        guid:
          example: SPI-848e6648-3fa3-4632-ac8f-e65f03167102
          nullable: true
          type: string
        iteration_number:
          example: 1
          nullable: true
          type: integer
        spending_plan_guid:
          example: SPL-dbfe201d-c341-4bff-93c0-62a918d0b600
          nullable: true
          type: string
        start_on:
          example: "2023-05-01"
          nullable: true
          type: string
        updated_at:
          example: "2016-10-13T18:09:00+00:00"
          nullable: true
          type: string
        user_guid:
          example: USR-72086f59-6684-4adf-8f29-c4d32db43cd7
          nullable: true
          type: string
      type: object
    SpendingPlanIterationsResponse:
      properties:
        iterations:
          items:
            $ref: "#/components/schemas/SpendingPlanIterationResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    TaggingResponse:
      properties:
        guid:
          example: TGN-007f5486-17e1-45fc-8b87-8f03984430fe
          nullable: true
          type: string
        member_is_managed_by_user:
          example: false
          nullable: true
          type: boolean
        tag_guid:
          example: TAG-40faf068-abb4-405c-8f6a-e883ed541fff
          nullable: true
          type: string
        transaction_guid:
          example: TRN-810828b0-5210-4878-9bd3-f4ce514f90c4
          nullable: true
          type: string
        user_guid:
          example: USR-11141024-90b3-1bce-cac9-c06ced52ab4c
          nullable: true
          type: string
      type: object
    TaggingsResponseBody:
      properties:
        taggings:
          items:
            $ref: "#/components/schemas/TaggingResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    TaggingCreateRequest:
      properties:
        tag_guid:
          example: TAG-40faf068-abb4-405c-8f6a-e883ed541fff
          type: string
        transaction_guid:
          example: TRN-810828b0-5210-4878-9bd3-f4ce514f90c4
          type: string
      required:
        - tag_guid
        - transaction_guid
      type: object
    TaggingCreateRequestBody:
      properties:
        tagging:
          $ref: "#/components/schemas/TaggingCreateRequest"
      type: object
    TaggingResponseBody:
      properties:
        tagging:
          $ref: "#/components/schemas/TaggingResponse"
      type: object
    TaggingUpdateRequest:
      properties:
        tag_guid:
          example: TAG-40faf068-abb4-405c-8f6a-e883ed541fff
          type: string
      required:
        - tag_guid
      type: object
    TaggingUpdateRequestBody:
      properties:
        tagging:
          $ref: "#/components/schemas/TaggingUpdateRequest"
      type: object
    TagResponse:
      properties:
        guid:
          example: TAG-aef36e72-6294-4c38-844d-e573e80aed52
          nullable: true
          type: string
        name:
          example: MY TAG
          nullable: true
          type: string
        user_guid:
          example: USR-11141024-90b3-1bce-cac9-c06ced52ab4c
          nullable: true
          type: string
      type: object
    TagsResponseBody:
      properties:
        tags:
          items:
            $ref: "#/components/schemas/TagResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    TagCreateRequest:
      properties:
        name:
          example: MY TAG
          type: string
      required:
        - name
      type: object
    TagCreateRequestBody:
      properties:
        tag:
          $ref: "#/components/schemas/TagCreateRequest"
      type: object
    TagResponseBody:
      properties:
        tag:
          $ref: "#/components/schemas/TagResponse"
      type: object
    TagUpdateRequest:
      properties:
        name:
          example: MY TAG
          type: string
      required:
        - name
      type: object
    TagUpdateRequestBody:
      properties:
        tag:
          $ref: "#/components/schemas/TagUpdateRequest"
      type: object
    TransactionRuleResponse:
      properties:
        category_guid:
          example: CAT-b1de2a04-db08-b6ed-f6fe-ca2f5b11c2d0
          nullable: true
          type: string
        created_at:
          example: "2018-10-02T22:00:50+00:00"
          nullable: true
          type: string
        description:
          example: Wal-mart food storage
          nullable: true
          type: string
        guid:
          example: TXR-a080e0f9-a2d4-4d6f-9e03-672cc357a4d3
          nullable: true
          type: string
        match_description:
          example: Wal-mart
          nullable: true
          type: string
        updated_at:
          example: "2018-10-02T23:54:40+00:00"
          nullable: true
          type: string
        user_guid:
          example: USR-22fc3203-b3e6-8340-43db-8e50b2f56995
          nullable: true
          type: string
      type: object
    TransactionRulesResponseBody:
      properties:
        transaction_rules:
          items:
            $ref: "#/components/schemas/TransactionRuleResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    TransactionRuleCreateRequest:
      properties:
        category_guid:
          example: CAT-b1de2a04-db08-b6ed-f6fe-ca2f5b11c2d0
          type: string
        description:
          example: Wal-mart food storage
          type: string
        match_description:
          example: Wal-mart
          type: string
      required:
        - category_guid
        - match_description
      type: object
    TransactionRuleCreateRequestBody:
      properties:
        transaction_rule:
          $ref: "#/components/schemas/TransactionRuleCreateRequest"
      type: object
    TransactionRuleResponseBody:
      properties:
        transaction_rule:
          $ref: "#/components/schemas/TransactionRuleResponse"
      type: object
    TransactionRuleUpdateRequest:
      properties:
        category_guid:
          example: CAT-b1de2a04-db08-b6ed-f6fe-ca2f5b11c2d0
          type: string
        description:
          example: Wal-mart food storage
          type: string
        match_description:
          example: Wal-mart
          type: string
      type: object
    TransactionRuleUpdateRequestBody:
      properties:
        transaction_rule:
          $ref: "#/components/schemas/TransactionRuleUpdateRequest"
      type: object
    WidgetRequest:
      properties:
        client_redirect_url:
          example: https://{yoursite.com}
          type: string
          description: |
            Only use this option if the `widget_type` is set to `connect_widget`. This determines the redirect destination at the end of OAuth when used with `is_mobile_webview: true` or `oauth_referral_source: 'APP'`.
        color_scheme:
          example: light
          type: string
          description: This option can be passed to any `widget_type` but will not affect
            [legacy PFM
            widgets](/products/experience/pfm/legacy-widget-overviews). Load the
            widget with the specified `color_scheme`; options are `light`,
            `browser` (respects user's browser setting), and `dark`. Defaults to
            `light`.
        connections_use_case_filter:
          example: false
          type: boolean
          description: To use this parameter, you must also set `use_cases` in the same
            request. If `connections_use_case_filter` is set to `true`, the
            Connections Widget will only show connections (members) with the
            `use_cases` you set in the same request. For some examples, see
            [Filter
            Connections](/products/experience/pfm/widget-overviews/connections-widget#example-1).
        current_institution_code:
          example: mxbank
          type: string
          description: |
            Only use this option if the `widget_type` is set to `connect_widget`. Load the widget into the credential view for the specified institution.
        current_institution_guid:
          example: INS-f1a3285d-e855-b61f-6aa7-8ae575c0e0e9
          type: string
          description: |
            Only use this option if the `widget_type` is set to `connect_widget`. Load the widget into the credential view for the specified institution.
        current_member_guid:
          example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
          type: string
          description: |
            Only use this option if the `widget_type` is set to `connect_widget`. Load the widget into a specific member that contains an error or requires multifactor authentication. The widget will determine the best view to load based on the member's current state. `current_member_guid` takes precedence over `current_institution_code` and `current_institution_guid`.
        disable_background_agg:
          example: false
          type: boolean
          description: |
            Only use this option if the `widget_type` is set to `connect_widget`. This determines whether background aggregation is enabled or disabled for the member created by the Connect Widget. Defaults to `false` in `aggregation` mode and `true` in `verification` mode. A global default for all members can be set by reaching out to MX.
        disable_institution_search:
          example: false
          type: boolean
          description: |
            Only use this option if the `widget_type` is set to `connect_widget`. This determines whether the institution search is displayed within the Connect Widget. This option must be used with `current_institution_code`, `current_instituion_guid`, or `current_member_guid`. When set to `true`, the institution search feature will be disabled and end users will not be able to navigate to it. Defaults to `false`. If you set `disable_institution_search` to `true`, you must also listen for the [backToSearch event](/connect/widget-events#back-to-search) to intercept the user from navigating back to search during the flow. Don't listen for any Primary Action postMessages when you disable search. All buttons that will take a user to the search institution page are still displayed in the Connect Widget experience and your user can still select them. This may trigger during several steps in the Connect Widget flow, such as Connected, MDV/Microdeposits Verified, Login Error, and Credentials/OAuth (back button).
        enable_app2app:
          example: false
          type: boolean
          description: |
            Only use this option if the `widget_type` is set to `connect_widget`. This indicates whether OAuth app2app behavior is enabled for institutions that support it. Defaults to `true`. When set to `false`, the widget will **not** direct the end user to the institution's mobile application. This setting is not persistent. This setting currently only affects Chase institutions.
        include_identity:
          example: false
          type: boolean
          description: |
            Only use this option if the `widget_type` is set to `connect_widget`. This determines whether account owner identification data (AOI, previously called "identity verification") aggregates after the data that's specified by the `mode` finishes aggregating. Defaults to `false`. This can be set in either `aggregation` or `verification` mode. Setting this to `true` will produce the following behaviors:

            - The widget will only search for and display institutions that support the data the `mode` (`aggregation` or `verification`) is aggregating and AOI.
            - The member connected postMessage event will not be sent until both aggregations are complete.
        include_transactions:
          example: true
          type: boolean
          description: |
            Only use this option if the `widget_type` is set to `connect_widget`. This determines whether transaction data are retrieved. Defaults to `true` in aggregation mode and `false` in verification mode. This can be set in either `aggregation` or `verification` mode. This option does not affect future foreground or background aggregations.
        insight_guid:
          example: null
          type: string
          nullable: true
          description: |
            Only use this option if the `widget_type` is set to `pulse_widget`. Set this to the insight guid you want to appear at the top of the insights feed.
        iso_country_code:
          example:
            - US
            - CA
          type: array
          items:
            type: string
          description: |
            An array of strings that filters institutions in the widget by the specified country code. Acceptable codes include `US`, `CA`, and `MX` (Mexico).
        is_mobile_webview:
          example: false
          type: boolean
          description: |
            This option is for all `widget_type`s. This configures the widget to render in a mobile WebView. JavaScript event postMessages are replaced with URL updates.
        microwidget_instance_id:
          example: null
          type: string
          nullable: true
          description: |
            Only use this option if the `widget_type` is set to `micro_pulse_carousel_widget`. Set this to a unique value for each instance of the Micro Insights Widget. This lets us collect unique data for each instance of the widget.
        mode:
          example: aggregation
          type: string
          description: |
            Only use this option if the `widget_type` is set to `connect_widget`. `mode` is the most important option for the Connect Widget. This determines what kind of process Connect will run, which affects how you should set many other options. Defaults to `aggregation`. `aggregation` mode retrieves account and transaction data; in other words, this runs a standard aggregation. `verification` mode retrieves account numbers and routing/transit numbers; in other words, it runs an Instant Account Verification (IAV). By default, verification mode does not retrieve transaction data; this default can be modified with secondary options. By default, background aggregation is disabled for all members created in verification mode; this default can be modified with secondary options.
        oauth_referral_source:
          example: BROWSER
          type: string
          description: |
            Only use this option if the `widget_type` is set to `connect_widget`. This determines how MX will respond to the result of an OAuth flow. When set to `APP`, MX will redirect to the URI specified in the `ui_message_webview_url_scheme`. When set to `BROWSER`, MX will send a postMessage but not redirect. If `is_mobile_webview` is `true`, this defaults to `APP`. If false, it defaults to `BROWSER`.
        ui_message_version:
          example: 4
          type: integer
          description: |
            This option is for all `widget_type`s. This determines which version of postMessage events are triggered. Defaults to 4. All new implementations must use version 4. Prior versions are deprecated.
        ui_message_webview_url_scheme:
          type: string
          description: |
            Only use this option if the `widget_type` is set to `connect_widget`. This is a client-defined scheme used in OAuth redirects in WebViews; also used in URL updates when these replace postMessages in WebViews. Defaults to `mx`.
        update_credentials:
          example: false
          type: boolean
          description: |
            Only use this option if the `widget_type` is set to `connect_widget`. Load the widget into a view that allows them to update the current member. Optionally used with `current_member_guid`. This option should be used sparingly. The best practice is to use `current_member_guid` and let the widget resolve the issue.
        use_cases:
          type: array
          description: The use case that will be associated with any members created
            through the widget. Valid values are `PFM` and/or `MONEY_MOVEMENT`.
            This is **required** if you've met with MX, opted in to using this
            field, and are requesting a widget with a `widget_type` of
            `connect_widget` or `connections_widget`.
          items:
            type: string
            enum:
              - MONEY_MOVEMENT
              - PFM
          example:
            - PFM
        widget_type:
          example: connect_widget
          type: string
          description: |
            This determines which widget URL you'll receive.

            See [Widget Types](/api-reference/platform-api/v20111101/reference/widgets) for a list of potential values. Additional request parameters may only apply to some widget types.
      required:
        - widget_type
      type: object
    WidgetRequestBody:
      properties:
        widget_url:
          $ref: "#/components/schemas/WidgetRequest"
      type: object
    WidgetResponse:
      properties:
        type:
          example: connect_widget
          nullable: true
          type: string
        url:
          example: https://int-widgets.moneydesktop.com/md/connect/yxcdk7f1nb99jwApp34lA24m0AZ8rzprgmw17gm8z8h2AzjyAnd1rj42qfv42r3xnn07Amfwlg3j09hwp8bkq8tc5z21j33xjggmp2qtlpkz2v4gywfhfn31l44tx2w91bfc2thc58j4syqp0hgxcyvA4g7754hk7gjc56kt7tc36s45mmkdz2jqqqydspytmtr3dAb9jh6fkb24f3zkfpdjj0v77f0vmrtzvzxkmxz7dklsq8gd0gstkbhlw5bgpgc3m9mAtpAcr2w15gwy5xc4blgxppl42Avnm63291z3cyp0wm3lqgmvgzdAddct423gAdqxdlfx5d4mvc0ck2gt7ktqgks4vxq1pAy5
          nullable: true
          type: string
        user_id:
          example: U-jeff-201709221210
          nullable: true
          type: string
      type: object
    WidgetResponseBody:
      properties:
        widget_url:
          $ref: "#/components/schemas/WidgetResponse"
      type: object
    BudgetResponse:
      properties:
        amount:
          description: A goal amount set by the user for a category's transaction total
            during a month.
          example: 153
          type: number
        category_guid:
          description: Unique identifier for the budget category. Defined by MX.
          example: CAT-bd56d35a-a9a7-6e10-66c1-5b9cc1b6c81a
          type: string
          nullable: false
        created_at:
          description: Date and time the budget was created, represented in ISO 8601
            format with timestamp.
          example: "2018-10-18T19:51:26+00:00"
          type: string
        guid:
          description: Unique identifier for the budget. Defined by MX.
          example: BGT-6ca0e3ef-c65e-4655-8b5a-275a3c19c21d
          type: string
        is_exceeded:
          description: If the budget has been exceeded, this field will be true.
            Otherwise, this field will be false.
          example: true
          type: boolean
        is_off_track:
          description: If the budget is off track, this field will be true. Otherwise,
            this field will be false.
          example: true
          type: boolean
        metadata:
          description: Additional information a partner can store on the budget.
          example: some metadata
          nullable: true
          type: string
        name:
          description: The name of the budget that is visible to the user (ie "Food",
            "Bills", "Entertainment", etc).
          example: Food & Dining
          type: string
          nullable: true
        off_track_percentage:
          description: The percentage amount of off track spending. (Deprecated).
          nullable: true
          type: number
        parent_guid:
          description: Unique identifier for the parent budget. Defined by MX.
          nullable: true
          type: string
        percent_spent:
          description: The percentage of a budget that has been spent during the current
            calendar month Calculated as the transaction total divided by the
            amount and then multiplied by 100.A value of zero will be returned
            when `amount` is zero.
          example: 1276.34
          nullable: true
          type: number
        projected_spending:
          description: The projected amount of spending for the budget.
          example: 3562.4
          type: number
        revision:
          description: The revision number of this budget record.
          example: 561
          type: integer
        transaction_total:
          description: The cumulative amount of all transactions under the budget.
          example: 1952.8
        updated_at:
          description: Date and time the budget was updated, represented in ISO 8601
            format with timestamp.
          example: "2022-06-14T21:17:11+00:00"
        user_guid:
          description: Unique identifier for the user. Defined by MX.
          example: USR-11141024-90b3-1bce-cac9-c06ced52ab4c
    BudgetResponseBody:
      properties:
        budget:
          $ref: "#/components/schemas/BudgetResponse"
      type: object
    BudgetCreateRequest:
      properties:
        category_guid:
          example: CAT-bd56d35a-a9a7-6e10-66c1-5b9cc1b6c81a
          description: Unique identifier of the category.
          type: string
        parent_guid:
          example: BGT-6be44a91-e105-f68a-4770-8c7c0a5c9778
          description: Unique identifier of the parent budget. This is only required when
            creating a budget on a sub-category.
          type: string
        amount:
          example: 1000
          description: Amount of the budget.
          type: integer
        metadata:
          example: Additional information
          description: Additional information a partner can store on the budget.
          type: string
        skip_webhook:
          example: true
          description: When set to true, this parameter will prevent a webhook from being
            triggered by the request.
          type: boolean
      required:
        - category_guid
        - parent_guid
      type: object
    BudgetCreateRequestBody:
      properties:
        budget:
          $ref: "#/components/schemas/BudgetCreateRequest"
      type: object
    BudgetUpdateRequest:
      properties:
        amount:
          example: 1000
          description: Amount of the budget.
          type: integer
        metadata:
          example: Additional information
          description: Additional information a partner can store on the budget.
          type: string
        skip_webhook:
          example: true
          description: When set to true, this parameter will prevent a webhook from being
            triggered by the request.
          type: boolean
      type: object
    BudgetUpdateRequestBody:
      properties:
        budget:
          $ref: "#/components/schemas/BudgetUpdateRequest"
      type: object
    GoalsResponse:
      properties:
        account_guid:
          description: Unique identifier of the account for the goal.
          example: ACT-4e431124-4a29-abf9-f059-ab232ac14dbf
          type: string
        amount:
          description: Amount of the goal.
          example: 4500
          type: number
        current_amount:
          description: The current amount of the goal.
          example: 1651.27
          type: number
        guid:
          description: The unique identifier for the goal. Defined by MX.
          example: GOL-524ca5db-a2d5-44f3-b048-16de16059024
          type: string
        goal_type_name:
          description: The goal type.
          example: PAYOFF
          type: string
        meta_type_name:
          description: The category of the goal.
          example: VACATION
          type: string
        name:
          description: The name of the goal.
          example: Save for Europe
          type: string
        completed_at:
          description: Date and time the goal was completed.
          example: "2015-06-19T10:37:04-06:00"
          type: string
        has_been_spent:
          description: Determines if the goal has been spent.
          example: false
          type: boolean
        is_complete:
          description: Determines if the goal is complete.
          example: false
          type: boolean
        metadata:
          description: Additional information a partner can store on the goal.
          example: Additional information
          type: string
        position:
          description: The priority of the goal in relation to multiple goals.
          example: 3
          type: integer
        projected_to_complete_at:
          description: The date on which the project was completed.
          example: "2022-06-14T16:03:53-00:00"
          type: string
        targeted_to_complete_at:
          example: "2026-12-08 00:00:00.000000"
          type: string
        track_type_name:
          example: Track Type Name
          type: string
        user_guid:
          description: The unique identifier for the the user. Defined by MX.
          example: USR-11141024-90b3-1bce-cac9-c06ced52ab4c
          type: string
    GoalsResponseBody:
      properties:
        goals:
          items:
            $ref: "#/components/schemas/GoalsResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    GoalRequest:
      properties:
        account_guid:
          description: Unique identifier of the account for the goal.
          example: ACT-4e431124-4a29-abf9-f059-ab232ac14dbf
          type: string
        amount:
          description: Amount of the goal.
          example: 4500.5
          type: number
        goal_type_name:
          description: The goal type.
          example: PAYOFF
          type: string
        meta_type_name:
          description: The category of the goal.
          example: VACATION
          type: string
        name:
          description: The name of the goal.
          example: Save for Europe
          type: string
        completed_at:
          description: Date and time the goal was completed.
          example: "2015-06-19T10:37:04-06:00"
          type: string
        has_been_spent:
          description: Determines if the goal has been spent.
          example: false
          type: boolean
        is_complete:
          description: Determines if the goal is complete.
          example: false
          type: boolean
        metadata:
          description: Additional information a partner can store on the goal.
          example: Additional information
          type: string
        position:
          description: The priority of the goal in relation to multiple goals.
          example: 3
          type: integer
        targeted_to_complete_at:
          description: Date and time the goal is to complete. Intended for users to set
            their own goal completion dates.
          example: "2026-12-08 00:00:00.000000"
          type: string
      required:
        - account_guid
        - amount
        - goal_type_name
        - meta_type_name
        - name
      type: object
    GoalRequestBody:
      properties:
        goal:
          $ref: "#/components/schemas/GoalRequest"
      type: object
    GoalResponse:
      properties:
        account_guid:
          description: Unique identifier of the account for the goal.
          example: ACT-4e431124-4a29-abf9-f059-ab232ac14dbf
          type: string
        amount:
          description: Amount of the goal.
          example: 4500
          type: number
        completed_at:
          description: Date and time the goal was completed.
          example: "2015-06-19T10:37:04-06:00"
          type: string
        current_amount:
          description: The current amount of the goal.
          example: 1651.27
          type: number
        goal_type_name:
          description: The goal type.
          example: PAYOFF
          type: string
        guid:
          description: Unique identifier for the goal. Defined by MX.
          example: GOL-f223463-4355-48d0-rce7-fe2rb345617c
          type: string
        has_been_spent:
          description: Determines if the goal has been spent.
          example: false
          type: boolean
        is_complete:
          description: Determines if the goal is complete.
          example: false
          type: boolean
        metadata:
          description: Additional information a partner can store on the goal.
          example: Additional information
          type: string
        meta_type_name:
          description: The category of the goal.
          example: VACATION
          type: string
        name:
          description: The name of the goal.
          example: Save for Europe
          type: string
        position:
          description: The priority of the goal in relation to multiple goals.
          example: 3
          type: integer
        projected_to_complete_at:
          description: Date and time the goal is projected to be completed.
          example: "2022-06-14T16:03:53-00:00"
          type: string
        targeted_to_complete_at:
          description: Date and time the goal is to complete. Intended for users to set
            their own goal completion dates.
          example: "2026-12-08 00:00:00.000000"
          type: string
        track_type_name:
          example: Track Type Name
          type: string
        user_guid:
          description: The unique identifier for the the user. Defined by MX.
          example: USR-11141024-90b3-1bce-cac9-c06ced52ab4c
          type: string
    GoalResponseBody:
      properties:
        goal:
          $ref: "#/components/schemas/GoalResponse"
      type: object
    UpdateGoalRequest:
      properties:
        account_guid:
          description: Unique identifier of the account for the goal.
          example: ACT-4e431124-4a29-abf9-f059-ab232ac14dbf
          type: string
        amount:
          description: Amount of the goal.
          example: 4500.5
          type: number
        goal_type_name:
          description: The goal type.
          example: PAYOFF
          type: string
        meta_type_name:
          description: The category of the goal.
          example: VACATION
          type: string
        name:
          description: The name of the goal.
          example: Save for Europe
          type: string
        completed_at:
          description: Date and time the goal was completed.
          example: "2015-06-19T10:37:04-06:00"
          type: string
        has_been_spent:
          description: Determines if the goal has been spent.
          example: false
          type: boolean
        is_complete:
          description: Determines if the goal is complete.
          example: false
          type: boolean
        metadata:
          description: Additional information a partner can store on the goal.
          example: Additional information
          type: string
        position:
          description: The priority of the goal in relation to multiple goals.
          example: 3
          type: integer
        targeted_to_complete_at:
          description: Date and time the goal is to complete. Intended for users to set
            their own goal completion dates.
          example: "2026-12-08 00:00:00.000000"
          type: string
      type: object
    UpdateGoalRequestBody:
      properties:
        goal:
          $ref: "#/components/schemas/UpdateGoalRequest"
      type: object
    RepositionRequest:
      properties:
        guid:
          description: The unique identifier for the goal. Defined by MX.
          example: GOL-97665947-235c-b213-ca25-8cf0174774f5
          type: string
        position:
          description: The priority of the goal in relation to multiple goals.
          example: 1
          type: integer
      required:
        - guid
        - position
    RepositionRequestBody:
      properties:
        goals:
          items:
            $ref: "#/components/schemas/RepositionRequest"
          type: array
      type: object
    RepositionResponseBody:
      properties:
        goals:
          items:
            $ref: "#/components/schemas/GoalsResponse"
          type: array
      type: object
    NotificationResponse:
      properties:
        guid:
          example: TF-b53294f5-2356-4782-9f81-ae064c42b40a
        content:
          example: The content related to the notification.
        deep_link_guid:
          example: BGT-e386a323-e452-47f2-b2fd-1ac3c18533de
        delivered_at:
          example: null
        entity_guid:
          example: BGT-e386a323-e452-47f2-b2fd-1ac3c18533de
        has_been_delivered:
          example: true
        has_been_viewed:
          example: false
        notification_type:
          example: 2
        subject:
          example: You're projected to spend $1,920.07 more than you've budgeted for Fees
            & Charges. You've already spent $65.67 of $316.00.
        channel:
          example: push
    NotificationsResponseBody:
      properties:
        notifications:
          items:
            $ref: "#/components/schemas/NotificationResponse"
      type: object
    NotificationResponseBody:
      properties:
        notification:
          $ref: "#/components/schemas/NotificationResponse"
      type: object
    RepeatingTransactionResponse:
      properties:
        account_guid:
          example: ACT-0af29528-bb91-447f-b5de-85c1c42593e5
          nullable: true
          type: string
        amount:
          example: 107.4
          type: number
        description:
          type: string
          example: Dominion Energy
        guid:
          type: string
          example: RPT-a2264e1a-d2e6-41d9-88d2-2cfdf1143959
        member_guid:
          type: string
          example: MBR-78b14c5f-7297-4fb5-a966-65ac45f74d83
        merchant_guid:
          type: string
          example: MCH-1b5d7e4d-fa29-95d1-fd0f-540b6f17d986
        last_posted_date:
          type: string
          example: "2024-12-09"
        predicted_occurs_on:
          type: string
          example: "2025-01-09"
        recurrence_type:
          type: string
          example: EVERY_MONTH
        user_guid:
          type: string
        repeating_transaction_type:
          type: string
          enum:
            - BILL
            - SUBSCRIPTION
            - INCOME
            - UNKNOWN
        transaction_type:
          type: string
          enum:
            - DEBIT
            - CREDIT
    RepeatingTransactionsResponseBody:
      properties:
        repeating_transactions:
          items:
            $ref: "#/components/schemas/RepeatingTransactionResponse"
          type: array
      type: object
    SplitTransactionRequest:
      properties:
        amount:
          description: Amount of money you want to re-categorize.
          example: 54.19
          type: number
        description:
          description: Description for the split transaction.
          example: Chevron Gas
          type: string
        category_guid:
          description: Unique identifier of the category.
          example: CAT-b6d61a19-30a7-e852-2703-bdfb4072289e
          type: string
        memo:
          description: Memo for the split transaction
          type: string
          example: Chips and Soda
      required:
        - amount
    SplitTransactionRequestBody:
      properties:
        transactions:
          $ref: "#/components/schemas/SplitTransactionRequest"
      required:
        - transactions
      type: object
    SplitTransactionsResponseBody:
      properties:
        transactions:
          items:
            $ref: "#/components/schemas/TransactionResponse"
          type: array
      type: object
    MonthlyCashFlowResponse:
      properties:
        guid:
          example: MCF-4e431124-4a29-abf9-f059-ab232ac14dbf
          type: string
          description: Unique identifier for the monthly cash flow profile. Defined by MX.
        user_guid:
          example: USR-6c83f63c-efcc-0189-3f14-100f0bad378a
          type: string
          description: Unique identifier for the user the monthly cash flow profile is
            attached to. Defined by MX.
        budgeted_income:
          example: 1200.12
          type: number
          description: The amount of the budgeted income for the user.
        budgeted_expenses:
          example: 1000
          type: number
          description: The amount of the budgeted expenses for the user.
        goals_contribution:
          example: 150
          type: number
          description: The monthly dollar amount allocated for goals.
        estimated_goals_contribution:
          example: null
          nullable: true
          type: number
          description: The estimated monthly dollar amount allocated for goals calculated
            from income and budgets.
        uses_estimated_goals_contribution:
          example: false
          type: boolean
    MonthlyCashFlowResponseBody:
      properties:
        monthly_cash_flow_profile:
          $ref: "#/components/schemas/MonthlyCashFlowResponse"
      type: object
    MonthlyCashFlowProfileRequest:
      properties:
        goals_contribution:
          example: 150.01
          type: number
          description: The monthly dollar amount allocated for goals.
        uses_estimated_goals_contribution:
          example: false
          type: boolean
          description: Determines if the user uses estimated goals contribution.
    MonthlyCashFlowProfileRequestBody:
      properties:
        institution:
          $ref: "#/components/schemas/MonthlyCashFlowProfileRequest"
      type: object
    MemberElements:
      properties:
        account_guid:
          example: ACT-283132a4-1401-486a-909e-1605f1623d11
          type: string
        member_guid:
          example: MBR-54feffb9-8474-47bd-8442-de003910113a
          type: string
        user_guid:
          example: USR-101ad774-288b-44ed-ad16-da87d522ea20
          type: string
    TokenRequestBody:
      properties:
        scope:
          $ref: "#/components/schemas/MemberElements"
      type: object
    TokenResponse:
      properties:
        payment_processor_guid:
          example: PPR-084aa709-8218-4b5a-b3ab-70ffc7483daf
          type: string
        expires_at:
          example: 2023-04-19T15:38:2800:00
          type: string
        access_token:
          example: i8FnF...
          type: string
        active:
          example: true
          type: boolean
    TokenResponseBody:
      properties:
        tokens:
          items:
            $ref: "#/components/schemas/TokenResponse"
      type: object
    ProcessorAccountNumber:
      properties:
        account_number:
          example: 6366816006
          type: integer
        guid:
          example: ACN-68c0b681-78c2-4731-9b41-d6e8ae2846cf
          type: string
        institution_number:
          example: null
        loan_guarantor:
          example: null
        loan_reference_number:
          example: null
        passed_validation:
          example: true
        routing_number:
          example: 242564563
          type: integer
        sequence_number:
          example: null
        transit_number:
          example: null
    ProcessorAccountNumberBody:
      properties:
        account_numbers:
          items:
            allOf:
              - $ref: "#/components/schemas/MemberElements"
              - $ref: "#/components/schemas/ProcessorAccountNumber"
      type: object
    PaymentAccount:
      properties:
        account_name:
          example: MX Bank Checking
        account_number:
          example: 6366816006
        account_type:
          example: CHECKING
        available_balance:
          example: 1000
        balance:
          example: 1000
        created_at:
          example: "2022-03-17T20:38:58Z"
        routing_number:
          example: 242722023
        transit_number:
          example: null
        updated_at:
          example: "2022-11-29T08:02:07Z"
    PaymentAccountBody:
      properties:
        payment_account:
          allOf:
            - $ref: "#/components/schemas/MemberElements"
            - $ref: "#/components/schemas/PaymentAccount"
      type: object
    ProcessorOwner:
      properties:
        guid:
          example: ACO-a06b74ec-6a58-4c0b-b437-8de5e03194ac
        owner_name:
          example: Janita Pollich
        address:
          example: 3541 Adrian Street
        city:
          example: North Kishaberg
        state:
          example: Maine
        postal_code:
          example: 45054-7764
        country:
          example: null
        email:
          example: janita.pollich823@beerpowlowski.ca
        phone:
          example: 676-932-5861
    ProcessorOwnerBody:
      properties:
        account_owners:
          items:
            allOf:
              - $ref: "#/components/schemas/MemberElements"
              - $ref: "#/components/schemas/ProcessorOwner"
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    MicrodepositResponse:
      properties:
        error_message:
          type: string
          nullable: true
          example: null
        guid:
          type: string
          example: MIC-09ba578e-8448-4f7f-89e1-b62ff2517edb
        institution_code:
          example: mxbank
          type: string
        institution_name:
          example: MX Bank
          type: string
        status:
          example: INITIATED
          type: string
        updated_at:
          example: "2023-06-01T19:18:06Z"
          type: string
        verified_at:
          example: null
          nullable: true
          type: string
      type: object
    MicrodepositsResponseBody:
      properties:
        micro_deposits:
          items:
            $ref: "#/components/schemas/MicrodepositResponse"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    MicrodepositElements:
      properties:
        account_name:
          example: My test account
          type: string
        account_number:
          example: "3331261"
          type: string
        account_type:
          example: CHECKING
          type: string
        email:
          example: joshyboy2@example.com
          type: string
        first_name:
          example: Joshy
          type: string
        last_name:
          example: Grobanne
          type: string
        routing_number:
          example: "091000019"
          type: string
      required:
        - account_number
        - account_type
        - routing_number
    MicrodepositRequestBody:
      properties:
        micro_deposit:
          $ref: "#/components/schemas/MicrodepositElements"
      type: object
    MicrodepositResponseBody:
      properties:
        micro_deposit:
          items:
            allOf:
              - $ref: "#/components/schemas/MicrodepositElements"
              - $ref: "#/components/schemas/MicrodepositResponse"
      type: object
    MicrodepositVerifyRequest:
      properties:
        deposit_amount_1:
          type: number
          example: 0.09
        deposit_amount_2:
          type: number
          example: 0.09
      type: object
    MicrodepositVerifyRequestBody:
      properties:
        micro_deposit:
          $ref: "#/components/schemas/MicrodepositVerifyRequest"
      type: object
    RewardElements:
      properties:
        balance_type:
          example: EXPIRING_BALANCE
          type: string
        balance:
          example: 102
          type: integer
        created_at:
          example: 2020-01-28T21:09:01+0000
          type: string
        description:
          example: A description of the reward.
          type: string
        expires_on:
          example: "2020-02-28"
          type: string
        guid:
          example: RWD-1234
          type: string
        unit_type:
          example: POINTS
          type: string
        updated_at:
          example: "2023-06-01T19:18:06Z"
          type: string
    RewardsResponseBody:
      properties:
        rewards:
          items:
            allOf:
              - $ref: "#/components/schemas/MemberElements"
              - $ref: "#/components/schemas/RewardElements"
          type: array
        pagination:
          $ref: "#/components/schemas/PaginationResponse"
      type: object
    RewardResponseBody:
      properties:
        reward:
          allOf:
            - $ref: "#/components/schemas/MemberElements"
            - $ref: "#/components/schemas/RewardElements"
      type: object
    CreditCardProduct:
      properties:
        annual_fee:
          example: 45
          type: number
        duration_of_introductory_rate_on_balance_transfer:
          example: null
          nullable: true
          type: integer
        duration_of_introductory_rate_on_purchases:
          example: null
          nullable: true
          type: integer
        guid:
          example: CCA-b5bcd822-6d01-4e23-b8d6-846a225e714a
          type: string
        has_cashback_rewards:
          example: false
          type: boolean
        has_other_rewards:
          example: true
          type: boolean
        has_travel_rewards:
          example: true
          type: boolean
        has_zero_introductory_annual_fee:
          example: true
          type: boolean
        has_zero_percent_introductory_rate:
          example: false
          type: boolean
        has_zero_percent_introductory_rate_on_balance_transfer:
          example: true
          type: boolean
        is_accepting_applicants:
          example: true
          type: boolean
        is_active_credit_card_product:
          example: true
          type: boolean
        is_small_business_card:
          example: true
          type: boolean
        name:
          example: Chase Credit Card
          type: string
    CreditCardProductResponse:
      properties:
        credit_card_product:
          $ref: "#/components/schemas/CreditCardProduct"
      type: object
    VCResponse:
      properties:
        verifiableCredential:
          example: feJgbGciOiJFZERTQSEsImtpFCI6ImRpZDpksHR6c4E6MTNkdzdqeWc0NGVqd2NkZjhpcWNzZWg3amN6NTF3ajZmanhib29qNDFpcGVnNzZlbyMwIiwidHlwIjoiSldUIn0.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSJdLCJpZCI6Imh0dHBzOi8vYXBpLnNhbmQuaW50ZXJuYWwubXgvdmMvdXNlcnMvVVNSLTNlYTdjYzMxLWVkZDYtNDQxNy05YjM1LWRlZTZlMjQ4NDI1Yi9tZW1iZXJzL01CUi1jYzUxNDViZi02M2Q5LTQ5OGYtODc3Mi1lNGVmMzI0MWNjYjYvYWNjb3VudHMiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRmluYW5jaWFsQWNjb3VudENyZWRlbnRpYWwiXSwiaXNzdWVyIjoiZGlkOmRodDpzYTcxM2R3N2p5ZzQ0ZWp3Y2RmOGlxY3NlaDdqY3o1MXdqNmZqeGJvb2o0MWlwZWc3NmVvIiwiaXNzdWFuY2VEYXRlIjoiMjAyNC0wMy0wMVQxODo0MjoxOVoiLCJjcmVkZW50aWFsU3ViamVjdCI6eyJhY2NvdW50cyI6W3sibG9jQWNjb3VudCI6eyJhY2NvdW52SWQiOeABQ1RtODRhMDEyNjgtNTdkMC00YTI4LWEwYzEtZTcyYWRyNDA5NbJkIiwiYWNjb3VudFR5cFUiOiJDUkVESVRDQVJEIiwiYWNjb3VudE51bWJlciI6IjM0OTcyNTM0NCIsImFjY291bnROdW1iZXJEaXNwbGF5IjoiKioqKjUzNDQiLCJwcm9kdWN0TmFtZSI6bnVsbCwibmlja25hbWUiOm51bGwsInN0YXR1cyI6Ik9QRU4iLCJhY2NvdW50T3BlbkRhdGUiOiIyMDIyLTA3LTExVDE1OjQwOjQwWiIsImFjY291bnRDbG9zZWREYXRlIjpudWxsLCJjdXJyZW5jeSI6eyJjdXJyZW5jeVJhdGUiOm51bGwsImN1cnJlbmN5Q29kZSI6bnVsbCwib3JpZ2luYWxDdXJyZW5jeUNvZGUiOm51bGx9LCJmaUF0dHJpYnV0ZXMiOlt7Im5hbWUiOiJtZW1iZXJfZ3VpZCIsInZhbHVlIjoiTUJSLWNjNTE0NWJmLTYzZDktNDk4Zi04NzcyLWU0ZWYzMjQxY2NiNiJ9LHsibmFtZSI6Imluc3RpdHV0aW9uX2d1aWQiLCJ2YWx1ZSI6IklOUy1mMWEzMjg1ZC1lODU1LWI2OGYtNmFhNy04YWU3NzVjMGUwZTkifSx7Im5hbWUiOiJleHRlcm5hbF9ndWlkIiwidmFsdWUiOiJhY2NvdW50LWY3ZTg3ZWZmLTA2YzAtNDZhMS1iODAwLTUxOTI3ODM2MjFhOSJ9XSwicm91dGluZ1RyYW5zaXROdW1iZXIiOm51bGwsImJhbGFuY2VUeXBlIjoiTElBQklMSVRZIiwiaW50ZXJlc3RSYXRlIjpudWxsLCJsYXN0QWN0aXZpdHlEYXRlIjoiMjAyMi0wNy0xMVQxNTo0MDo0MFoiLCJiYWxhbmNlQXNPZiI6IjIwMjItMDctMTFUMTU6NDA6NDBaIiwiY3JlZGl0TGluZSI6bnVsbCwiYXZhaWxhYmxlQ3JlZGl0IjoxMzAwMC4wLCJuZXh0UGF5bWVudERhdGUiOm51bGwsInByaW5jaXBhbEJhbGFuY2UiOm51bGwsImN1cnJlbnRCYWxhbmNlIjoxMDAwLjAsIm1pbmltdW1QYXltZW50QW1vdW50IjpudWxsLCJwdXJjaGFzZXNBcHIiOm51bGx9fSx7ImRlcG9zaXRBY2NvdW50Ijp7ImFjY291bnRJZCI6IkFDVC05NmYzMGQ2Ny0xZTA1LTRhNGItOWZkNS01NzFlYmUzZGU5NWMiLCJhY2NvdW50VHlwZSI6IkNIRUNLSU5HIiwiYWNjb3VudE51bWJlciI6Ijg0NTUzNTE2MSIsImFjY291bnROdW1iZXJEaXNwbGF5IjoiKioqKjUxNjEiLCJwcm9kdWN0TmFtZSI6bnVsbCwibmlja25hbWUiOm51bGwsInN0YXR1cyI6Ik9QRU4iLCJhY2NvdW50T3BlbkRhdGUiOiIyMDIyLTA3LTExVDE1OjQwOjQwWiIsImFjY291bnRDbG9zZWREYXRlIjpudWxsLCJjdXJyZW5jeSI6eyJjdXJyZW5jeVJhdGUiOm51bGwsImN1cnJlbmN5Q29kZSI6bnVsbCwib3JpZ2luYWxDdXJyZW5jeUNvZGUiOm51bGx9LCJmaUF0dHJpYnV0ZXMiOlt7Im5hbWUiOiJtZW1iZXJfZ3VpZCIsInZhbHVlIjoiTUJSLWNjNTE0NWJmLTYzZDktNDk4Zi04NzcyLWU0ZWYzMjQxY2NiNiJ9LHsibmFtZSI6Imluc3RpdHV0aW9uX2d1aWQiLCJ2YWx1ZSI6IklOUy1mMWEzMjg1ZC1lODU1LWI2OGYtNmFhNy04YWU3NzVjMGUwZTkifSx7Im5hbWUiOiJleHRlcm5hbF9ndWlkIiwidmFsdWUiOiJhY2NvdW50LWM2ZTc2MjQ0LTg4NjAtNDY0OS05ZDg1LTY1MGQzYWY5ZmViZSJ9XSwicm91dGluZ1RyYW5zaXROdW1iZXIiOm51bGwsImJhbGFuY2VUeXBlIjoiQVNTRVQiLCJpbnRlcmVzdFJhdGUiOm51bGwsImxhc3RBY3Rpdml0eURhdGUiOiIyMDIyLTA3LTExVDE1OjQwOjQwWiIsImJhbGFuY2VBc09mIjoiMjAyMi0wNy0xMVQxNTo0MDo0MFoiLCJjdXJyZW50QmFsYW5jZSI6MTAwMC4wLCJvcGVuaW5nRGF5QmFsYW5jZSI6bnVsbCwiYXZhaWxhYmxlQmFsYW5jZSI6MTAwMC4wLCJhbm51YWxQZXJjZW50YWdlWWllbGQiOm51bGwsIm1hdHVyaXR5RGF0ZSI6bnVsbH19LHsiZGVwb3NpdEFjY291bnQiOnsiYWNjb3VudElkIjoiQUNULWI4MjZlNGMyLTZkNjktNDVkNy1hMTM5LWJlNTY0NDFkNmE1OCIsImFjY291bnRUeXBlIjoiU0FWSU5HUyIsImFjY291bnROdW1iZXIiOiI1OTE4NzE2NjgiLCJhY2NvdW50TnVtYmVyRGlzcGxheSI6IioqKioxNjY4IiwicHJvZHVjdE5hbWUiOm51bGwsIm5pY2tuYW1lIjpudWxsLCJzdGF0dXMiOiJPUEVOIiwiYWNjb3VudE9wZW5EYXRlIjoiMjAyMi0wNy0xMVQxNTo0MDo0MFoiLCJhY2NvdW50Q2xvc2VkRGF0ZSI6bnVsbCwiY3VycmVuY3kiOnsiY3VycmVuY3lSYXRlIjpudWxsLCJjdXJyZW5jeUNvZGUiOm51bGwsIm9yaWdpbmFsQ3VycmVuY3lDb2RlIjpudWxsfSwiZmlBdHRyaWJ1dGVzIjpbeyJuYW1lIjoibWVtYmVyX2d1aWQiLCJ2YWx1ZSI6Ik1CUi1jYzUxNDViZi02M2Q5LTQ5OGYtODc3Mi1lNGVmMzI0MWNjYjYifSx7Im5hbWUiOiJpbnN0aXR1dGlvbl9ndWlkIiwidmFsdWUiOiJJTlMtZjFhMzI4NWQtZTg1NS1iNjhmLTZhYTctOGFlNzc1YzBlMGU5In0seyJuYW1lIjoiZXh0ZXJuYWxfZ3VpZCIsInZhbHVlIjoiYWNjb3VudC1kOTIyNTA4OC1hOTM2LTRkNjctOGQyYy0wY2EyYzgwOGYxMTYifV0sInJvdXRpbmdUcmFuc2l0TnVtYmVyIjpudWxsLCJiYWxhbmNlVHlwZSI6IkFTU0VUIiwiaW50ZXJlc3RSYXRlIjpudWxsLCJsYXN0QWN0aXZpdHlEYXRlIjoiMjAyMi0wNy0xMVQxNTo0MDo0MFoiLCJiYWxhbmNlQXNPZiI6IjIwMjItMDctMTFUMTU6NDA6NDBaIiwiY3VycmVudEJhbGFuY2UiOjEwMDAuMCwib3BlbmluZ0RheUJhbGFuY2UiOm51bGwsImF2YWlsYWJsZUJhbGFuY2UiOjEwMDAuMCwiYW5udWFsUGVyY2VudGFnZVlpZWxkIjpudWxsLCJtYXR1cml0eURhdGUiOm51bGx9fV0sImlkIjoiVVNSLTNlYTdjYzMxLWVkZDYtNDQxNy05YjM1LWRlZTZlMjQ4NDI1YiJ9fSwiaXNzIjoiZGlkOmRodDpzYTcxM2R3N2p5ZzQ0ZWp3Y2RmOGlxY3NlaDdqY3o1MXdqNmZqeGJvb2o0MWlwZWc3NmVvIiwiaWF0IjoxNzA5MzE4NTM5LCJqdGkiOiJodHRwczovL2FwaS5zYW5kLmludGVybmFsLm14L3ZjL3VzZXJzL1VTUi0zZWE3Y2MzMS1lZGQ2LTQ0MTctOWIzNS1kZWU2ZTI0ODQyNWIvbWVtYmVycy9NQlItY2M1MTQ1YmYtNjNkOS00OThmLTg3NzItZTRlZjMyNDFjY2I2L2FjY291bnRzIiwic3ViIjoiVVNSLTNlYTdjYzMxLWVkZDYtNDQxNy05YjM1LWRlZTZlMjQ4NDI1YiJ9._CiFkwbuhKxwwIehEQ1opsi-9NSoIwDqD2HFMw1ROKNuJPdepTXFEd_RDFbbg7lFj05vBXPUL7y9eVVgZXTvDw
          type: string
      type: object
  parameters:
    achReturnGuid:
      name: ach_return_guid
      description: The unique identifier (`guid`) for the ACH return. Defined by MX.
      required: true
      in: path
      schema:
        type: string
    institutionGuid:
      description: The identifier for the institution associated with the ACH return.
        Defined by MX.
      in: query
      name: institution_guid
      required: false
      schema:
        type: string
    returnedAt:
      description: The date and time when the return was reported by the Receiving
        Financial Depository Institution (RDFI) in ISO 8601 format without
        timestamp.
      example: "2025-02-13T18:09:00+00:00"
      in: query
      name: returned_at
      required: false
      schema:
        type: string
    resolvedStatusAt:
      description: The date and time when the return was resolved by the Receiving
        Financial Depository Institution (RDFI) in ISO 8601 format without
        timestamp
      example: "2025-02-13T18:09:00+00:00"
      in: query
      name: resolved_status_at
      required: false
      schema:
        type: string
    returnCode:
      description: The associated ACH return code and notice of change code. See
        [Return
        Codes](/api-reference/platform-api/v20111101/reference/ach-returns#return-codes)
        for a complete list.
      in: query
      name: return_code
      required: false
      schema:
        type: string
    returnStatus:
      description: The status of the return. See [Return
        Statuses](/api-reference/platform-api/v20111101/reference/ach-returns#return-status)
        for a complete list.
      example: SUBMITTED
      in: query
      name: return_status
      required: false
      schema:
        type: string
    page:
      description: Results are paginated. Specify current page.
      example: 1
      in: query
      name: page
      schema:
        type: integer
    recordsPerPage:
      description: This specifies the number of records to be returned on each page.
        Defaults to `25`. The valid range is from `10` to `100`. If the value
        exceeds `100`, the default value of `25` will be used instead.
      example: 10
      in: query
      name: records_per_page
      schema:
        type: integer
    categoryGuid:
      name: category_guid
      description: The unique id for a `category`.
      in: path
      required: true
      schema:
        type: string
        example: CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874
    institutionName:
      description: This will list only institutions in which the appended string appears.
      example: mxbank
      in: query
      name: name
      schema:
        type: string
    isoCountryCode:
      description: An array of strings that filters institutions in the widget by the
        specified country code. Acceptable codes include `US`, `CA`, and `MX`
        (Mexico).
      required: false
      in: query
      name: iso_country_code
      example:
        - US
        - CA
      schema:
        type: array
        items:
          type: string
    recordsPerPageMax1000:
      description: This specifies the number of records to be returned on each page.
        Defaults to `25`. The valid range is from `10` to `1000`. If the value
        exceeds `1000`, the default value of `25` will be used instead.
      example: 10
      in: query
      name: records_per_page
      schema:
        type: integer
    supportsAccountIdentification:
      description: Filter only institutions which support account identification.
      example: true
      in: query
      name: supports_account_identification
      schema:
        type: boolean
    supportsAccountStatement:
      description: Filter only institutions which support account statements.
      example: true
      in: query
      name: supports_account_statement
      schema:
        type: boolean
    supportsAccountVerification:
      description: Filter only institutions which support account verification.
      example: true
      in: query
      name: supports_account_verification
      schema:
        type: boolean
    supportsTransactionHistory:
      description: Filter only institutions which support extended transaction history.
      example: true
      in: query
      name: supports_transaction_history
      schema:
        type: boolean
    institutionCode:
      description: The institution_code of the institution.
      example: mxbank
      in: path
      name: institution_code
      required: true
      schema:
        type: string
    merchantLocationGuid:
      description: The unique id for a `merchant_location`.
      example: MCH-09466f0a-fb58-9d1a-bae2-2af0afbea621
      in: path
      name: merchant_location_guid
      required: true
      schema:
        type: string
    merchantName:
      description: This will list only merchants in which the appended string appears.
      example: Comcast
      in: query
      name: name
      schema:
        type: string
    merchantGuid:
      description: The unique id for a `merchant`.
      example: MCH-7ed79542-884d-2b1b-dd74-501c5cc9d25b
      in: path
      name: merchant_guid
      required: true
      schema:
        type: string
    userId:
      description: The user `id` to search for.
      example: u-12324-abdc
      in: query
      name: id
      schema:
        type: string
    userEmail:
      description: The user `email` to search for.
      example: example@example.com
      in: query
      name: email
      schema:
        type: string
    userIsDisabled:
      description: Search for users that are disabled.
      example: true
      in: query
      name: is_disabled
      schema:
        type: boolean
    userGuid:
      description: The unique identifier for a `user`, beginning with the prefix `USR-`.
      example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
      in: path
      name: user_guid
      required: true
      schema:
        type: string
    acceptHeader:
      description: Specifies the media type expected in the response.
      in: header
      name: Accept
      required: true
      schema:
        type: string
        example: application/vnd.mx.api.v1+json
    memberIsManagedByUser:
      description: List only accounts whose member is managed by the user.
      example: true
      in: query
      name: member_is_managed_by_user
      schema:
        type: boolean
    accountIsManual:
      description: List only accounts that were manually created.
      example: true
      in: query
      name: is_manual
      schema:
        type: boolean
    useCase:
      description: The use case associated with the member. Valid values are `PFM` and
        `MONEY_MOVEMENT`. For example, you can append either `?use_case=PFM` or
        `?use_case=MONEY_MOVEMENT`.
      example: MONEY_MOVEMENT
      required: false
      in: query
      name: use_case
      schema:
        type: string
    accountGuid:
      description: The unique id for an `account`.
      example: ACT-06d7f44b-caae-0f6e-1384-01f52e75dcb1
      in: path
      name: account_guid
      required: true
      schema:
        type: string
    fromDate:
      description: Filter transactions from this date. This only supports ISO 8601
        format without timestamp (YYYY-MM-DD). Defaults to 120 days ago if not
        provided.
      example: "2024-01-01"
      in: query
      name: from_date
      schema:
        type: string
    toDate:
      description: Filter transactions to this date (at midnight). This only supports
        ISO 8601 format without timestamp (YYYY-MM-DD). Defaults to 5 days
        forward from the day the request is made to capture pending
        transactions.
      example: "2024-03-31"
      in: query
      name: to_date
      schema:
        type: string
    fromCreatedAt:
      name: from_created_at
      in: query
      description: Filter transactions from the date the transaction was created. This
        only supports ISO 8601 format without timestamp (YYYY-MM-DD). Maximum
        date range limit is 6 months.
      example: "2024-01-01"
      schema:
        type: string
    toCreatedAt:
      name: to_created_at
      description: Filter transaction to the date in which the transaction was
        created. This only supports ISO 8601 format without timestamp
        (YYYY-MM-DD). Maximum date range limit is 6 months.
      example: "2024-03-31"
      in: query
      schema:
        type: string
    fromUpdatedAt:
      name: from_updated_at
      description: Filter transactions from the date in which the transaction was
        updated. This only supports ISO 8601 format without timestamp
        (YYYY-MM-DD). Maximum date range limit is 6 months.
      example: "2024-01-01"
      in: query
      schema:
        type: string
    toUpdatedAt:
      name: to_updated_at
      description: Filter transactions to the date in which the transaction was
        updated. This only supports ISO 8601 format without timestamp
        (YYYY-MM-DD). Maximum date range limit is 6 months.
      example: "2024-03-31"
      in: query
      schema:
        type: string
    categoryGuidQuery:
      name: category_guid
      description: |-
        Filter transactions belonging to specified `category_guid`.

        For example, `?category_guid=CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874`.
      in: query
      schema:
        type: string
    categoryGuidQueryArray:
      name: category_guid[]
      description: |-
        Filter transactions belonging to any specified `category_guid[]` in url.

        For example, `?category_guid[]=CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874`.
      in: query
      schema:
        type: array
        items:
          type: string
    topLevelCategoryGuid:
      name: top_level_category_guid
      description: |-
        Filter transactions belonging to specified `top_level_category_guid`. This must be top level category guid, use `category_guid` for subcategory guid.

        For example, `?top_level_category_guid=CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874`.
      in: query
      schema:
        type: string
    topLevelCategoryGuidArray:
      name: top_level_category_guid[]
      description: |-
        Filter transactions belonging to any specified `top_level_category_guid[]` in url. This must be top level category guid(s), use `category_guid` for subcategory guid(s).

        For example, `?top_level_category_guid[]=CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874`.
      in: query
      schema:
        type: array
        items:
          type: string
    includes:
      description: |
        Options for enhanced transactions. This query parameter is optional. Possible additional metadata: `repeating_transactions`, `merchants`, `classifications`, `geolocations`. The query value is format sensitive. To retrieve all available enhancements, append:

        `?includes=repeating_transactions,merchants,classifications,geolocations`. 
         
        The query options may be combined to specific enhancements. For example, to request Repeating Transactions and Geolocation data, use: 

        `?includes=repeating_transactions,geolocations`.

        - Repeating Transactions: Identifies transactions with predictable recurrence patterns (e.g., Bill, Income, Subscription).
        - Merchants: Enriches transactions with merchant name.
        - Classifications: Provides more insight into the type of money movement that is occurring on the transaction, whether it be retail or investments.
        - Geolocation: Provides geographic metadata.
      example: repeating_transactions,merchants,classifications,geolocations
      in: query
      name: includes
      required: false
      schema:
        type: string
    insightGuid:
      description: The unique identifier for the insight. Defined by MX.
      example: BET-1234-abcd
      in: path
      name: insight_guid
      required: true
      schema:
        type: string
    insightIncludes:
      name: includes
      description: |-
        Opt in to receiving additional data on insights. Pass
        `?includes=localization_payload` to populate the
        `localization_payload` object on each insight.

        - When included, insights with a supported template return
          `localization_payload` with `is_enabled: true` and the
          template-specific fields populated. Unsupported templates
          return `localization_payload` with `is_enabled: false`.
        - If the parameter is omitted entirely, the `localization_payload` key is not included in the response at all (it is absent, not `null`).
        - Currently supported templates: `BillAmountNotStandard`,
          `MonthlySubscriptionAggregateV2`, `SubscriptionPriceIncrease`.
          This list may grow as more templates are enabled.
      in: query
      required: false
      example: localization_payload
      schema:
        type: string
    memberGuid:
      description: The unique id for a `member`.
      example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
      in: path
      name: member_guid
      required: true
      schema:
        type: string
    transactionGuid:
      description: The unique id for a `transaction`.
      example: TRN-810828b0-5210-4878-9bd3-f4ce514f90c4
      in: path
      name: transaction_guid
      required: true
      schema:
        type: string
    xCallback:
      description: The base64 encoded string defined in this header will be returned
        in the [Member](/resources/webhooks/member/) and [Member Data
        Updated](/resources/webhooks/member#member-data-updated) webhooks. This
        allows you to trace user interactions and workflows initiated externally
        and internally in the MX Platform. Max 1024 characters.
      example: 813e50bd-4a7e-4517-b6bb-9eef65a68cbd
      in: header
      name: X-CALLBACK-PAYLOAD
      schema:
        type: string
    include_holdings:
      description: When set to `false`, the aggregation will not gather holdings data.
        Defaults to `true`.
      example: false
      in: query
      name: include_holdings
      required: false
      schema:
        type: boolean
    include_transactions:
      description: When set to `false`, the aggregation will not gather transactions
        data. Defaults to `true`.
      example: true
      in: query
      name: include_transactions
      required: false
      schema:
        type: boolean
    holdingGuid:
      description: The unique id for a `holding`.
      example: HOL-d65683e8-9eab-26bb-bcfd-ced159c9abe2
      in: path
      name: holding_guid
      required: true
      schema:
        type: string
    clientRedirectUrl:
      description: A URL that MX will redirect to at the end of OAuth with additional
        query parameters. Only available with `referral_source=APP`.
      example: https://{yoursite.com}
      in: query
      name: client_redirect_url
      schema:
        type: string
    enableApp2app:
      description: This indicates whether OAuth app2app behavior is enabled for
        institutions that support it. Defaults to `true`. When set to `false`,
        any `oauth_window_uri` generated will **not** direct the end user to the
        institution's mobile application. This setting is not persistent. This
        setting currently only affects Chase institutions.
      example: "false"
      in: query
      name: enable_app2app
      schema:
        type: string
    referralSource:
      description: Must be either `BROWSER` or `APP` depending on the implementation.
        Defaults to `BROWSER`.
      example: APP
      in: query
      name: referral_source
      schema:
        type: string
    skipAggregation:
      description: Setting this parameter to `true` will prevent the member from
        automatically aggregating after being redirected from the authorization
        page.
      example: false
      in: query
      name: skip_aggregation
      schema:
        type: boolean
    uiMessageWebviewUrlScheme:
      description: A scheme for routing the user back to the application state they
        were previously in. Only available with `referral_source=APP`.
      in: query
      name: ui_message_webview_url_scheme
      schema:
        type: string
    statementGuid:
      description: The unique id for a `statement`.
      example: STA-737a344b-caae-0f6e-1384-01f52e75dcb1
      in: path
      name: statement_guid
      required: true
      schema:
        type: string
    spendingPlanGuid:
      description: The unique ID for the `spending_plan`.
      example: SPL-e5f9a5bd-c5b3-4901-bdc0-62119b9db262
      in: path
      name: spending_plan_guid
      required: true
      schema:
        type: string
    spendingPlanAccountGuid:
      description: The unique ID for the specified account.
      example: ACT-e9f80fee-84da-7s7r-9a5e-0346g4279b4c
      in: path
      name: spending_plan_account_guid
      required: true
      schema:
        type: string
    iterationItemGuid:
      description: The unique ID for the `iteration_item`.
      example: SII-a4dc1549-da28-1245-9c9c-53eee4cdfbe3
      in: path
      name: iteration_item_guid
      required: true
      schema:
        type: string
    iterationNumber:
      description: The current iteration number for the spending plan `iteration`.
      example: 1
      in: path
      name: iteration_number
      required: true
      schema:
        type: integer
    taggingGuid:
      description: The unique id for a `tagging`.
      example: TGN-007f5486-17e1-45fc-8b87-8f03984430fe
      in: path
      name: tagging_guid
      required: true
      schema:
        type: string
    tagGuid:
      description: The unique id for a `tag`.
      example: TAG-aef36e72-6294-4c38-844d-e573e80aed52
      in: path
      name: tag_guid
      required: true
      schema:
        type: string
    transactionRuleGuid:
      description: The unique id for a `transaction_rule`.
      example: TXR-a080e0f9-a2d4-4d6f-9e03-672cc357a4d3
      in: path
      name: transaction_rule_guid
      required: true
      schema:
        type: string
    acceptLanguage:
      description: The desired language of the widget, `member.error.user_message` field, and `member.error.error_message` field.
      example: en-US
      in: header
      name: Accept-Language
      schema:
        type: string
    budgetGuid:
      name: budget_guid
      description: The unique identifier for the budget. Defined by MX.
      required: true
      in: path
      schema:
        type: string
    goalGuid:
      name: goal_guid
      description: The unique identifier for a goal. Defined by MX.
      required: true
      in: path
      schema:
        type: string
    content:
      name: content
      description: The information related to the notification.
      required: true
      in: query
      schema:
        type: string
    subject:
      name: subject
      description: The subject related to the notification.
      required: true
      in: query
      schema:
        type: string
    notificationGuid:
      name: notification_guid
      description: The unique identifier for notifications. Defined by MX.
      example: NTF-b53294f5-2356-4782-9f81-ae064c42b40a
      in: path
      required: true
      schema:
        type: string
    repeatingTransactionGuid:
      description: The unique id for a recurring transaction.
      example: TRN-810828b0-5210-4878-9bd3-f4ce514f90c4
      in: path
      name: repeating_transaction_guid
      required: true
      schema:
        type: string
    microDepositGuid:
      name: micro_deposit_guid
      description: The unique identifier for the microdeposit. Defined by MX.
      in: path
      required: true
      example: MIC-09ba578e-8448-4f7f-89e1-b62ff2517edb
      schema:
        type: string
    rewardGuid:
      description: The unique identifier for the rewards. Defined by MX.
      example: RWD-fa7537f3-48aa-a683-a02a-b324322f54
      in: path
      name: reward_guid
      required: true
      schema:
        type: string
    creditCardProductGuid:
      description: The required `credit_card_product_guid` can be found on the
        `account` object.
      example: credit_card_product_guid
      in: path
      name: credit_card_product_guid
      required: true
      schema:
        type: string
    startTime:
      description: Filter transactions from this date. Must be in the format
        YYYY-MM-DD. The range is limited to 1 year.
      example: "2015-09-20"
      in: query
      name: startTime
      schema:
        type: string
    endTime:
      description: Filter transactions to this date. Must be in the format YYYY-MM-DD.
        The range is limited to 1 year.
      example: "2015-09-20"
      in: query
      name: endTime
      schema:
        type: string
