Modern Treasury ConnectionLegalEntity API
The ConnectionLegalEntity API from Modern Treasury — 2 operation(s) for connectionlegalentity.
The ConnectionLegalEntity API from Modern Treasury — 2 operation(s) for connectionlegalentity.
openapi: 3.0.1
info:
title: Modern Treasury AccountCapability ConnectionLegalEntity API
version: v1
contact:
name: Modern Treasury Engineering Team
url: https://moderntreasury.com
description: The Modern Treasury REST API. Please see https://docs.moderntreasury.com for more details.
servers:
- url: http://localhost:3000
- url: https://app.moderntreasury.com
tags:
- name: ConnectionLegalEntity
paths:
/api/connection_legal_entities:
get:
summary: list connection_legal_entities
tags:
- ConnectionLegalEntity
operationId: listConnectionLegalEntities
description: Get a list of all connection legal entities.
security:
- basic_auth: []
parameters:
- name: after_cursor
in: query
schema:
type: string
nullable: true
required: false
- name: per_page
in: query
required: false
schema:
type: integer
- name: connection_id
in: query
schema:
type: string
required: false
- name: legal_entity_id
in: query
schema:
type: string
required: false
- name: status
in: query
schema:
type: string
enum:
- completed
- denied
- failed
- processing
- suspended
required: false
responses:
'200':
description: successful
headers:
X-After-Cursor:
schema:
type: string
nullable: true
required: false
description: The cursor for the next page. Including this in a call as `after_cursor` will return the next page.
X-Per-Page:
schema:
type: integer
nullable: true
description: The current `per_page`.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/connection_legal_entity'
post:
summary: create connection_legal_entity
tags:
- ConnectionLegalEntity
operationId: createConnectionLegalEntity
description: Create a connection legal entity.
security:
- basic_auth: []
parameters:
- name: Idempotency-Key
in: header
required: false
description: This key should be something unique, preferably something like an UUID.
schema:
type: string
responses:
'201':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/connection_legal_entity'
'422':
description: unsuccessful
content:
application/json:
schema:
$ref: '#/components/schemas/error_message'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/connection_legal_entity_create_request'
/api/connection_legal_entities/{id}:
parameters:
- name: id
in: path
description: The id of an existing connection legal entity.
required: true
schema:
type: string
get:
summary: get connection_legal_entity
tags:
- ConnectionLegalEntity
operationId: getConnectionLegalEntity
description: Get details on a single connection legal entity.
security:
- basic_auth: []
parameters:
- name: Idempotency-Key
in: header
required: false
description: This key should be something unique, preferably something like an UUID.
schema:
type: string
responses:
'200':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/connection_legal_entity'
'404':
description: not found
content:
application/json:
schema:
$ref: '#/components/schemas/error_message'
patch:
summary: update connection_legal_entity
tags:
- ConnectionLegalEntity
operationId: updateConnectionLegalEntity
description: Update a connection legal entity.
security:
- basic_auth: []
parameters: []
responses:
'200':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/connection_legal_entity'
'404':
description: not found
content:
application/json:
schema:
$ref: '#/components/schemas/error_message'
'422':
description: unsuccessful
content:
application/json:
schema:
$ref: '#/components/schemas/error_message'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/connection_legal_entity_update_request'
components:
schemas:
connection_legal_entity_update_request:
type: object
properties:
status:
type: string
enum:
- processing
description: The status of the connection legal entity.
connection_legal_entity_create_request:
type: object
properties:
connection_id:
type: string
description: The ID of the connection.
legal_entity_id:
type: string
description: The ID of the legal entity.
legal_entity:
type: object
properties:
legal_entity_type:
type: string
enum:
- business
- individual
description: The type of legal entity.
risk_rating:
type: string
enum:
- low
- medium
- high
nullable: true
description: The risk rating of the legal entity. One of low, medium, high.
prefix:
type: string
nullable: true
description: An individual's prefix.
first_name:
type: string
nullable: true
description: An individual's first name.
middle_name:
type: string
nullable: true
description: An individual's middle name.
last_name:
type: string
nullable: true
description: An individual's last name.
suffix:
type: string
nullable: true
description: An individual's suffix.
preferred_name:
type: string
nullable: true
description: An individual's preferred name.
citizenship_country:
type: string
nullable: true
description: The country of citizenship for an individual.
politically_exposed_person:
type: boolean
nullable: true
description: Whether the individual is a politically exposed person.
date_of_birth:
type: string
format: date
nullable: true
description: An individual's date of birth (YYYY-MM-DD).
date_formed:
type: string
format: date
nullable: true
description: A business's formation date (YYYY-MM-DD).
business_name:
type: string
nullable: true
description: The business's legal business name.
doing_business_as_names:
type: array
items:
type: string
description: A list of "Doing Business As" (DBA) / trade names for a business, different than their legal business name.
legal_structure:
type: string
enum:
- corporation
- llc
- non_profit
- partnership
- sole_proprietorship
- trust
nullable: true
description: The business's legal structure.
phone_numbers:
type: array
items:
type: object
properties:
phone_number:
type: string
description: A list of phone numbers in E.164 format.
email:
type: string
nullable: true
description: The entity's primary email.
website:
type: string
nullable: true
description: The entity's primary website URL.
business_description:
type: string
nullable: true
description: A description of the business.
intended_use:
type: string
nullable: true
description: A description of the intended use of the legal entity.
expected_activity_volume:
type: integer
nullable: true
description: Monthly expected transaction volume in USD.
country_of_incorporation:
type: string
nullable: true
description: The country code where the business is incorporated in the ISO 3166-1 alpha-2 or alpha-3 formats.
operating_jurisdictions:
type: array
items:
type: string
description: A list of countries where the business operates (ISO 3166-1 alpha-2 or alpha-3 codes).
primary_social_media_sites:
type: array
items:
type: string
description: A list of primary social media URLs for the business.
listed_exchange:
type: string
nullable: true
description: ISO 10383 market identifier code.
ticker_symbol:
type: string
nullable: true
description: Stock ticker symbol for publicly traded companies.
regulators:
type: array
nullable: true
items:
$ref: '#/components/schemas/legal_entity_regulator'
description: Array of regulatory bodies overseeing this institution.
third_party_verification:
$ref: '#/components/schemas/third_party_verification'
nullable: true
deprecated: true
description: Deprecated. Use `third_party_verifications` instead.
third_party_verifications:
type: array
items:
$ref: '#/components/schemas/third_party_verification'
description: A list of third-party verifications run by external vendors.
title: Third Party Verfications
service_provider_legal_entity_id:
type: string
format: uuid
nullable: true
description: The UUID of the parent legal entity in the service provider tree.
metadata:
type: object
description: Additional data represented as key-value pairs. Both the key and value must be strings.
additionalProperties:
type: string
example:
key: value
foo: bar
modern: treasury
external_id:
type: string
nullable: true
description: An optional user-defined 180 character unique identifier.
bank_settings:
$ref: '#/components/schemas/legal_entity_bank_setting'
nullable: true
wealth_and_employment_details:
$ref: '#/components/schemas/legal_entity_wealth_employment_detail'
nullable: true
compliance_details:
type: object
nullable: true
deprecated: true
addresses:
type: array
description: A list of addresses for the entity.
items:
$ref: '#/components/schemas/legal_entity_address_create_request'
identifications:
type: array
description: A list of identifications for the legal entity.
items:
$ref: '#/components/schemas/identification_create_request'
documents:
type: array
description: A list of documents to attach to the legal entity (e.g. articles of incorporation, certificate of good standing, proof of address).
items:
type: object
properties:
document_type:
type: string
enum:
- articles_of_incorporation
- certificate_of_good_standing
- ein_letter
- generic
- identification_back
- identification_front
- proof_of_address
description: A category given to the document, can be `null`.
file_data:
type: string
description: Base64-encoded file content for the document.
filename:
type: string
description: The original filename of the document.
required:
- document_type
- file_data
industry_classifications:
type: array
description: A list of industry classifications for the legal entity.
items:
$ref: '#/components/schemas/legal_entity_industry_classification'
legal_entity_associations:
type: array
items:
$ref: '#/components/schemas/legal_entity_association_inline_create_request'
nullable: true
description: The legal entity associations and its child legal entities.
connection_id:
type: string
nullable: true
description: The connection ID for the connection the legal entity is associated with. Defaults to the id of the connection designated with an is_default value of true or the id of an existing operational connection if only one is available. Pass in a value of null to prevent the connection from being associated with the legal entity.
description: The legal entity.
required:
- connection_id
legal_entity_regulator:
type: object
properties:
name:
type: string
description: Full name of the regulatory body.
jurisdiction:
type: string
description: The country code where the regulator operates in the ISO 3166-1 alpha-2 format (e.g., "US", "CA", "GB").
registration_number:
type: string
description: Registration or identification number with the regulator.
required:
- name
- jurisdiction
- registration_number
additionalProperties: false
third_party_verification:
type: object
properties:
vendor_verification_id:
type: string
description: The identification of the third party verification in `vendor`'s system.
vendor:
type: string
enum:
- persona
- middesk
- alloy
- sumsub
- veriff
description: The vendor that performed the verification, e.g. `persona`.
verification_category:
type: string
enum:
- legal_name
- date_of_birth
- address
- government_id_number
- adverse_media
description: The category of verification performed.
verification_method:
type: string
description: The method used to perform the verification.
comment:
type: string
nullable: true
description: An optional comment about the verification.
outcome:
type: string
enum:
- passed
- failed
description: The outcome of the verification. One of `passed` or `failed`.
verification_time:
type: string
format: date-time
description: The timestamp when the verification was performed.
required:
- vendor_verification_id
- vendor
- verification_category
- verification_method
- outcome
- verification_time
additionalProperties: false
legal_entity_industry_classification:
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
classification_type:
type: string
enum:
- anzsic
- bics
- gics
- hsics
- icb
- isic
- mgecs
- nace
- naics
- rbics
- sic
- sni
- trbc
- uksic
- unspsc
nullable: false
description: The classification system of the classification codes.
classification_codes:
type: array
items:
type: string
nullable: false
description: The industry classification codes for the legal entity.
additionalProperties: false
minProperties: 8
required:
- id
- object
- live_mode
- created_at
- updated_at
- discarded_at
- classification_type
- classification_codes
legal_entity_bank_setting:
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
enable_backup_withholding:
type: boolean
nullable: true
description: Whether backup withholding is enabled. See more here - https://www.irs.gov/businesses/small-businesses-self-employed/backup-withholding.
backup_withholding_percentage:
type: integer
nullable: true
description: The percentage of backup withholding to apply to the legal entity.
privacy_opt_out:
type: boolean
nullable: true
description: Cross River Bank specific setting to opt out of privacy policy.
regulation_o:
type: boolean
nullable: true
description: It covers, among other types of insider loans, extensions of credit by a member bank to an executive officer, director, or principal shareholder of the member bank; a bank holding company of which the member bank is a subsidiary; and any other subsidiary of that bank holding company.
additionalProperties: false
minProperties: 10
required:
- id
- object
- live_mode
- created_at
- updated_at
- discarded_at
- enable_backup_withholding
- backup_withholding_percentage
- privacy_opt_out
- regulation_o
legal_entity_address_create_request:
type: object
properties:
address_types:
type: array
items:
type: string
enum:
- business
- business_registered
- mailing
- other
- po_box
- residential
description: The types of this address.
line1:
type: string
nullable: true
line2:
type: string
nullable: true
locality:
type: string
nullable: true
description: Locality or City.
region:
type: string
nullable: true
description: Region or State.
postal_code:
type: string
description: The postal code of the address.
nullable: true
country:
type: string
description: Country code conforms to [ISO 3166-1 alpha-2]
nullable: true
required:
- line1
- locality
- region
- postal_code
- country
error_message:
type: object
properties:
errors:
type: object
properties:
code:
type: string
enum:
- parameter_invalid
- parameter_missing
- resource_not_found
- not_found
- forbidden
- invalid_ip
- invalid_key
- header_invalid
- expired_key
- conflict
- too_many_requests
message:
type: string
parameter:
type: string
required:
- errors
legal_entity_wealth_employment_detail:
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
employment_status:
type: string
enum:
- employed
- retired
- self_employed
- student
- unemployed
nullable: true
description: The employment status of the individual.
occupation:
type: string
enum:
- consulting
- executive
- finance_accounting
- food_services
- government
- healthcare
- legal_services
- manufacturing
- other
- sales
- science_engineering
- technology
nullable: true
description: The occupation of the individual.
industry:
type: string
enum:
- accounting
- agriculture
- automotive
- chemical_manufacturing
- construction
- educational_medical
- food_service
- finance
- gasoline
- health_stores
- laundry
- maintenance
- manufacturing
- merchant_wholesale
- mining
- performing_arts
- professional_non_legal
- public_administration
- publishing
- real_estate
- recreation_gambling
- religious_charity
- rental_services
- retail_clothing
- retail_electronics
- retail_food
- retail_furnishing
- retail_home
- retail_non_store
- retail_sporting
- transportation
- travel
- utilities
nullable: true
description: The industry of the individual.
income_source:
type: string
enum:
- family_support
- government_benefits
- inheritance
- investments
- rental_income
- retirement
- salary
- self_employed
nullable: true
description: The source of the individual's income.
income_state:
type: string
nullable: true
description: The state in which the individual's income is earned.
income_country:
type: string
nullable: true
description: The country in which the individual's income is earned.
employer_name:
type: string
nullable: true
description: The name of the employer.
employer_state:
type: string
nullable: true
description: The state in which the employer is located.
employer_country:
type: string
nullable: true
description: The country in which the employer is located.
source_of_funds:
type: string
enum:
- alimony
- annuity
- business_owner
- business_revenue
- debt_financing
- general_employee
- government_benefits
- homemaker
- inheritance_gift
- intercompany_loan
- investment
- investor_funding
- legal_settlement
- lottery
- real_estate
- retained_earnings_or_savings
- retired
- retirement
- salary
- sale_of_business_assets
- sale_of_real_estate
- self_employed
- senior_executive
- trust_income
nullable: true
description: The source of the individual's funds.
wealth_source:
type: string
enum:
- business_sale
- family_support
- government_benefits
- inheritance
- investments
- other
- rental_income
- retirement
- salary
- self_employed
nullable: true
description: The source of the individual's wealth.
annual_income:
type: integer
nullable: true
description: The annual income of the individual in USD.
additionalProperties: false
minProperties: 18
required:
- id
- object
- live_mode
- created_at
- updated_at
- discarded_at
- employment_status
- occupation
- industry
- income_source
- income_state
- income_country
- employer_name
- employer_state
- employer_country
- source_of_funds
- wealth_source
- annual_income
connection_legal_entity:
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
connection_id:
type: string
description: The ID of the connection.
legal_entity_id:
type: string
description: The ID of the legal entity.
status:
type: string
enum:
- completed
- denied
- failed
- processing
- suspended
description: The status of the connection legal entity.
vendor_id:
type: string
description: The ID of the legal entity at the vendor.
additionalProperties: false
minProperties: 10
required:
- id
- object
- live_mode
- created_at
- updated_at
- discarded_at
- connection_id
- legal_entity_id
- status
- vendor_id
identification_create_request:
type: object
properties:
id_number:
type: string
description: The ID number of identification document.
documents:
type: array
description: A list of documents to attach to the identification.
items:
type: object
properties:
document_type:
type: string
enum:
- articles_of_incorporation
- certificate_of_good_standing
- ein_letter
- generic
- identification_back
- identification_front
- proof_of_address
description: A category given to the document, can be `null`.
file_data:
type: string
description: Base64-encoded file content for the document.
filename:
type: string
description: The original filename of the document.
required:
- document_type
- file_data
id_type:
type: string
enum:
- ar_cuil
- ar_cuit
- br_cnpj
- br_cpf
- ca_sin
- cl_run
- cl_rut
- co_cedulas
- co_nit
- drivers_license
- hn_id
- hn_rtn
- ie_pps
- in_lei
- kr_brn
- kr_crn
- kr_rrn
- passport
- sa_tin
- sa_vat
- us_ein
- us_itin
- us_ssn
- vn_tin
description: The type of ID number.
expiration_date:
type: string
format: date
nullable: true
description: The date when the Identification is no longer considered valid by the issuing authority.
issuing_country:
type: string
nullable: true
description: The ISO 3166-1 alpha-2 country code of the country that issued the identification
issuing_region:
type: string
nullable: true
description: The region in which the identifcation was issued.
required:
- id_number
- id_type
legal_entity_association_inline_create_request:
type: object
properties:
relationship_types:
type: array
items:
type: string
enum:
- authorized_signer
- beneficial_owner
- control_person
description: A list of relationship types for how the child entity relates to parent entity.
title:
type: string
nullable: true
description: The job title of the child entity at the parent entity.
ownership_percentage:
type: integer
nullable: true
description: The child entity's ownership percentage iff they are a beneficial owner.
child_legal_entity:
$ref: '#/components/schemas/child_legal_entity_create'
description: The child legal entity.
child_legal_entity_id:
type: string
description: The ID of the child legal entity.
required:
- relationship_types
child_legal_entity_create:
type: object
properties:
legal_entity_type:
type: string
enum:
- business
- individual
description: The type of legal entity.
risk_rating:
type: string
enum:
- low
- medium
- high
nullable: true
description: The risk rating of the legal entity. One of low, medium, high.
prefix:
type: string
nullable: true
description: An individual's prefix.
first_name:
type: string
nullable: true
description: An individual's first name.
middle_name:
type: string
nullable: true
description: An individual's middle name.
last_name:
type: string
nullable: true
description: An individual's last name.
suffix:
type: string
nullable: true
description: An individual's suffix.
# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/modern-treasury/refs/heads/main/openapi/modern-treasury-connectionlegalentity-api-openapi.yml