Modern Treasury · Schema

internal_account_create_request

FintechPaymentsACHWiresTreasury

Properties

Name Type Description
connection_id string The identifier of the financial institution the account belongs to.
name string The nickname of the account.
party_name string The legal name of the entity which owns the account.
party_address object The address associated with the owner or null.
currency string The currency of the internal account. Supports "USD" and "CAD" for fiat, and "USDC", "USDG", and "PYUSD" for stablecoin accounts.
account_type string The account type, used to provision the appropriate account at the financial institution.
account_capabilities array An array of AccountCapability objects that list the originating abilities of the internal account and any relevant information for them.
vendor_attributes object A hash of vendor specific attributes that will be used when creating the account at the vendor specified by the given connection.
parent_account_id string The parent internal account of this new account.
counterparty_id string The Counterparty associated to this account.
legal_entity_id string The LegalEntity associated to this account.
metadata object Additional data represented as key-value pairs. Both the key and value must be strings.
external_id string An optional user-defined 180 character unique identifier.
View JSON Schema on GitHub

JSON Schema

modern-treasury-internal-account-create-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/internal_account_create_request",
  "title": "internal_account_create_request",
  "type": "object",
  "properties": {
    "connection_id": {
      "type": "string",
      "description": "The identifier of the financial institution the account belongs to."
    },
    "name": {
      "type": "string",
      "description": "The nickname of the account."
    },
    "party_name": {
      "type": "string",
      "description": "The legal name of the entity which owns the account."
    },
    "party_address": {
      "type": "object",
      "description": "The address associated with the owner or null.",
      "properties": {
        "line1": {
          "type": "string"
        },
        "line2": {
          "type": "string"
        },
        "locality": {
          "type": "string",
          "description": "Locality or City."
        },
        "region": {
          "type": "string",
          "description": "Region or State."
        },
        "postal_code": {
          "type": "string",
          "description": "The postal code of the address."
        },
        "country": {
          "type": "string",
          "description": "Country code conforms to [ISO 3166-1 alpha-2]"
        }
      },
      "required": [
        "line1",
        "locality",
        "region",
        "postal_code",
        "country"
      ]
    },
    "currency": {
      "type": "string",
      "enum": [
        "USD",
        "CAD",
        "USDC",
        "USDG",
        "PYUSD"
      ],
      "example": "USD",
      "description": "The currency of the internal account. Supports \"USD\" and \"CAD\" for fiat, and \"USDC\", \"USDG\", and \"PYUSD\" for stablecoin accounts."
    },
    "account_type": {
      "type": "string",
      "enum": [
        "base_wallet",
        "cash",
        "checking",
        "crypto_wallet",
        "ethereum_wallet",
        "general_ledger",
        "loan",
        "non_resident",
        "other",
        "overdraft",
        "polygon_wallet",
        "savings",
        "solana_wallet"
      ],
      "example": "checking",
      "description": "The account type, used to provision the appropriate account at the financial institution."
    },
    "account_capabilities": {
      "type": "array",
      "description": "An array of AccountCapability objects that list the originating abilities of the internal account and any relevant information for them.",
      "items": {
        "$ref": "#/components/schemas/account_capability"
      }
    },
    "vendor_attributes": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "example": {
        "key": "value",
        "foo": "bar",
        "modern": "treasury"
      },
      "description": "A hash of vendor specific attributes that will be used when creating the account at the vendor specified by the given connection."
    },
    "parent_account_id": {
      "type": "string",
      "description": "The parent internal account of this new account."
    },
    "counterparty_id": {
      "type": "string",
      "description": "The Counterparty associated to this account."
    },
    "legal_entity_id": {
      "type": "string",
      "description": "The LegalEntity associated to this account."
    },
    "metadata": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Additional data represented as key-value pairs. Both the key and value must be strings."
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "An optional user-defined 180 character unique identifier."
    }
  },
  "required": [
    "connection_id",
    "name",
    "party_name",
    "currency"
  ]
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/modern-treasury-internal-account-create-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

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

Get an API key

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

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