The Internal Account API is shared across all Modern Treasury integrations. This page documents the fields available for PSP (Modern Treasury-provided) accounts. BYO Bank customers should reference this page instead.
An internal_account is an account that you can use to make payments and hold money. These accounts contain the relevant name, address, entity type information necessary for making payments. An internal account also has account details and routing details which include attributes like account numbers, routing numbers, and SWIFT codes. An account can have multiple routing details, such as when banks have different routing numbers for ACH and wire payments.
This page covers Internal Accounts for PSP organizations. For BYO Bank-specific Internal Accounts documentation, see Internal Accounts (BYO Bank).
| Attribute | Description |
|---|---|
| idstring | Unique identifier for the account. |
| account_type string | The type of account. One of checking, savings, other, or left null. |
| party_name string | The legal name of the entity which owns the account. For PSP accounts, this is automatically derived from the linked legal entity and cannot be set directly on creation. |
| party_type string | Either individual, business or null. |
| party_address object | The address associated with the owner or null. For PSP accounts, this is automatically derived from the linked legal entity's address if not explicitly provided. |
| account_details array object | An array of account detail objects. |
| routing_details array object | An array of routing detail objects. |
| name string | A nickname for the account. |
| metadata object | Additional data represented as key-value pairs. Both the key and value must be strings. See Metadata. |
| live_mode boolean | This field will be true if this object was created with a production API key or false if created with a test API key. |
| connection object | The Connection that the account belongs to. |
| currency string | The currency of the account. For PSP accounts, supported currencies are USD, USDC, USDG, USDT, and PYUSD. |
| ledger_account_id string | The Ledger Account id linked to this internal_account. See Linking to Other Modern Treasury Objects. |
| contra_ledger_account_id string | The Contra Ledger Account id linked to this internal_account. See Linking to Other Modern Treasury Objects. |
| debitable boolean | Whether this account can receive ACH debits. Defaults to false and is only configurable on creation. Requires program entitlement. Please reach out to your customer success manager if you are interested in activating this functionality. |
{
"id": "f7b2fc7a-3f22-4f82-b651-fa9e2f8d2653",
"object": "internal_account",
"account_type": null,
"party_name": "Your Company",
"party_type": null,
"party_address": {
"id": "ad326417-4270-4156-8652-dfe1b2ec3ae8",
"object": "address",
"line1": "100 Universal City Plaza",
"line2": null,
"locality": "Universal City",
"region": "CA",
"postal_code": "91608",
"country": "US"
},
"account_details": [
{
"id": "f3552822-38f5-4dd5-aa10-a5a2fce00ed6",
"object": "account_detail",
"account_number_safe": "934",
"account_number_type": "other",
"live_mode": true
}
],
"routing_details": [
{
"id": "2e90da60-405c-44bc-8b33-2bdb9419afe3",
"object": "routing_detail",
"payment_type": null,
"routing_number": "021000021",
"routing_number_type": "aba",
"bank_name": "Gringotts Wizarding Bank",
"bank_address": {
"id": "fcf5ebe1-b990-4684-880f-f69c277106bb",
"object": "address",
"line1": "6000 Universal Boulevard",
"line2": null,
"locality": "Orlando",
"region": "FL",
"postal_code": "32819",
"country": "US",
"live_mode": true
}
}
],
"connection": {
"id": "e680b151-c8a2-4b36-aa6b-059f9f2a969c",
"object": "connection",
"vendor_id": "mt_flow",
"vendor_name": "Modern Treasury"
},
"currency": "USD",
"metadata": {},
"ledger_account_id": null,
"contra_ledger_account_id": null,
"live_mode": true,
"created_at": "2019-11-09T00:11:07Z",
"updated_at": "2019-11-09T00:11:07Z",
"debitable": false
}