Modern Treasury AccountDetail API
The AccountDetail API from Modern Treasury — 2 operation(s) for accountdetail.
The AccountDetail API from Modern Treasury — 2 operation(s) for accountdetail.
openapi: 3.0.1
info:
title: Modern Treasury AccountCapability AccountDetail 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: AccountDetail
paths:
/api/{accounts_type}/{account_id}/account_details:
get:
summary: list account_details
tags:
- AccountDetail
description: Get a list of account details for a single internal or external account.
operationId: listAccountDetails
security:
- basic_auth: []
parameters:
- name: accounts_type
in: path
schema:
$ref: '#/components/schemas/accounts_type'
required: true
- name: account_id
in: path
schema:
type: string
description: The ID of the account.
required: true
- name: after_cursor
in: query
schema:
type: string
nullable: true
required: false
- name: per_page
in: query
required: false
schema:
type: integer
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/account_detail'
post:
summary: create account_detail
tags:
- AccountDetail
description: Create an account detail for an external account.
operationId: createAccountDetail
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
- name: accounts_type
in: path
schema:
type: string
enum:
- external_accounts
required: true
- name: account_id
in: path
schema:
type: string
description: The ID of the account.
required: true
responses:
'201':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/account_detail'
'404':
description: unsuccessful
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/account_detail_create_request'
/api/{accounts_type}/{account_id}/account_details/{id}:
get:
summary: get account_detail
tags:
- AccountDetail
description: Get a single account detail for a single internal or external account.
operationId: getAccountDetail
security:
- basic_auth: []
parameters:
- name: accounts_type
in: path
schema:
$ref: '#/components/schemas/accounts_type'
required: true
- name: account_id
in: path
schema:
type: string
description: The ID of the account.
required: true
- name: id
in: path
schema:
type: string
description: The ID of the account detail.
required: true
responses:
'200':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/account_detail'
'404':
description: not found
content:
application/json:
schema:
$ref: '#/components/schemas/error_message'
delete:
summary: delete account_detail
tags:
- AccountDetail
description: Delete a single account detail for an external account.
operationId: deleteAccountDetail
security:
- basic_auth: []
parameters:
- name: accounts_type
in: path
schema:
type: string
enum:
- external_accounts
required: true
- name: account_id
in: path
schema:
type: string
description: The ID of the account.
required: true
- name: id
in: path
schema:
type: string
description: The ID of the account detail.
required: true
responses:
'204':
description: successful
components:
schemas:
account_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
account_number:
type: string
description: The account number for the bank account.
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
description: One of `iban`, `clabe`, `wallet_address`, or `other`. Use `other` if the bank account number is in a generic format.
account_number_safe:
type: string
description: The last 4 digits of the account_number.
additionalProperties: false
minProperties: 8
maxProperties: 9
required:
- id
- object
- live_mode
- created_at
- updated_at
- discarded_at
- account_number_type
- account_number_safe
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
accounts_type:
type: string
enum:
- external_accounts
- internal_accounts
account_detail_create_request:
type: object
properties:
account_number:
type: string
description: The account number for the bank account.
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
description: One of `iban`, `clabe`, `wallet_address`, or `other`. Use `other` if the bank account number is in a generic format.
required:
- account_number
securitySchemes:
basic_auth:
type: http
scheme: basic