Mesh Managed Account Authentication API

The recommended approach for account authentication. Front manages multiple authentication flows and handles all authentication steps such as MFA codes and OAuth redirect through our web and mobile SDKs.

Operations 7

GET /api/v1/cataloglink Get catalog link
POST /api/v1/cataloglink Get catalog link with parameters
POST /api/v1/linktoken Get Link token with parameters
POST /api/v1/token/refresh Refresh auth token
DELETE /api/v1/account Remove connection
GET /api/v1/status Get health status
GET /api/v1/integrations Retrieve the list of all available integrations.

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/mesh-managed-account-authentication-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

Free tier, no email required.

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

OpenAPI Specification

mesh-managed-account-authentication-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Mesh Connect Integration Assets Managed Account Authentication API
  description: '

    Mesh allows users to connect accounts of financial institutions,

    crypto exchanges, and self-custody wallets. Mesh handles credential

    validation, MFA, and error handling for each integration. After

    an account is connected, Mesh allows client applications to read holdings,

    transaction history and balances and execute crypto transfers (with user approval).'
  version: '1.0'
servers:
- url: https://integration-api.meshconnect.com
security:
- Client-Secret: []
  Client-Id: []
tags:
- name: Managed Account Authentication
  description: The recommended approach for account authentication. Front manages multiple authentication flows and handles all authentication steps such as MFA codes and OAuth redirect through our web and mobile SDKs.
paths:
  /api/v1/cataloglink:
    get:
      tags:
      - Managed Account Authentication
      summary: Get catalog link
      description: Get personalized catalog link for client
      parameters:
      - name: UserId
        in: query
        description: 'A unique Id representing the end user. Typically this will be a user Id from the

          client application. Personally identifiable information, such as an email address or phone number,

          should not be used. 50 characters length maximum.'
        required: true
        schema:
          maxLength: 50
          type: string
      - name: BrokerType
        in: query
        description: 'Type of integration to redirect to. Will redirect to catalog if not provided.

          Not supported types: DeFiWallet, CryptocurrencyAddress, CryptocurrencyWallet.'
        schema:
          allOf:
          - $ref: '#/components/schemas/BrokerType'
      - name: EnableTransfers
        in: query
        description: 'Link Configuration identifier - an optional paramater for used configuration.

          If not provided default configuration with all avaialbe integrations will be used.'
        schema:
          type: boolean
      - name: RestrictMultipleAccounts
        in: query
        description: 'The final screen of Link allows users to “continue” back to your app or “Link another account.”

          If this param is present then this button will be hidden.'
        schema:
          type: boolean
      responses:
        '200':
          description: Catalog link created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogLinkApiResult'
              example:
                content:
                  url: https://web.meshconnect.com/broker-connect?auth_code={authCode}
                  iFrameUrl: https://web.meshconnect.com/b2b-iframe/{clientId}/broker-connect?auth_code={authCode}
                status: ok
                message: ''
                errorType: ''
        '404':
          description: API Client not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResult'
              example:
                status: notFound
                message: Error message
                displayMessage: Optional display message
                errorType: missingField
        '400':
          description: 'BadRequest can happen in following cases:

            <list type="number"><item><description>userId parameter not specified</description></item><item><description>Callback url parameter is invalid</description></item><item><description>Client does not have callback url specified</description></item></list>'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResult'
              example:
                status: badRequest
                message: Error message
                displayMessage: Optional display message
                errorType: missingField
        '401':
          description: 'Unauthorized: Client Id or Client Secret are not correct or missing.'
          content:
            application/json:
              schema: {}
      deprecated: true
    post:
      tags:
      - Managed Account Authentication
      summary: Get catalog link with parameters
      description: Get personalized catalog link for client supplying parameters for Link actions, such as transfers
      parameters:
      - name: UserId
        in: query
        description: 'A unique Id representing the end user. Typically this will be a user Id from the

          client application. Personally identifiable information, such as an email address or phone number,

          should not be used. 50 characters length maximum.'
        required: true
        schema:
          maxLength: 50
          type: string
      - name: BrokerType
        in: query
        description: 'Type of integration to redirect to. Will redirect to catalog if not provided.

          Not supported types: DeFiWallet, CryptocurrencyAddress, CryptocurrencyWallet.'
        schema:
          allOf:
          - $ref: '#/components/schemas/BrokerType'
      - name: EnableTransfers
        in: query
        description: 'Link Configuration identifier - an optional paramater for used configuration.

          If not provided default configuration with all avaialbe integrations will be used.'
        schema:
          type: boolean
      - name: RestrictMultipleAccounts
        in: query
        description: 'The final screen of Link allows users to “continue” back to your app or “Link another account.”

          If this param is present then this button will be hidden.'
        schema:
          type: boolean
      requestBody:
        description: Data to execute transfer.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/InitializeTransfersForLinkRequest'
            example:
              toAddresses:
              - networkId: e3c7fdd8-b1fc-4e51-85ae-bb276e075611
                symbol: ETH
                address: '0x00000000000000000000000'
              - networkId: e3c7fdd8-b1fc-4e51-85ae-bb276e075611
                symbol: USDC
                address: '0x00000000000000000000000'
              - networkId: 7436e9d0-ba42-4d2b-b4c0-8e4e606b2c12
                symbol: MATIC
                address: '0x00000000000000000000000'
              - networkId: 7436e9d0-ba42-4d2b-b4c0-8e4e606b2c12
                symbol: USDC
                address: '0x00000000000000000000000'
              clientFee: 0
              isCustomClientFeeProvided: false
              isInclusiveFeeEnabled: false
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/InitializeTransfersForLinkRequest'
            example:
              toAddresses:
              - networkId: e3c7fdd8-b1fc-4e51-85ae-bb276e075611
                symbol: ETH
                address: '0x00000000000000000000000'
              - networkId: e3c7fdd8-b1fc-4e51-85ae-bb276e075611
                symbol: USDC
                address: '0x00000000000000000000000'
              - networkId: 7436e9d0-ba42-4d2b-b4c0-8e4e606b2c12
                symbol: MATIC
                address: '0x00000000000000000000000'
              - networkId: 7436e9d0-ba42-4d2b-b4c0-8e4e606b2c12
                symbol: USDC
                address: '0x00000000000000000000000'
              clientFee: 0
              isCustomClientFeeProvided: false
              isInclusiveFeeEnabled: false
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/InitializeTransfersForLinkRequest'
            example:
              toAddresses:
              - networkId: e3c7fdd8-b1fc-4e51-85ae-bb276e075611
                symbol: ETH
                address: '0x00000000000000000000000'
              - networkId: e3c7fdd8-b1fc-4e51-85ae-bb276e075611
                symbol: USDC
                address: '0x00000000000000000000000'
              - networkId: 7436e9d0-ba42-4d2b-b4c0-8e4e606b2c12
                symbol: MATIC
                address: '0x00000000000000000000000'
              - networkId: 7436e9d0-ba42-4d2b-b4c0-8e4e606b2c12
                symbol: USDC
                address: '0x00000000000000000000000'
              clientFee: 0
              isCustomClientFeeProvided: false
              isInclusiveFeeEnabled: false
      responses:
        '200':
          description: Catalog link created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogLinkApiResult'
              example:
                content:
                  url: https://web.meshconnect.com/broker-connect?auth_code={authCode}
                  iFrameUrl: https://web.meshconnect.com/b2b-iframe/{clientId}/broker-connect?auth_code={authCode}
                status: ok
                message: ''
                errorType: ''
        '404':
          description: API Client not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResult'
              example:
                status: notFound
                message: Error message
                displayMessage: Optional display message
                errorType: missingField
        '400':
          description: 'BadRequest can happen in following cases:

            <list type="number"><item><description>userId parameter not specified</description></item><item><description>Callback url parameter is invalid</description></item><item><description>Client does not have callback url specified</description></item></list>'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResult'
              example:
                status: badRequest
                message: Error message
                displayMessage: Optional display message
                errorType: missingField
        '401':
          description: 'Unauthorized: Client Id or Client Secret are not correct or missing.'
          content:
            application/json:
              schema: {}
      deprecated: true
  /api/v1/linktoken:
    post:
      tags:
      - Managed Account Authentication
      summary: Get Link token with parameters
      description: Get a short lived, one-time use token for initializing a Link session using the client-side SDKs
      requestBody:
        description: Create Link token request.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/GetLinkTokenRequest'
            example:
              userId: UserId
              configurationId: 18a20b11-e47f-43b9-8546-94284e9ee547
              restrictMultipleAccounts: true
              transferOptions:
                toAddresses:
                - networkId: e3c7fdd8-b1fc-4e51-85ae-bb276e075611
                  symbol: ETH
                  address: '0x00000000000000000000000'
                - networkId: e3c7fdd8-b1fc-4e51-85ae-bb276e075611
                  symbol: USDC
                  address: '0x00000000000000000000000'
                - networkId: 7436e9d0-ba42-4d2b-b4c0-8e4e606b2c12
                  symbol: MATIC
                  address: '0x00000000000000000000000'
                - networkId: 7436e9d0-ba42-4d2b-b4c0-8e4e606b2c12
                  symbol: USDC
                  address: '0x00000000000000000000000'
                amountInFiat: 10
                isInclusiveFeeEnabled: false
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/GetLinkTokenRequest'
            example:
              userId: UserId
              configurationId: 18a20b11-e47f-43b9-8546-94284e9ee547
              restrictMultipleAccounts: true
              transferOptions:
                toAddresses:
                - networkId: e3c7fdd8-b1fc-4e51-85ae-bb276e075611
                  symbol: ETH
                  address: '0x00000000000000000000000'
                - networkId: e3c7fdd8-b1fc-4e51-85ae-bb276e075611
                  symbol: USDC
                  address: '0x00000000000000000000000'
                - networkId: 7436e9d0-ba42-4d2b-b4c0-8e4e606b2c12
                  symbol: MATIC
                  address: '0x00000000000000000000000'
                - networkId: 7436e9d0-ba42-4d2b-b4c0-8e4e606b2c12
                  symbol: USDC
                  address: '0x00000000000000000000000'
                amountInFiat: 10
                isInclusiveFeeEnabled: false
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/GetLinkTokenRequest'
            example:
              userId: UserId
              configurationId: 18a20b11-e47f-43b9-8546-94284e9ee547
              restrictMultipleAccounts: true
              transferOptions:
                toAddresses:
                - networkId: e3c7fdd8-b1fc-4e51-85ae-bb276e075611
                  symbol: ETH
                  address: '0x00000000000000000000000'
                - networkId: e3c7fdd8-b1fc-4e51-85ae-bb276e075611
                  symbol: USDC
                  address: '0x00000000000000000000000'
                - networkId: 7436e9d0-ba42-4d2b-b4c0-8e4e606b2c12
                  symbol: MATIC
                  address: '0x00000000000000000000000'
                - networkId: 7436e9d0-ba42-4d2b-b4c0-8e4e606b2c12
                  symbol: USDC
                  address: '0x00000000000000000000000'
                amountInFiat: 10
                isInclusiveFeeEnabled: false
      responses:
        '200':
          description: Link token created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkTokenModelApiResult'
              example:
                content:
                  linkToken: aHR0cHM6Ly93ZWIuZ2V0ZnJvbnQuY29tL2IyYi1pZnJhbWUve2NsaWVudElkfS9icm9rZXItY29ubmVjdD9hdXRoX2NvZGU9e2F1dGhDb2RlfQ==
                status: ok
                message: ''
                errorType: ''
        '404':
          description: API Client not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResult'
              example:
                status: notFound
                message: Error message
                displayMessage: Optional display message
                errorType: missingField
        '400':
          description: 'BadRequest can happen in following cases:

            <list type="number"><item><description>userId parameter not specified</description></item></list>'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResult'
              example:
                status: badRequest
                message: Error message
                displayMessage: Optional display message
                errorType: missingField
        '401':
          description: 'Unauthorized: Client Id or Client Secret are not correct or missing.'
          content:
            application/json:
              schema: {}
  /api/v1/token/refresh:
    post:
      tags:
      - Managed Account Authentication
      summary: Refresh auth token
      description: "Refresh auth token of the connected institution.\nSome institutions do not require tokens to be refreshed.\n            \nThe following institutions require custom flows:\n            \nWeBull: AuthToken should be provided along with the RefreshToken\n            \nVanguard: security settings may activate MFA, requiring user action.\nIf MFA is triggered, a second refresh request should be sent.\nSecond request should contain MFA code and access token obtained from initial response.\n            \nBitfinex Direct: Expired Access Token is used as Refresh token. Use this endpoint to\ntrade it for a new one"
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/BrokerRefreshTokenRequest'
            example:
              refreshToken: Secret refresh token
              type: coinbase
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/B2BBrokerRefreshTokenResponseApiResult'
              example:
                content:
                  status: succeeded
                  expiresInSeconds: 86400
                  brokerAccountTokens:
                  - accessToken: New secret token
                    refreshToken: New secret refresh token
                status: ok
                message: ''
                errorType: ''
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResult'
              example:
                status: badRequest
                message: Unauthorized token
                displayMessage: Could not refresh the authentication token. The provided data is not correct
                errorType: badRequest
        '401':
          description: Unauthorized
          content:
            application/json:
              schema: {}
  /api/v1/account:
    delete:
      tags:
      - Managed Account Authentication
      summary: Remove connection
      description: Remove connection to the financial institution and erase all related data completely.
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/BrokerBaseRequest'
            example:
              authToken: Secret authentication token
              type: robinhood
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/BrokerBaseRequest'
            example:
              authToken: Secret authentication token
              type: robinhood
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/BrokerBaseRequest'
            example:
              authToken: Secret authentication token
              type: robinhood
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResult'
              example:
                status: ok
                message: ''
                errorType: ''
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResult'
              example:
                status: badRequest
                message: Error message
                displayMessage: Optional display message
                errorType: missingField
        '401':
          description: Unauthorized
          content:
            application/json:
              schema: {}
  /api/v1/status:
    get:
      tags:
      - Managed Account Authentication
      summary: Get health status
      description: Get the list of supported institutions and their health statuses.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/B2BBrokersHealthStatusListApiResult'
              example:
                content:
                - type: robinhood
                  name: Robinhood
                  isUp: true
                  supportedProducts:
                  - balance
                  - holdings
                  - identity
                  - orders
                  - transfers
                - type: celsius
                  name: Celsius
                  isUp: false
                  description: Temporarily disabled
                  downTimeStart: 1655891444
                  supportedProducts:
                  - balance
                  - orders
                  - transfers
                  - holdings
                - type: deFiWallet
                  name: MetaMask
                  isUp: false
                  supportedProducts:
                  - transfers
                  - holdings
                  deFiWalletData:
                    id: 00000000-0000-0000-0000-000000000000
                    name: MetaMask
                status: ok
                message: ''
                errorType: ''
        '401':
          description: Unauthorized
          content:
            application/json:
              schema: {}
  /api/v1/integrations:
    get:
      tags:
      - Managed Account Authentication
      summary: Retrieve the list of all available integrations.
      description: 'Returns a list of integrations with details including the integration ID, name, type,

        DeFi wallet provider ID, and categories.'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationsResponseApiResult'
              example:
                content:
                  items:
                  - id: b7efa542-0b16-4a2a-8f89-00143298e615
                    name: CoinbasePro
                    type: coinbasePro
                    logo:
                      logoWhiteUrl: https://frontuserfilecdn.azureedge.net/public/logos/Coinbase_Logo_White.svg
                      logoBlackUrl: https://frontuserfilecdn.azureedge.net/public/logos/Coinbase_Logo_Black.svg
                      logoColorUrl: https://frontuserfilecdn.azureedge.net/public/logos/Coinbase_Logo_Color.svg
                      iconWhiteUrl: https://frontuserfilecdn.azureedge.net/public/logos/Coinbase_Icon_White.svg
                      iconBlackUrl: https://frontuserfilecdn.azureedge.net/public/logos/Coinbase_Icon_Black.svg
                      iconColorUrl: https://frontuserfilecdn.azureedge.net/public/logos/Coinbase_Icon_Color.svg
                    cryptoTransfersSupported: true
                  - id: 3d8f5c31-9fc0-4b61-bdfb-00fb18cbb9ad
                    name: CoinCircle
                    type: deFiWallet
                    deFiWalletProviderId: 36d8d9c0c7fe2957149ce8e878f3a01...
                    categories:
                    - deFiWallet
                    logo:
                      logoColorUrl: https://frontuserfilecdn.azureedge.net/public/logos/CoinCircle_Logo_Color.svg
                      iconColorUrl: https://frontuserfilecdn.azureedge.net/public/logos/CoinCircle_Icon_Color.svg
                    cryptoTransfersSupported: true
                status: ok
                message: ''
                errorType: ''
components:
  schemas:
    LinkTokenModelApiResult:
      type: object
      properties:
        status:
          enum:
          - ok
          - serverFailure
          - permissionDenied
          - badRequest
          - notFound
          - conflict
          - tooManyRequest
          - locked
          allOf:
          - $ref: '#/components/schemas/ApiResultStatus'
          readOnly: true
        message:
          type:
          - string
          - 'null'
          description: A message generated by the API
        displayMessage:
          type:
          - string
          - 'null'
          description: User-friendly display message that can be presented to the end user
        errorType:
          type:
          - string
          - 'null'
          description: 'Strictly-typed error type that is explaining the reason of an unsuccessful status of the operation.

            All possible error types are available in the documentation.'
        errorData:
          readOnly: true
        content:
          allOf:
          - $ref: '#/components/schemas/LinkTokenModel'
      additionalProperties: false
    BrokerAccountTokens:
      type: object
      properties:
        account:
          allOf:
          - $ref: '#/components/schemas/BrokerAccount'
        accessToken:
          type:
          - string
          - 'null'
        refreshToken:
          type:
          - string
          - 'null'
      additionalProperties: false
    TransferToAddressWithAmount:
      type: object
      properties:
        networkId:
          type: string
          description: 'The Id of the network in Front system. The list of all available networks can be obtained by

            using `GET /transfers/managed/networks` endpoint.'
          format: uuid
        symbol:
          type:
          - string
          - 'null'
          description: The symbol of the digital asset.
        address:
          type:
          - string
          - 'null'
          description: The address to send the asset to.
        addressTag:
          type:
          - string
          - 'null'
          description: Secondary address identifier for coins like XRP,XMR etc.
        amount:
          type:
          - number
          - 'null'
          description: Amount of tokens to transfer by specified network.
          format: double
      additionalProperties: false
    IntegrationsResponseApiResult:
      type: object
      properties:
        status:
          enum:
          - ok
          - serverFailure
          - permissionDenied
          - badRequest
          - notFound
          - conflict
          - tooManyRequest
          - locked
          allOf:
          - $ref: '#/components/schemas/ApiResultStatus'
          readOnly: true
        message:
          type:
          - string
          - 'null'
          description: A message generated by the API
        displayMessage:
          type:
          - string
          - 'null'
          description: User-friendly display message that can be presented to the end user
        errorType:
          type:
          - string
          - 'null'
          description: 'Strictly-typed error type that is explaining the reason of an unsuccessful status of the operation.

            All possible error types are available in the documentation.'
        errorData:
          readOnly: true
        content:
          allOf:
          - $ref: '#/components/schemas/IntegrationsResponse'
          description: Integration response.
      additionalProperties: false
    FinancialInstitutionIntegrationType:
      enum:
      - brokerage
      - bank
      - exchange
      - wallet
      - address
      - nftMarketplace
      - deFiWallet
      type: string
    B2BBrokerAuthStatus:
      enum:
      - failed
      - succeeded
      - mfaRequired
      type: string
    B2BBrokerRefreshTokenResponseApiResult:
      type: object
      properties:
        status:
          enum:
          - ok
          - serverFailure
          - permissionDenied
          - badRequest
          - notFound
          - conflict
          - tooManyRequest
          - locked
          allOf:
          - $ref: '#/components/schemas/ApiResultStatus'
          readOnly: true
        message:
          type:
          - string
          - 'null'
          description: A message generated by the API
        displayMessage:
          type:
          - string
          - 'null'
          description: User-friendly display message that can be presented to the end user
        errorType:
          type:
          - string
          - 'null'
          description: 'Strictly-typed error type that is explaining the reason of an unsuccessful status of the operation.

            All possible error types are available in the documentation.'
        errorData:
          readOnly: true
        content:
          allOf:
          - $ref: '#/components/schemas/B2BBrokerRefreshTokenResponse'
      additionalProperties: false
    TransferTypeEnum:
      enum:
      - deposit
      - payment
      - onramp
      type: string
    ApiResultStatus:
      enum:
      - ok
      - serverFailure
      - permissionDenied
      - badRequest
      - notFound
      - conflict
      - tooManyRequest
      - locked
      type: string
    BrokerFeature:
      enum:
      - holdings
      - balance
      - orders
      - transfers
      - identity
      - cryptocurrencyDepositAddresses
      - accountNumber
      - paymentMethods
      - conversions
      type: string
    LinkTokenTransferOptions:
      type: object
      properties:
        toAddresses:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/TransferToAddressWithAmount'
          description: 'The list of destination addresses with corresponding networks are asset symbols that

            can be used to initiate incoming transfers. If this parameter is present, the Link

            session will continue to transfer flow after connecting the origin account.'
        amountInFiat:
          type:
          - number
          - 'null'
          description: Amount in USD to transfer. If not provided users can specify amount by themselves.
          format: double
        transactionId:
          maxLength: 128
          minLength: 0
          type:
          - string
          - 'null'
          description: Transaction ID Provided by client to track transaction in future calls
        clientFee:
          maximum: 1
          minimum: 0
          type:
          - number
          - 'null'
          description: 'A percentage fee (input as a ratio, eg. 0.02500 = 2.500%) added onto your users'' gross payments to your company.

            This will override any default fee entered in your Mesh dashboard for an individual transaction.

            Please note: this fee should only be used for Payments (when the transfer destination is an address owned by your company),

            and not for Deposits (when the transfer destination is an address owned by the end user).

            If used for Deposits, it will increase the size of the user''s Deposit by the fee amount,

            but will incorrectly show to the user as a fee.'
          format: double
        transferType:
          allOf:
          - $ref: '#/components/schemas/TransferTypeEnum'
          description: 'Deposit: The user is transferring crypto to a wallet they own on your platform.

            Payment: The user is transferring crypto to a wallet your company owns in exchange for receiving a good or service.

            Onramp: The user is using balances and linked payment methods in an exchange account to fund the purchase of crypto in their wallet on your platform.'
        fundingOptions:
          allOf:
          - $ref: '#/components/schemas/TransferCryptocurrencyFundingOptions'
          description: 'Specifies the permitted options to use the end user''s available buying power

            and/or payment methods to supplement the cryptocurrency balance if it is insufficient

            for the transfer.'
        isInclusiveFeeEnabled:
          type: boolean
          description: Specifies if all the fees are included in the amount to transfer.
      additionalProperties: false
    IntegrationsResponse:
      type: object
      properties:
        items:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/IntegrationModel'
          description: Integrations list.
      additionalProperties: false
      description: Integration response.
    TransferCryptocurrencyFundingOptions:
      type: object
      properties:
        enabled:
          type: boolean
          description: 'Indicates whether the Link is permitted to use the end user''s available buying power

            and/or payment methods to supplement the cryptocurrency balance if it is insufficient

            for the transfer.'
      additionalProperties: false
    CatalogLinkApiResult:
      type: object
      properties:
        status:
          enum:
          - ok
          - serverFailure
          - permissionDenied
          - badRequest
          - notFound
          - conflict
          - tooManyRequest
          - locked
          allOf:
          - $ref: '#/components/schemas/ApiResultStatus'
          readOnly: true
        message:
          type:
          - string
          - 'null'
          description: A message generated by the API
        displayMessage:
          type:
          - string
          - 'null'
          description: User-friendly display message that can be presented to the end user
        errorType:
          type:
          - string
          - 'null'
          description: 'Strictly-typed

# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mesh/refs/heads/main/openapi/mesh-managed-account-authentication-api-openapi.yml