Properties
| Name | Type | Description |
|---|---|---|
| id | string | |
| object | string | |
| live_mode | boolean | This field will be true if this object exists in the live environment or false if it exists in the test environment. |
| created_at | string | |
| updated_at | string | |
| discarded_at | string | |
| name | string | A human friendly name for this counterparty. |
| accounts | array | The accounts for this counterparty. |
| string | The counterparty's email. | |
| legal_entity_id | string | The id of the legal entity. |
| 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. |
| send_remittance_advice | boolean | Send an email to the counterparty whenever an associated payment order is sent to the bank. |
| verification_status | string | The verification status of the counterparty. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/counterparty",
"title": "counterparty",
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"object": {
"type": "string"
},
"live_mode": {
"type": "boolean",
"description": "This field will be true if this object exists in the live environment or false if it exists in the test environment."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"discarded_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"name": {
"type": "string",
"description": "A human friendly name for this counterparty.",
"nullable": true
},
"accounts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"object": {
"type": "string"
},
"live_mode": {
"type": "boolean",
"description": "This field will be true if this object exists in the live environment or false if it exists in the test environment."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"discarded_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"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",
"description": "The address associated with the owner or `null`."
},
"name": {
"type": "string",
"nullable": true,
"description": "A nickname for the external account. This is only for internal usage and won't affect any payments"
},
"account_details": {
"type": "array",
"items": {
"$ref": "#/components/schemas/account_detail"
}
},
"routing_details": {
"type": "array",
"items": {
"$ref": "#/components/schemas/routing_detail"
}
},
"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": "The legal name of the entity which owns the account."
},
"contact_details": {
"type": "array",
"items": {
"$ref": "#/components/schemas/contact_detail"
}
},
"ledger_account_id": {
"type": "string",
"format": "uuid",
"nullable": true,
"description": "If the external account links to a ledger account in Modern Treasury, the id of the ledger account will be populated here."
},
"verification_status": {
"type": "string",
"enum": [
"pending_verification",
"unverified",
"verified"
]
},
"verification_source": {
"type": "string",
"enum": [
"ach_prenote",
"microdeposits",
"plaid"
],
"nullable": true
}
},
"additionalProperties": false,
"minProperties": 19
},
"description": "The accounts for this counterparty."
},
"email": {
"type": "string",
"format": "email",
"description": "The counterparty's email.",
"nullable": true
},
"legal_entity_id": {
"type": "string",
"format": "uuid",
"description": "The id of the legal entity.",
"nullable": true
},
"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."
},
"external_id": {
"type": "string",
"nullable": true,
"description": "An optional user-defined 180 character unique identifier."
},
"send_remittance_advice": {
"type": "boolean",
"description": "Send an email to the counterparty whenever an associated payment order is sent to the bank."
},
"verification_status": {
"type": "string",
"deprecated": true,
"description": "The verification status of the counterparty."
}
},
"additionalProperties": false,
"minProperties": 14,
"required": [
"id",
"object",
"live_mode",
"created_at",
"updated_at",
"discarded_at",
"name",
"accounts",
"email",
"legal_entity_id",
"metadata",
"external_id",
"send_remittance_advice",
"verification_status"
]
}
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-counterparty"
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.