Properties
| Name | Type | Description |
|---|---|---|
| account_type | object | |
| party_type | string | Either `individual` or `business`. |
| party_address | object | Required if receiving wire payments. |
| name | string | A nickname for the external account. This is only for internal usage and won't affect any payments |
| counterparty_id | string | |
| account_details | array | |
| routing_details | array | |
| external_id | string | An optional user-defined 180 character unique identifier. |
| metadata | object | Additional data represented as key-value pairs. Both the key and value must be strings. |
| party_name | string | If this value isn't provided, it will be inherited from the counterparty's name. |
| party_identifier | string | |
| ledger_account | object | Specifies a ledger account object that will be created with the external account. The resulting ledger account is linked to the external account for auto-ledgering Payment objects. See https://docs.mo |
| plaid_processor_token | string | If you've enabled the Modern Treasury + Plaid integration in your Plaid account, you can pass the processor token in this field. |
| contact_details | array |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/external_account_create_request",
"title": "external_account_create_request",
"type": "object",
"properties": {
"account_type": {
"$ref": "#/components/schemas/external_account_type"
},
"party_type": {
"type": "string",
"enum": [
"business",
"individual"
],
"nullable": true,
"description": "Either `individual` or `business`."
},
"party_address": {
"$ref": "#/components/schemas/address_request",
"description": "Required if receiving wire payments."
},
"name": {
"type": "string",
"nullable": true,
"description": "A nickname for the external account. This is only for internal usage and won't affect any payments"
},
"counterparty_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"account_details": {
"type": "array",
"items": {
"type": "object",
"properties": {
"account_number": {
"type": "string"
},
"account_number_type": {
"type": "string",
"enum": [
"au_number",
"base_address",
"card_token",
"clabe",
"ethereum_address",
"hk_number",
"iban",
"id_number",
"nz_number",
"other",
"pan",
"polygon_address",
"sg_number",
"solana_address",
"wallet_address"
]
}
},
"required": [
"account_number"
]
}
},
"routing_details": {
"type": "array",
"items": {
"type": "object",
"properties": {
"routing_number": {
"type": "string"
},
"routing_number_type": {
"type": "string",
"enum": [
"aba",
"au_bsb",
"br_codigo",
"ca_cpa",
"chips",
"cnaps",
"dk_interbank_clearing_code",
"gb_sort_code",
"hk_interbank_clearing_code",
"hu_interbank_clearing_code",
"id_sknbi_code",
"il_bank_code",
"in_ifsc",
"jp_zengin_code",
"my_branch_code",
"mx_bank_identifier",
"nz_national_clearing_code",
"pl_national_clearing_code",
"se_bankgiro_clearing_code",
"sg_interbank_clearing_code",
"swift",
"za_national_clearing_code"
]
},
"payment_type": {
"type": "string",
"enum": [
"ach",
"au_becs",
"bacs",
"book",
"card",
"chats",
"check",
"cross_border",
"dk_nets",
"eft",
"gb_fps",
"hu_ics",
"interac",
"masav",
"mx_ccen",
"neft",
"nics",
"nz_becs",
"pl_elixir",
"provxchange",
"ro_sent",
"rtp",
"se_bankgirot",
"sen",
"sepa",
"sg_giro",
"sic",
"signet",
"sknbi",
"stablecoin",
"wire",
"zengin"
]
}
},
"required": [
"routing_number",
"routing_number_type"
]
}
},
"external_id": {
"type": "string",
"nullable": true,
"description": "An optional user-defined 180 character unique identifier."
},
"metadata": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"example": {
"key": "value",
"foo": "bar",
"modern": "treasury"
},
"description": "Additional data represented as key-value pairs. Both the key and value must be strings."
},
"party_name": {
"type": "string",
"description": "If this value isn't provided, it will be inherited from the counterparty's name."
},
"party_identifier": {
"type": "string"
},
"ledger_account": {
"$ref": "#/components/schemas/ledger_account_create_request",
"description": "Specifies a ledger account object that will be created with the external account. The resulting ledger account is linked to the external account for auto-ledgering Payment objects. See https://docs.moderntreasury.com/docs/linking-to-other-modern-treasury-objects for more details."
},
"plaid_processor_token": {
"type": "string",
"description": "If you've enabled the Modern Treasury + Plaid integration in your Plaid account, you can pass the processor token in this field."
},
"contact_details": {
"type": "array",
"items": {
"$ref": "#/components/schemas/contact_detail_create_request"
}
}
},
"required": [
"counterparty_id"
]
}
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/modern-treasury-external-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.