[Openid-specs-fapi] Swagger version of DDA
Nat Sakimura
nat at sakimura.org
Mon Jun 20 07:14:24 UTC 2016
Dear FAPI WG:
Attached please find the Swagger version of the DDA, kindly converted by
Edmund Jay. It is identical with the file in
https://bitbucket.org/openid/fapi/src .
It is a first cut so there are bunch of issues I am sure (and it
generates bunch of warnings), but I am sharing this never-the-less.
We probably want to split the transfer into a separate file since it can
wait longer.
One of the thing notably missing here from the PoV of the UK Open
Banking Standard is the "Open Data" portion: i.e., bank and
product/financial instrument metadata. Do you guys have any suggestion
on it?
Best,
Nat Sakimura
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openid.net/pipermail/openid-specs-fapi/attachments/20160620/56e2544e/attachment-0001.html>
-------------- next part --------------
# Example YAML to get you started quickly.
# Be aware that YAML has indentation based scoping.
# Code completion support is available so start typing for available options.
swagger: '2.0'
# This is your document metadata
info:
version: "1.0.0"
title: OpenID Financial API
tags:
-
name: account
description: account information
-
name: statement
description: statements information
-
name: transaction
description: account transactions
-
name: capability
description: information about the API
-
name: customer
description: information about the customer
-
name: transfer
description: transfer operations and information
# Describe your paths here
paths:
/account:
post:
tags:
- account
summary: Gets an account
description: |
*Example request for JSON *
```
POST /account HTTP/1.1
Host: example.com
Accept: application/json
Authorization: Bearer w0mcJylzCn-AfvuGdqkty2-KP48=
Content-Type: application/x-www-form-urlencoded
accountId=1
```
*Example JSON response *
```
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"DepositAccount" : { }
}
```
operationId: GetAccount
consumes:
- application/x-www-form-urlencoded
produces:
- application/json
parameters:
-
name: accountId
in: formData
description: Account identifier
required: true
type: string
# Expected responses for this operation:
responses:
# Response code
200:
description:
Successful response
schema:
$ref: '#/definitions/AccountResponse'
/account/statement:
post:
tags:
- statement
summary: Get an account statement.
description: |
Gets an image of an account statement.
Can be one of the following formats:
- application/pdf
- image/gif
- image/jpeg
- image/png
- image/tiff
*Example request for application/pdf *
```
POST /account/statement HTTP/1.1
Host: example.com
Accept: application/pdf
Authorization: Bearer w0mcJylzCn-AfvuGdqkty2-KP48=
Content-Type: application/x-www-form-urlencoded
accountId=1&statementId=1
```
*Example application/pdf response *
```
HTTP/1.1 200 OK
Content-Type: application/pdf
Binary data
```
operationId: GetStatement
consumes:
- application/x-www-form-urlencoded
produces:
- application/pdf
- image/gif
- image/jpeg
- image/png
- image/tiff
parameters:
- name: accountId
in: formData
description: Account identifier
required: true
type: string
- name: statementId
in: formData
description: Statement identifier
required: true
type: string
# Expected responses for this operation:
responses:
# Response code
200:
description:
An image of an account statement
/account/statements:
post:
tags:
- statement
summary: Get statements.
description: |
Gets a list of statements for the given account.
*Example request for JSON *
```
POST /account/statements HTTP/1.1
Host: example.com
Accept: application/json
Authorization: Bearer w0mcJylzCn-AfvuGdqkty2-KP48=
Content-Type: application/x-www-form-urlencoded
accountId=1&startTime=2015-01-01Z&endTime=2015-02-01Z&page=1
```
*Example JSON response *
```
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"Statements" : { }
}
```
operationId: GetStatements
consumes:
- application/x-www-form-urlencoded
produces:
- application/json
parameters:
- name: accountId
in: formData
description: Account identifier
required: true
type: string
- name: startTime
in: formData
description: Start time for use in retrieval; ISO 8601 date including zone indicator or combined date time including zone indicator
required: false
type: string
- name: endTime
in: formData
description: End time for use in retrieval; ISO 8601 date including zone indicator or combined date time including zone indicator
required: false
type: string
- name: page
in: formData
description: Page number (applicable only if the server has indicated that the collection is paginated)
required: false
type: string
# Expected responses for this operation:
responses:
# Response code
200:
description:
A list of statements
schema:
$ref: '#/definitions/Statements'
/account/transaction/image:
post:
tags:
- transaction
summary: Get a transaction image.
description: |
An image of a transaction (such as a scanned check).
Can be one of the following formats:
- application/pdf
- image/gif
- image/jpeg
- image/png
- image/tiff
*Example request for application/pdf *
```
POST /account/transaction/image HTTP/1.1
Host: example.com
Accept: application/pdf
Authorization: Bearer w0mcJylzCn-AfvuGdqkty2-KP48=
Content-Type: application/x-www-form-urlencoded
accountId=1&imageId=1&startTime=2015-01-01Z&endTime=2015-02-01Z
```
*Example application/pdf response *
```
HTTP/1.1 200 OK
Content-Type: application/pdf
Binary data
```
operationId: GetTransactionImage
consumes:
- application/x-www-form-urlencoded
produces:
- application/pdf
- image/gif
- image/jpeg
- image/png
- image/tiff
parameters:
- name: accountId
in: formData
description: Account identifier
required: true
type: string
- name: imageId
in: formData
description: Image identifier
required: true
type: string
- name: startTime
in: formData
description: Start time for use in retrieval; ISO 8601 date including zone indicator or combined date time including zone indicator
required: false
type: string
- name: endTime
in: formData
description: End time for use in retrieval; ISO 8601 date including zone indicator or combined date time including zone indicator
required: false
type: string
# Expected responses for this operation:
responses:
# Response code
200:
description:
An image of a tranasction
/account/transactions:
post:
tags:
- transaction
summary: Get account transactions.
description: |
Gets a list of transactions for the given account.
*Example request for JSON *
```
POST /account/transactions HTTP/1.1
Host: example.com
Accept: application/json
Authorization: Bearer w0mcJylzCn-AfvuGdqkty2-KP48=
Content-Type: application/x-www-form-urlencoded
accountId=1&startTime=2015-01-01Z&endTime=2015-02-01Z&page=1
```
*Example JSON response *
```
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"Transactions" : { }
}
```
operationId: GetTransactions
consumes:
- application/x-www-form-urlencoded
produces:
- application/json
parameters:
- name: accountId
in: formData
description: Account identifier
required: true
type: string
- name: startTime
in: formData
description: Start time for use in retrieval; ISO 8601 date including zone indicator or combined date time including zone indicator
required: false
type: string
- name: endTime
in: formData
description: End time for use in retrieval; ISO 8601 date including zone indicator or combined date time including zone indicator
required: false
type: string
- name: page
in: formData
description: Page number (applicable only if the server has indicated that the collection is paginated)
required: false
type: string
# Expected responses for this operation:
responses:
# Response code
200:
description:
A list of account transactions
schema:
$ref: '#/definitions/Transactions'
/accountlist:
get:
tags:
- account
summary: Get a lightweight list of accounts for the current token.
description: |
Gets a list of accounts for the given token.
*Example request for JSON *
```
GET /accountlist HTTP/1.1
Host: example.com
Accept: application/json
Authorization: Bearer w0mcJylzCn-AfvuGdqkty2-KP48=
```
*Example JSON response *
```
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"AccountDescriptorList" : { }
}
```
operationId: GetAccounts
produces:
- application/json
# Expected responses for this operation:
responses:
# Response code
200:
description:
A list of accounts
schema:
$ref: '#/definitions/AccountDescriptorList'
/accountdetails:
get:
tags:
- account
summary: Get all detailed account information for the current token.
description: |
Get all detailed account information for the given token.
*Example request for JSON *
```
GET /accountdetails HTTP/1.1
Host: example.com
Accept: application/json
Authorization: Bearer w0mcJylzCn-AfvuGdqkty2-KP48=
```
*Example JSON response *
```
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"Accounts" : { }
}
```
operationId: GetAccountsDetails
produces:
- application/json
# Expected responses for this operation:
responses:
# Response code
200:
description:
A list of detailed accounts information
schema:
$ref: '#/definitions/Accounts'
post:
tags:
- account
summary: Query all information for a set of accounts provided in the payload.
description: |
Get all detailed account information matching the request parameters.
*Example request for JSON *
```
POST /accountdetails HTTP/1.1
Host: example.com
Accept: application/json
Authorization: Bearer w0mcJylzCn-AfvuGdqkty2-KP48=
Content-Type: application/json
{
"AccountsDetailsRequest": {
"singleAccountDetailsRequestList": {
"singleAccountDetailsRequest": [{
"accountId": "1",
"startTime": "2015-04-01T00:00:00.000Z"
}, {
"accountId": "2",
"startTime": "2015-05-01T00:00:00.000Z"
}]
}
}
}
```
*Example JSON response *
```
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"Accounts" : { }
}
```
operationId: GetAccountsDetailsSet
consumes:
- application/json
produces:
- application/json
parameters:
- name: AccountsDetailsRequest
in: body
description: AccountDetails Request parameters
required: true
schema:
$ref: '#/definitions/AccountsDetailsRequest'
# Expected responses for this operation:
responses:
# Response code
200:
description:
A list of detailed accounts information
schema:
$ref: '#/definitions/Accounts'
/availability:
get:
tags:
- capability
summary: Get information about this APIs availability.
description: |
*Example request for JSON *
```
GET /availability HTTP/1.1
Host: example.com
Accept: application/json
Authorization: Bearer w0mcJylzCn-AfvuGdqkty2-KP48=
```
*Example JSON response *
```
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"Availability" : { }
}
```
operationId: GetAvailability
produces:
- application/json
# Expected responses for this operation:
responses:
# Response code
200:
description:
API Availability
schema:
$ref: '#/definitions/Availability'
/capability:
get:
tags:
- capability
summary: Get information about this APIs capabilities.
description: |
*Example request for JSON *
```
GET /capability HTTP/1.1
Host: example.com
Accept: application/json
Authorization: Bearer w0mcJylzCn-AfvuGdqkty2-KP48=
```
*Example JSON response *
```
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"Capability": {
"allowedConnections": 10,
"supportsCustomer": true,
"supportsAccounts": true,
"supportsTransactions": true,
"supportsImage": true,
"messageFormat": "JSON"
}
}
```
operationId: GetCapability
produces:
- application/json
# Expected responses for this operation:
responses:
# Response code
200:
description:
API Capability
schema:
$ref: '#/definitions/Capability'
/customer:
get:
tags:
- customer
summary: Get information about the customer within the authorization scope.
description: |
*Example request for JSON *
```
GET /customer HTTP/1.1
Host: example.com
Accept: application/json
Authorization: Bearer w0mcJylzCn-AfvuGdqkty2-KP48=
```
*Example JSON response *
```
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"Customer": {
"name": {
"first": "Michael",
"middle": "J",
"last": "Smith",
"company": "Acme"
},
"taxId": "144-27-7471"
}
}
```
operationId: GetCustomer
produces:
- application/json
# Expected responses for this operation:
responses:
# Response code
200:
description:
API Capability
schema:
$ref: '#/definitions/Customer'
/transfer:
post:
tags:
- transfer
summary: Create a transfer between accounts.
description: |
*Example request for JSON *
```
POST /transfer HTTP/1.1
Host: example.com
Accept: application/json
Authorization: Bearer w0mcJylzCn-AfvuGdqkty2-KP48=
Content-Type: application/json
{
"Transfer" : { }
}
```
*Example JSON response *
```
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"TransferStatus": {}
}
```
operationId: DoTransfer
consumes:
- application/json
produces:
- application/json
parameters:
- name: Transfer
in: body
description: Transfer request parameters
required: true
schema:
$ref: '#/definitions/Transfer'
# Expected responses for this operation:
responses:
# Response code
200:
description:
Transfer status
schema:
$ref: '#/definitions/TransferStatus'
/transfer/status:
post:
tags:
- transfer
summary: Get status of a transfer between accounts.
description: |
*Example request for JSON *
```
POST /transfer/status HTTP/1.1
Host: example.com
Accept: application/json
Authorization: Bearer w0mcJylzCn-AfvuGdqkty2-KP48=
Content-Type: application/json
transferId=1
```
*Example JSON response *
```
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"TransferStatus": {}
}
```
operationId: GetTransferStatus
consumes:
- application/x-www-form-urlencoded
produces:
- application/json
parameters:
- name: transferId
in: formData
description: Transfer identifier
required: true
type: string
# Expected responses for this operation:
responses:
# Response code
200:
description:
Transfer status
schema:
$ref: '#/definitions/TransferStatus'
definitions:
# -----------------------------------------------------------------
# Simple Types
# -----------------------------------------------------------------
AccountStatus:
type: string
enum:
- CLOSED
- DELINQUENT
- NEGATIVECURRENTBALANCE
- OPEN
- PAID
- PENDINGCLOSE
- PENDINGOPEN
AccountType:
type: string
description: Account type
enum:
- 401A
- 401K
- 403B
- "529"
- CD
- CHARGE
- CHECKING
- COMMERCIALLINEOFCREDIT
- COMMERCIALLOAN
- COVERDELL
- CREDITCARD
- ESCROW
- ESOP
- GUARDIAN
- HOMEEQUITYLOAN
- HOMELINEOFCREDIT
- INSITUTIONALTRUST
- INSTALLMENT
- IRA
- KEOGH
- LINEOFCREDIT
- LOAN
- MILATARYLOAN
- MONEYMARKET
- MORTGAGE
- PERSONALLOAN
- ROLLOVER
- ROTH
- SARSEP
- SAVINGS
- SMBLOAN
- STUDENTLOAN
- TAXABLE
- TDA
- TRUST
- UGMA
- UTMA
BccountStatus:
type: string
enum:
- CLOSED
- DELINQUENT
AssetClass:
type: string
enum:
- DOMESTICBOND
- INTLBOND
- INTLSTOCK
- LARGESTOCK
- MONEYMARKET
- OTHER
- SMALLSTOCK
BalanceType:
type: string
enum:
- ASSET
- LIABILITY
Boolean:
type: boolean
CallType:
type: string
enum:
- CALL
- MATURITY
- PREFUND
- PUT
CompoundingPeriod:
type: string
enum:
- ANNUALLY
- BIWEEKLY
- DAILY
- MONTHLY
- SEMIANNUALLY
- SEMIMONTHLY
- WEEKLY
CouponMatureFrequency:
type: string
enum:
- ANNUAL
- MONTHLY
- OTHER
- QUARTERLY
- SEMIANNUAL
DebitCreditMemo:
type: string
enum:
- CREDIT
- DEBIT
- MEMO
DebtClass:
type: string
enum:
- CORPORATE
- MUNICIPAL
- OTHER
- TREASURY
DebtType:
type: string
enum:
- COUPON
- ZERO
DeliveryAddressType:
type: string
enum:
- BUSINESS
- HOME
- MAILING
DepositTransactionType:
type: string
enum:
- ADJUSTMENT
- ATMDEPOSIT
- ATMWITHDRAWAL
- BILLPAYMENT
- CHECK
- DEPOSIT
- DIRECTDEPOSIT
- DIVIDEND
- FEE
- INTEREST
- POSCREDIT
- POSDEBIT
- TRANSFER
- WITHDRAWAL
HeldInAccount:
type: string
enum:
- CASH
- MARGIN
- OTHER
- SHORT
HoldingSubType:
type: string
enum:
- CASH
- MONEYMARKET
HoldingType:
type: string
enum:
- ANNUITY
- BOND
- CD
- MUTUALFUND
- OPTIONS
- STOCK
Identifier:
type: string
maxLength: 128
IncomeType:
type: string
enum:
- CGLONG
- CGSHORT
- MISC
InterestRateType:
type: string
enum:
- FIXED
- VARIABLE
Inv401kSourceType:
type: string
enum:
- AFTERTAX
- MATCH
- OTHERNONVEST
- OTHERVEST
- PRETAX
- PROFITSHARING
- ROLLOVER
InvestmentBalanceType:
type: string
enum:
- AMOUNT
- PERCENTAGE
InvestmentTransactionType:
type: string
enum:
- ADJUSTMENT
- ATM
- CASH
- CHECK
- CLOSURE
- CLOSUREOPT
- CONTRIBUTION
- DEP
- DIRECTDEBIT
- DIRECTDEP
- DIV
- DIVIDEND
- DIVIDENDREINVEST
- EXPENSE
- FEE
- INCOME
- INTEREST
- INVEXPENSE
- JRNLFUND
- JRNLSEC
- MARGININTEREST
- OPTIONEXERCISE
- OPTIONEXPIRATION
- OTHER
- PAYMENT
- POS
- PURCHASED
- PURCHASEDTOCOVER
- PURCHASETOCLOSE
- PURCHASETOOPEN
- REINVESTOFINCOME
- REPEATPMT
- RETURNOFCAPITAL
- SOLD
- SOLDTOCLOSE
- SOLDTOOPEN
- SPLIT
- SRVCHG
- TRANSFER
- XFER
Iso3166CountryCode:
type: string
description: ISO 3166 Codes for the representation of names of countries and their subdivisions.
enum:
- AD
- AE
- AF
- AG
- AI
- AL
- AM
- AN
- AO
- AQ
- AR
- AS
- AT
- AU
- AW
- AX
- AZ
- BA
- BB
- BD
- BE
- BF
- BG
- BH
- BI
- BJ
- BM
- BN
- BO
- BR
- BS
- BT
- BV
- BW
- BY
- BZ
- CA
- CC
- CD
- CF
- CG
- CH
- CI
- CK
- CL
- CM
- CN
- CO
- CR
- CS
- CU
- CV
- CX
- CY
- CZ
- DE
- DJ
- DK
- DM
- DO
- DZ
- EC
- EE
- EG
- EH
- ER
- ES
- ET
- FI
- FJ
- FK
- FM
- FO
- FR
- GA
- GB
- GD
- GE
- GF
- GG
- GH
- GI
- GL
- GM
- GN
- GP
- GQ
- GR
- GS
- GT
- GU
- GW
- GY
- HK
- HM
- HN
- HR
- HT
- HU
- ID
- IE
- IL
- IM
- IN
- IO
- IQ
- IR
- IS
- IT
- JE
- JM
- JO
- JP
- KE
- KG
- KH
- KI
- KM
- KN
- KP
- KR
- KW
- KY
- KZ
- LA
- LB
- LC
- LI
- LK
- LR
- LS
- LT
- LU
- LV
- LY
- MA
- MC
- MD
- MG
- MH
- MK
- ML
- MM
- MN
- MO
- MP
- MQ
- MR
- MS
- MT
- MU
- MV
- MW
- MX
- MY
- MZ
- NA
- NC
- NE
- NF
- NG
- NI
- NL
- NO
- NP
- NR
- NU
- NZ
- OM
- PA
- PE
- PF
- PG
- PH
- PK
- PL
- PM
- PN
- PR
- PS
- PT
- PW
- PY
- QA
- RE
- RO
- RU
- RW
- SA
- SB
- SC
- SD
- SE
- SG
- SH
- SI
- SJ
- SK
- SL
- SM
- SN
- SO
- SR
- ST
- SV
- SY
- SZ
- TC
- TD
- TF
- TG
- TH
- TJ
- TK
- TL
- TM
- TN
- TO
- TR
- TT
- TV
- TW
- TZ
- UA
- UG
- UM
- US
- UY
- UZ
- VA
- VC
- VE
- VG
- VI
- VN
- VU
- WF
- WS
- YE
- YT
- ZA
- ZM
- ZW
Iso4217Code:
type: string
enum:
- AED
- AFN
- ALL
- AMD
- ANG
- AOA
- ARS
- AUD
- AWG
- AZN
- BAM
- BBD
- BDT
- BGN
- BHD
- BIF
- BMD
- BND
- BOB
- BOV
- BRL
- BSD
- BTN
- BWP
- BYR
- BZD
- CAD
- CDF
- CHE
- CHF
- CHW
- CLF
- CLP
- CNY
- COP
- COU
- CRC
- CUC
- CUP
- CVE
- CZK
- DJF
- DKK
- DOP
- DZD
- EGP
- ERN
- ETB
- EUR
- FJD
- FKP
- GBP
- GEL
- GHS
- GIP
- GMD
- GNF
- GTQ
- GYD
- HKD
- HNL
- HRK
- HTG
- HUF
- IDR
- ILS
- INR
- IQD
- IRR
- ISK
- JMD
- JOD
- JPY
- KES
- KGS
- KHR
- KMF
- KPW
- KRW
- KWD
- KYD
- KZT
- LAK
- LBP
- LKR
- LRD
- LSL
- LYD
- MAD
- MDL
- MGA
- MKD
- MMK
- MNT
- MOP
- MRO
- MUR
- MVR
- MWK
- MXN
- MXV
- MYR
- MZN
- NAD
- NGN
- NIO
- NOK
- NPR
- NZD
- OMR
- PAB
- PEN
- PGK
- PHP
- PKR
- PLN
- PYG
- QAR
- RON
- RSD
- RUB
- RWF
- SAR
- SBD
- SCR
- SDG
- SEK
- SGD
- SHP
- SLL
- SOS
- SRD
- SSP
- STD
- SVC
- SYP
- SZL
- THB
- TJS
- TMT
- TND
- TOP
- TRY
- TTD
- TWD
- TZS
- UAH
- UGX
- USD
- USN
- UYI
- UYU
- UZS
- VEF
- VND
- VUV
- WST
- XAF
- XAG
- XAU
- XBA
- XBB
- XBC
- XBD
- XCD
- XDR
- XOF
- XPD
- XPF
- XPT
- XSU
- XTS
- XUA
- XXX
- YER
- ZAR
- ZMW
- ZWL
LoanPaymentFrequency:
type: string
enum:
- ANNUALLY
- BIMONTHLY
- BIWEEKLY
- FOURWEEKS
- MONTHLY
- OTHER
- QUARTERLY
- SEMIANNUALLY
- TWICEMONTHLY
- WEEKLY
LoanTransactionType:
type: string
enum:
- ADJUSTMENT
- FEE
- INTEREST
- PAYMENT
LocTransactionType:
type: string
enum:
- ADJUSTMENT
- CHECK
- FEE
- INTEREST
- PAYMENT
- WITHDRAWAL
MessageFormat:
type: string
enum:
- JSON
- XML
MutualFundType:
type: string
enum:
- CLOSEEND
- OPENEND
- OTHER
Number:
type: number
format: double
OptionType:
type: string
enum:
- CALL
- PUT
OrderDuration:
type: string
enum:
- DAY
- GOODTILLCANCEL
- IMMEDIATE
OrderType:
type: string
enum:
- BUY
- BUYTOCOVER
- BUYTOOPEN
- SELL
- SELLCLOSE
- SELLSHORT
- SELLTOCOVER
- SELLTOOPEN
PaymentFrequency:
type: string
enum:
- ANNUALLY
- BIWEEKLY
- DAILY
- MONTHLY
- SEMIANNUALLY
- SEMIMONTHLY
- WEEKLY
PositionType:
type: string
enum:
- LONG
- SHORT
Secured:
type: string
enum:
- COVERED
- NAKED
SecurityIdType:
type: string
enum:
- CUSIP
- ISIN
- SEDOL
- SICC
- VALOR
- WKN
SecurityType:
type: string
enum:
- DEBT
- MUTUALFUND
- OPTION
- OTHER
- STOCK
- SWEEP
StockType:
type: string
enum:
- COMMON
- CONVERTIBLE
- OTHER
- PREFERRED
String10:
type: string
maxLength: 10
String2:
type: string
maxLength: 2
String255:
type: string
maxLength: 255
String3:
type: string
maxLength: 3
String64:
type: string
maxLength: 64
String9:
type: string
maxLength: 9
SubAccountType:
type: string
enum:
- CASH
- MARGIN
- OTHERS
- SHORT
TelephoneNumberType:
type: string
enum:
- BUSINESS
- CELL
- FAX
- HOME
Timestamp:
type: string
description: ISO 8601 date time with milliseconds in UTC time zone.
pattern: \d{4}\-\d\d\-\d\dT\d\d:\d\d:\d\d\.\d\d\dZ
TransactionReason:
type: string
enum:
- CALL
- MATURITY
- SELL
TransactionStatus:
type: string
enum:
- AUTHORIZATION
- MEMO
- PENDING
- POSTED
TransferStatusStatus:
type: string
enum:
- FAILURE
- NOFUNDS
- PENDING
- SUCCESS
UnitType:
type: string
enum:
- CURRENCY
- SHARES
# -----------------------------------------------
# Entity Types
# -----------------------------------------------
Account:
description: An abstract account entity that concrete account entities extend. Extends and inherits all fields from [AccountDescriptor]('#/definitions/AccountDescriptor').
type: object
discriminator: AccountObjectType
allOf:
- $ref: '#/definitions/AccountDescriptor'
- type: object
required:
- Currency
- AccountNumber
- InterestRate
- AccountObjectType # for Polymorphism
properties:
AccountObjectType:
type: string
description: for Polymorphism
ParentAccountId:
description: Long-term persistent identity of the parent account. This is used to group accounts.
$ref: '#/definitions/Identifier'
Nickname:
type: string
description: The user's moniker for the account
Currency:
description: Currency Aggregate
$ref: '#/definitions/Currency'
LineOfBusiness:
description: The line of business, such as consumer, consumer joint, small business, corporate, etc.
type: string
AccountNumber:
description: End user's handle for account at owning institution
type: string
RoutingTransitNumber:
description: RTN associated with account number at owning institution.
type: string
BalanceType:
description: ASSET (positive transaction amount increases balance), LIABILITY (positive transaction amount decreases balance)
$ref: '#/definitions/BalanceType'
InterestRate:
description: Interest Rate of Account
type: number
format: double
InterestRateType:
description: FIXED or VARIABLE
$ref: '#/definitions/InterestRateType'
InterestRateAsOf:
description: Date of account's interest rate
$ref: '#/definitions/Timestamp'
PriorInterestRate:
description: Previous Interest Rate of Account
type: number
format: double
TransferIn:
description: Account is eligible for incoming transfers
type: boolean
TransferOut:
description: Account is eligible for outgoing transfers
type: boolean
MicrNumber:
description: MICR Number
$ref: '#/definitions/String64'
LastActivityDate:
description: Date that last transaction occurred on account
$ref: '#/definitions/Timestamp'
TransactionsIncluded:
description: Default is false. If present and true, a call to retrieve transactions will not return any further details about this account. This is an optimization that allows a Durable Data API server to return transactions and account details in a single call.
type: boolean
AccountDescriptor:
description: Minimal information about the account for use in lightweight arrays.
type: object
discriminator:
AccountDescriptorObjectType
required:
- AccountId
- DisplayName
- Status
- AccountDescriptorObjectType
properties:
AccountDescriptorObjectType:
type: string
description: for Polymorphism
AccountId:
description: Long-term persistent identity of the account. Not an account number. This identity must be unique to the owning institution.
$ref: '#/definitions/Identifier'
AccountType:
description: Account type
$ref: '#/definitions/AccountType'
DisplayName:
description: Account identity to display to customer. This may be a masked account number or product name followed by masked number.
type: string
Status:
description: Account status
$ref: '#/definitions/AccountStatus'
Description:
description: Description of account
type: string
Error:
type: object
description: Present if an error was encountered while retrieving this account
$ref: '#/definitions/Error'
FiAttributes:
description: Array of FI-specific attributes
type: array
items:
$ref: '#/definitions/FiAttribute'
AccountDescriptorList:
description: A lightweight array of accounts.
type: array
items:
$ref: '#/definitions/AccountDescriptor'
#TODO couble check items
Accounts:
description: An optionally paginated array of accounts.
type: object
properties:
Total:
type: integer
format: int32
description: Total number of results in this collection across all pages
TotalPages:
type: integer
format: int32
description: Total number of pages
Page:
type: integer
format: int32
description: Current page number
Accounts:
type: array
description: An array of accounts with entity types dependent on the account type (deposit, investment, loan, or line of credit)
items:
$ref: '#/definitions/Account'
AccountsDetailsRequest:
type: object
required:
- SingleAccountDetailsRequestList
properties:
SingleAccountDetailsRequestList:
$ref: '#/definitions/SingleAccountDetailsRequestList'
Availability:
type: object
required:
- CurrentStatus
properties:
CurrentStatus:
type: string
CurrentStatusDesc:
type: string
PlannedAvailability:
type: array
description: An array of PlannedAvailability
items:
$ref: '#/definitions/PlannedAvailability'
Capability:
type: object
description: Describes capabilities of this implementation of Financial API.
properties:
AllowedConnections:
type: integer
format: int32
description: Number of concurrent connections allowed for this client
ActiveConnections:
type: integer
format: int32
description: Current number of active connections for this client
SupportsCustomer:
type: boolean
default: false
description: Capable of responding to customer queries. Defaults to false.
SupportsAccounts:
type: boolean
default: false
description: Capable of responding to accounts and account queries. Defaults to false.
SupportsTransactions:
type: boolean
default: false
description: Capable of responding to transaction queries. Defaults to false.
SupportsStatements:
type: boolean
default: false
description: Capable of responding to statements and statement queries. Defaults to false.
SupportsImage:
type: boolean
default: false
description: Capable of responding to image queries. Defaults to false.
SupportsBillPay:
type: boolean
default: false
description: Capable of supporting a bill payment request. Defaults to false.
SupportsTransfer:
type: boolean
default: false
description: Capable of supporting a transfer request. Defaults to false.
MessageFormat:
$ref: '#/definitions/MessageFormat'
description: Whether messages are in XML or JSON format. Defaults to JSON.
TransferCutOffTime:
$ref: '#/definitions/Timestamp'
description: Cut off time for transfers. Required if transfers are supported.
Contribution:
type: object
properties:
SecurityId:
type: string
description: Unique identifier of security
SecurityIdType:
$ref: '#/definitions/SecurityIdType'
description: Security identifier type
EmployerMatchPercentage:
type: number
format: double
description: Employer contribution match percentage
EmployerMatchAmount:
type: number
format: double
description: Employer contribution match amount
EmployeePreTaxAmount:
type: number
format: double
description: Employee pre-tax contribution amount
EmployeePreTaxPercentage:
type: number
format: double
description: Employee pre-tax contribution percentage
EmployeeAfterTaxAmount:
type: number
format: double
description: Employee after tax contribution amount
EmployeeAfterTaxPercentage:
type: number
format: double
description: Employee after tax contribution percentage
EmployeeDeferPreTaxAmount:
type: number
format: double
description: Employee defer pre-tax contribution match amount
EmployeeDeferPreTaxPercentage:
type: number
format: double
description: Employee defer pre-tax contribution match percentage
EmployeeYearToDate:
type: number
format: double
description: Employee total year to date contribution
EmployerYearToDate:
type: number
format: double
description: Employer total year to date contribution
RolloverContributionPercentage:
type: number
format: double
description: Rollover contribution percentage
RolloverContributionAmount:
type: number
format: double
description: Rollover contribution Amount
Currency:
type: object
properties:
CurrencyRate:
type: number
format: double
description: Currency rate between original and converted currency
CurrencyCode:
$ref: '#/definitions/Iso4217Code'
description: ISO 4217 currency code
OriginalCurrencyCode:
$ref: '#/definitions/Iso4217Code'
descriptions: Original ISO 4217 currency code
Customer:
type: object
required:
- CustomerId
- Name
properties:
CustomerId:
$ref: '#/definitions/Identifier'
description: Long-term persistent identity of the customer. This identity must be unique to the owning institution.
Name:
$ref: '#/definitions/CustomerName'
description: The customer's name
DateOfBirth:
$ref: '#/definitions/Timestamp'
descriptions: The customer's date of birth
TaxId:
type: string
description: The SSN or TIN associated with this customer
GovernmentId:
type: string
description: A federal (such as passport) or state (such as driver's license) issued identifier
Email:
type: array
description: An array of the customer's electronic mail addresses
items:
type: string
format: email
Addresses:
type: array
description: An array of the customer's physical mail addresses
items:
$ref: '#/definitions/DeliveryAddress'
Telephones:
type: array
description: An array of the customer's telephone numbers
items:
$ref: '#/definitions/TelephoneNumber'
CustomerName:
type: object
required:
- First
- Last
properties:
Prefix:
type: string
description: Name prefix, e.g. Mr.
First:
type: string
description: First name
Middle:
type: string
description: Middle name
Last:
type: string
description: Last name
Suffix:
type: string
description: Name suffix, e.g. Jr.
Company:
type: string
description: Company name
DebtSecurity:
type: object
properties:
ParValue:
type: number
format: double
description: Par value amount
DebtType:
$ref: '#/definitions/DebtType'
description: Debt type (COUPON, ZERO)
DebtClass:
$ref: '#/definitions/DebtClass'
description: Classification of debt (TREASURY, MUNICIPAL, CORPORATE,OTHER)
CouponRate:
type: number
format: double
description: Bond coupon rate for next closest call date
CouponDate:
$ref: '#/definitions/Timestamp'
description: Maturity date for next coupon
CouponMatureFrequency:
$ref: '#/definitions/CouponMatureFrequency'
description: 'When coupons mature. One of the following values: MONTHLY, QUARTERLY, SEMIANNUAL, ANNUAL, or OTHER'
CallPrice:
type: number
format: double
description: Bond call price
YieldToCall:
type: number
format: double
description: Yield to next call
CallDate:
$ref: '#/definitions/Timestamp'
description: Next call date
CallType:
$ref: '#/definitions/CallType'
description: Type of next call. CALL, PUT, PREFUND, MATURITY
YieldToMaturity:
type: number
format: double
description: Yield to maturity
DeliveryAddress:
type: object
required:
- Line1
- City
- State
- Zip
properties:
Type:
$ref: '#/definitions/DeliveryAddressType'
description: Address type
Line1:
$ref: '#/definitions/String64'
description: The delivery location's first line
Line2:
$ref: '#/definitions/String64'
description: The delivery location's second line
Line3:
$ref: '#/definitions/String64'
description: The delivery location's third line
City:
$ref: '#/definitions/String64'
description: The delivery location's city
State:
$ref: '#/definitions/String2'
description: The delivery location's state
Zip:
$ref: '#/definitions/String9'
description: The delivery location's zip code
Country:
$ref: '#/definitions/Iso3166CountryCode'
description: ISO 3166 two digit country code
DepositAccount:
type: object
description: Extends and inherits all fields from Account.
allOf:
- $ref: '#/definitions/Account'
- type: object
required:
- BalanceAsOf
- CurrentBalance
properties:
BalanceAsOf:
description: As-of date of balances
type: number
format: double
CurrentBalance:
description: Balance of funds in account
type: number
format: double
OpeningDayBalance:
description: Day's opening fund balance
type: number
format: double
AvailableBalance:
description: Balance of funds available for use
type: number
format: double
AnnualPercentageYield:
description: Annual Percentage Yield
type: number
format: double
InterestYtd:
description: YTD Interest
type: number
format: double
Term:
description: Term of CD in months
type: integer
format: int32
MaturityDate:
description: Maturity date for CDs
$ref: '#/definitions/Timestamp'
format: double
Transactions:
description: Array of DepositTransaction
type: array
items:
$ref: '#/definitions/DepositTransaction'
DepositTransaction:
type: object
description: Extends and inherits all fields from Transaction.
allOf:
- $ref: '#/definitions/Transaction'
- type: object
required:
- TransactionType
properties:
TransactionType:
description: CHECK, WITHDRAWAL, TRANSFER, POSDEBIT, ATMWITHDRAWAL, BILLPAYMENT, FEE, DEPOSIT, ADJUSTMENT,INTEREST, DIVIDEND, DIRECTDEPOSIT, ATMDEPOSIT, POSCREDIT
$ref: '#/definitions/DepositTransactionType'
Payee:
description: Payee name
$ref: '#/definitions/String255'
CheckNumber:
description: Check number
type: integer
format: int64
Error:
type: object
description: An error entity which can be used at the API level for error responses or at the account level to indicate a problem specific to a particular account.
required:
- Code
properties:
Code:
type: string
description: Long term persistent identifier which can be used to trace error condition back to log information
Message:
type: string
description: End user displayable information which might help the customer diagnose an error
FiAttribute:
type: object
description: FI-specific attribute.
required:
- Name
- Value
properties:
Name:
type: string
Value:
type: string
FiPortion:
type: object
properties:
AssetClass:
type: string
description: FI-specific asset class
Percent:
type: number
format: double
description: Percentage of asset class that falls under this asset
Holding:
type: object
required:
- Units
properties:
HoldingId:
$ref: '#/definitions/Identifier'
description: Long term persistent identity of the holding
SecurityId:
type: string
description: Unique identifier of security
SecurityIdType:
$ref: '#/definitions/SecurityIdType'
description: Security identifier type
HoldingName:
type: string
description: Holding name or security name
HoldingType:
$ref: '#/definitions/HoldingType'
description: STOCK, BOND, MUTUALFUND, CD, ANNUITY, OPTIONS
HoldingSubType:
$ref: '#/definitions/HoldingSubType'
description: MONEYMARKET, CASH
PositionType:
$ref: '#/definitions/PositionType'
description: LONG, SHORT
HeldInAccount:
$ref: '#/definitions/HeldInAccount'
description: Sub-account CASH, MARGIN, SHORT, OTHER
Description:
type: string
description: The description of the holding
Symbol:
type: string
description: Ticker / Market symbol
OriginalPurchaseDate:
$ref: '#/definitions/Timestamp'
description: Date of original purchase
PurchasedPrice:
type: number
format: double
description: Price of holding at the time of purchase
CurrentUnitPrice:
type: number
format: double
description: Current unit price
ChangeInPrice:
type: number
format: double
description: Change in current price compared to previous day's close
CurrentUnitPriceDate:
$ref: '#/definitions/Timestamp'
description: Current unit price as of date
Units:
type: number
format: double
description: Required for stock, mutual funds. Number of shares (with decimals).
MarketValue:
type: number
format: double
description: Market value at the time of data retrieved
FaceValue:
type: number
format: double
description: Required for bonds. Face value at the time of data retrieved.
AverageCost:
type: boolean
description: Cost is average of all purchases for holding
CashAccount:
type: boolean
description: If true, indicates that this holding is used to maintain proceeds from sales, dividends, and other cash postings to the investment account
Rate:
type: number
format: double
description: For CDs, bonds, and other rate based holdings
ExpirationDate:
$ref: '#/definitions/Timestamp'
description: For CDs, bonds, and other time-based holdings
Inv401kSource:
$ref: '#/definitions/Inv401kSourceType'
description: Source for money for this security. PRETAX, AFTERTAX, MATCH, PROFITSHARING, ROLLOVER, OTHERVEST, OTHERNONVEST
Currency:
$ref: '#/definitions/Currency'
description: Currency information if it is different from Account entity
AssetClasses:
description: Percent breakdown by asset class
type: array
items:
$ref: '#/definitions/Portion'
FiAssetClasses:
description: Percent breakdown by FI-specific asset class percentage breakdown
type: array
items:
$ref: '#/definitions/FiPortion'
FiAttributes:
description: Array of FI-specific attributes
type: array
items:
$ref: '#/definitions/FiAttribute'
TaxLots:
description: Breakdown by tax lot
type: array
items:
$ref: '#/definitions/TaxLot'
MutualFundSecurity:
description: "Information about the MutualFundSecurity (Only one of the fields will be available: MutualFundSecurity, OptionSecurity, OtherSecurity, StockSecurity, SweepSecurity, or DebtSecurity)"
$ref: '#/definitions/MutualFundSecurity'
OptionSecurity:
description: "Information about the OptionSecurity (Only one of the fields will be available: MutualFundSecurity, OptionSecurity, OtherSecurity, StockSecurity, SweepSecurity, or DebtSecurity)"
$ref: '#/definitions/OptionSecurity'
OtherSecurity:
description: "Information about the OtherSecurity (Only one of the fields will be available: MutualFundSecurity, OptionSecurity, OtherSecurity, StockSecurity, SweepSecurity, or DebtSecurity)"
$ref: '#/definitions/OtherSecurity'
StockSecurity:
description: "Information about the StockSecurity (Only one of the fields will be available: MutualFundSecurity, OptionSecurity, OtherSecurity, StockSecurity, SweepSecurity, or DebtSecurity)"
$ref: '#/definitions/StockSecurity'
SweepSecurity:
description: "Information about the SweepSecurity (Only one of the fields will be available: MutualFundSecurity, OptionSecurity, OtherSecurity, StockSecurity, SweepSecurity, or DebtSecurity)"
$ref: '#/definitions/SweepSecurity'
DebtSecurity:
description: "Information about the DebtSecurity (Only one of the fields will be available: MutualFundSecurity, OptionSecurity, OtherSecurity, StockSecurity, SweepSecurity, or DebtSecurity)"
$ref: '#/definitions/DebtSecurity'
InvestmentAccount:
type: object
description: Extends and inherits all fields from Account.
allOf:
- $ref: '#/definitions/Account'
- type: object
required:
- BalanceAsOf
- CurrentValue
properties:
BalanceAsOf:
$ref: '#/definitions/Timestamp'
description: As-of date for balances
AllowedCheckWriting:
type: boolean
description: Check writing privileges
AllowedOptionTrade:
type: boolean
description: Allowed to trade options
CurrentValue:
type: number
format: double
description: Total current value of all investments
Holdings:
description: Array of holdings
type: array
items:
$ref: '#/definitions/Holding'
OpenOrders:
description: Array of open orders
type: array
items:
$ref: '#/definitions/OpenOrder'
Contribution:
description: Describes how new contributions are distributed among the available securities
type: array
items:
$ref: '#/definitions/Contribution'
Vesting:
description: Provides the past, present, and future vesting schedule and percentages
type: array
items:
$ref: '#/definitions/Vesting'
InvestmentLoans:
description: Array of investment loans
type: array
items:
$ref: '#/definitions/InvestmentLoan'
AvailableCashBalance:
type: number
format: double
description: Cash balance across all sub-accounts. Should include sweep funds.
Margin:
type: boolean
description: Margin trading is allowed
MarginBalance:
type: number
format: double
description: Margin balance
ShortBalance:
type: number
format: double
description: Short Balance
RolloverAmount:
type: number
format: double
description: Rollover Amount
EmployerName:
type: string
description: Name of the employer in investment 401k Plan
BrokerId:
type: string
description: Unique identifier FI
PlanId:
type: string
description: Plan number for Investment 401k plan
CalendarYearFor401k:
description: Date for this calendar year for 401K account
$ref: '#/definitions/Timestamp'
BalanceList:
description: Balance List. Name value pair aggregate.
type: array
items:
$ref: '#/definitions/InvestmentBalance'
DailyChange:
type: number
format: double
description: Daily change
PercentageChange:
type: number
format: double
description: Percentage change
Transactions:
description: Array of InvestmentTransaction
type: array
items:
$ref: '#/definitions/InvestmentTransaction'
InvestmentBalance:
type: object
properties:
BalanceName:
type: string
description: Name of the balance
BalanceDescription:
type: string
description: Description of balance
BalanceType:
$ref: '#/definitions/InvestmentBalanceType'
description: AMOUNT, PERCENTAGE
BalanceValue:
type: number
format: double
description: Value of balance name
BalanceDate:
$ref: '#/definitions/Timestamp'
description: Date as of this balance
Currency:
$ref: '#/definitions/Currency'
description: Currency if different from that of account
InvestmentLoan:
type: object
required:
- LoanId
- CurrentLoanBalance
- DateAsOf
properties:
LoanId:
type: string
description: Unique identifier for this loan
LoanDescription:
type: string
description: Description
InitialLoanBalance:
type: number
format: double
description: Initial loan balance amount
LoanStartDate:
$ref: '#/definitions/Timestamp'
description: Start date of the loan
CurrentLoanBalance:
type: number
format: double
description: Current loan principal balance amount
DateAsOf:
$ref: '#/definitions/Timestamp'
description: Date and time of current loan balance
LoanRate:
type: number
format: double
description: Loan annual interest rate for the loan
LoanPaymentAmount:
type: number
format: double
description: Loan payment amount
LoanPaymentFrequency:
$ref: '#/definitions/LoanPaymentFrequency'
description: WEEKLY, BIWEEKLY, TWICEMONTHLY, MONTHLY,FOURWEEKS, BIMONTHLY, QUARTERLY, SEMIANNUALLY, ANNUALLY, OTHER
LoanPaymentInitial:
type: number
format: double
description: Initial number of loan payments
LoanPaymentsRemaining:
type: integer
format: int32
description: Remaining number of loan payments
LoanMaturityDate:
$ref: '#/definitions/Timestamp'
description: Expected loan end date
LoanInterestToDate:
type: number
format: double
description: Total interest paid to date on this loan
LoanTotalProjectedInterest:
type: number
format: double
description: Total projected interest to be paid on this loan
LoanNextPaymentDate:
$ref: '#/definitions/Timestamp'
description: The next payment date for the loan
InvestmentTransaction:
type: object
description: Extends and inherits all fields from Transaction.
allOf:
- $ref: '#/definitions/Transaction'
- type: object
required:
- TransactionType
properties:
TransactionType:
$ref: '#/definitions/InvestmentTransactionType'
description: PURCHASED, SOLD, PURCHASEDTOCOVERADJUSTMENT, PURCHASETOOPEN, PURCHASETOCLOSE, SOLDTOOPEN, SOLDTOCLOSE, INTEREST, MARGININTEREST, REINVESTOFINCOME, RETURNOFCAPITAL, TRANSFER, CONTRIBUTION, FEE, OPTIONEXERCISE, OPTIONEXPIRATION, DIVIDEND, DIVIDENDREINVEST, SPLIT, CLOSURE, INCOME, EXPENSE, CLOSUREOPT, INVEXPENSE, JRNLSEC, JRNLFUND, OTHER, DIV, SRVCHG, DEP, ATM, POS, XFER, CHECK, PAYMENT, CASH, DIRECTDEP, DIRECTDEBIT, REPEATPMT
Shares:
type: number
format: double
description: Required for stock, mutual funds. Number of shares (with decimals). Negative numbers indicate securities are being removed from the account.
FaceValue:
type: number
format: double
description: Cash value for bonds
Price:
type: number
format: double
description: Unit purchase price
SecurityId:
type: string
description: Unique identifier of security
SecurityIdType:
$ref: '#/definitions/SecurityIdType'
description: Security identifier type
SecurityType:
$ref: '#/definitions/SecurityType'
description: STOCK, MUTUALFUND, DEBT, OPTION, SWEEP, OTHER
Symbol:
type: string
description: Ticker symbol
Markup:
type: number
format: double
description: Portion of unit price that is attributed to the dealer markup
Commission:
type: number
format: double
description: Transaction commission
Taxes:
type: number
format: double
description: Taxes on the trade
Fees:
type: number
format: double
description: Fees applied to the trade
Load:
type: number
format: double
description: Load on the transaction
Inv401kSource:
$ref: '#/definitions/Inv401kSourceType'
description: Source of money. PRETAX, AFTERTAX, MATCH,PROFITSHARING,ROLLOVER, OTHERVEST, OTHERNONVEST
ConfirmationNumber:
type: string
description: Confirmation number of the transaction
FractionalCash:
type: number
format: double
description: Cash for fractional units (used for stock splits)
IncomeType:
$ref: '#/definitions/IncomeType'
description: "Type of investment income: CGLONG (capital gains-long term), CGSHORT (capital gains-short term), MISC"
OldUnits:
type: number
format: double
description: Number of shares before split
SplitRatioNumerator:
type: number
format: double
description: Split ratio numerator
SplitRatioDenominator:
type: number
format: double
description: Split ratio denominator
NewUnits:
type: number
format: double
description: Number of shares after split
SubAccountSec:
$ref: '#/definitions/SubAccountType'
description: "Sub-account security Type: CASH, MARGIN, SHORT and OTHERS"
SubAccountFund:
$ref: '#/definitions/SubAccountType'
description: "From which account money came in: CASH, MARGIN, SHORT and OTHERS"
LoanId:
type: string
description: For 401k accounts only. This indicates the transaction was due to a loan or a loan repayment.
LoanPrincipal:
type: number
format: double
description: How much loan pre-payment is principal
LoanInterest:
type: number
format: double
description: How much loan pre-payment is interest
PayrollDate:
$ref: '#/definitions/Timestamp'
description: The date for the 401k transaction was obtained in payroll
PriorYearContrib:
type: boolean
description: Indicates this buy was made using prior years contribution. TRUE or FALSE
Withholding:
type: number
format: double
description: Federal tax withholding
TaxExempt:
type: boolean
description: Tax-exempt transaction TRUE or FALSE
Gain:
type: number
format: double
description: For sales
StateWithholding:
type: number
format: double
description: State tax withholding
Penalty:
type: number
format: double
description: Indicates amount withheld due to a penalty
RunningBalance:
type: number
format: double
description: Running balance of the position
UnitPrice:
type: number
format: double
description: Price per commonly-quoted unit. Does not include markup/markdown, unitprice. Share price for stocks, mutual funds, and others. Percentage of par for bonds. Per share (not contract) for options.
Units:
type: number
format: double
description: For security-based actions other than stock splits, quantity. Shares for stocks, mutual funds, and others. Face value for bonds. Contracts for options.
UnitType:
$ref: '#/definitions/UnitType'
description: SHARES, CURRENCY
TransactionReason:
$ref: '#/definitions/TransactionReason'
description: TransactionReason
LineItem:
type: object
description: LineItem
required:
- Description
- Amount
properties:
Description:
type: string
description: The description of the line item
Amount:
type: number
format: double
description: The amount of money attributable to this line item
CheckNumber:
type: integer
format: int64
description: Check number
Memo:
$ref: '#/definitions/String255'
description: Secondary item description
Reference:
type: string
description: A reference number
ImageIds:
type: array
description: Array of image identifiers (unique to transaction) used to retrieve images of check or transaction receipt
items:
type: string
LoanAccount:
type: object
description: Extends and inherits all fields from Account.
allOf:
- $ref: '#/definitions/Account'
- type: object
required:
- BalanceAsOf
- PrincipalBalance
- OriginalPrincipal
- LoanTerm
- TotalNumberOfPayments
- PaymentFrequency
properties:
BalanceAsOf:
$ref: '#/definitions/Timestamp'
description: As-of date for balances
PrincipalBalance:
type: number
format: double
description: Principal balance of loan
EscrowBalance:
type: number
format: double
description: Escrow balance of loan
OriginalPrincipal:
type: number
format: double
description: Original principal of loan
OriginatingDate:
$ref: '#/definitions/Timestamp'
description: Loan origination date
LoanTerm:
type: integer
format: int32
description: Term of loan in months
TotalNumberOfPayments:
type: integer
format: int32
description: Total number of payments
NextPaymentAmount:
type: number
format: double
description: Amount of next payment
NextPaymentDate:
$ref: '#/definitions/Timestamp'
description: Date of next payment
PaymentFrequency:
$ref: '#/definitions/PaymentFrequency'
description: DAILY, WEEKLY, BIWEEKLY, SEMIMONTHLY, MONTHLY, SEMIANNUALLY, ANNUALLY
CompoundingPeriod:
$ref: '#/definitions/CompoundingPeriod'
description: DAILY, WEEKLY, BIWEEKLY, SEMIMONTHLY, MONTHLY, SEMIANNUALLY, ANNUALLY
PayoffAmount:
type: number
format: double
description: Payoff amount
LastPaymentAmount:
type: number
format: double
description: Last payment amount
LastPaymentDate:
$ref: '#/definitions/Timestamp'
description: Last payment date
MaturityDate:
$ref: '#/definitions/Timestamp'
description: Maturity date
InterestPaidYearToDate:
type: number
format: double
description: Interest paid year to date
Transactions:
type: array
items:
$ref: '#/definitions/LoanTransaction'
LoanTransaction:
type: object
description: Extends and inherits all fields from Transaction.
allOf:
- $ref: '#/definitions/Transaction'
- type: object
required:
- TransactionType
properties:
TransactionType:
$ref: '#/definitions/LoanTransactionType'
description: PAYMENT, FEE, ADJUSTMENT, INTEREST
PaymentDetails:
$ref: '#/definitions/PaymentDetails'
description: Breakdown of payment details
LocAccount:
type: object
description: Line of Credit Account. Extends and inherits all fields from Account.
allOf:
- $ref: '#/definitions/Account'
- type: object
required:
- BalanceAsOf
- CreditLine
- AvailableCredit
- NextPaymentAmount
- NextPaymentDate
- PrincipalBalance
- CurrentBalance
properties:
BalanceAsOf:
$ref: '#/definitions/Timestamp'
description: As-of date of balances
CreditLine:
type: number
format: double
description: Credit limit
AvailableCredit:
type: number
format: double
description: Available credit
NextPaymentAmount:
type: number
format: double
description: Amount of next payment
NextPaymentDate:
$ref: '#/definitions/Timestamp'
description: Due date of next payment
PrincipalBalance:
type: number
format: double
description: Principal balance
CurrentBalance:
type: number
format: double
description: Current balance LOC
MinimumPaymentAmount:
type: number
format: double
description: Minimum payment amount
LastPaymentAmount:
type: number
format: double
description: Last payment amount
LastPaymentDate:
$ref: '#/definitions/Timestamp'
description: Last payment date
PointsAccrued:
type: number
format: double
description: Points accrued
CurrentRewardsBalance:
type: number
format: double
description: Current rewards balance
PointsRedeemed:
type: number
format: double
description: Points redeemed
PurchasesApr:
type: number
format: double
description: Purchases APR
AdvancesApr:
type: number
format: double
description: Advances APR
CashAdvanceLimit:
type: number
format: double
description: Cash advance limit
AvailableCash:
type: number
format: double
description: Available cash
FinanceCharges:
type: number
format: double
description: Finance charges
Transactions:
type: array
items:
$ref: '#/definitions/LocTransaction'
description: list of LocTrasaction
LocTransaction:
type: object
description: A line of credit transaction. Extends and inherits all fields from Transaction.
allOf:
- $ref: '#/definitions/Transaction'
- type: object
required:
- TransactionType
properties:
TransactionType:
$ref: '#/definitions/LocTransactionType'
description: CHECK, WITHDRAWAL, PAYMENT, FEE, ADJUSTMENT, INTEREST
CheckNumber:
type: integer
format: int64
description: Check number
PaymentDetails:
$ref: '#/definitions/PaymentDetails'
description: Breakdown of payment details
MutualFundSecurity:
type: object
properties:
MutualFundType:
description: Mutual fund type. OPENEND, CLOSEEND, OTHER
$ref: '#/definitions/MutualFundType'
UnitsStreet:
type: number
format: double
description: Units in the FI's street name, positive quantity
UnitsUser:
type: number
format: double
description: Units in user's name directly, positive quantity
ReinvestDividends:
type: boolean
description: Reinvest dividends
ReinvestCapitalGains:
type: boolean
description: Reinvest capital gains
Yield:
type: number
format: double
description: Current yield reported as portion of the fund's assets
YieldAsOfDate:
description: As-of date for yield value
$ref: '#/definitions/Timestamp'
OpenOrder:
type: object
required:
- OrderId
- Symbol
- Units
- OrderType
- OrderDate
properties:
OrderId:
description: Long term persistent identity of the order. Id for this order transaction.
$ref: '#/definitions/Identifier'
SecurityId:
type: string
description: Unique identifier of security
SecurityIdType:
description: Security identifier type
$ref: '#/definitions/SecurityIdType'
Symbol:
type: string
description: Market symbol
Description:
type: string
description: Description
Units:
type: number
format: double
description: Number of units (shares or bonds etc).
OrderType:
description: Type of order BUY, SELL, BUYTOCOVER, BUYTOOPEN, SELLTOCOVER, SELLTOOPEN, SELLSHORT, SELLCLOSE
$ref: '#/definitions/OrderType'
OrderDate:
description: Order date
$ref: '#/definitions/Timestamp'
UnitPrice:
type: number
format: double
description: Unit price
UnitType:
description: Type of unit SHARES, CURRENCY
$ref: '#/definitions/UnitType'
OrderDuration:
description: This order is good for DAY, GOODTILLCANCEL, IMMEDIATE
$ref: '#/definitions/OrderDuration'
SubAccount:
description: CASH, MARGIN, SHORT, OTHER
$ref: '#/definitions/SubAccountType'
LimitPrice:
type: number
format: double
description: Limit price
StopPrice:
type: number
format: double
description: StopPrice
OptionSecurity:
type: object
properties:
Secured:
description: How the option is secured. NAKED, COVERED.
$ref: '#/definitions/Secured'
OptionType:
description: "Option type: PUT = put, CALL = call"
$ref: '#/definitions/OptionType'
StrikePrice:
type: number
format: double
description: Strike price / Unit price
ExpireDate:
$ref: '#/definitions/Timestamp'
description: Expiration date of option
SharesPerContract:
type: number
format: double
description: Shares per contract
OtherSecurity:
type: object
properties:
TypeDescription:
type: string
description: Description of Other Security
PaymentDetails:
type: object
properties:
PrincipalAmount:
type: number
format: double
description: The amount of payment applied to principal
InterestAmount:
type: number
format: double
description: The amount of payment applied to interest
InsuranceAmount:
type: number
format: double
description: The amount of payment applied to life/ health/accident insuranceon the loan
EscrowAmount:
type: number
format: double
description: The amount of payment applied to escrow
PmiAmount:
type: number
format: double
description: The amount of payment applied to PMI
FeesAmount:
type: number
format: double
description: The amount of payment applied to fees
PlannedAvailability:
type: object
description: Single Account Details Request
required:
- Status
- StatusShortDesc
- StatusStartDate
- StatusEndDate
properties:
Status:
type: string
StatusShortDesc:
type: string
StatusStartDate:
description: Start time; ISO 8601 date including zone indicator or combined date time including zone indicator
$ref: '#/definitions/Timestamp'
StatusEndDate:
description: End time; ISO 8601 date including zone indicator or combined date time including zone indicator
$ref: '#/definitions/Timestamp'
Portion:
type: object
properties:
AssetClass:
description: DOMESTICBOND, INTLBOND, LARGESTOCK, SMALLSTOCK, INTLSTOCK, MONEYMARKET, OTHER
$ref: '#/definitions/AssetClass'
Percent:
type: number
format: double
description: Percentage of asset class that falls under this asset
SingleAccountDetailsRequest:
type: object
description: Single Account Details Request
required:
- AccountId
properties:
AccountId:
type: string
description: Account identifier
StartTime:
description: Start time for use in retrieval; ISO 8601 date including zone indicator or combined date time including zone indicator
$ref: '#/definitions/Timestamp'
EndTime:
description: End time for use in retrieval; ISO 8601 date including zone indicator or combined date time including zone indicator
$ref: '#/definitions/Timestamp'
Page:
type: integer
format: int32
description: Page number (applicable only if the server has indicated that the collection is paginated)
SingleAccountDetailsRequestList:
type: array
description: array of SingleAccountDetailsRequest
items:
$ref: '#/definitions/SingleAccountDetailsRequest'
Statement:
type: object
required:
- AccountId
- StatementId
- StatementDate
properties:
AccountId:
description: Corresponds to AccountId in Account entity
$ref: '#/definitions/Identifier'
StatementId:
$ref: '#/definitions/Identifier'
description: Long-term persistent identity of the statement
StatementDate:
$ref: '#/definitions/Timestamp'
description: Date of the statement
Description:
type: string
description: Description of statement
Statements:
type: object
properties:
Total:
type: integer
format: int32
description: Total number of results in this collection across all pages
TotalPages:
type: integer
format: int32
description: Total number of pages
Page:
type: integer
format: int32
description: Current page number
Statement:
type: array
items:
$ref: '#/definitions/Statement'
description: Statements
StockSecurity:
type: object
properties:
UnitsStreet:
type: number
format: double
description: Units in the FI's street name, positive quantity
UnitsUser:
type: number
format: double
description: Units in user's name directly, positive quantity
ReinvestDividends:
type: boolean
description: Reinvest dividends
StockType:
$ref: '#/definitions/StockType'
description: COMMON, PREFERRED, CONVERTIBLE, OTHER
Yield:
type: number
format: double
description: Current yield
YieldAsOfDate:
description: Yield as-of date
$ref: '#/definitions/Timestamp'
SweepSecurity:
type: object
required:
- CurrentBalance
- BalanceAsOf
properties:
CurrentBalance:
type: number
format: double
description: Balance of funds in account
AvailableBalance:
type: number
format: double
description: Balance of funds available for use
BalanceAsOf:
description: As-of date of balances
$ref: '#/definitions/Timestamp'
Checks:
type: boolean
description: Whether or not checks can be written on the account
TaxLot:
type: object
properties:
OriginalPurchaseDate:
$ref: '#/definitions/Timestamp'
description: Lot acquired date
Quantity:
type: number
format: double
description: Lot quantity
PurchasedPrice:
type: number
format: double
description: Original purchase price
CostBasis:
type: number
format: double
description: Total amount of money spent acquiring this lot including any fees or commission expenses incurred
CurrentValue:
type: number
format: double
description: Lot market value
PositionType:
description: LONG, SHORT
$ref: '#/definitions/PositionType'
TelephoneNumber:
type: object
description: Telephone number
required:
- Number
properties:
Type:
$ref: '#/definitions/TelephoneNumberType'
description: Telephone type (HOME, BUSINESS, CELL, FAX)
Country:
description: Country calling codes defined by ITU-T recommendations E.123 and E.164
$ref: '#/definitions/String3'
Number:
description: Telephone number
$ref: '#/definitions/String64'
Transaction:
type: object
discriminator: TransactionObjectType
required:
- TransactionObjectType # for Polymorphism
- AccountId
- TransactionId
- TransactionTimestamp
- Description
- Amount
properties:
TransactionObjectType:
type: string
description: for Polymorphism
AccountId:
description: Corresponds to AccountId in Account
$ref: '#/definitions/Identifier'
TransactionId:
description: Long term persistent identity of the transaction (unique to account)
$ref: '#/definitions/Identifier'
ReferenceTransactionId:
description: For reverse postings, the identity of the transaction being reversed. For the correction transaction, the identity of the reversing post. For credit card posting transactions, the identity of the authorization transaction.
$ref: '#/definitions/Identifier'
PostedTimestamp:
description: The date and time that the transaction was posted to the account. If not provided then TransactionTimestamp can be used as PostedTimeStamp.
$ref: '#/definitions/Timestamp'
TransactionTimestamp:
description: The date and time that the transaction was added to the server backend systems
$ref: '#/definitions/Timestamp'
type: string
Description:
description: The description of the transaction
type: string
Memo:
description: Secondary transaction description
$ref: '#/definitions/String255'
DebitCreditMemo:
description: DEBIT, CREDIT, MEMO
$ref: '#/definitions/DebitCreditMemo'
Category:
description: Transaction category, preferably MCC or SIC.
type: string
SubCategory:
description: Transaction category detail
type: string
Reference:
description: A tracking reference identifier
type: string
Status:
description: PENDING, MEMO, POSTED, AUTHORIZATION
$ref: '#/definitions/TransactionStatus'
Amount:
description: The amount of money in the account currency
type: number
format: double
ForeignAmount:
description: The amount of money in the foreign currency
type: number
format: double
ForeignCurrency:
description: The ISO 4217 code of the foreign currency
$ref: '#/definitions/Iso4217Code'
ImageIds:
description: Array of Image Identifiers (unique to Transaction) used to retrieve Images of check or transaction receipt
type: array
items:
type: string
LineItem:
description: Breakdown of the transaction details
type: array
items:
$ref: '#/definitions/LineItem'
FiAttributes:
description: Array of FI-specific attributes
type: array
items:
$ref: '#/definitions/FiAttribute'
Transactions:
type: object
properties:
Total:
type: integer
format: int32
description: Total number of results in this collection across all pages
TotalPages:
type: integer
format: int32
description: Total number of pages
Page:
type: integer
format: int32
description: Current page number
DepositTransaction:
description: An array of DepositTransaction
type: array
items:
$ref: '#/definitions/DepositTransaction'
InvestmentTransaction:
description: An array of InvestmentTransaction
type: array
items:
$ref: '#/definitions/InvestmentTransaction'
LoanTransaction:
description: An array of LoanTransaction
type: array
items:
$ref: '#/definitions/LoanTransaction'
LocTransaction:
description: An array of LocTransaction
type: array
items:
$ref: '#/definitions/LocTransaction'
Transfer:
type: object
required:
- TransferId
- FromAccountId
- ToAccountId
- Amount
properties:
TransferId:
description: Client generated, long-term persistent identity of the transfer action. This ID should be maintained and returned by institution.
$ref: '#/definitions/Identifier'
FromAccountId:
description: Long-term persistent identity of the source account
$ref: '#/definitions/Identifier'
ToAccountId:
description: Long-term persistent identity of the destination account
$ref: '#/definitions/Identifier'
Amount:
type: number
format: double
description: Positive amount of money to be transferred
Memo:
$ref: '#/definitions/String255'
description: User-entered reason for transfer
PaymentDetails:
$ref: '#/definitions/PaymentDetails'
description: Payment details
TransferStatus:
type: object
required:
- TransferId
- ReferenceId
- Status
- TransferDate
properties:
TransferId:
description: Client generated, long-term persistent identity of the transfer action. This ID should be maintained and returned by institution.
$ref: '#/definitions/Identifier'
ReferenceId:
description: Long term persistent identifier for transfer attempt
$ref: '#/definitions/Identifier'
Status:
description: SUCCESS, NOFUNDS, PENDING, FAILURE
$ref: '#/definitions/TransferStatusStatus'
TransferDate:
$ref: '#/definitions/Timestamp'
description: Date of transfer attempt
Vesting:
type: object
properties:
VestingDate:
description: Vesting date
$ref: '#/definitions/Timestamp'
Symbol:
type: string
description: Security symbol
StrikePrice:
type: number
format: double
description: Strike price
VestingPercentage:
type: number
format: double
description: Vesting Percentage
OtherVestAmount:
type: number
format: double
description: Other Vest Amount
OtherVestPercentage:
type: number
format: double
description: Other Vest Percentage
VestedBalance:
type: number
format: double
description: Vested Balance
UnVestedBalance:
type: number
format: double
description: UnVested Balance
AccountResponse:
type: object
description: Response for an account. Only one of the properties will be returned.
properties:
DepositAccount:
$ref: '#/definitions/DepositAccount'
description: Deposit Account
LoanAccount:
$ref: '#/definitions/LoanAccount'
description: Loan Account
Locccount:
$ref: '#/definitions/LocAccount'
description: Line of Credit Account
InvestmentAccount:
$ref: '#/definitions/InvestmentAccount'
description: Investment Account
More information about the Openid-specs-fapi
mailing list