Endpoints url
discount sandbox
https://mtls-api-nonprod.discountbank.co.il/devapi/cert
discount prod
https://mtls-api.discountbank.co.il/prod/d
mercantile sandbox
https://mtls-api-nonprod.mercantile.co.il/devapi/cert
mercantile prod
https://mtls-api.mercantile.co.il/prod/d
With the XS2A Specification [XS2A-IG], a standard for an XS2A Interface is defined for the core services defined by the PSD2.\nWith [oFA-IG-SecAIS] an extension of the NextGenPSD2 XS2A Specification [XS2A-IG]. It describes how the existing services for \naccount information can be extended to provide account information on securities accounts. Therefore, new endpoints are \ndefined in order to provide the information.This yaml file reflects the API definition given in [oFA-IG-SecAIS] and therefore \nprovides the (essentially) same information regarding the data definition in a machine readable form.\n [XS2A-IG] NextGenPSD2 XS2A Framework, Implementation Guidelines, The Berlin Group Joint Initiative on a PSD2 Compliant XS2A Interface, version 1.3.12, published 01 July 2022.\n [oFA-IG-SecAIS] openFinance API Framework Implementation Guidelines for Extended Services AIS for Securities Accounts\n
Not supported query parameters
Read Securities Accounts List: evaluationCurrency
Read Securities Account Details: evaluationCurrency
Read Securities Account Transaction List: entryReferenceFrom, deltaList
Paths
/v1.1/securities-accounts
Read Securities Account List
Returns a list of securities accounts as permitted by the presented consent. BOI Remarks: This service returns a list of all securities portfolios under the account.
ID of the request, unique to the call, as determined by the initiating party.
Is contained if and only if the \"Signature\" element is contained in the header of the request.
A signature of the request by the TPP on application level. This might be mandated by ASPSP.
The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained.
The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU.
This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.
The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
HTTP method used at the PSU ? TPP interface, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE
{
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
]
}
UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID needs to be unaltered until removal from device.
The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
{
"pattern": "^GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}$"
}
application/problem+json
Ok
{
"headers": {
"X-Request-ID": {
"description": "ID of the request, unique to the call, as determined by the initiating party.",
"type": "string",
"format": "uuid"
}
},
"schema": {
"type": "object",
"required": [
"securitiesAccounts"
],
"properties": {
"securitiesAccounts": {
"type": "array",
"items": {
"$ref": "#\/definitions\/accountDetailsSecurities"
}
}
}
}
}
Bad Request
Unauthorised
Forbidden
Not Found
Method not allowed
Not Acceptable
Request Timeout
Conflict
Unsupported Media Type
Too many Requests
Internal Server Error
Service Unavailable
/v1.1/securities-accounts/{securities-account-id}
Read Securities Account Details
Reads details about a securities account as permitted by the presented consent
This identification is denoting the addressed securities account. The securities-account-id is retrieved by using a \"Read Securities Account List\". The securities-account-id is the \"resourceId\" attribute of the securities account structure. Its value is constant at least throughout the lifecycle of a given consent.
ID of the request, unique to the call, as determined by the initiating party.
Is contained if and only if the \"Signature\" element is contained in the header of the request.
A signature of the request by the TPP on application level. This might be mandated by ASPSP.
The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained.
The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU.
This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.
The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
HTTP method used at the PSU ? TPP interface, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE
{
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
]
}
UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID needs to be unaltered until removal from device.
The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
{
"pattern": "^GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}$"
}
application/problem+json
Ok
{
"headers": {
"X-Request-ID": {
"description": "ID of the request, unique to the call, as determined by the initiating party.",
"type": "string",
"format": "uuid"
}
},
"schema": {
"type": "object",
"required": [
"securitiesAccount"
],
"properties": {
"securitiesAccount": {
"$ref": "#\/definitions\/accountDetailsSecurities"
}
}
}
}
Bad Request
Unauthorised
Forbidden
Not Found
Method not allowed
Not Acceptable
Request Timeout
Conflict
Unsupported Media Type
Too many Requests
Internal Server Error
Service Unavailable
/v1.1/securities-accounts/{securities-account-id}/positions
Read Securities Account Positions
Reads the list of positions associated with a securities account as permitted by the presented consent BOI Remarks: Calculated balances should be based on public external sources.
This identification is denoting the addressed securities account. The securities-account-id is retrieved by using a \"Read Securities Account List\". The securities-account-id is the \"resourceId\" attribute of the securities account structure. Its value is constant at least throughout the lifecycle of a given consent.
ID of the request, unique to the call, as determined by the initiating party.
Is contained if and only if the \"Signature\" element is contained in the header of the request.
A signature of the request by the TPP on application level. This might be mandated by ASPSP.
The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained.
The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU.
This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.
The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
HTTP method used at the PSU ? TPP interface, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE
{
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
]
}
UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID needs to be unaltered until removal from device.
The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
{
"pattern": "^GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}$"
}
application/problem+json
Ok
{
"headers": {
"X-Request-ID": {
"description": "ID of the request, unique to the call, as determined by the initiating party.",
"type": "string",
"format": "uuid"
}
},
"schema": {
"type": "object",
"required": [
"reportDateTime",
"positionList",
"securitiesAccount"
],
"properties": {
"securitiesAccount": {
"$ref": "#\/definitions\/accountReference"
},
"reportDateTime": {
"$ref": "#\/definitions\/ISODateTime"
},
"balances": {
"type": "array",
"items": {
"$ref": "#\/definitions\/balanceSecurities"
}
},
"positionList": {
"type": "array",
"items": {
"$ref": "#\/definitions\/securitiesPosition"
}
}
{
"headers": {
"X-Request-ID": {
"description": "ID of the request, unique to the call, as determined by the initiating party.",
"type": "string",
"format": "uuid"
}
},
"schema": {
"type": "object",
"required": [
"reportDateTime",
"positionList",
"securitiesAccount"
],
"properties": {
"securitiesAccount": {
"$ref": "#\/definitions\/accountReference"
},
"reportDateTime": {
"$ref": "#\/definitions\/ISODateTime"
},
"balances": {
"type": "array",
"items": {
"$ref": "#\/definitions\/balanceSecurities"
}
},
"positionList": {
"type": "array",
"items": {
"$ref": "#\/definitions\/securitiesPosition"
}
}
}
}
}
x
Bad Request
Unauthorised
Forbidden
Not Found
Method not allowed
Not Acceptable
Request Timeout
Conflict
Unsupported Media Type
Too many Requests
Internal Server Error
Service Unavailable
/v1.1/securities-accounts/{securities-account-id}/transactions
Read Securities Transaction List
Reads the list of transactions associated with a securities account as permitted by the presented consent
This identification is denoting the addressed securities account. The securities-account-id is retrieved by using a \"Read Securities Account List\". The securities-account-id is the \"resourceId\" attribute of the securities account structure. Its value is constant at least throughout the lifecycle of a given consent.
Conditional: Starting date (inclusive the date dateFrom) of the transaction list, mandated if no delta access is required and if bookingStatus does not equal \"information\". For booked transactions, the relevant date is the booking date. For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP. BOI remarks: The ASPSP shall provide a documentation with the maximum value. In case of exception from the minimum value the response will be only for the minimum period.
End date (inclusive the data dateTo) of the transaction list, default is \"now\" if not given. Might be ignored if a delta function is used. For booked transactions, the relevant date is the booking date. For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP.
ID of the request, unique to the call, as determined by the initiating party.
Is contained if and only if the \"Signature\" element is contained in the header of the request.
A signature of the request by the TPP on application level. This might be mandated by ASPSP.
The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained.
The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU.
This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.
The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
HTTP method used at the PSU ? TPP interface, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE
{
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
]
}
UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID needs to be unaltered until removal from device.
The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
{
"pattern": "^GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}$"
}
application/problem+json
Ok
{
"headers": {
"X-Request-ID": {
"description": "ID of the request, unique to the call, as determined by the initiating party.",
"type": "string",
"format": "uuid"
}
},
"schema": {
"type": "object",
"properties": {
"securitiesAccount": {
"$ref": "#\/definitions\/accountReference"
},
"transactions": {
"type": "array",
"items": {
"$ref": "#\/definitions\/securitiesTransaction"
}
},
"_links": {
"$ref": "#\/definitions\/_links_200_SecuritiesTransactions"
}
}
}
}
Bad Request
Unauthorised
Forbidden
Not Found
Method not allowed
Not Acceptable
Request Timeout
Conflict
Unsupported Media Type
Too many Requests
Internal Server Error
Service Unavailable
/v1.1/securities-accounts/{securities-account-id}/orders
Read Securities Order List
Reads the list of orders associated with a securities account as permitted by the presented consent
This identification is denoting the addressed securities account. The securities-account-id is retrieved by using a \"Read Securities Account List\". The securities-account-id is the \"resourceId\" attribute of the securities account structure. Its value is constant at least throughout the lifecycle of a given consent.
Conditional: Starting date (inclusive the date dateFrom) of the transaction list, mandated if no delta access is required and if bookingStatus does not equal \"information\". For booked transactions, the relevant date is the booking date. For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP. BOI remarks: The ASPSP shall provide a documentation with the maximum value. In case of exception from the minimum value the response will be only for the minimum period.
End date (inclusive the data dateTo) of the transaction list, default is \"now\" if not given. Might be ignored if a delta function is used. For booked transactions, the relevant date is the booking date. For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP.
Comma separated list of Order Status Code Restricts the result to orders that are currently assigned to one of the status values provided in this query parameter. If the parameter is not provided, orders are provided without restriction to their respective status.
ID of the request, unique to the call, as determined by the initiating party.
Is contained if and only if the \"Signature\" element is contained in the header of the request.
A signature of the request by the TPP on application level. This might be mandated by ASPSP.
The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained.
The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU.
This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation.
The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available.
The forwarded Agent header field of the HTTP request between PSU and TPP, if available.
HTTP method used at the PSU ? TPP interface, if available. Valid values are:
- GET
- POST
- PUT
- PATCH
- DELETE
{
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
]
}
UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID needs to be unaltered until removal from device.
The forwarded Geo Location of the corresponding http request between PSU and TPP if available.
{
"pattern": "^GEO:-?[0-9]{1,2}\\.[0-9]{6};-?[0-9]{1,3}\\.[0-9]{6}$"
}
application/problem+json
Ok
{
"headers": {
"X-Request-ID": {
"description": "ID of the request, unique to the call, as determined by the initiating party.",
"type": "string",
"format": "uuid"
}
},
"schema": {
"type": "object",
"properties": {
"securitiesAccount": {
"$ref": "#\/definitions\/accountReference"
},
"orders": {
"type": "array",
"items": {
"$ref": "#\/definitions\/securitiesOrder"
}
},
"_links": {
"$ref": "#\/definitions\/_links_200_SecuritiesOrders"
}
}
}
}
Bad Request
Unauthorised
Forbidden
Not Found
Method not allowed
Not Acceptable
Request Timeout
Conflict
Unsupported Media Type
Too many Requests
Internal Server Error
Service Unavailable
Definitions
Standardised definition of reporting error information according to [RFC7807].
{
"type": "object",
"required": [
"type",
"code"
],
"properties": {
"type": {
"description": "A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n",
"type": "string",
"format": "uri",
"maxLength": 70
},
"title": {
"$ref": "#\/definitions\/Max70Text"
},
"detail": {
"description": "$ref: '#\/components\/schemas\/Max500Text'\n"
},
"code": {
"$ref": "#\/definitions\/MessageCode_429_AIS"
},
"additionalErrors": {
"description": "Array of Error Information Blocks.\nMight be used if more than one error is to be communicated\n",
"type": "array",
"items": {
"description": "This is a data element to support the declaration of additional errors in the context of [RFC7807].",
"type": "object",
"required": [
"code"
],
"properties": {
"title": {
"$ref": "#\/definitions\/Max70Text"
},
"detail": {
"$ref": "#\/definitions\/Max500Text"
},
"code": {
"$ref": "#\/definitions\/MessageCode_429_AIS"
}
}
}
},
"_links": {
"$ref": "#\/definitions\/_linksAll"
}
}
}
Code set to identify the type of a trading session, in which an order shall be executed. Possible values:
- auctions: Orders that are traded in regularly occurring auctions: orders are accumulated and executed on the basis of defined algorithms.
- continuous: Orders that are executed directly against each other as they hit the marketplace.
{
"type": "string",
"enum": [
"auctions",
"continuous"
]
}
Message codes defined for AIS for HTTP Error code 405 (METHOD NOT ALLOWED).
{
"type": "string",
"enum": [
"SERVICE_INVALID"
]
}
Code set to identify the \"side\" / intended action for the respective order.
{
"type": "string",
"enum": [
"buy",
"sell",
"subscription",
"redemption"
]
}
{
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#\/definitions\/tppMessage_400_AIS"
}
},
"_links": {
"$ref": "#\/definitions\/_linksAll"
}
}
}
{
"type": "object",
"required": [
"category",
"code"
],
"properties": {
"category": {
"$ref": "#\/definitions\/TppMessageCategory"
},
"code": {
"$ref": "#\/definitions\/MessageCode_403_AIS"
},
"path": {
"type": "string"
},
"text": {
"$ref": "#\/definitions\/Max500Text"
}
}
}
This data structure represents an evaluated amount (without indicating the method of evaluation) when an unambiguous balance cannot be provided, but an evaluation, e.g. the value of a securities position.
{
"type": "object",
"required": [
"amount"
],
"properties": {
"amount": {
"allOf": [
{
"description": "Amount that is evaluated."
},
{
"$ref": "#\/definitions\/amount"
}
]
},
"evaluationDateTime": {
"allOf": [
{
"description": "Date and time of the evaluation."
},
{
"$ref": "#\/definitions\/ISODateTime"
}
]
},
"evaluationDate": {
"allOf": [
{
"description": "Date of the evaluation."
},
{
"$ref": "#\/definitions\/ISODate"
}
]
}
}
}
This data element structure represents the identification of a financial instrument by means other than ISIN.
{
"type": "object",
"required": [
"identification"
],
"properties": {
"identification": {
"allOf": [
{
"description": "Identification of a security."
},
{
"$ref": "#\/definitions\/Max35Text"
}
]
},
"suffix": {
"allOf": [
{
"description": "Identifies the suffix of the security identification."
},
{
"$ref": "#\/definitions\/Max16Text"
}
]
},
"typeCode": {
"allOf": [
{
"description": "Unique and unambiguous identification source, as assigned via a pre-determined code list."
},
{
"$ref": "#\/definitions\/ExternalFinancialInstrumentIdentificationType1Code"
}
]
},
"typeProprietary": {
"allOf": [
{
"description": "Unique and unambiguous identification source using a proprietary identification scheme."
},
{
"$ref": "#\/definitions\/Max35Text"
}
]
}
}
}
This data element structure represents the identification of a financial instrument by means other than ISIN.
{
"type": "object",
"required": [
"financialInstrument"
],
"properties": {
"financialInstrument": {
"allOf": [
{
"description": "Financial Instrument that is contained in this position.\n"
},
{
"$ref": "#\/definitions\/financialInstrument"
}
]
},
"unitsNumber": {
"allOf": [
{
"description": "Numeric quantification of the financial instrument. Negative values for short positions.\n"
},
{
"type": "number"
}
]
},
"unitsNominal": {
"allOf": [
{
"description": "Nominal quantification of the financial instrument. Negative values for short positions.\n"
},
{
"$ref": "#\/definitions\/amount"
}
]
},
"externalIdentifier": {
"allOf": [
{
"description": "Name or identifier with an intrinsic meaning for the PSU to be displayed.\n"
},
{
"$ref": "#\/definitions\/Max35Text"
}
]
},
"safekeepingPlace": {
"allOf": [
{
"description": "BIC of the place where the securities are safe-kept, physically or notionally. \n"
},
{
"$ref": "#\/definitions\/BICFI"
}
]
},
"safekeepingCountry": {
"allOf": [
{
"description": "Country where the securities are safe-kept.\n"
},
{
"$ref": "#\/definitions\/CountryCode"
}
]
},
"balanceType": {
"allOf": [
{
"description": "Specifies the nature of the securities or investment fund balance.\nType of balance in case of multiple positions for the same financial instrument for \nfurther distinction.\n*Remark:* In consequence, several positions with the same financial instrument may occur in the same position list, \nhaving different values of \\\"balanceType\\\".\n"
},
{
"$ref": "#\/definitions\/SecuritiesBalanceType_1_2_11_12_Code"
}
]
},
"averageBuyingPrice": {
"allOf": [
{
"description": "Average buying price of the position excluding any fees or taxes.\n"
},
{
"$ref": "#\/definitions\/amount"
}
]
},
"averageSellingPrice": {
"allOf": [
{
"description": "Average selling price of the position, e.g. in case of a short position. Price excluding any fees or taxes.\n"
},
{
"$ref": "#\/definitions\/amount"
}
]
},
"totalBuyingPrice": {
"allOf": [
{
"description": "In case of bonds, an average buying price does not make sense. \nTherefore, the total buying price excluding any fees or taxes can be shown displayed instead.\n"
},
{
"$ref": "#\/definitions\/amount"
}
]
},
"estimatedCurrentValue": {
"allOf": [
{
"description": "Estimated value of the position and timestamp of the estimation.\n"
},
{
"$ref": "#\/definitions\/evaluatedAmount"
}
]
},
"accruedInterest": {
"allOf": [
{
"description": "Accrued interest by the position.\n"
},
{
"$ref": "#\/definitions\/accruedInterest"
}
]
},
"currencyExchange": {
"allOf": [
{
"description": "The ASPSP might include exchange rates e.g. if the security is denoted in another currency \nthan the account itself.\n"
},
{
"type": "array",
"items": {
"$ref": "#\/definitions\/reportExchangeRate"
}
}
]
},
"details": {
"allOf": [
{
"description": "Additional details to the position.\n"
},
{
"$ref": "#\/definitions\/Max500Text"
}
]
}
}
}
Category of the TPP message category.
{
"type": "string",
"enum": [
"ERROR",
"WARNING"
]
}
{
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#\/definitions\/tppMessage_409_AIS"
}
},
"_links": {
"$ref": "#\/definitions\/_linksAll"
}
}
}
Standardised definition of reporting error information according to [RFC7807].
{
"type": "object",
"required": [
"type",
"code"
],
"properties": {
"type": {
"description": "A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n",
"type": "string",
"format": "uri",
"maxLength": 70
},
"title": {
"$ref": "#\/definitions\/Max70Text"
},
"detail": {
"description": "$ref: '#\/components\/schemas\/Max500Text'\n"
},
"code": {
"$ref": "#\/definitions\/MessageCode_403_AIS"
},
"additionalErrors": {
"description": "Array of Error Information Blocks.\nMight be used if more than one error is to be communicated\n",
"type": "array",
"items": {
"description": "This is a data element to support the declaration of additional errors in the context of [RFC7807].",
"type": "object",
"required": [
"code"
],
"properties": {
"title": {
"$ref": "#\/definitions\/Max70Text"
},
"detail": {
"$ref": "#\/definitions\/Max500Text"
},
"code": {
"$ref": "#\/definitions\/MessageCode_403_AIS"
}
}
}
},
"_links": {
"$ref": "#\/definitions\/_linksAll"
}
}
}
{
"type": "string",
"maxLength": 500
}
ISO 4217 Alpha 3 currency code.
{
"type": "string",
"pattern": "^[A-Z]{3}$",
"example": "EUR"
}
{
"type": "string",
"maxLength": 70
}
{
"type": "object",
"required": [
"category",
"code"
],
"properties": {
"category": {
"$ref": "#\/definitions\/TppMessageCategory"
},
"code": {
"$ref": "#\/definitions\/MessageCode_429_AIS"
},
"path": {
"type": "string"
},
"text": {
"$ref": "#\/definitions\/Max500Text"
}
}
}
The following balance types are defined:
- \"closingBooked\":
Balance of the account at the end of the pre-agreed account reporting period.
It is the sum of the opening booked balance at the beginning of the period and all entries booked
to the account during the pre-agreed account reporting period.
For card-accounts, this is composed of
- invoiced, but not yet paid entries
- \"expected\":
Balance composed of booked entries and pending items known at the time of calculation,
which projects the end of day balance if everything is booked on the account and no other entry is posted.
For card accounts, this is composed of:
- invoiced, but not yet paid entries
- not yet invoiced but already booked entries and
- pending items (not yet booked) For savings and loans: estimated balance (e.g. including an upcoming interest payment) for the referenced date.
- \"openingBooked\": Book balance of the account at the beginning of the account reporting period. It always equals the closing book balance from the previous report.
- \"interimAvailable\":
Available balance calculated in the course of the account ?servicer?s business day,
at the time specified, and subject to further changes during the business day.
The interim balance is calculated on the basis of booked credit and debit items during the calculation
time/period specified.
For card-accounts, this is composed of:
- invoiced, but not yet paid entries
- not yet invoiced but already booked entries NOT used for savings and loans.
- \"interimBooked\": Balance calculated in the course of the account servicer's business day, at the time specified, and subject to further changes during the business day. The interim balance is calculated on the basis of booked credit and debit items during the calculation time/period specified.
- \"forwardAvailable\": Forward available balance of money that is at the disposal of the account owner on the date specified. NOT used for savings and loans.
- \"nonInvoiced\": Only for card accounts, to be defined yet.
{
"type": "string",
"enum": [
"closingBooked",
"expected",
"openingBooked",
"interimAvailable",
"interimBooked",
"forwardAvailable",
"nonInvoiced"
]
}
In the context of securities, balances are used to represent an estimation of the securities account's total value. As the value of single financial instruments and therefore the sum of all such values is constantly changing, the estimation does particularly depend on the time of its creation. Therefore, it is strongly recommended (and in some instances mandated) to include the element referenceDateTime.
{
"type": "object",
"required": [
"balanceAmount",
"balanceType"
],
"properties": {
"balanceAmount": {
"allOf": [
{
"description": ""
},
{
"$ref": "#\/definitions\/amount"
}
]
},
"balanceType": {
"allOf": [
{
"description": "The used balance types that apply to securities are restricted to the following values \nwith ther specific interpretation for securities accounts:\n* closingBooked: estimation based in the last fully finished trading date as interpreted \nby the ASPSP.\n* interimAvailable: intermediate estimation of the amounts value. If a balance with type \n\\\"interimAvailable\\\" is used, it must indicate the date and time of the evaluation in \nfield referenceDateTime.\n"
},
{
"$ref": "#\/definitions\/BalanceType"
}
]
},
"lastChangeDateTime": {
"allOf": [
{
"description": "This data element might be used to indicate e.g. with the expected or booked balance that no action is known \non the account, which is not yet booked.\n"
},
{
"$ref": "#\/definitions\/ISODateTime"
}
]
},
"referenceDate": {
"allOf": [
{
"description": "Indicates the date of the balance."
},
{
"$ref": "#\/definitions\/ISODate"
}
]
},
"referenceDateTime": {
"allOf": [
{
"description": "Indicates the date and time of the balance. Mandated, if balanceType = interimAvailable."
},
{
"$ref": "#\/definitions\/ISODateTime"
}
]
},
"lastCommittedTransaction": {
"description": "\\\"entryReference\\\" of the last commited transaction to support the TPP in identifying whether all \nPSU transactions are already known.\n",
"type": "string",
"maxLength": 35
}
}
}
{
"allOf": [
{
"description": "Message codes defined for AIS for HTTP Error code 403 (FORBIDDEN)."
},
[]
]
}
Link to a resource.
{
"type": "object",
"properties": {
"href": {
"description": "Link to a resource.",
"type": "string"
}
}
}
Generic message codes defined for HTTP Error code 400 (BAD_REQUEST).
{
"type": "string",
"enum": [
"FORMAT_ERROR",
"PARAMETER_NOT_CONSISTENT",
"PARAMETER_NOT_SUPPORTED",
"SERVICE_INVALID",
"RESOURCE_UNKNOWN",
"RESOURCE_EXPIRED",
"RESOURCE_BLOCKED",
"TIMESTAMP_INVALID",
"PERIOD_INVALID",
"SCA_METHOD_UNKNOWN",
"SCA_INVALID",
"CONSENT_UNKNOWN"
]
}
Message codes for HTTP Error code 429 (TOO MANY REQUESTS).
{
"type": "string",
"enum": [
"ACCESS_EXCEEDED"
]
}
Standardised definition of reporting error information according to [RFC7807].
{
"type": "object",
"required": [
"type",
"code"
],
"properties": {
"type": {
"description": "A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n",
"type": "string",
"format": "uri",
"maxLength": 70
},
"title": {
"$ref": "#\/definitions\/Max70Text"
},
"detail": {
"description": "$ref: '#\/components\/schemas\/Max500Text'\n"
},
"code": {
"$ref": "#\/definitions\/MessageCode_404_AIS_Securities"
},
"additionalErrors": {
"description": "Array of Error Information Blocks.\nMight be used if more than one error is to be communicated\n",
"type": "array",
"items": {
"description": "This is a data element to support the declaration of additional errors in the context of [RFC7807].",
"type": "object",
"required": [
"code"
],
"properties": {
"title": {
"$ref": "#\/definitions\/Max70Text"
},
"detail": {
"$ref": "#\/definitions\/Max500Text"
},
"code": {
"$ref": "#\/definitions\/MessageCode_404_AIS_Securities"
}
}
}
},
"_links": {
"$ref": "#\/definitions\/_linksAll"
}
}
}
{
"type": "string",
"maxLength": 35
}
{
"type": "object",
"required": [
"category",
"code"
],
"properties": {
"category": {
"$ref": "#\/definitions\/TppMessageCategory"
},
"code": {
"$ref": "#\/definitions\/MessageCode_406_AIS"
},
"path": {
"type": "string"
},
"text": {
"$ref": "#\/definitions\/Max500Text"
}
}
}
Standardised definition of reporting error information according to [RFC7807].
{
"type": "object",
"required": [
"type",
"code"
],
"properties": {
"type": {
"description": "A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n",
"type": "string",
"format": "uri",
"maxLength": 70
},
"title": {
"$ref": "#\/definitions\/Max70Text"
},
"detail": {
"description": "$ref: '#\/components\/schemas\/Max500Text'\n"
},
"code": {
"$ref": "#\/definitions\/MessageCode_400_AIS"
},
"additionalErrors": {
"description": "Array of Error Information Blocks.\nMight be used if more than one error is to be communicated\n",
"type": "array",
"items": {
"description": "This is a data element to support the declaration of additional errors in the context of [RFC7807].",
"type": "object",
"required": [
"code"
],
"properties": {
"title": {
"$ref": "#\/definitions\/Max70Text"
},
"detail": {
"$ref": "#\/definitions\/Max500Text"
},
"code": {
"$ref": "#\/definitions\/MessageCode_400_AIS"
}
}
}
},
"_links": {
"$ref": "#\/definitions\/_linksAll"
}
}
}
Generic message codes defined for HTTP Error code 401 (UNAUTHORIZED).
{
"type": "string",
"enum": [
"CERTIFICATE_INVALID",
"ROLE_INVALID",
"CERTIFICATE_EXPIRED",
"CERTIFICATE_BLOCKED",
"CERTIFICATE_REVOKE",
"CERTIFICATE_MISSING",
"SIGNATURE_INVALID",
"SIGNATURE_MISSING",
"CORPORATE_ID_INVALID",
"PSU_CREDENTIALS_INVALID",
"CONSENT_INVALID",
"CONSENT_EXPIRED",
"TOKEN_UNKNOWN",
"TOKEN_INVALID",
"TOKEN_EXPIRED"
]
}
This type is containing any account identification which can be used on payload-level to address specific accounts. The ASPSP will document which account reference type it will support.
{
"type": "object",
"properties": {
"iban": {
"allOf": [
{
"description": ""
},
{
"$ref": "#\/definitions\/IBAN"
}
]
},
"bban": {
"allOf": [
{
"description": "This data element can be used for accounts when no IBAN is provided.\n"
},
{
"$ref": "#\/definitions\/BBAN"
}
]
},
"maskedPan": {
"allOf": [
{
"description": "Primary Account Number (PAN) of a card in a masked form.\n"
},
{
"$ref": "#\/definitions\/Max35Text"
}
]
},
"msisdn": {
"allOf": [
{
"description": "An alias to access a payment account via a registered mobile phone number. \n"
},
{
"$ref": "#\/definitions\/Max35Text"
}
]
},
"other": {
"allOf": [
{
"description": "In cases where the criteria listed above (IBAN, BBAN,MSISDN) are not provided to \nidentify the account (e.g. a securities account), the ASPSP shall support delivery \nof a proprietary ID of the respective account that uniquely identifies the account \nfor this ASPSP. This ID will be delivered within the \\\"other\\\" structure.\nIn this case, the ASPSP specifically shall support consent establishment for an account \nidentified by its proprietary ID.\n**Remark:** An ASPSP does not have to support the \\\"other\\\" element for (regular payment) \naccounts.\n"
},
{
"$ref": "#\/definitions\/otherType"
}
]
},
"currency": {
"allOf": [
{
"description": "ISO 4217 Alpha 3 currency code\n"
},
{
"$ref": "#\/definitions\/CurrencyCode"
}
]
},
"cashAccountType": {
"allOf": [
{
"description": "ExternalCashAccountType1Code from ISO 20022. Might be extended by an additional code to indicate securities accounts. \nA global definition of a code for securities accounts is intentionally not provided by this document.\nThe API provider may restrict the accepted values further (e.g. only \\\"SVGS\\\" and \\\"CACC\\\" may be supported). \nThe TPP includes this element, if the account reference may identify several accounts of different types, \nbut the TPP only requests access to a specific type (e.g. card accounts).\nIf the cashAccountType is not present, it indicates the cashAccountType\n* \\\"Card Account\\\" in case of the account identification being provided as a maskedPan or a pan and \n* \\\"Current Account\\\" (CACC) otherwise.\nBOI REMARKS:\nCode for securities : \"SCTS\"\nIn case the TPP requests access for several types with same identifiers, the TPP will send the same identifier multiple times for each cashAccountType. \n"
},
{
"$ref": "#\/definitions\/ExternalCashAccountType"
}
]
}
}
}
IBAN of an account.
{
"type": "string",
"pattern": "^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$",
"example": "FR7612345987650123456789014"
}
Represents a securities transaction.
{
"type": "object",
"required": [
"relevantDates",
"financialInstrument",
"amountIncludesFees",
"amountIncludesTaxes"
],
"properties": {
"transactionId": {
"allOf": [
{
"description": "Can be used as access-ID in the API, where more details on a transaction is offered. \nIf this data attribute is provided, this shows that the AIS can get access on more details \nabout this transaction using the Read Securities Transaction Details Request.\n"
},
{
"type": "string"
}
]
},
"entryReference": {
"allOf": [
{
"description": "Identification of the transaction as used e.g. for reference for deltafunction on application level. \n"
},
{
"$ref": "#\/definitions\/Max35Text"
}
]
},
"relevantDates": {
"allOf": [
{
"description": ""
},
{
"type": "array",
"items": {
"$ref": "#\/definitions\/securitiesRelatedDateOrTime"
}
}
]
},
"financialInstrument": {
"allOf": [
{
"description": "Financial instrument that was transferred within the transaction.\n"
},
{
"$ref": "#\/definitions\/financialInstrument"
}
]
},
"orderId": {
"allOf": [
{
"description": "Resource Id of the order resource that triggered this transaction, if applicable.\n"
},
{
"type": "string"
}
]
},
"unitsNumber": {
"allOf": [
{
"description": "Numeric quantification of the financial instrument. Negative values indicate that \nthe respective quantity of the financial instrument has been taken from the securities\naccount, positive values indicate that the quantity hasbeen added.\n"
},
{
"type": "number"
}
]
},
"unitsNominal": {
"allOf": [
{
"description": "Nominal quantification of the financial instrument. Negative values indicate that \nthe respective quantity of the financial instrument has been taken from the securities\naccount, positive values indicate that the quantity hasbeen added.\n"
},
{
"$ref": "#\/definitions\/amount"
}
]
},
"transactionTypeCode": {
"allOf": [
{
"description": "Type of the transaction as code.\n"
},
{
"$ref": "#\/definitions\/TransactionActivityType1Code"
}
]
},
"transactionTypeProprietary": {
"allOf": [
{
"description": "Type of the transaction as a proprietary string.\n"
},
{
"$ref": "#\/definitions\/Max35Text"
}
]
},
"placeOfTrade": {
"allOf": [
{
"description": ""
},
{
"$ref": "#\/definitions\/marketIdentification"
}
]
},
"amountIncludesFees": {
"allOf": [
{
"description": "Indicates whether the transactionAmount (see below) is including fees. Default: false\n"
},
{
"type": "boolean"
}
]
},
"amountIncludesTaxes": {
"allOf": [
{
"description": "Indicates whether the transactionAmount (see below) is including taxes. Default: false\n"
},
{
"type": "boolean"
}
]
},
"transactionAmount": {
"allOf": [
{
"description": "Transaction amount for the transferred security for the PSU. Potential fees or taxes are reflected as indicated \nby elements \\\"amountIncludesFees\\\" and \\\"amountIncludesTaxes\\\".\nRemark: The price denoted here is the price for the whole lot of securities within this transaction, \nnot for a single item.\n"
},
{
"$ref": "#\/definitions\/amount"
}
]
},
"relatedFees": {
"allOf": [
{
"description": "Only allowed if amountIncludesFees = true. In that case Details of the fees that have been applied to\nthis transaction (and therefore represent additional costs of the transaction beyond the \ntransactionAmount).\nFees with positive amount are debited by the PSU, only in the rare case of a fee credited to the PSU \n(e.g. in case of a reversal) negative amounts are used.\n"
},
{
"type": "array",
"items": {
"$ref": "#\/definitions\/securitiesRelatedFee"
}
}
]
},
"currencyExchange": {
"allOf": [
{
"description": "The ASPSP might include exchange rates e.g. if the transaction has been settled \nin another currency than the PSU's currency.\n"
},
{
"type": "array",
"items": {
"$ref": "#\/definitions\/reportExchangeRate"
}
}
]
},
"reversalIndicator": {
"allOf": [
{
"description": "Indicates whether it is the reversal of a previously reported movement. Default: false\n"
},
{
"type": "boolean"
}
]
},
"reversedTransactionId": {
"allOf": [
{
"description": "\\\"transactionId\\\" of the reversed transaction, if applicable and supported by the ASPSP.\n"
},
{
"type": "boolean"
}
]
},
"unitsNumberBeforeTx": {
"allOf": [
{
"description": "Numeric quantification of the financial instrument within the primary position before the\ntransaction, negative values for short positions.\n"
},
{
"type": "number"
}
]
},
"unitsNominalBeforeTx": {
"allOf": [
{
"description": "Nominal quantification of the financial instrument within the primary position before the\ntransaction, negative values for short positions.\n"
},
{
"$ref": "#\/definitions\/amount"
}
]
},
"unitsNumberAfterTx": {
"allOf": [
{
"description": "Numeric quantification of the financial instrument within the primary position after the\ntransaction, negative values for short positions.\n"
},
{
"type": "number"
}
]
},
"unitsNominalAfterAfterTx": {
"allOf": [
{
"description": "Nominal quantification of the financial instrument within the primary position after the\ntransaction, negative values for short positions.\n"
},
{
"$ref": "#\/definitions\/amount"
}
]
},
"accruedInterest": {
"allOf": [
{
"description": "Accrued interest by the position to make transparent what the PSU really lost within this transaction\n"
},
{
"$ref": "#\/definitions\/accruedInterest"
}
]
},
"details": {
"allOf": [
{
"description": "Additional details to the transaction. \n"
},
{
"$ref": "#\/definitions\/Max500Text"
}
]
},
"_links": {
"description": "The following types of links are supported:\n * \\\"transactionDetails\\\": Single link for retrieving details on this specific transaction. Only\n applicable, if the ASPSP supports the Read Securities Transaction Details endpoint. \n",
"type": "object",
"additionalProperties": {
"$ref": "#\/definitions\/hrefType"
},
"properties": {
"transactionDetails": {
"$ref": "#\/definitions\/hrefType"
}
}
}
}
}
A _link object with all available link types.
{
"type": "object",
"additionalProperties": {
"$ref": "#\/definitions\/hrefType"
},
"properties": {
"scaRedirect": {
"$ref": "#\/definitions\/hrefType"
},
"scaOAuth": {
"$ref": "#\/definitions\/hrefType"
},
"confirmation": {
"$ref": "#\/definitions\/hrefType"
},
"startAuthorisation": {
"$ref": "#\/definitions\/hrefType"
},
"startAuthorisationWithPsuIdentification": {
"$ref": "#\/definitions\/hrefType"
},
"updatePsuIdentification": {
"$ref": "#\/definitions\/hrefType"
},
"startAuthorisationWithProprietaryData": {
"$ref": "#\/definitions\/hrefType"
},
"updateProprietaryData": {
"$ref": "#\/definitions\/hrefType"
},
"startAuthorisationWithPsuAuthentication": {
"$ref": "#\/definitions\/hrefType"
},
"updatePsuAuthentication": {
"$ref": "#\/definitions\/hrefType"
},
"startAuthorisationWithEncryptedPsuAuthentication": {
"$ref": "#\/definitions\/hrefType"
},
"updateEncryptedPsuAuthentication": {
"$ref": "#\/definitions\/hrefType"
},
"updateAdditionalPsuAuthentication": {
"$ref": "#\/definitions\/hrefType"
},
"updateAdditionalEncryptedPsuAuthentication": {
"$ref": "#\/definitions\/hrefType"
},
"startAuthorisationWithAuthenticationMethodSelection": {
"$ref": "#\/definitions\/hrefType"
},
"selectAuthenticationMethod": {
"$ref": "#\/definitions\/hrefType"
},
"startAuthorisationWithTransactionAuthorisation": {
"$ref": "#\/definitions\/hrefType"
},
"authoriseTransaction": {
"$ref": "#\/definitions\/hrefType"
},
"self": {
"$ref": "#\/definitions\/hrefType"
},
"status": {
"$ref": "#\/definitions\/hrefType"
},
"scaStatus": {
"$ref": "#\/definitions\/hrefType"
},
"account": {
"$ref": "#\/definitions\/hrefType"
},
"balances": {
"$ref": "#\/definitions\/hrefType"
},
"positions": {
"$ref": "#\/definitions\/hrefType"
},
"orders": {
"$ref": "#\/definitions\/hrefType"
},
"transactions": {
"$ref": "#\/definitions\/hrefType"
},
"transactionDetails": {
"$ref": "#\/definitions\/hrefType"
},
"cardAccount": {
"$ref": "#\/definitions\/hrefType"
},
"cardTransactions": {
"$ref": "#\/definitions\/hrefType"
},
"relatedOrders": {
"allOf": [
{
"description": "An array of links to request order details of related orders (e.g. other\norders that originated from the same order split as this order).\nOnly applicable, if the ASPSP supports the Read Securities Order Details endpoint.\n"
},
{
"type": "array",
"items": {
"$ref": "#\/definitions\/hrefType"
}
}
]
},
"relatedTransactions": {
"allOf": [
{
"description": "An array of links to request securities transaction details of transactions that resulted\nfrom this order. \nOnly applicable, if the ASPSP supports the Read Securities Transaction Details endpoint.\n"
},
{
"type": "array",
"items": {
"$ref": "#\/definitions\/hrefType"
}
}
]
},
"orderDetails": {
"allOf": [
{
"description": "Single link for retrieving details on this specific order. \nOnly applicable, if the ASPSP supports the Read Securities Order Details endpoint.\n"
},
{
"$ref": "#\/definitions\/hrefType"
}
]
},
"first": {
"$ref": "#\/definitions\/hrefType"
},
"next": {
"$ref": "#\/definitions\/hrefType"
},
"previous": {
"$ref": "#\/definitions\/hrefType"
},
"last": {
"$ref": "#\/definitions\/hrefType"
},
"download": {
"$ref": "#\/definitions\/hrefType"
}
}
}
{
"type": "string",
"maxLength": 16
}
{
"type": "object",
"properties": {
"daysAccrued": {
"allOf": [
{
"description": "Specifies the number of days used for calculating the accrued interest amount."
},
{
"type": "number"
}
]
},
"amounts": {
"allOf": [
{
"description": "Amount of the accrued interest. Each item represents the same monetary value in different currencies, e.g. account currency, currency of the security's denomination."
},
{
"type": "array",
"items": {
"$ref": "#\/definitions\/amount"
}
}
]
}
}
}
Represents parameters of a given type of fee (represented by the overlying Securities Fee Rule) as they apply if the volume of certain (not explicitly mentioned) statistics of the account / PSU lies in the intervall from a certain \"fromBaseAmount\" to a certain \"toBaseAmount\".
{
"type": "object",
"properties": {
"amount": {
"allOf": [
{
"description": "Amount of the fee.\n"
},
{
"$ref": "#\/definitions\/amount"
}
]
},
"percentage": {
"description": "Percentage of the fee. Up to 20 significant figures. Negative amounts are signed by minus. The decimal separator is a dot. Trailing zeroes must be truncated.",
"type": "string",
"pattern": "^-?[0-9]{1,20}(\\.[0-9]{0,19})?$"
},
"fromBaseAmount": {
"allOf": [
{
"description": "To be used for fees where a tiered percentage is used to calculate the fee relative to an implicitly defined \nbase amount (such as a transaction's volume being the base amount for a courtage).\nThe range of one tier is defined as all applicable entities with base amounts X and \nfromBaseAmount \\<\\= X \\<\\= toBaseAmount\nIn any array of fee rules, only one of these entries may be missing the\n\\\"fromBaseAmount\\\" element (indicating that the rule represented by this entry is\nused without a lower bound to the base amount) and only one entry may be missing the\n\\\"toBaseAmount\\\" element (indicating that the rule represented by this entry is applied \nwithout an upper limit to the base amount).\nIn cases, where the fee is not calculated as a tiered percentage, only one entry in array \\\"feeRules\\\" is included.\nThis entry must be missing the subelements \\\"fromBaseAmount\\\" and \\\"toBaseAmount\\\".\nBOI Remarks:\n\\\"fromBaseAmount\\\" and \\\"toBaseAmount\\\" must be displayed if it's set.\n"
},
{
"$ref": "#\/definitions\/amount"
}
]
},
"toBaseAmount": {
"allOf": [
{
"description": "To be used for fees where a tiered percentage is used to calculate the fee relative to an implicitly defined \nbase amount (such as a transaction's volume being the base amount for a courtage).\nThe range of one tier is defined as all applicable entities with base amounts X and \nfromBaseAmount \\<\\= X \\<\\= toBaseAmount\nIn any array of fee rules, only one of these entries may be missing the\n\\\"fromBaseAmount\\\" element (indicating that the rule represented by this entry is\nused without a lower bound to the base amount) and only one entry may be missing the\n\\\"toBaseAmount\\\" element (indicating that the rule represented by this entry is applied \nwithout an upper limit to the base amount).\nIn cases, where the fee is not calculated as a tiered percentage, only one entry in array \\\"feeRules\\\" is included.\nThis entry must be missing the subelements \"fromBaseAmount\" and \"toBaseAmount\".\nBOI Remarks:\n\\\"fromBaseAmount\\\" and \\\"toBaseAmount\\\" must be displayed if it's set.\n"
},
{
"$ref": "#\/definitions\/amount"
}
]
},
"minimumAmount": {
"allOf": [
{
"description": "Minimum amount of the fee in each billing period \/ for each billed event, if applicable.\nBOI Remarks:\nminumumAmount must be displayed if it's set.\n"
},
{
"$ref": "#\/definitions\/amount"
}
]
},
"maximumAmount": {
"allOf": [
{
"description": "Maximum amount of the fee in each billing period \/ for each billed event, if applicable.\nBOI Remarks:\nmaximumAmount must be displayed if it's set.\n"
},
{
"$ref": "#\/definitions\/amount"
}
]
}
}
}
Standardised definition of reporting error information according to [RFC7807].
{
"type": "object",
"required": [
"type",
"code"
],
"properties": {
"type": {
"description": "A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n",
"type": "string",
"format": "uri",
"maxLength": 70
},
"title": {
"$ref": "#\/definitions\/Max70Text"
},
"detail": {
"description": "$ref: '#\/components\/schemas\/Max500Text'\n"
},
"code": {
"$ref": "#\/definitions\/MessageCode_401_AIS"
},
"additionalErrors": {
"description": "Array of Error Information Blocks.\nMight be used if more than one error is to be communicated\n",
"type": "array",
"items": {
"description": "This is a data element to support the declaration of additional errors in the context of [RFC7807].",
"type": "object",
"required": [
"code"
],
"properties": {
"title": {
"$ref": "#\/definitions\/Max70Text"
},
"detail": {
"$ref": "#\/definitions\/Max500Text"
},
"code": {
"$ref": "#\/definitions\/MessageCode_401_AIS"
}
}
}
},
"_links": {
"$ref": "#\/definitions\/_linksAll"
}
}
}
Generic message codes defined defined for HTTP Error code 403 (FORBIDDEN).
{
"type": "string",
"enum": [
"CONSENT_UNKNOWN",
"SERVICE_BLOCKED",
"RESOURCE_UNKNOWN",
"RESOURCE_EXPIRED"
]
}
Code set to indicate characteristics of an order.
{
"type": "string",
"enum": [
"allOrNone",
"buyContraShortExempt",
"buyContraShort",
"buyMinus",
"carefully",
"combinationOrder",
"discretionary",
"doNotIncrease",
"doNotReduce",
"icebergOrder",
"limitWith",
"limitWithout",
"limitOrder",
"atMarket",
"marketNotHeld",
"marketToLimitOrder",
"marketUntilTouched",
"notHeld",
"orderLie",
"stopLimit",
"stopOrder",
"stopLoss",
"sellPlus",
"sellShortExempt",
"sellShort"
]
}
SecuritiesBalanceTypeV2Code from ISO 20022.
{
"type": "string",
"enum": [
"AVAI",
"AWAS",
"BTRA",
"BLOK",
"BLOV",
"BLCA",
"BLOT",
"BORR",
"COLI",
"COLO",
"MARG",
"DRAW",
"COLA",
"TRAN",
"ISSU",
"DIRT",
"LOAN",
"REGO",
"BODE",
"BORE",
"PEDA",
"PECA",
"PEND",
"PDMT",
"PDUM",
"LODE",
"LORE",
"PENR",
"PRMT",
"PRUM",
"PLED",
"QUAS",
"NOMI",
"RSTR",
"SPOS",
"CLEN",
"OTHR",
"UNRG",
"WDOC"
]
}
Represents a specific fee amount related to a securities transaction.
{
"type": "object",
"required": [
"amount"
],
"properties": {
"typeCode": {
"allOf": [
{
"description": ""
},
{
"$ref": "#\/definitions\/SecuritiesFeeTypeCode"
}
]
},
"typeProprietary": {
"allOf": [
{
"description": ""
},
{
"$ref": "#\/definitions\/Max35Text"
}
]
},
"amount": {
"allOf": [
{
"description": ""
},
{
"$ref": "#\/definitions\/amount"
}
]
},
"_links": {
"allOf": [
{
"description": "Links to resources, where the ASPSP can provide additional\ninformation on the fee, e.g. an overview on the general fee\nrules of the underlying securities account. Currently, no specific href\ntypes are defined in this context.\n"
}
],
"type": "object",
"additionalProperties": {
"$ref": "#\/definitions\/hrefType"
}
}
}
}
{
"type": "object",
"required": [
"category",
"code"
],
"properties": {
"category": {
"$ref": "#\/definitions\/TppMessageCategory"
},
"code": {
"$ref": "#\/definitions\/MessageCode_405_AIS"
},
"path": {
"type": "string"
},
"text": {
"$ref": "#\/definitions\/Max500Text"
}
}
}
Message codes defined for AIS for HTTP Error code 406 (NOT ACCEPTABLE).
{
"type": "string",
"enum": [
"REQUESTED_FORMATS_INVALID"
]
}
Represents the source of a price for a financial instrument, such as a market.
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"allOf": [
{
"$ref": "#\/definitions\/MarketType4Code"
}
]
},
"mic": {
"allOf": [
{
"description": "Date and time of the evaluation."
},
{
"$ref": "#\/definitions\/Max4Text"
}
]
},
"marketIdentifierProprietary": {
"allOf": [
{
"description": "Date and time of the evaluation."
},
{
"$ref": "#\/definitions\/Max35Text"
}
]
}
}
}
Represents the date / time of an event with specific meaning for securities.
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"allOf": [
{
"description": "Can be used as access-ID in the API, where more details on a transaction is offered. \nIf this data attribute is provided, this shows that the AIS can get access on more details \nabout this transaction using the Read Securities Transaction Details Request.\n"
},
{
"type": "string",
"enum": [
"effectiveSettlementDate",
"settlementDate",
"valueDate",
"performanceDate",
"bookingDate",
"transactionDate"
]
}
]
},
"date": {
"allOf": [
{
"description": ""
},
{
"$ref": "#\/definitions\/ISODate"
}
]
},
"dateAndTime": {
"allOf": [
{
"description": ""
},
{
"$ref": "#\/definitions\/ISODateTime"
}
]
}
}
}
{
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#\/definitions\/tppMessage_406_AIS"
}
},
"_links": {
"$ref": "#\/definitions\/_linksAll"
}
}
}
{
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#\/definitions\/tppMessage_405_AIS"
}
},
"_links": {
"$ref": "#\/definitions\/_linksAll"
}
}
}
Message codes defined for AIS for HTTP Error code 409 (CONFLICT).
{
"type": "string",
"enum": [
"STATUS_INVALID"
]
}
{
"allOf": [
{
"description": "Message codes defined for AIS for HTTP Error code 400 (BAD_REQUEST)."
},
[]
]
}
This data structure represents an evaluated price (e.g. of a security) when an unambiguous balance cannot be provided, but an evaluation, e.g. the total value of a securities deposit.
{
"type": "object",
"properties": {
"amount": {
"$ref": "#\/definitions\/amount"
},
"percentage": {
"description": "Up to 20 significant figures. Negative amounts are signed by minus. The decimal separator is a dot. Trailing zeroes must be truncated.",
"type": "string",
"pattern": "^-?[0-9]{1,20}(\\.[0-9]{0,19})?$"
},
"priceDateTime": {
"allOf": [
{
"description": "Date and time of the evaluation of this price."
},
{
"$ref": "#\/definitions\/ISODateTime"
}
]
},
"priceDate": {
"allOf": [
{
"description": "Date of the evaluation of this price."
},
{
"$ref": "#\/definitions\/ISODate"
}
]
},
"priceType": {
"allOf": [
{
"description": "Type of the price."
},
{
"$ref": "#\/definitions\/TypeOfPrice17Code"
}
]
},
"sourceOfPrice": {
"allOf": [
{
"description": "Indicates the source of the respective price."
},
{
"$ref": "#\/definitions\/sourceOfPrice"
}
]
},
"description": {
"allOf": [
{
"description": "Additional description of the source of price. E.g., if the source of price indicates a local market, the ASPSP can include the local market's name in this field."
},
{
"$ref": "#\/definitions\/Max500Text"
}
]
},
"exchangeRates": {
"allOf": [
{
"description": "Relevant exchange rates for the determined price."
},
{
"type": "array",
"items": {
"$ref": "#\/definitions\/reportExchangeRate"
}
}
]
}
}
}
ExternalFinancialInstrumentIdentificationType1Code from ISO 20022.
{
"type": "string"
}
Extended defintion of the \"Account Details\" Structure to represent Securities Accounts.
{
"type": "object",
"required": [
"resourceId",
"currency",
"cashAccountType",
"applicableFees",
"usage"
],
"properties": {
"resourceId": {
"description": "This is the data element to be used in the path when retrieving data from a dedicated account.\n",
"type": "string"
},
"iban": {
"allOf": [
{
"description": "This data element can be used in the body of the Consent Request Message for retrieving account \naccess consent from this account.\n"
},
{
"$ref": "#\/definitions\/IBAN"
}
]
},
"bban": {
"allOf": [
{
"description": "This data element can be used in the body of the Consent Request Message for retrieving account \naccess consent from this account. This data elements is used for payment accounts which have no IBAN.\n"
},
{
"$ref": "#\/definitions\/BBAN"
}
]
},
"msisdn": {
"allOf": [
{
"description": "An alias to access an account via a registered mobile phone number. \nThis alias might be needed e.g. in the payment initiation service. \nThe support of this alias must be explicitly documented by the ASPSP \nfor the corresponding API Calls.\n"
},
{
"$ref": "#\/definitions\/Max35Text"
}
]
},
"other": {
"allOf": [
{
"description": "In cases where the criteria listed above (IBAN, BBAN, MSISDN) are not provided to identify an \ninstance of the respective account type (e.g. a securities account), the ASPSP shall include a \nproprietary ID of the respective account that uniquely identifies the account for this ASPSP.\n"
},
{
"$ref": "#\/definitions\/otherType"
}
]
},
"currency": {
"allOf": [
{
"description": "Account currency. If the (e.g. securities) account does not have a dedicated account currency, \ncode \\\"XXX\\\" is used.\n"
},
{
"$ref": "#\/definitions\/CurrencyCode"
}
]
},
"ownerName": {
"allOf": [
{
"description": "Name of the legal account owner. If there is more than one owner, then e.g. two names might be noted here.\nFor a corporate account, the corporate name is used for this attribute.\nEven if supported by the ASPSP, the provision of this field might depend on the fact whether an explicit \nconsent to this specific additional account information has been given by the PSU.\nBOI Remarks:\nFor the Israeli market there is no need in explicit consent to this specific additional account information.\n"
},
{
"$ref": "#\/definitions\/Max140Text"
}
]
},
"name": {
"allOf": [
{
"description": "Name of the account, as assigned by the ASPSP, in agreement with the account owner in order to provide an additional \nmeans of identification of the account.\n"
},
{
"$ref": "#\/definitions\/Max70Text"
}
]
},
"displayName": {
"allOf": [
{
"description": "Name of the account as defined by the PSU within online channels.\n"
},
{
"$ref": "#\/definitions\/Max70Text"
}
]
},
"product": {
"allOf": [
{
"description": "Product Name of the ASPSP for this account, proprietary definition.\n"
},
{
"$ref": "#\/definitions\/Max35Text"
}
]
},
"cashAccountType": {
"allOf": [
{
"description": "ExternalCashAccountType1Code from ISO 20022. Might be extended by an additional code to indicate \nsecurities accounts. A global definition of a code for securities accounts is intentionally not \nprovided by this document.\nBOI remarks:\nCode for securities: \"SCTS\"\n"
},
{
"$ref": "#\/definitions\/ExternalCashAccountType"
}
]
},
"status": {
"description": "Account status. The value is one of the following:\n * \\\"enabled\\\": account is available\n * \\\"deleted\\\": account is terminated\n * \\\"blocked\\\": account is blocked e.g. for legal reasons\nIf this field is not used, than the account is available in the sense of this specification.\n",
"type": "string",
"enum": [
"enabled",
"deleted",
"blocked"
]
},
"bic": {
"allOf": [
{
"description": "The BIC associated with the account.\n"
},
{
"$ref": "#\/definitions\/BICFI"
}
]
},
"linkedAccounts": {
"allOf": [
{
"description": "This data attribute is a field, where an ASPSP can name a cash account associated with the \n(e.g. securities) account.\n"
},
{
"$ref": "#\/definitions\/Max70Text"
}
]
},
"usage": {
"description": "Specifies the usage of the account:\n * PRIV: private personal account\n * ORGA: professional account\n",
"type": "string",
"maxLength": 4,
"enum": [
"PRIV",
"ORGA"
]
},
"details": {
"allOf": [
{
"description": "Specifications that might be provided by the ASPSP:\n * characteristics of the account\n * characteristics of the relevant card\n * characteristics of the savings account, and the ASPSP will provide specification for each deposit\n * characteristics of the loan\n"
},
{
"$ref": "#\/definitions\/Max500Text"
}
]
},
"balances": {
"description": "A list of balances regarding this account, e.g. the current balance, the last booked balance.\nThe list might be restricted to the current balance.\nBOI Remarks:\nASPSP must provide at least one balanceType and all balances that presented in the online channels.\n",
"type": "array",
"items": {
"$ref": "#\/definitions\/balanceSecurities"
}
},
"tariffs": {
"allOf": [
{
"description": "Text information on tariffs related to this securities account.\n"
},
{
"$ref": "#\/definitions\/Max1000Text"
}
]
},
"applicableFees": {
"allOf": [
{
"description": "Array of elements, each representing one fee (rule) that is individually applicable for this \nSecurities account. If, for example, an ASPSP applies a standard \\\"managementFee\\\" X, but the\nconsumer negotiated a discount D, an element should represent (X-D), but neither X nor D.\n"
}
],
"type": "array",
"items": {
"$ref": "#\/definitions\/securitiesAccountFee"
}
},
"_links": {
"description": "Links to the account, which can be directly used for retrieving account\ninformation from this dedicated account.\nLinks to \\\"positions\\\", \\\"orders\\\" or \\\"transactions\\\".\nThese links are only supported, when the corresponding consent has been already granted. \n",
"type": "object",
"additionalProperties": {
"$ref": "#\/definitions\/hrefType"
},
"properties": {
"positions": {
"$ref": "#\/definitions\/hrefType"
},
"orders": {
"$ref": "#\/definitions\/hrefType"
},
"transactions": {
"$ref": "#\/definitions\/hrefType"
}
}
}
}
}
{
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#\/definitions\/tppMessage_403_AIS"
}
},
"_links": {
"$ref": "#\/definitions\/_linksAll"
}
}
}
Standardised definition of reporting error information according to [RFC7807].
{
"type": "object",
"required": [
"type",
"code"
],
"properties": {
"type": {
"description": "A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n",
"type": "string",
"format": "uri",
"maxLength": 70
},
"title": {
"$ref": "#\/definitions\/Max70Text"
},
"detail": {
"description": "$ref: '#\/components\/schemas\/Max500Text'\n"
},
"code": {
"$ref": "#\/definitions\/MessageCode_409_AIS"
},
"additionalErrors": {
"description": "Array of Error Information Blocks.\nMight be used if more than one error is to be communicated\n",
"type": "array",
"items": {
"description": "This is a data element to support the declaration of additional errors in the context of [RFC7807].",
"type": "object",
"required": [
"code"
],
"properties": {
"title": {
"$ref": "#\/definitions\/Max70Text"
},
"detail": {
"$ref": "#\/definitions\/Max500Text"
},
"code": {
"$ref": "#\/definitions\/MessageCode_409_AIS"
}
}
}
},
"_links": {
"$ref": "#\/definitions\/_linksAll"
}
}
}
{
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#\/definitions\/tppMessage_429_AIS"
}
},
"_links": {
"$ref": "#\/definitions\/_linksAll"
}
}
}
TransactionActivityType1Code from ISO 20022. Compare ISO 20022 Settlement And Reconciliation - ISO - Maintenace 2019 - 2020 Message Definition Report - Part 2 Approved by the Securities SEG on the 27th of January 2020:
{
"type": "string",
"enum": [
"BOLE",
"CLAI",
"COLL",
"CORP",
"SETT"
]
}
ExternalCashAccountType1Code from ISO 20022.
{
"type": "string",
"enum": [
"CACC",
"CARD",
"LOAN",
"SVGS",
"SCTS"
]
}
BICFI
{
"type": "string",
"pattern": "^[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}$",
"example": "AAAADEBBXXX"
}
{
"type": "string",
"maxLength": 1000
}
{
"type": "object",
"additionalProperties": {
"$ref": "#\/definitions\/hrefType"
},
"properties": {
"first": {
"$ref": "#\/definitions\/hrefType"
},
"next": {
"$ref": "#\/definitions\/hrefType"
},
"previous": {
"$ref": "#\/definitions\/hrefType"
},
"last": {
"$ref": "#\/definitions\/hrefType"
}
}
}
ISO 3166 ALPHA2 country code.
{
"type": "string",
"pattern": "^[A-Z]{2}$",
"example": "SE"
}
{
"type": "string",
"maxLength": 140
}
MarketType4Code from ISO 20022. Compare ISO 20022 Settlement And Reconciliation - ISO - Maintenace 2019 - 2020 Message Definition Report - Part 2 Approved by the Securities SEG on the 27th of January 2020:
{
"type": "string",
"enum": [
"FUND",
"LMAR",
"THEO",
"VEND"
]
}
This data structure represents financial instrument.
{
"type": "object",
"properties": {
"isin": {
"allOf": [
{
"description": "ISIN of the financial Instrument.\n"
},
{
"$ref": "#\/definitions\/ISIN"
}
]
},
"other": {
"allOf": [
{
"description": "If an ISIN is not available, the ASPSP may instead include an identification by other means.\n"
},
{
"$ref": "#\/definitions\/otherFinancialInstrumentIdentification"
}
]
},
"name": {
"allOf": [
{
"description": "Name of the financial instrument.\nBOI Remarks:\nSuppose to be equivalent to the name in the stock exchange.\n"
},
{
"$ref": "#\/definitions\/Max70Text"
}
]
},
"normalisedPrice": {
"allOf": [
{
"description": "Price per unit of the financial instrument in case of a price amount. Percentage price otherwise.\nIf used in the context of a transaction, the price here shall indicate the applied price \n(without fees) for the trade.\n"
},
{
"$ref": "#\/definitions\/evaluatedPrice"
}
]
}
}
}
Standardised definition of reporting error information according to [RFC7807].
{
"type": "object",
"required": [
"type",
"code"
],
"properties": {
"type": {
"description": "A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n",
"type": "string",
"format": "uri",
"maxLength": 70
},
"title": {
"$ref": "#\/definitions\/Max70Text"
},
"detail": {
"description": "$ref: '#\/components\/schemas\/Max500Text'\n"
},
"code": {
"$ref": "#\/definitions\/MessageCode_405_AIS"
},
"additionalErrors": {
"description": "Array of Error Information Blocks.\nMight be used if more than one error is to be communicated\n",
"type": "array",
"items": {
"description": "This is a data element to support the declaration of additional errors in the context of [RFC7807].",
"type": "object",
"required": [
"code"
],
"properties": {
"title": {
"$ref": "#\/definitions\/Max70Text"
},
"detail": {
"$ref": "#\/definitions\/Max500Text"
},
"code": {
"$ref": "#\/definitions\/MessageCode_405_AIS"
}
}
}
},
"_links": {
"$ref": "#\/definitions\/_linksAll"
}
}
}
Identification of a market for financial instruments.
{
"type": "object",
"properties": {
"mic": {
"allOf": [
{
"description": "Date and time of the evaluation."
},
{
"$ref": "#\/definitions\/Max4Text"
}
]
},
"marketIdentifierProprietary": {
"allOf": [
{
"description": "Date and time of the evaluation."
},
{
"$ref": "#\/definitions\/Max35Text"
}
]
}
}
}
{
"allOf": [
{
"description": "Message codes defined for AIS for HTTP Error code 404 (NOT FOUND)."
},
[]
]
}
{
"type": "object",
"required": [
"category",
"code"
],
"properties": {
"category": {
"$ref": "#\/definitions\/TppMessageCategory"
},
"code": {
"$ref": "#\/definitions\/MessageCode_401_AIS"
},
"path": {
"type": "string"
},
"text": {
"$ref": "#\/definitions\/Max500Text"
}
}
}
{
"type": "object",
"required": [
"currency",
"amount"
],
"properties": {
"currency": {
"$ref": "#\/definitions\/CurrencyCode"
},
"amount": {
"description": "The amount given with fractional digits, where fractions must be compliant to the currency definition.\nUp to 14 significant figures. Negative amounts are signed by minus.\nThe decimal separator is a dot.\n**Example:**\nValid representations for EUR with up to two decimals are:\n * 1056\n * 5768.2\n * -1.50\n * 5877.78\n",
"type": "string",
"pattern": "^-?[0-9]{1,14}(\\.[0-9]{1,3})?$",
"example": "5877.78"
}
},
"example": {
"currency": "EUR",
"amount": "123"
}
}
Exchange Rate.
{
"type": "object",
"required": [
"sourceCurrency",
"exchangeRate",
"unitCurrency",
"targetCurrency",
"quotationDate"
],
"properties": {
"sourceCurrency": {
"allOf": [
{
"description": ""
},
{
"$ref": "#\/definitions\/CurrencyCode"
}
]
},
"exchangeRate": {
"allOf": [
{
"description": ""
},
{
"type": "string"
}
]
},
"unitCurrency": {
"allOf": [
{
"description": ""
},
{
"$ref": "#\/definitions\/CurrencyCode"
}
]
},
"targetCurrency": {
"allOf": [
{
"description": ""
},
{
"$ref": "#\/definitions\/CurrencyCode"
}
]
},
"quotationDate": {
"allOf": [
{
"description": ""
},
{
"$ref": "#\/definitions\/ISODate"
}
]
},
"contractIdentification": {
"allOf": [
{
"description": ""
},
{
"$ref": "#\/definitions\/Max35Text"
}
]
}
}
}
{
"type": "object",
"required": [
"category",
"code"
],
"properties": {
"category": {
"$ref": "#\/definitions\/TppMessageCategory"
},
"code": {
"$ref": "#\/definitions\/MessageCode_404_AIS_Securities"
},
"path": {
"type": "string"
},
"text": {
"$ref": "#\/definitions\/Max500Text"
}
}
}
Code set to identify the status of an order.
{
"type": "string",
"enum": [
"unknown",
"new",
"partiallyFilled",
"filled",
"doneForDay",
"canceled",
"replaced",
"pendingCancel",
"stopped",
"rejected",
"suspended",
"pendingNew",
"calculated",
"expired",
"acceptedForBidding",
"pendingReplace"
]
}
{
"type": "object",
"additionalProperties": {
"$ref": "#\/definitions\/hrefType"
},
"properties": {
"first": {
"$ref": "#\/definitions\/hrefType"
},
"next": {
"$ref": "#\/definitions\/hrefType"
},
"previous": {
"$ref": "#\/definitions\/hrefType"
},
"last": {
"$ref": "#\/definitions\/hrefType"
}
}
}
Generic message codes defined for HTTP Error code 404 (NOT FOUND).
{
"type": "string",
"enum": [
"RESOURCE_UNKNOWN"
]
}
List of supported Fee Type Codes in the context of securities. Might be changed based on market experience with the API.
{
"type": "string",
"enum": [
"transactionFee",
"brokerageFee",
"managementFee",
"courtage",
"custodyFee",
"exchangeRate",
"thirdPartyFee",
"otherFee"
]
}
International Securities Identification Number (ISIN). A numbering system designed by the United Nation's International Organisation for Standardisation (ISO). The ISIN is composed of a 2-character prefix representing the country of issue, followed by the national security number (if one exists), and a check digit. Each country has a national numbering agency that assigns ISIN numbers for securities in that country.
{
"type": "string",
"pattern": "^[A-Z0-9]{12,12}$"
}
In cases where the specifically defined criteria (IBAN, BBAN, MSISDN) are not provided to identify an instance of the respective account type (e.g. a savings account), the ASPSP shall include a proprietary ID of the respective account that uniquely identifies the account for this ASPSP.
{
"type": "object",
"required": [
"identification"
],
"properties": {
"identification": {
"allOf": [
{
"description": "Proprietary identification of the account."
},
{
"$ref": "#\/definitions\/Max35Text"
}
]
},
"issuer": {
"allOf": [
{
"description": "Issuer of the identification."
},
{
"$ref": "#\/definitions\/Max35Text"
}
]
},
"schemeNameProprietary": {
"allOf": [
{
"description": "A scheme name defined in a proprietary way."
},
{
"$ref": "#\/definitions\/Max35Text"
}
]
},
"schemeNameCode": {
"allOf": [
{
"description": "An entry provided by an external ISO code list."
},
{
"$ref": "#\/definitions\/Max35Text"
}
]
}
}
}
{
"allOf": [
{
"description": "Message codes defined for AIS for HTTP Error code 401 (UNAUTHORIZED)."
},
[]
]
}
{
"type": "string",
"format": "date"
}
Basic Bank Account Number (BBAN) Identifier. This data element can be used in the body of the consent request. Message for retrieving account access consent from this account. This data elements is used for payment accounts which have no IBAN. ISO20022: Basic Bank Account Number (BBAN). Identifier used nationally by financial institutions, i.e., in individual countries, generally as part of a National Account Numbering Scheme(s), which uniquely identifies the account of a customer.
{
"type": "string",
"pattern": "^[a-zA-Z0-9]{1,30}$",
"example": "BARC12345612345678"
}
Standardised definition of reporting error information according to [RFC7807].
{
"type": "object",
"required": [
"type",
"code"
],
"properties": {
"type": {
"description": "A URI reference [RFC3986] that identifies the problem type. \nRemark For Future: These URI will be provided by NextGenPSD2 in future.\n",
"type": "string",
"format": "uri",
"maxLength": 70
},
"title": {
"$ref": "#\/definitions\/Max70Text"
},
"detail": {
"description": "$ref: '#\/components\/schemas\/Max500Text'\n"
},
"code": {
"$ref": "#\/definitions\/MessageCode_406_AIS"
},
"additionalErrors": {
"description": "Array of Error Information Blocks.\nMight be used if more than one error is to be communicated\n",
"type": "array",
"items": {
"description": "This is a data element to support the declaration of additional errors in the context of [RFC7807].",
"type": "object",
"required": [
"code"
],
"properties": {
"title": {
"$ref": "#\/definitions\/Max70Text"
},
"detail": {
"$ref": "#\/definitions\/Max500Text"
},
"code": {
"$ref": "#\/definitions\/MessageCode_406_AIS"
}
}
}
},
"_links": {
"$ref": "#\/definitions\/_linksAll"
}
}
}
{
"type": "object",
"required": [
"category",
"code"
],
"properties": {
"category": {
"$ref": "#\/definitions\/TppMessageCategory"
},
"code": {
"$ref": "#\/definitions\/MessageCode_400_AIS"
},
"path": {
"type": "string"
},
"text": {
"$ref": "#\/definitions\/Max500Text"
}
}
}
Represents a securities order.
{
"type": "object",
"required": [
"side",
"financialInstrument",
"orderStatus"
],
"properties": {
"orderId": {
"allOf": [
{
"description": "Can be used as access-ID in the API, where more details on an order is offered. \nIf this data attribute is provided, this shows that the AIS can get access on more \ndetails about this transaction using the Read Securities Transaction Details Request.\n*Remark:* In anticipation of future services where orders might be placed or revoked via the \nopenFinance API, the orderId should be defined in a way that it will also identify an order in \nthe case of a placement \/ cancellation, if the ASPSP intends to support those use cases, as well.\n"
},
{
"type": "string"
}
]
},
"side": {
"allOf": [
{
"description": "Type of transaction that is associated with this order.\n"
},
{
"$ref": "#\/definitions\/SecuritiesOrderSide"
}
]
},
"financialInstrument": {
"allOf": [
{
"description": "Financial instrument the order refers to.\n"
},
{
"$ref": "#\/definitions\/financialInstrument"
}
]
},
"unitsNumberOrder": {
"allOf": [
{
"description": "Numeric quantification of the financial instrument that is ordered.\nBOI Remarks:\nEven if the status of the order is partial, the full value will be displayed.\n"
},
{
"type": "number"
}
]
},
"unitsNominalOrder": {
"allOf": [
{
"description": "Nominal quantification of the financial instrument that is ordered.\nBOI Remarks:\nEven if the status of the order is partial, the full value will be displayed.\n"
},
{
"$ref": "#\/definitions\/amount"
}
]
},
"unitsNumberDisplay": {
"allOf": [
{
"description": "Numeric quantification of the order that shall be displayed.\n"
},
{
"type": "number"
}
]
},
"unitsNominalDisplay": {
"allOf": [
{
"description": "Nominal quantification of the order that shall be displayed.\n"
},
{
"$ref": "#\/definitions\/amount"
}
]
},
"placeOfTrade": {
"allOf": [
{
"description": ""
},
{
"$ref": "#\/definitions\/marketIdentification"
}
]
},
"limitPriceAmount": {
"description": "BOI Remarks:\nLimit price must be displayed if it set.\n",
"$ref": "#\/definitions\/amount"
},
"limitPricePercent": {
"description": "Up to 20 significant figures. Negative amounts are signed by minus.\nThe decimal separator is a dot. Trailing zeroes must be truncated.\nBOI Remarks:\nLimit price must be displayed if it set.\n",
"type": "string",
"pattern": "^-?[0-9]{1,20}(\\.[0-9]{0,19})?$"
},
"stopPriceAmount": {
"description": "BOI Remarks:\nStop price must be displayed if it set.\n",
"$ref": "#\/definitions\/amount"
},
"stopPricePercent": {
"description": "Up to 20 significant figures. Negative amounts are signed by minus.\nThe decimal separator is a dot. Trailing zeroes must be truncated.\nBOI Remarks:\nStop price must be displayed if it set.\n",
"type": "string",
"pattern": "^-?[0-9]{1,20}(\\.[0-9]{0,19})?$"
},
"tradingSessionIndicator": {
"allOf": [
{
"description": "Type of transaction that is associated with this order.\n"
},
{
"$ref": "#\/definitions\/TradingSessionTypeCode"
}
]
},
"typesOfOrder": {
"allOf": [
{
"description": "One or more Codes to indicate characteristics of the order.\n"
},
{
"type": "array",
"items": {
"$ref": "#\/definitions\/TypeOfOrderCode"
}
}
]
},
"timeInForce": {
"allOf": [
{
"description": "If the order is restricted by a time limit, the type time limit is indicated by a value of \nthe corresponding code set.\n"
},
{
"$ref": "#\/definitions\/OrderTimeLimitCode"
}
]
},
"expiryDate": {
"allOf": [
{
"description": "Date, when the order expires, if applicable.\nBOI Remarks:\nExpiry date must be displayed if it set.\n"
},
{
"$ref": "#\/definitions\/ISODate"
}
]
},
"expiryDateTime": {
"allOf": [
{
"description": "Date and time, when the order expires, if applicable.\nBOI Remarks:\nExpiry date time must be displayed if it set.\n"
},
{
"$ref": "#\/definitions\/ISODateTime"
}
]
},
"relatedCashAccount": {
"allOf": [
{
"description": "If the execution of this order implies the transfer of money, cash account to be affected by this \ntransfer from the PSU's side.\n"
},
{
"$ref": "#\/definitions\/accountReference"
}
]
},
"orderSplit": {
"allOf": [
{
"description": "Value true indicates that this order is the result of an order split. Missing values indicate \\\"false\\\".\n"
},
{
"type": "boolean"
}
]
},
"orderModifyable": {
"allOf": [
{
"description": "Value true indicates that this order can (still) be modified. Missing values indicate \\\"false\\\".\n"
},
{
"type": "boolean"
}
]
},
"orderStatus": {
"allOf": [
{
"description": "Status of the order.\n"
},
{
"$ref": "#\/definitions\/OrderStatusCode"
}
]
},
"details": {
"allOf": [
{
"description": "Additional details to the order.\n"
},
{
"$ref": "#\/definitions\/Max500Text"
}
]
},
"_links": {
"allOf": [
{
"description": ""
},
{
"type": "object",
"properties": {
"relatedOrders": {
"allOf": [
{
"description": "An array of links to request order details of related orders (e.g. other\norders that originated from the same order split as this order).\nOnly applicable, if the ASPSP supports the Read Securities Order Details endpoint.\n"
},
{
"type": "array",
"items": {
"$ref": "#\/definitions\/hrefType"
}
}
]
},
"relatedTransactions": {
"allOf": [
{
"description": "An array of links to request securities transaction details of transactions that resulted\nfrom this order. \nOnly applicable, if the ASPSP supports the Read Securities Transaction Details endpoint.\n"
},
{
"type": "array",
"items": {
"$ref": "#\/definitions\/hrefType"
}
}
]
},
"orderDetails": {
"allOf": [
{
"description": "Single link for retrieving details on this specific order. \nOnly applicable, if the ASPSP supports the Read Securities Order Details endpoint.\n"
},
{
"$ref": "#\/definitions\/hrefType"
}
]
}
}
}
]
}
}
}
{
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#\/definitions\/tppMessage_401_AIS"
}
},
"_links": {
"$ref": "#\/definitions\/_linksAll"
}
}
}
{
"type": "object",
"properties": {
"tppMessages": {
"type": "array",
"items": {
"$ref": "#\/definitions\/tppMessage_404_AIS_Securities"
}
},
"_links": {
"$ref": "#\/definitions\/_linksAll"
}
}
}
{
"type": "object",
"required": [
"category",
"code"
],
"properties": {
"category": {
"$ref": "#\/definitions\/TppMessageCategory"
},
"code": {
"$ref": "#\/definitions\/MessageCode_409_AIS"
},
"path": {
"type": "string"
},
"text": {
"$ref": "#\/definitions\/Max500Text"
}
}
}
{
"type": "string",
"format": "date-time"
}
TypeOfPrice17Code from ISO 20022. Compare ISO 20022 Settlement And Reconciliation - ISO - Maintenace 2019 - 2020 Message Definition Report - Part 2 Approved by the Securities SEG on the 27th of January 2020:
{
"type": "string",
"enum": [
"BIDE",
"OFFR",
"NAVL",
"CREA",
"CANC",
"INTE",
"SWNG",
"MIDD",
"RINV",
"SWIC",
"MRKT",
"INDC",
"DDVR",
"ACTU"
]
}
Represents the parameters of a given type of fee as they apply to the securities account.
{
"type": "object",
"required": [
"feeRules"
],
"properties": {
"typeCode": {
"allOf": [
{
"description": "Type of the fee as a code.\nMight be adjusted in the future based on market experience.\n"
},
{
"$ref": "#\/definitions\/SecuritiesFeeTypeCode"
}
]
},
"typeProprietary": {
"allOf": [
{
"description": "Type of the fee as a proprietary string.\n"
},
{
"$ref": "#\/definitions\/Max35Text"
}
]
},
"feeRules": {
"allOf": [
{
"description": "Array of fee rules. Each rule represents ow the amount of the fee is determined either explicitly by stating the amount or implicitly by providing a percentage, minimum and maximum amount. This array will usually only contain one entry to represent the whole rule. Only in the case of the fee being calculated as a tiered percentage, several entries are included to represent the several tiers of the fee rule.\n"
},
{
"type": "array",
"items": {
"$ref": "#\/definitions\/securitiesAccountFeeRule"
}
}
]
},
"applicableFrom": {
"allOf": [
{
"description": "First date, when this fee is applicable.\nIf not present, the fee is applicable starting with the\ncreation of this account \/ the latest reporting date supported by the ASPSP.\nBOI Remarks:\napplicableFrom must be displayed if it's set.\n"
},
{
"$ref": "#\/definitions\/ISODateTime"
}
]
},
"applicableTo": {
"allOf": [
{
"description": "Last date, when this fee is applicable.\nIf not present, the fee is applicable indefinitely.\nBOI Remarks:\napplicableTo must be displayed if it's set.\n"
},
{
"$ref": "#\/definitions\/ISODateTime"
}
]
},
"additionalInformation": {
"allOf": [
{
"description": ""
},
{
"$ref": "#\/definitions\/Max500Text"
}
]
}
}
}
{
"type": "string",
"maxLength": 4
}
Code set to identify the time an order shall be in force.
{
"type": "string",
"enum": [
"day",
"goodTillCancel",
"atTheOpening",
"immediateOrCancel",
"fillOrKill",
"fillAndKill",
"goodTillCrossing",
"goodTillDate",
"atTheClose",
"goodThroughCrossing",
"atCrossing",
"goodForTime",
"goodForAuction",
"goodForMonth"
]
}