NAV
test production

Introduction

  _   _      _ _        __        __         _     _ _ 
 | | | | ___| | | ___   \ \      / /__  _ __| | __| | |
 | |_| |/ _ \ | |/ _ \   \ \ /\ / / _ \| '__| |/ _` | |
 |  _  |  __/ | | (_) |   \ V  V / (_) | |  | | (_| |_|
 |_| |_|\___|_|_|\___/     \_/\_/ \___/|_|  |_|\__,_(_)                  

This is the Bank Frick online banking webAPI documentation. In this documentation the client can see what requirements must be fulfilled, which functionalities Bank Frick's online banking webAPI must have and how it must be set up in order to be used.

The online banking webAPI enables to create and approve payment orders and receive account information in a simplified JSON format or standardized camt report without the requirement of logging in into the online banking frontend.

We have examples for the sandbox as well as for the production environment. You can view code examples in the dark area to the right, and you can switch the environment of the examples with the tabs in the top right.

Getting Started

In order to use the online banking WebAPI, the client requires having an active account which allows him to access one or multiple customers depending on the user privileges and contact to customer assignments. The user account is identified by a contact number which also enables him to login into the online banking client gui. In general, the privileges to access accounts and create payment orders are the same for the gui and the WebAPI.

The client user must create an API-Key (Personal Access Token) which will later be used to identify a client application which uses the WebAPI. The API-Key can be created within the gui using the Manage API-Keys Dialog. The client user can define permissions that refer exclusively to the API-Key and set an expiration date. With the API-Key the client application will authenticate on the WebAPI interface.

The client application logs in by sending his API-Key and current password. The API-Key must be created in beforehand by the client user via the online banking gui (requires TAN).

The server verifies the key, it retrieves the client information, generates a JWT (JSON Web Token) containing user details and permissions that will be used to access the services, and the server also sets the expiration on the JWT. The expiration date of the JWT can be before the expiration date of the API-Key, but can never exceed it. At default it is unlimited.

The server signs and sends the JWT to the client as a response to the initial request with the API-Key. Note that the communication itself is stateless, meaning that once a JWT is acquired, the client application can use the token indefinitely respectively as long as stated in the token or the API-Key is revoked. The JWT is not stored on the server.

The client sends the stored JWT in the authorization header for every following request to the server.

For each request, the server takes the JWT from the authorization header and validates the signature, extracts the user data and permissions. If the JWT cannot be validated or is no longer accepted, the server will send a 401 HTTP code (unauthorized) as response.

Here you can sign up for an account: Sign up

After the Sign Up, you will receive the following two informations by email to access your account and use the webAPI.

If you subsequently have an active Bank Frick account, you can start webAPI with the Online Banking setup.

Currently 3 environments are available

The API is available under the following path:
BaseURL = <Environment URL>/webapi/

Schemes: https

Signatures

Message payloads must be signed by the sender of the message and be verified by the receiver. The signature will be transmitted in the ‘Signature’ header field of the HTTP Request/Response. The signature is a Base64-encoded binary SHA signature of the content of the message-body. The 'algorithm' header parameter is used to specify the digital signature algorithm to use when generating the signature. Valid values for this parameter are [rsa-sha512, rsa-sha384, rsa-sha256]. If ‘algorithm’ is not provided by the client the server will assume rsa-sha512.

Note: The server accepts only RSA signatures with PKCS#1 v1.5 Padding. Other padding schemes, such as RSA-PSS, are not supported.

SSH-Key-Management

The public key of the client must be uploaded to the server using the online banking gui manage ssh key dialog and assigned to an access token. The user must give a unique title respectively a name to the public key. The public key itself can be copied into the input field and added with the "Add SSH-Key" button. The following formats for the public key are accepted:

A public/private key pair can be created using various tools, e.g. via openssl command line

$ openssl genrsa -out private.key 4096
$ openssl rsa -in private.key -outform PEM -pubout -out public.pem

Or via Java:

KeyPairGenerator instance = KeyPairGenerator.getInstance("RSA");
instance.initialize(4096, secureRandom);
KeyPair generateKeyPair = instance.generateKeyPair();

Note: Private keys must be stored safely and never shared.

Sample signing with openssl

$ openssl dgst –sha512 –sign private.key –out request.body.sha512 request.body
$ openssl base64 -A –in request.body.sha512 -out request.signature

Sample signature verification using openssl

$ openssl base64 -A –d –in response.signature -out response.body.sha512
$ openssl dgst –sha512 –verify public.pem –signature response.body.sha512 response.body

Sample signing with Java

public String getSignature(byte[] body, PrivateKey privateKey) throws Exception {
Signature privateSignature = Signature.getInstance("SHA512withRSA");
privateSignature.initSign(privateKey);
privateSignature.update(body);
byte[] signature = privateSignature.sign();
return Base64.getEncoder().encodeToString(signature);
}

Sample signature verification using Java

public boolean isValid(byte[] body, String signature, PublicKey publicKey) throws Exception {
Signature publicSignature = Signature.getInstance("SHA512withRSA");
publicSignature.initVerify(publicKey);
publicSignature.update(body);
byte[] signatureBytes = Base64.getDecoder().decode(signature);
return publicSignature.verify(signatureBytes);
}

Manage API Keys

Now, you are able to generate a personal API-Key for an application which uses the webAPI. The API-Key replaces the user contact number for requesting a JWT from the authorization server, however for each further request it is still required that the user account is still active and accessible. If the you lock the account e.g. via the “Lock Password” function or by entering false passwords at the login, all client JWTs will lose access privileges temporarily until the user is unlocked again from an advisor in the backend.

An API-Key is a personalized access token which will be generated once by the server using the settings provided by the contact. The settings describe the name, expire date and scope of the access token. Also a client public key must be defined which will be used by the server to validate the signature of the messages send by the client.

A generated access token will be displayed after a successful entered TAN challenge for a limited amount of time. After that, the token cannot be accessed again. Changing a token would require to delete the old token and create a new one. You are responsible to save and handle the access key securely. Additionally, you can limit the access to the WebAPI of your account to a specific IP address or subnet. For that, the firewall must be configured accordingly so that your IP address is passed to the application server (transparent proxy) in the “X-FORWARDED-FOR” or any other suitable request header field.

Upload API Keys

Manage API Keys

WebHooks

This dialog shows an overview of all created and active notification rules. You are able to define notification rules to be informed when a criteria matches, e.g. a charge or credit entry on an account or an executed payment order. New rules can be created, edited or deleted at any time.

You are able to create or edit a notification rule which triggers on the defined event and notifies the user. You can define a rule for a specific customer or account or in a general case for all accounts. The notification rule condition is checked by the server in regular intervals and if a rule is fulfilled you are notified once via the selected method until the condition is reset and met again.

WebHooks allows the user to develop push notifications. These push notifications are simply an HTTP POST that is triggered by the defined action. The notification does contain information about the triggered notification rule but no further critical data. Also a signature of the body is added which can be verified by the server public key. The server will send a JSON message containing the relevant information about the rule.

If the message cannot be delivered, e.g. because the client server is not responding, the event will be discarded and not be send again until the notification condition is triggered again. The request is asynchronous meaning the server does not wait for a client response.

WebHooks

WebHooks Details

Authorize

Login to the WebAPI using an API-Key to receive a JWT. The password is optional when authorizing with the WebAPI. The API-Key can be generated by the user using the Manage API-Keys Dialog.

POST

POST /v2/authorize

Request

POST https://olbtest.bankfrick.li/webapi/v2/authorize
Content-Type: application/json
Accept: application/json
Signature: ...
algorithm: ...


{
  "key" : "1234567890abcdefgHIJKLMN",
  "password" : "secret"
}
POST https://olb.bankfrick.li/webapi/v2/authorize
Content-Type: application/json
Accept: application/json
Signature: ...
algorithm: ...


{
  "key" : "1234567890abcdefgHIJKLMN",
  "password" : "secret"
}

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "token" : "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJCYW5rIEZyaWNrIFdlYkFQSSIsInN1YiI6IlRhZ2VzYWJzY2hsdXNzIiwiY29udGFjdCI6IjY3ODkiLCJuYW1lIjoiTWF4IE11c3RlciIsInBlcm1pc3Npb25zIjpbImFjY291bnRzIiwidHJhbnNhY3Rpb25zIiwiY2FtdDA1MiIsImNhbXQwNTMiXSwiYXVkIjoicHJvZHVjdGlvbiIsImV4cCI6MTU0NjMwMDgwMCwiaWF0IjoxNTMzMTA5MzIzfQ.DlxpBZMGAZx1xK-UdA-s9SrHMrEIt60waF1kLYG6kCuTRMrcDiS3KR8p0bAyZaLUWlfSJF3TCMb2Tup5MyLFWc0fZRJfu0mBEyz74ZwbSN9iTrwzzsfIuX2E1d895hR1MgsMy2i1Qu-vwZgsW0WivnNCHBMLZH0jM94v1czt7f0"
}

Perform a login to receive the JWT. For the login an API-Key must be generated within the online banking gui application. The API-Key replaces the user contact number for requesting a JWT form the authorization server. The returned JWT token must be used to authenticate against other webapi resources which need a privileged user.

Request Parameters

name type description
Signature header <signature>
algorithm header The used signing algorithm, e.g. rsa-sha512

Request Body

media type data type description
application/json Authorize (JSON) The authorization request body

Response Codes

code condition type
200 Request successful AuthorizeResponse (JSON)

Response Body

media type data type description
application/json AuthorizeResponse (JSON) The authorize response message which contains the JWT as json object.

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

Accounts

Listing of accounts, similar to the financial overview within the online banking. Will only show accounts visible to the user as defined by the customer to contact relation and permission.

GET

GET /v2/accounts

Request

GET https://olbtest.bankfrick.li/webapi/v2/accounts
Content-Type: */*
Accept: application/json
Authorization: ...

...    
GET https://olb.bankfrick.li/webapi/v2/accounts
Content-Type: */*
Accept: application/json
Authorization: ...

...    

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "date" : "2018-12-31",
  "moreResults" : false,
  "resultSetSize" : 2,
  "accounts" : [ {
    "account" : "0012345/001.000.001",
    "type" : "CURRENT ACCOUNT",
    "iban" : "LI6808811000000012345",
    "customer" : "0012345 Max Muster",
    "currency" : "CHF",
    "balance" : -1321.25,
    "available" : 0
  }, {
    "account" : "0012345/400.000.840",
    "type" : "TIME DEPOSITS/FIXED DEP. CUSTOMER",
    "customer" : "0012345 Max Muster",
    "currency" : "USD",
    "balance" : 515
  } ]
}

Get the list of accounts that are visible for the user.

Request Parameters

name type description default constraints
Authorization header Bearer <token>
firstPosition query (optional) Set the position of the first result to retrieve (offset), defaults to 0 0 int
maxResults query (optional) Set the maximum number of results to retrieve (row_count), defaults to 100, max. 500 100 int
order query (optional) Defines the ordering (by customer_number and account_number) of the result where order is one of (desc, asc), defaults to asc asc

Response Codes

code condition type
200 Request successful Accounts (JSON)

Response Body

media type data type description
application/json Accounts (JSON) The list accounts according to the filter parameters as json object.

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

GET Accounts Customer (filtered)

GET /v2/accounts/{customer}/{account}

Request

GET https://olbtest.bankfrick.li/webapi/v2/accounts/0012345/001.000.001
Content-Type: */*
Accept: application/json
Authorization: ...


...
GET https://olb.bankfrick.li/webapi/v2/accounts/0012345/001.000.001
Content-Type: */*
Accept: application/json
Authorization: ...


...

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "date" : "2018-12-31",
  "moreResults" : false,
  "resultSetSize" : 2,
  "accounts" : [ {
    "account" : "0012345/001.000.001",
    "type" : "CURRENT ACCOUNT",
    "iban" : "LI6808811000000012345",
    "customer" : "0012345 Max Muster",
    "currency" : "CHF",
    "balance" : -1321.25,
    "available" : 0
  }, {
    "account" : "0012345/400.000.840",
    "type" : "TIME DEPOSITS/FIXED DEP. CUSTOMER",
    "customer" : "0012345 Max Muster",
    "currency" : "USD",
    "balance" : 515
  } ]
}

Get the list of accounts for the user and the given filter for customer number and account number. It is possible to search only for a customer or an account by leaving the filter parameter empty. E.g. /accounts/001.000.001 would search for accounts with the account number 001.000.001 on all visible customers for the user.

If a combination of filter parameters are applied, only accounts that match both conditions are returned.

Request Parameters

name type description default constraints
Authorization header Bearer <token>
account path (optional) The account to receive information for regex: ([0-9]{3}.[0-9]{3}.[0-9]{3})?
customer path (optional) The customer number to receive account information for regex: ([0-9]{0,7})?
firstPosition query (optional) Set the position of the first result to retrieve (offset), defaults to 0 0 int
maxResults query (optional) Set the maximum number of results to retrieve (row_count), defaults to 100, max. 2500 100 int
order query (optional) Defines the ordering of the result where order is one of (desc, asc), defaults to asc asc

Response Codes

code condition type
200 Request successful Accounts (JSON)

Response Body

media type data type description
application/json Accounts (JSON) The list accounts according to the filter parameters as json object.

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

GET Accounts Customer Transactions

GET /v2/accounts/{customer}/{account}/transactions

GET /v2/accounts/{customer}/{account}/transactions/{orderId}

Request

GET https://olbtest.bankfrick.li/webapi/v2/accounts/0012345/001.000.001/transactions
Content-Type: */*
Accept: application/json
Authorization: ...

...
GET https://olb.bankfrick.li/webapi/v2/accounts/0012345/001.000.001/transactions
Content-Type: */*
Accept: application/json
Authorization: ...

...

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "moreResults" : false,
  "resultSetSize" : 1,
  "transactions" : [ {
    "orderId" : 20771,
    "customId" : "4711",
    "type" : "SEPA",
    "state" : "PREPARED",
    "amount" : "1000.00",
    "currency" : "EUR",
    "valuta" : "2018-08-02",
    "valutaIsExecutionDate" : true,
    "express" : false,
    "reference" : "Invoice number 123",
    "debitor" : {
      "accountNumber" : "0012345/001.000.001",
      "iban" : "LI6808811000000012345"
    },
    "creditor" : {
      "name" : "Max Muster",
      "iban" : "DE12500105170648489890",
      "bic" : "INGDDEFFXXX",
      "creditInsitution" : "ING-DiBa GERMANY"
    },
    "creator" : "6789 Max Muster",
    "right" : "Bevollmächtigter kollektiv zu 2",
    "groupPolicy" : "Group intern",
    "group" : 1,
    "quorum" : 2,
    "approvals" : [ {
      "contact" : "6789 Max Muster",
      "group" : 1,
      "dateOfApproval" : "2018-08-22T10:07:02"
    } ]
  } ]
}

Get the list of payment orders for a given account. This will forward to the transactions resource. Returns orders that were created within the context of the online banking or external transactions. Booked and external transactions can also be retrieved using the camt052/camt053 services.

If a combination of filter parameters are applied, only orders that match all of the conditions are returned.

Request Parameters

name type description default constraints
Authorization header Bearer <token>
account path (optional) The account to receive information for regex: ([0-9]{3}.[0-9]{3}.[0-9]{3})?
customer path (optional) The customer number to filter the list of transactions for regex: ([0-9]{0,7})?
customId query (optional) Filter for custom id as it was assigned by the client on transaction creation. When searching for BOOKED transactions, the fromDate filter must be set accordingly, otherwise the query might not return the expected result.
firstPosition query (optional) Set the position of the first result to retrieve (offset), defaults to 0 0 int
fromDate query (optional) Starting date of the timespan for which to retrieve the data. The date should be provided in ISO 8601 format: YYYY-MM-DD, defaults to current day minus 30 days.
maxAmount query (optional) Maximum amount for a transaction to appear in the report, this parameter should be URL-Encoded.
maxResults query (optional) Set the maximum number of results to retrieve (row_count), defaults to 100, max. 2500 100 int
minAmount query (optional) Minimum amount for a transaction to appear in the report, this parameter should be URL-Encoded.
order query (optional) Defines the ordering (by orderId) of the result where order is one of (desc, asc), defaults to asc asc
reference query (optional) Filter for the reference (transaction information), this parameter should be URL-Encoded.
searchIban query (optional) Filter for the beneficiary account iban.
searchName query (optional) Filter for the beneficiary name, this parameter should be URL-Encoded.
status query (optional) Filter for for transaction status. The status of transactions that where created in the context of online banking can be one of (PREPARED, IN_PROGRESS, DELETED, EXPIRED, EXECUTED, REJECTED, DELETION_REQUESTED). The status of booked transactions on the account is BOOKED. Note: BOOKED transactions (as known from the camt053 export) can only be queried by setting this filter to BOOKED otherwise only transactions that were created in the context of online banking are returned.
toDate query (optional) Ending date of the timespan for which to retrieve the data. The date should be provided in ISO 8601 format: YYYY-MM-DD.
type query (optional) Filter for transaction type, expected one of (INTERNAL, BANK_INTERNAL, SEPA, FOREIGN, RED, ORANGE). Only relevant for transactions that were created in the context of online banking.
name type description default constraints
orderId path (optional) The payment order id as it was assigned by the server to look for regex: ((?<=/)[0-9]{0,20})?

Response Codes

code condition type
200 Request successful Accounts (JSON)

Response Body

media type data type description
application/json Accounts (JSON) The list accounts according to the filter parameters as json object.

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

CustodyAccounts

Access to custody accounts. Listing of custody accounts and depot transactions.

GET

GET /v2/custodyaccounts

Request

GET https://olbtest.bankfrick.li/webapi/v2/custodyaccounts
Content-Type: */*
Accept: application/json
Authorization: ...

...    
GET https://olb.bankfrick.li/webapi/v2/custodyaccounts
Content-Type: */*
Accept: application/json
Authorization: ...

...    

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "date" : "2019-12-31",
  "moreResults" : false,
  "resultSetSize" : 2,
  "accounts" : [ {
    "custodyAccount" : "0012345-000",
    "type" : "DEPOT MAX MUSTER",
    "customer" : "0012345 Max Muster"
  }, {
    "custodyAccount" : "0012345-001",
    "type" : "SECOND DEPOT MAX MUSTER",
    "customer" : "0012345 Max Muster"
  } ]
}

Listing of depots for the contact with basic information like: Deposit number, name, customer.

Request Parameters

name type description default constraints
Authorization header Bearer <token>
firstPosition query (optional) Set the position of the first result to retrieve (offset), defaults to 0 0 int
maxResults query (optional) Set the maximum number of results to retrieve (row_count), defaults to 100, max. 2500 100 int
order query (optional) Defines the ordering of the result where order is one of (desc, asc), defaults to asc asc

Response Codes

code condition type
200 Request successful CustodyAccounts (JSON)

Response Body

media type data type description
application/json CustodyAccounts (JSON) The list accounts according to the filter parameters as json object.

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

GET CustodyAccounts (filtered)

GET /v2/custodyaccounts/{customer}

Request

GET https://olbtest.bankfrick.li/webapi/v2/custodyaccounts/0012345
Content-Type: */*
Accept: application/json
Authorization: ...


...
GET https://olb.bankfrick.li/webapi/v2/custodyaccounts/0012345
Content-Type: */*
Accept: application/json
Authorization: ...


...

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "date" : "2019-07-23",
  "moreResults" : true,
  "resultSetSize" : 2,
  "accounts" : [ {
    "custodyAccount" : "0012345-000",
    "type" : "DEPOT MAX MUSTER",
    "customer" : "0012345 Max Muster",
    "positions" : [ {
      "valorNumber" : "000001189343-000",
      "valorName" : "LYXOR ETF EURO STOXX 50 FCP DIST",
      "isin" : "FR0007054358",
      "valorCurrency" : "CHF",
      "currency" : "EUR",
      "currentPrice" : 29.84,
      "quantity" : 3505,
      "marketValutation" : 104589.2,
      "valorCategory" : "250 - FUNDS SECURITIES",
      "lastMovement" : "2018-12-07",
      "acqPrice" : 123236.26,
      "avePrice" : 35.16,
      "profLoss" : -18647.06
    }, {
      "valorNumber" : "000001963428-978",
      "valorName" : "ISHARES PLC CHINA LARGE CAP EUR",
      "isin" : "IE00B02KXK85",
      "valorCurrency" : "CHF",
      "currency" : "EUR",
      "currentPrice" : 101.77,
      "quantity" : 400,
      "marketValutation" : 40708,
      "valorCategory" : "250 - FUNDS SECURITIES",
      "lastMovement" : "2018-12-07",
      "acqPrice" : 40357.55,
      "avePrice" : 100.89,
      "profLoss" : 350.45
    } ]
  } ]
}

Access depot details including list of depot positions for a customer.

Request Parameters

name type description default constraints
Authorization header Bearer <token>
customer path The customer number to filter the list of depots regex: ((?<=/)[0-9]{0,7})?
firstPosition query (optional) Set the position of the first result to retrieve (offset), defaults to 0 0 int
maxResults query (optional) Set the maximum number of results to retrieve (row_count), defaults to 100, max. 2500 100 int
order query (optional) Defines the ordering of the result where order is one of (desc, asc), defaults to asc asc

Response Codes

code condition type
200 Request successful CustodyAccounts (JSON)

Response Body

media type data type description
application/json CustodyAccounts (JSON) The custody account details including list of depot positions for the selected customer.

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512


















GET CustodyAccounts Depot (filtered)

GET /v2/custodyaccounts/{customer}-{depot}

Request

GET https://olbtest.bankfrick.li/webapi/v2/custodyaccounts/0012345-000
Content-Type: */*
Accept: application/json
Authorization: ...

...
GET https://olb.bankfrick.li/webapi/v2/custodyaccounts/0012345-000
Content-Type: */*
Accept: application/json
Authorization: ...

...

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "date" : "2019-07-23",
  "moreResults" : true,
  "resultSetSize" : 1,
  "accounts" : [ {
    "custodyAccount" : "0012345-000",
    "type" : "DEPOT MAX MUSTER",
    "customer" : "0012345 Max Muster",
    "positions" : [ {
      "valorNumber" : "000001189343-000",
      "valorName" : "LYXOR ETF EURO STOXX 50 FCP DIST",
      "isin" : "FR0007054358",
      "valorCurrency" : "CHF",
      "currency" : "EUR",
      "currentPrice" : 29.84,
      "quantity" : 3505,
      "marketValutation" : 104589.2,
      "valorCategory" : "250 - FUNDS SECURITIES",
      "lastMovement" : "2018-12-07",
      "acqPrice" : 123236.26,
      "avePrice" : 35.16,
      "profLoss" : -18647.06
    }]
  } ]
}

Access depot details including list of depot positions for a defined depot.

Request Parameters

name type description default constraints
Authorization header Bearer <token>
customer path The customer number to filter the list of depots regex: ((?<=/)[0-9]{0,7})?
depot path The depot number for which to retrieve the depot details information
firstPosition query (optional) Set the position of the first result to retrieve (offset), defaults to 0 0 int
maxResults query (optional) Set the maximum number of results to retrieve (row_count), defaults to 100, max. 2500 100 int
order query (optional) Defines the ordering of the result where order is one of (desc, asc), defaults to asc asc

Response Codes

code condition type
200 Request successful CustodyAccounts (JSON)

Response Body

media type data type description
application/json CustodyAccounts (JSON) The custody account details including list of depot positions for the selected customer.

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512





GET CustodyAccounts Depot Transactions (filtered)

GET /v2/custodyaccounts/{customer}-{depot}/transactions

Request

GET https://olbtest.bankfrick.li/webapi/v2/custodyaccounts/0012345-000/transactions
Content-Type: */*
Accept: application/json
Authorization: ...

...
GET https://olb.bankfrick.li/webapi/v2/custodyaccounts/0012345-000/transactions
Content-Type: */*
Accept: application/json
Authorization: ...

...

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "date" : "2019-07-23",
  "moreResults" : true,
  "resultSetSize" : 1,
  "transactions" : [ {
    "refid" : "123456",
    "status" : "BOOKED",
    "orderType" : "VCN - REDEMPTION",
    "valorNumber" : "000000008882",
    "valorName" : "ACTIVE BOND FUND PLUS - CHF",
    "isin" : "LI0326842163",
    "rate" : 100.34,
    "transactionDate" : "2019-04-21",
    "quantity" : 200,
    "courtage" : 0,
    "fees" : 0,
    "exchange" : "011 - BALZERS",
    "currency" : "CHF",
    "totalAmount" : 20068
  } ]
}

Access order book with list of depot transactions within the defined period.

Request Parameters

name type description default constraints
Authorization header Bearer <token>
customer path The customer number to filter the list of depots
depot path The depot number for which to retrieve the depot details information
firstPosition query (optional) Set the position of the first result to retrieve (offset), defaults to 0 0 int
fromDate query (optional) Starting date of the timespan for which to retrieve the data. The date should be provided in ISO 8601 format: YYYY-MM-DD, defaults to current day minus 30 days
maxAmount query (optional) Maximum amount for a transaction to appear in the report, this parameter should be URL-Encoded
maxResults query (optional) Set the maximum number of results to retrieve (row_count), defaults to 100, max. 2500 100 int
minAmount query (optional) Minimum amount for a transaction to appear in the report, this parameter should be URL-Encoded
order query (optional) Defines the ordering of the result where order is one of (desc, asc), defaults to asc asc
toDate query (optional) Ending date of the timespan for which to retrieve the data. The date should be provided in ISO 8601 format: YYYY-MM-DD

Response Codes

code condition type
200 Request successful CustodyAccountsTransactions (JSON)

Response Body

media type data type description
application/json CustodyAccountsTransactions (JSON) The custody account details including list of depot positions for the selected customer.

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

Info

Utility resource to receive status information from the backend. This is the only resource which can be used by anyone without any authorization. It can be used to test connectivity and the general availability of the service. In later releases, this method also returns important system messages which would normally be shows on the login screen.

GET

GET /v2/info

Request

GET https://olbtest.bankfrick.li/webapi/v2/info
Content-Type: */*
Accept: application/json

...
GET https://olb.bankfrick.li/webapi/v2/info
Content-Type: */*
Accept: application/json

...

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "version" : "2.2.5-20180831-1144",
  "environment" : "production",
  "messages" : [ {
    "title" : "Maintenance",
    "message" : "Due to maintenance work, online banking will not be available on 26.07.2021 from 05:00 to 06:00. We apologize for any inconvenience."
  } ]
}

Get the server status information. This includes the current version number of the application on the server as well as the current environment. If available, global status messages are returned as well.

Response Codes

code condition type
200 Request successful Info (JSON)

Response Body

media type data type description
application/json Info (JSON) The status information as json object

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

RequestTan

Request a TAN challenge in order to sign one or multiple transactions with the SignTransactionWithTan message.

POST

POST /v2/requestTan

Request a tan for previously created transactions used to sign the transactions. This will send a tan via the selected method to the contact. Only one tan challenge can be active per contact at a time and must be resolved within the returned expire time.

Request

POST https://olbtest.bankfrick.li/webapi/v2/requestTan
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "orderIds" : [ 20771, 20772 ],
  "method" : "SMS_TAN"
}
POST https://olb.bankfrick.li/webapi/v2/requestTan
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "orderIds" : [ 20771, 20772 ],
  "method" : "SMS_TAN"
}

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "challengeId" : "c6f8dd20-aad0-11e8-98d0-529269fb1459",
  "expires" : "2020-08-22T10:07:02.895"
}

Request Parameters

name type description
Authorization header Bearer <token>
Signature header <signature>
algorithm header The used signing algorithm, e.g. rsa-sha512

Request Body

media type data type description
application/json RequestTan (JSON) The request TAN body

Response Codes

code condition type
200 Request successful RequestTanResponse (JSON)

Response Body

media type data type description
application/json RequestTanResponse (JSON) The request TAN response message as json object

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

DELETE

DELETE /v2/requestTan

Request

DELETE https://olbtest.bankfrick.li/webapi/v2/requestTan
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "challengeId" : "c6f8dd20-aad0-11e8-98d0-529269fb1459"
}
DELETE https://olb.bankfrick.li/webapi/v2/requestTan
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "challengeId" : "c6f8dd20-aad0-11e8-98d0-529269fb1459"
}

Response

HTTP/1.1 204 No Content
Content-Type: application/json
Signature: ...
algorithm: ...

...

Delete a ongoing TAN request challenge.

Request Parameters

name type description
Authorization header Bearer <token>
Signature header <signature>
algorithm header The used signing algorithm, e.g. rsa-sha512

Request Body

media type data type description
application/json DeleteRequestTan (JSON) The request TAN delete body
orderIds array of number The order ids (as assigned from the server) to request a tan for. Either orderIds, customIds or combination of both must be given.
customIds array of string The custom ids (as assigned from the client) to request a tan for. Either orderIds, customIds or combination of both must be given.

Response Codes

code condition type
204 Request successful

Response Body

media type data type description
application/json object (JSON) No content

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

POST marketorder

POST /v2/requestTan/marketorder

Request a tan for previously created orders used to sign the market orders. This will send a tan via the selected method to the contact. Only one tan challenge can be active per contact at a time and must be resolved within the returned expire time.

Request

POST https://olbtest.bankfrick.li/webapi/v2/requestTan/marketorder
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "marketorderIds" : [ 20771, 20772 ],
  "method" : "SMS_TAN"
}
POST https://olb.bankfrick.li/webapi/v2/requestTan/marketorder
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "marketorderIds" : [ 20771, 20772 ],
  "method" : "SMS_TAN"
}

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "challengeId" : "c6f8dd20-aad0-11e8-98d0-529269fb1459",
  "expires" : "2020-08-22T10:07:02.895"
}

Request Parameters

name type description
Authorization header Bearer <token>
Signature header <signature>
algorithm header The used signing algorithm, e.g. rsa-sha512

Request Body

media type data type description
application/json RequestTanOrder (JSON) The request TAN body

Response Codes

code condition type
200 Request successful RequestTanResponse (JSON)

Response Body

media type data type description
application/json RequestTanResponse (JSON) The request TAN response message as json object

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

Sign Transaction with TAN

With this message, one or multiple payment orders can be approved by the contact with a TAN that was previously requested by the RequestTan message. Only payment orders can be approved that were previously referred in the TAN challenge request. Only one TAN challenge can be active at the time per API-Key.

POST

POST /v2/signTransactionWithTan

Request

POST https://olbtest.bankfrick.li/webapi/v2/signTransactionWithTan
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "challengeId" : "c6f8dd20-aad0-11e8-98d0-529269fb1459",
  "tan" : "123456"
}
POST https://olb.bankfrick.li/webapi/v2/signTransactionWithTan
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "challengeId" : "c6f8dd20-aad0-11e8-98d0-529269fb1459",
  "tan" : "123456"
}

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "moreResults" : false,
  "resultSetSize" : 1,
  "transactions" : [ {
    "orderId" : 20771,
    "customId" : "4711",
    "type" : "SEPA",
    "state" : "PREPARED",
    "amount" : "1000.00",
    "currency" : "EUR",
    "valuta" : "2018-08-02",
    "express" : false,
    "reference" : "Invoice number 123",
    "debitor" : {
      "accountNumber" : "00012345/001.000.001",
      "iban" : "LI6808811000000001234"
    },
    "creditor" : {
      "name" : "Satoshi Nakamoto",
      "iban" : "DE12500105170648489890",
      "bic" : "INGDDEFFXXX",
      "creditInsitution" : "ING-DiBa GERMANY"
    },
    "creator" : "6789 Satoshi Nakamoto",
    "right" : "Bevollmächtigter kollektiv zu 2",
    "groupPolicy" : "Group intern",
    "group" : 1,
    "quorum" : 2,
    "approvals" : [ {
      "contact" : "6789 Satoshi Nakamoto",
      "group" : 1,
      "dateOfApproval" : "2018-08-22T10:07:02"
    } ]
  } ]
}

Sign a transaction with a previously requested tan.

Request Parameters

name type description
Authorization header Bearer <token>
Signature header <signature>
algorithm header The used signing algorithm, e.g. rsa-sha512

Request Body

media type data type description
application/json SignTransactionsWithTan (JSON) The list of signed transactions as json object.

Response Codes

code condition type
200 Request successful Transactions (JSON)

Response Body

media type data type description
application/json Transactions (JSON) The list of signed transactions as json object.

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

POST /v2/signTransactionWithTan/marketorder

Request

POST https://olbtest.bankfrick.li/webapi/v2/signTransactionWithTan/marketorder
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "challengeId" : "c6f8dd20-aad0-11e8-98d0-529269fb1459",
  "tan" : "123456"
}
POST https://olb.bankfrick.li/webapi/v2/signTransactionWithTan/marketorder
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "challengeId" : "c6f8dd20-aad0-11e8-98d0-529269fb1459",
  "tan" : "123456"
}

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "moreResults" : false,
  "resultSetSize" : 1,
  "marketorders" : [ {
    "marketorderId" : 123,
    "customId" : "M123",
    "date" : "2020-10-11",
    "state" : "PREPARED",
    "tradingType" : "BUY",
    "totalQuantity" : 2,
    "instrument" : {
      "valoren" : "00000130666",
      "suffix" : "000",
      "symbol" : "BTC",
      "name" : "BITCOINS",
      "additionalName" : "BITCOINS USD",
      "currency" : "USD",
      "domicile" : "LI",
      "denomination" : 1.0E-6,
      "type" : "CRYPTO_CURRENCIES",
      "canTrade" : true,
      "recentPrice" : {
        "dateTime" : "2020-10-10T17:49:04",
        "price" : 11317.796311,
        "currency" : "USD",
        "percentPrice" : false
      }
    },
    "depot" : [ {
      "accountNumber" : "1234567/001.000.001",
      "name" : "Satoshi Nakamoto",
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-000",
      "quantity" : 1,
      "riskClassification" : "CONFIRMATION_REQUIRED",
      "knowledge" : "CONFIRMED"
    }, {
      "accountNumber" : "1234567/001.000.001",
      "name" : "Satoshi Nakamoto",
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-001",
      "quantity" : 1,
      "riskClassification" : "CONFIRMATION_REQUIRED",
      "knowledge" : "CONFIRMED"
    } ]
  } ]
}

Sign a transaction with a previously requested tan.

Request Parameters

name type description
Authorization header Bearer <token>
Signature header <signature>
algorithm header The used signing algorithm, e.g. rsa-sha512

Request Body

media type data type description
application/json SignTransactionsWithTan (JSON) The sign transactions with tan message body

Response Codes

code condition type
200 Request successful Marketorders (JSON)

Response Body

media type data type description
application/json Marketorders (JSON) The list of signed orders as json object.

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

Sign Transaction without TAN

With this resource, one or multiple transactions/orders can be approved without a TAN challenge. The contact must be eligible for this resource and it might be used to automate the creation and approval of orders without direct user interaction. You can only create an API key with the authorization to sign transactions without a TAN if it has been activated by us for your API key beforehand. If needed kindly get in contact with us at help@bankfrick.li

POST

POST /v2/signTransactionWithoutTan

Request

POST https://olbtest.bankfrick.li/webapi/v2/signTransactionWithoutTan
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "orderIds" : [ 20771, 20772 ]
}
POST https://olb.bankfrick.li/webapi/v2/signTransactionWithoutTan
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "orderIds" : [ 20771, 20772 ]
}

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "moreResults" : false,
  "resultSetSize" : 1,
  "transactions" : [ {
    "orderId" : 20771,
    "customId" : "4711",
    "type" : "SEPA",
    "state" : "PREPARED",
    "amount" : "1.000,00",
    "currency" : "EUR",
    "valuta" : "2018-08-02",
    "express" : false,
    "reference" : "Invoice number 123",
    "debitor" : {
      "accountNumber" : "00012345/001.000.001",
      "iban" : "LI6808811000000001234"
    },
    "creditor" : {
      "name" : "Satoshi Nakamoto",
      "iban" : "DE12500105170648489890",
      "bic" : "INGDDEFFXXX",
      "creditInsitution" : "ING-DiBa GERMANY"
    },
    "creator" : "6789 Satoshi Nakamoto",
    "right" : "Bevollmächtigter kollektiv zu 2",
    "groupPolicy" : "Group intern",
    "group" : 1,
    "quorum" : 2,
    "approvals" : [ {
      "contact" : "6789 Satoshi Nakamoto",
      "group" : 1,
      "dateOfApproval" : "2018-08-22T10:07:02"
    } ]
  } ]
}

Sign a transaction without previously requesting a tan. This resource must be activated for the contact in the backend.

Request Parameters

name type description
Authorization header Bearer <token>
Signature header <signature>
algorithm header The used signing algorithm, e.g. rsa-sha512

Request Body

media type data type description
application/json SignTransactionsWithoutTan (JSON) The sign transactions without tan message body

Response Codes

code condition type
200 Request successful Transactions (JSON)

Response Body

media type data type description
application/json Transactions (JSON) The list of signed transactions as json object.

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

POST /v2/signTransactionWithoutTan/marketorder

Request

POST https://olbtest.bankfrick.li/webapi/v2/signTransactionWithoutTan/marketorder
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "marketorderIds" : [ 20771 ]
}
POST https://olb.bankfrick.li/webapi/v2/signTransactionWithoutTan/marketorder
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "marketorderIds" : [ 20771 ]
}

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "moreResults" : false,
  "resultSetSize" : 1,
  "marketorders" : [ {
    "marketorderId" : 123,
    "customId" : "M123",
    "date" : "2020-10-11",
    "state" : "PREPARED",
    "tradingType" : "BUY",
    "totalQuantity" : 2,
    "instrument" : {
      "valoren" : "00000130666",
      "suffix" : "000",
      "symbol" : "BTC",
      "name" : "BITCOINS",
      "additionalName" : "BITCOINS USD",
      "currency" : "USD",
      "domicile" : "LI",
      "denomination" : 1.0E-6,
      "type" : "CRYPTO_CURRENCIES",
      "canTrade" : true,
      "recentPrice" : {
        "dateTime" : "2020-10-10T17:49:04",
        "price" : 11317.796311,
        "currency" : "USD",
        "percentPrice" : false
      }
    },
    "depot" : [ {
      "accountNumber" : "1234567/001.000.001",
      "name" : "Satoshi Nakamoto",
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-000",
      "quantity" : 1,
      "riskClassification" : "CONFIRMATION_REQUIRED",
      "knowledge" : "CONFIRMED"
    }, {
      "accountNumber" : "1234567/001.000.001",
      "name" : "Satoshi Nakamoto",
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-001",
      "quantity" : 1,
      "riskClassification" : "CONFIRMATION_REQUIRED",
      "knowledge" : "CONFIRMED"
    } ]
  } ]
}

Sign an order without previously requesting a tan. The contact must be eligible for this resource. If the order requires MiFID confirmation, the order must first be confirmed before it can be signed.

Request Parameters

name type description
Authorization header Bearer <token>
Signature header <signature>
algorithm header The used signing algorithm, e.g. rsa-sha512

Request Body

media type data type description
application/json SignOrdersWithoutTan (JSON) The sign transactions without tan message body

Response Codes

code condition type
200 Request successful Marketorders (JSON)

Response Body

media type data type description
application/json Marketorders (JSON) The list of signed orders as json object.

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

Trading

Resource for searching of securities, query of valuation rates, entry of a market order and MIFID confirmation.

DELETE

DELETE /v2/trading

Request

DELETE https://olbtest.bankfrick.li/webapi/v2/trading
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "marketorderIds" : [ 20771 ]
}
DELETE https://olb.bankfrick.li/webapi/v2/trading
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "marketorderIds" : [ 20771 ]
}

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "moreResults" : false,
  "resultSetSize" : 1,
  "marketorders" : [ {
    "marketorderId" : 123,
    "customId" : "M123",
    "date" : "2020-10-11",
    "state" : "PREPARED",
    "tradingType" : "BUY",
    "totalQuantity" : 2,
    "instrument" : {
      "valoren" : "00000130666",
      "suffix" : "000",
      "symbol" : "BTC",
      "name" : "BITCOINS",
      "additionalName" : "BITCOINS USD",
      "currency" : "USD",
      "domicile" : "LI",
      "denomination" : 1.0E-6,
      "type" : "CRYPTO_CURRENCIES",
      "canTrade" : true,
      "recentPrice" : {
        "dateTime" : "2020-10-10T17:49:04",
        "price" : 11317.796311,
        "currency" : "USD",
        "percentPrice" : false
      }
    },
    "depot" : [ {
      "accountNumber" : "1234567/001.000.001",
      "name" : "Max Muster",
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-000",
      "quantity" : 1,
      "riskClassification" : "CONFIRMATION_REQUIRED",
      "knowledge" : "CONFIRMED"
    }, {
      "accountNumber" : "1234567/001.000.001",
      "name" : "Max Muster",
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-001",
      "quantity" : 1,
      "riskClassification" : "CONFIRMATION_REQUIRED",
      "knowledge" : "CONFIRMED"
    } ]
  } ]
}

Service to reject market orders. Only market orders that are not yet fully approved and in state PREPARED can be rejected.

Request Parameters

name type description
Authorization header Bearer <token>
Signature header <signature>
algorithm header The used signing algorithm, e.g. rsa-sha512

Request Body

media type data type description
application/json DeleteMarketorders (JSON) The reject market orders json object

Response Codes

code condition type
200 Request successful MarketOrders (JSON)

Response Body

media type data type description
application/json MarketOrders (JSON) The list of rejected market orders

Response Headers

name description
signature <signature>
Trading-Hours contains a note about the current stock exchange trading hours
algorithm The used signing algorithm, e.g. rsa-sha512

GET

GET /v2/trading

Request

GET https://olbtest.bankfrick.li/webapi/v2/trading
Content-Type: application/json
Accept: application/json
Authorization: ...

...
GET https://olb.bankfrick.li/webapi/v2/trading
Content-Type: application/json
Accept: application/json
Authorization: ...

...

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "moreResults" : false,
  "resultSetSize" : 1,
  "marketorders" : [ {
    "marketorderId" : 123,
    "customId" : "M123",
    "date" : "2020-10-11",
    "state" : "PREPARED",
    "tradingType" : "BUY",
    "totalQuantity" : 2,
    "instrument" : {
      "valoren" : "00000130666",
      "suffix" : "000",
      "symbol" : "BTC",
      "name" : "BITCOINS",
      "additionalName" : "BITCOINS USD",
      "currency" : "USD",
      "domicile" : "LI",
      "denomination" : 1.0E-6,
      "type" : "CRYPTO_CURRENCIES",
      "canTrade" : true,
      "recentPrice" : {
        "dateTime" : "2020-10-10T17:49:04",
        "price" : 11317.796311,
        "currency" : "USD",
        "percentPrice" : false
      }
    },
    "depot" : [ {
      "accountNumber" : "1234567/001.000.001",
      "name" : "Max Muster",
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-000",
      "quantity" : 1,
      "riskClassification" : "CONFIRMATION_REQUIRED",
      "knowledge" : "CONFIRMED"
    }, {
      "accountNumber" : "1234567/001.000.001",
      "name" : "Max Muster",
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-001",
      "quantity" : 1,
      "riskClassification" : "CONFIRMATION_REQUIRED",
      "knowledge" : "CONFIRMED"
    } ]
  } ]
}

Get the list of market orders based on the search parameters.

If a combination of filter parameters are applied, only orders that match all of the conditions are returned.

Request Parameters

name type description default constraints
Authorization header Bearer <token>
customId query (optional) Filter for custom marketorder id as it was assigned by the client on order creation.
depot query (optional) Filter for depot number.
firstPosition query (optional) Set the position of the first result to retrieve (offset), defaults to 0 0 int
fromDate query (optional) Starting date of the timespan for which to retrieve the data. The date should be provided in ISO 8601 format: YYYY-MM-DD, defaults to current day minus 30 days.
isin query (optional) Filter for isin.
maxResults query (optional) Set the maximum number of results to retrieve (row_count), defaults to 100, max. 2500 100 int
order query (optional) Defines the ordering of the result where order is one of (desc, asc), defaults to asc asc
status query (optional) Filter for for market order status. The status of market orders that where created in the context of online banking can be one of (PREPARED, IN_PROGRESS, DELETED, EXPIRED, EXECUTED, REJECTED).
toDate query (optional) Ending date of the timespan for which to retrieve the data. The date should be provided in ISO 8601 format: YYYY-MM-DD.
valoren query (optional) Filter for valoren number.

Response Codes

code condition type
200 Request successful MarketOrders (JSON)

Response Body

media type data type description
application/json MarketOrders (JSON) The list of market orders according to the filter parameters as json object.

Response Headers

name description
signature <signature>
Trading-Hours contains a note about the current stock exchange trading hours
algorithm The used signing algorithm, e.g. rsa-sha512

PUT

PUT /v2/trading

Request

PUT https://olbtest.bankfrick.li/webapi/v2/trading
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "marketorders" : [ {
    "customId" : "1234",
    "valoren" : "130666",
    "suffix" : "000",
    "tradingType" : "BUY",
    "totalQuantity" : 2,
    "depot" : [ {
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-000",
      "quantity" : 1
    }, {
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-001",
      "quantity" : 1
    } ]
  } ]
}
PUT https://olb.bankfrick.li/webapi/v2/trading
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "marketorders" : [ {
    "customId" : "1234",
    "valoren" : "130666",
    "suffix" : "000",
    "tradingType" : "BUY",
    "totalQuantity" : 2,
    "depot" : [ {
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-000",
      "quantity" : 1
    }, {
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-001",
      "quantity" : 1
    } ]
  } ]
}

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "moreResults" : false,
  "resultSetSize" : 1,
  "marketorders" : [ {
    "marketorderId" : 123,
    "customId" : "M123",
    "date" : "2020-10-11",
    "state" : "PREPARED",
    "tradingType" : "BUY",
    "totalQuantity" : 2,
    "instrument" : {
      "valoren" : "00000130666",
      "suffix" : "000",
      "symbol" : "BTC",
      "name" : "BITCOINS",
      "additionalName" : "BITCOINS USD",
      "currency" : "USD",
      "domicile" : "LI",
      "denomination" : 1.0E-6,
      "type" : "CRYPTO_CURRENCIES",
      "canTrade" : true,
      "recentPrice" : {
        "dateTime" : "2020-10-10T17:49:04",
        "price" : 11317.796311,
        "currency" : "USD",
        "percentPrice" : false
      }
    },
    "depot" : [ {
      "accountNumber" : "1234567/001.000.001",
      "name" : "Max Muster",
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-000",
      "quantity" : 1,
      "riskClassification" : "CONFIRMATION_REQUIRED",
      "knowledge" : "CONFIRMED"
    }, {
      "accountNumber" : "1234567/001.000.001",
      "name" : "Max Muster",
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-001",
      "quantity" : 1,
      "riskClassification" : "CONFIRMATION_REQUIRED",
      "knowledge" : "CONFIRMED"
    } ]
  } ]
}

Creates a new market order. A block order is implicitly created if the order contains more than one target depot.

Request Parameters

name type description default constraints
Authorization header Bearer <token>
Signature header <signature>
algorithm header The used signing algorithm, e.g. rsa-sha512
test query (optional) When given as true, the system validates the input and tries to process it but does not perform the final creation of the orders. false boolean

Request Body

media type data type
application/json CreateMarketorders (JSON)

Response Codes

code condition type
200 Request successful MarketOrders (JSON)

Response Body

media type data type description
application/json MarketOrders (JSON) The list of market orders that where or would be created in the system.

Response Headers

name description
signature <signature>
Trading-Hours contains a note about the current stock exchange trading hours
algorithm The used signing algorithm, e.g. rsa-sha512

POST Trading confirmMifid

POST /v2/trading/confirmMifid

Request

POST https://olbtest.bankfrick.li/webapi/v2/trading/confirmMifid
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "marketorderIds" : [ 123, 456 ],
  "confirmRiskClassification" : false,
  "confirmKnowledge" : true
}
POST https://olb.bankfrick.li/webapi/v2/trading/confirmMifid
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "marketorderIds" : [ 123, 456 ],
  "confirmRiskClassification" : false,
  "confirmKnowledge" : true
}

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "moreResults" : false,
  "resultSetSize" : 1,
  "marketorders" : [ {
    "marketorderId" : 123,
    "customId" : "M123",
    "date" : "2020-10-11",
    "state" : "PREPARED",
    "tradingType" : "BUY",
    "totalQuantity" : 2,
    "instrument" : {
      "valoren" : "00000130666",
      "suffix" : "000",
      "symbol" : "BTC",
      "name" : "BITCOINS",
      "additionalName" : "BITCOINS USD",
      "currency" : "USD",
      "domicile" : "LI",
      "denomination" : 1.0E-6,
      "type" : "CRYPTO_CURRENCIES",
      "canTrade" : true,
      "recentPrice" : {
        "dateTime" : "2020-10-10T17:49:04",
        "price" : 11317.796311,
        "currency" : "USD",
        "percentPrice" : false
      }
    },
    "depot" : [ {
      "accountNumber" : "1234567/001.000.001",
      "name" : "Max Muster",
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-000",
      "quantity" : 1,
      "riskClassification" : "CONFIRMATION_REQUIRED",
      "knowledge" : "CONFIRMED"
    }, {
      "accountNumber" : "1234567/001.000.001",
      "name" : "Max Muster",
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-001",
      "quantity" : 1,
      "riskClassification" : "CONFIRMATION_REQUIRED",
      "knowledge" : "CONFIRMED"
    } ]
  } ]
}

MiFID confirmation must explicitly be given if required before requesting a tan for approval of the order.

Request Parameters

name type description
Authorization header Bearer <token>
Signature header <signature>
algorithm header The used signing algorithm, e.g. rsa-sha512

Request Body

media type data type description
application/json ConfirmMifid (JSON) The confirm mifid message body

Response Codes

code condition type
200 Request successful MarketOrders (JSON)

Response Body

media type data type description
application/json MarketOrders (JSON) The list of confirmed marketorders as json object.

Response Headers

name description
signature <signature>
Trading-Hours contains a note about the current stock exchange trading hours
algorithm The used signing algorithm, e.g. rsa-sha512

GET Trading Instrument

GET /v2/trading/instrument

Request

GET https://olbtest.bankfrick.li/webapi/v2/trading/instrument
Content-Type: application/json
Accept: application/json
Authorization: ...

...
GET https://olb.bankfrick.li/webapi/v2/trading/instrument
Content-Type: application/json
Accept: application/json
Authorization: ...

...

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "valoren" : "000000130666",
  "suffix" : "000",
  "symbol" : "BTC",
  "name" : "BITCOINS",
  "companyName" : "BITCOINS USD",
  "currency" : "USD",
  "domicile" : "LI",
  "denomination" : 1.0E-6,
  "type" : "CRYPTO_CURRENCIES",
  "canTrade" : true,
  "recentPrice" : {
    "dateTime" : "2020-10-02T09:48:04",
    "price" : 10504.56688,
    "currency" : "USD",
    "percentPrice" : false
  }
}

Reads a specific instrument including the recent valuation price. The requested securities must be identified either by isin or valoren number and suffix.

Request Parameters

name type description
Authorization header Bearer <token>
isin query the isin of the financial instrument
suffix query the suffix in case if the valoren number is not unique
valoren query the valoren number

Response Codes

code condition type
200 Request successful Instrument (JSON)

Response Body

media type data type description
application/json Instrument (JSON) the found value paper information

Response Headers

name description
signature <signature>
Trading-Hours contains a note about the current stock exchange trading hours
algorithm The used signing algorithm, e.g. rsa-sha512

GET /v2/trading/search

Request

GET https://olbtest.bankfrick.li/webapi/v2/trading/search
Content-Type: application/json
Accept: application/json
Authorization: ...

...
GET https://olb.bankfrick.li/webapi/v2/trading/search
Content-Type: application/json
Accept: application/json
Authorization: ...

...

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "moreResults" : true,
  "resultSetSize" : 2,
  "securities" : [ {
    "valoren" : "000000130496",
    "suffix" : "000",
    "symbol" : "BCH",
    "name" : "BITCOIN CASH",
    "companyName" : "BITCOIN CASH CHF",
    "currency" : "CHF",
    "domicile" : "LI",
    "denomination" : 1.0E-6,
    "type" : "CRYPTO_CURRENCIES",
    "canTrade" : true,
    "recentPrice" : {
      "dateTime" : "2020-10-02T09:48:04",
      "price" : 202.73984,
      "currency" : "CHF",
      "percentPrice" : false
    }
  }, {
    "valoren" : "000000130497",
    "suffix" : "000",
    "symbol" : "BCH",
    "name" : "BITCOIN CASH",
    "companyName" : "BITCOIN CASH EUR",
    "currency" : "EUR",
    "domicile" : "LI",
    "denomination" : 1.0E-6,
    "type" : "CRYPTO_CURRENCIES",
    "canTrade" : true,
    "recentPrice" : {
      "dateTime" : "2020-10-02T09:48:04",
      "price" : 188.086896,
      "currency" : "EUR",
      "percentPrice" : false
    }
  } ]
}

Allows to search for financial instruments.

Request Parameters

name type description default constraints
Authorization header Bearer <token>
firstPosition query (optional) Set the position of the first result to retrieve (offset), defaults to 0 0 int
input query the string to search for (must be url encoded), can be ISIN, NSIN-CH or generic search string.
maxResults query (optional) Set the maximum number of results to retrieve (row_count), defaults to 100, max. 2500 100 int
order query (optional) Defines the ordering of the result where order is one of (desc, asc), defaults to asc asc
type query (optional) can be used to limit the securities types of the search result "BONDS" or "CRYPTO_CURRENCIES" or "FUNDS" or "STOCKS" or "STRUCTURED_PRODUCTS"

Response Codes

code condition type
200 Request successful InstrumentSearchResult (JSON)

Response Body

media type data type description
application/json InstrumentSearchResult (JSON) The list of found securities as search result

Response Headers

name description
signature <signature>
Trading-Hours contains a note about the current stock exchange trading hours
algorithm The used signing algorithm, e.g. rsa-sha512

GET Trading {marketorderId}

GET /v2/{marketorderId}

Request

GET https://olbtest.bankfrick.li/webapi/v2/trading/{marketorderId}
Content-Type: application/json
Accept: application/json
Authorization: ...

...
GET https://olb.bankfrick.li/webapi/v2/trading/{marketorderId}
Content-Type: application/json
Accept: application/json
Authorization: ...

...

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "moreResults" : false,
  "resultSetSize" : 1,
  "marketorders" : [ {
    "marketorderId" : 123,
    "customId" : "M123",
    "date" : "2020-10-11",
    "state" : "PREPARED",
    "tradingType" : "BUY",
    "totalQuantity" : 2,
    "instrument" : {
      "valoren" : "00000130666",
      "suffix" : "000",
      "symbol" : "BTC",
      "name" : "BITCOINS",
      "additionalName" : "BITCOINS USD",
      "currency" : "USD",
      "domicile" : "LI",
      "denomination" : 1.0E-6,
      "type" : "CRYPTO_CURRENCIES",
      "canTrade" : true,
      "recentPrice" : {
        "dateTime" : "2020-10-10T17:49:04",
        "price" : 11317.796311,
        "currency" : "USD",
        "percentPrice" : false
      }
    },
    "depot" : [ {
      "accountNumber" : "1234567/001.000.001",
      "name" : "Max Muster",
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-000",
      "quantity" : 1,
      "riskClassification" : "CONFIRMATION_REQUIRED",
      "knowledge" : "CONFIRMED"
    }, {
      "accountNumber" : "1234567/001.000.001",
      "name" : "Max Muster",
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-001",
      "quantity" : 1,
      "riskClassification" : "CONFIRMATION_REQUIRED",
      "knowledge" : "CONFIRMED"
    } ]
  } ]
}

Get the list of market orders based on the search parameters.

If a combination of filter parameters are applied, only orders that match all of the conditions are returned.

Request Parameters

name type description default constraints
Authorization header Bearer <token>
marketorderId path (optional) The market order id as it was assigned by the online banking. regex: ((?<=/)[0-9]{0,20})?
customId query (optional) Filter for custom marketorder id as it was assigned by the client on order creation.
depot query (optional) Filter for depot number.
firstPosition query (optional) Set the position of the first result to retrieve (offset), defaults to 0 0 int
fromDate query (optional) Starting date of the timespan for which to retrieve the data. The date should be provided in ISO 8601 format: YYYY-MM-DD, defaults to current day minus 30 days.
isin query (optional) Filter for isin.
maxResults query (optional) Set the maximum number of results to retrieve (row_count), defaults to 100, max. 2500 100 int
order query (optional) Defines the ordering of the result where order is one of (desc, asc), defaults to asc asc
status query (optional) Filter for for market order status. The status of market orders that where created in the context of online banking can be one of (PREPARED, IN_PROGRESS, DELETED, EXPIRED, EXECUTED, REJECTED).
toDate query (optional) Ending date of the timespan for which to retrieve the data. The date should be provided in ISO 8601 format: YYYY-MM-DD.
valoren query (optional) Filter for valoren number.

Response Codes

code condition type
200 Request successful MarketOrders (JSON)

Response Body

media type data type description
application/json MarketOrders (JSON) The list of market orders according to the filter parameters as json object.

Response Headers

name description
signature <signature>
Trading-Hours contains a note about the current stock exchange trading hours
algorithm The used signing algorithm, e.g. rsa-sha512

Transactions

Get the list of payment orders based on the search parameters. The user also requires corresponding read privileges for the customer account. If a combination of filter parameters are applied, only orders that match all of the conditions are returned.

Here is a brief overview of the transaction state lifecycle:

Transaction state lifecycle

DELETE

DELETE /v2/transactions

Request

DELETE https://olbtest.bankfrick.li/webapi/v2/deleteTransaction
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "orderIds" : [ 20771 ]
}
DELETE https://olb.bankfrick.li/webapi/v2/deleteTransaction
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "orderIds" : [ 20771 ]
}

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "moreResults" : false,
  "resultSetSize" : 1,
  "transactions" : [ {
    "orderId" : 20771,
    "customId" : "4711",
    "type" : "SEPA",
    "state" : "DELETED",
    "amount" : 1000.00,
    "currency" : "EUR",
    "valuta" : "2018-08-02",
    "valutaIsExecutionDate" : true,
    "express" : false,
    "reference" : "Invoice number 123",
    "debitor" : {
      "accountNumber" : "00012345/001.000.001",
      "iban" : "LI6808811000000001234"
    },
    "creditor" : {
      "name" : "Satoshi Nakamoto",
      "iban" : "DE12500105170648489890",
      "bic" : "INGDDEFFXXX",
      "creditInstitution" : "ING-DiBa GERMANY"
    },
    "creator" : "6789 Max Muster",
    "right" : "Bevollmächtigter kollektiv zu 2",
    "groupPolicy" : "Group intern",
    "approvals" : [ {
      "contact" : "6789 Max Muster"
    } ]
  } ]
}

Service to reject or delete not yet executed payment orders. Payment orders that are not yet fully approved and in state PREPARED can be rejected with a tan. Reject payment orders that are not yet fully approved, only payment orders in the PREPARED state and are created by the user can be rejected.

Request Parameters

name type description
Authorization header Bearer <token>
Signature header <signature>
algorithm header The used signing algorithm, e.g. rsa-sha512

Request Body

media type data type description
application/json DeleteTransaction (JSON) The request TAN delete body

Response Codes

code condition type
200 Request successful Transactions (JSON)

Response Body

media type data type description
application/json Transactions (JSON) No content

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

GET

GET /v2/transactions

GET /v2/transactions/{orderId}

Request

GET https://olbtest.bankfrick.li/webapi/v2/transactions
Content-Type: application/json
Accept: application/json
Authorization: ...

...
GET https://olb.bankfrick.li/webapi/v2/transactions
Content-Type: application/json
Accept: application/json
Authorization: ...

...

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "moreResults" : false,
  "resultSetSize" : 1,
  "transactions" : [ 
    {
      "orderId": 12345,
      "transactionNr": "1234567",
      "serviceType": "SIC",
      "transactionCode": "102-Transfer int. with Avis/Geb",
      "state": "BOOKED",
      "amount": -200.00,
      "totalAmount": 10060.00,
      "currency": "CHF",
      "valuta": "2020-04-01",
      "bookingDate": "2020-04-01",
      "reference": "Payment to Satoshi Nakamoto",
      "debitor": {
        "name": "Michael Tester",
        "iban": "LI6808811000000001234",
        "bic": "BFRILI22XXX",
        "creditInstitution": "Bank Frick and Co. AG"
      },
      "creditor": {
        "name": "Satoshi Nakamoto",
        "iban": "DE12500105170648489890",
        "bic": "INGDDEFFXXX",
        "creditInstitution": "ING-DiBa GERMANY"
      }
    }
  ]
}

Get the list of payment orders based on the search parameters. The user also requires corresponding read privileges for the customer account.

If a combination of filter parameters are applied, only orders that match all of the conditions are returned.

Request Parameters

name type description default constraints
Authorization header Bearer <token>
customId query (optional) Filter for custom id as it was assigned by the client on transaction creation. When searching for BOOKED transactions, the fromDate filter must be set accordingly, otherwise the query might not return the expected result.
transactionNr query (optional) Filter for transaction number. Only relevant for booked transaction. If a payment order should be addressed, use orderId of the coresponding account path instead.
firstPosition query (optional) Set the position of the first result to retrieve (offset), defaults to 0 0 int
fromDate query (optional) Starting date of the timespan for which to retrieve the data. The date should be provided in ISO 8601 format: YYYY-MM-DD, defaults to current day minus 30 days.
iban query (optional) Filter for transactions only related to account iban. This iban must relate to an account the user has access to, otherwise the query will return no result.
maxAmount query (optional) Maximum amount for a transaction to appear in the report, this parameter should be URL-Encoded.
maxResults query (optional) Set the maximum number of results to retrieve (row_count), defaults to 100, max. 2500 100 int
minAmount query (optional) Minimum amount for a transaction to appear in the report, this parameter should be URL-Encoded.
order query (optional) Defines the ordering (by orderId) of the result where order is one of (desc, asc), defaults to asc asc
reference query (optional) Filter for the reference (transaction information), this parameter should be URL-Encoded.
searchIban query (optional) Filter for the beneficiary account iban.
searchName query (optional) Filter for the beneficiary name, this parameter should be URL-Encoded.
status query (optional) Filter for for transaction status. The status of transactions that where created in the context of online banking can be one of (PREPARED, IN_PROGRESS, DELETED, EXPIRED, EXECUTED, REJECTED, DELETION_REQUESTED). The status of booked transactions on the account is BOOKED. Note: BOOKED transactions (as known from the camt053 export) can only be queried by setting this filter to BOOKED otherwise only transactions that were created in the context of online banking are returned.
toDate query (optional) Ending date of the timespan for which to retrieve the data. The date should be provided in ISO 8601 format: YYYY-MM-DD.
type query (optional) Filter for transaction type, expected one of (INTERNAL, BANK_INTERNAL, SEPA, FOREIGN, RED, ORANGE). Only relevant for transactions that were created in the context of online banking.

Response Codes

code condition type
200 Request successful Transactions (JSON)

Response Body

media type data type description
application/json Transactions (JSON) No content

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

PUT

PUT /v2/transactions

Request

PUT https://olbtest.bankfrick.li/webapi/v2/transactions
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "transactions" : [ {
    "customId" : "A4711",
    "type" : "SEPA",
    "amount" : 1000.00,
    "currency" : "EUR",
    "express" : true,
    "valuta" : "2020-01-03",
    "valutaIsExecutionDate" : true,
    "reference" : "some individual text",
    "charge" : "SHA",
    "debitor" : {
      "iban" : "LI6808811000000001234"
    },
    "creditor" : {
      "name" : "Satoshi Nakamoto",
      "iban" : "DE12500105170648489890"
    }
  } ]
}
PUT https://olb.bankfrick.li/webapi/v2/transactions
Content-Type: application/json
Accept: application/json
Authorization: ...
Signature: ...
algorithm: ...


{
  "transactions" : [ {
    "customId" : "A4711",
    "type" : "SEPA",
    "amount" : 1000.00,
    "currency" : "EUR",
    "express" : true,
    "valuta" : "2020-01-03",
    "valutaIsExecutionDate" : true,
    "reference" : "some individual text",
    "charge" : "SHA",
    "debitor" : {
      "iban" : "LI6808811000000001234"
    },
    "creditor" : {
      "name" : "Satoshi Nakamoto",
      "iban" : "DE12500105170648489890"
    }
  } ]
}

Response

HTTP/1.1 200 OK
Content-Type: application/json
Signature: ...
algorithm: ...


{
  "moreResults" : false,
  "resultSetSize" : 1,
  "transactions" : [ {
    "orderId" : 20771,
    "customId" : "A4711",
    "type" : "SEPA",
    "state" : "PREPARED",
    "amount" : 1000.00,
    "currency" : "EUR",
    "valuta" : "2020-01-03",
    "valutaIsExecutionDate" : true,
    "express" : false,
    "reference" : "some individual text",
    "debitor" : {
      "accountNumber" : "00012345/001.000.001",
      "iban" : "LI6808811000000001234"
    },
    "creditor" : {
      "name" : "Satoshi Nakamoto",
      "iban" : "DE12500105170648489890",
      "bic" : "INGDDEFFXXX",
      "creditInstitution" : "ING-DiBa GERMANY"
    },
    "creator" : "6789 Max Muster",
    "createDate" : "2020-01-03T08:00:22",
    "right" : "Bevollmächtigter kollektiv zu 2",
    "groupPolicy" : "No constraint",
    "quorum" : 1
  } ]
}

Create new payment orders similar to the create payment order dialogs within the online banking frontend. The required fields and field validation for each payment order depends on the order type. The frontend dialog and pain001 mapping rules apply for field validation. New payment orders can only be created for accounts with proper write privileges for the customers account. Created payment orders will be added to the system in the PREPARED state and can be approved using the “signTransaction” methods. The application must assign an idempotent customId to allow the system to identify duplicate requests. The server will then assign a unique orderId which is used to identify the transaction later for approval or deletion.

Request Parameters

name type description default constraints
Authorization header Bearer <token>
Signature header <signature>
algorithm header The used signing algorithm, e.g. rsa-sha512
test query (optional) When given as true, the system validates the input and tries to process it but does not perform the final creation of the orders. Does not check for unique customIds. false boolean

Request Body

media type data type description
application/json CreateTransaction (JSON) The request TAN delete body

Response Codes

code condition type
200 Request successful Transactions (JSON)
201 Transactions created successfully Transactions (JSON)

Response Body

media type data type description
application/json Transactions (JSON) No content

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

camt.052

This message is used to download a camt.052 report. This export format only contains booked transactions as intraday information and provides a near real time view of the accounts.

GET

GET /v2/camt052

Request

GET https://olbtest.bankfrick.li/webapi/v2/camt052?iban=LI11188110101101K001E
Content-Type: */*
Accept: application/xml
Authorization: ...
Signature: ...
algorithm: ...
DELETE https://olb.bankfrick.li/webapi/v2/camt052?iban=LI11188110101101K001E
Content-Type: */*
Accept: application/xml
Authorization: ...
Signature: ...
algorithm: ...

Retrieve a camt.052 (intraday information) report.

Request Parameters

name type description
Authorization header Bearer <token>
Signature header <signature>
algorithm header The used signing algorithm, e.g. rsa-sha512
iban query (mandatory) The iban of the account to get the camt.052 report for. If an account does not have an iban, accountnumber must be used.
accountnumber query (mandatory) The account number of the account to get the camt.052 report for, this parameter should be URL-Encoded. Either iban or accountnumber must be given; the report can only be created for one account per request. If an account does not have an iban, accountnumber must be used.
maxAmount query (optional) Maximum amount for a transaction to appear in the report, this parameter should be URL-Encoded
minAmount query (optional) Minimum amount for a transaction to appear in the report, this parameter should be URL-Encoded
reference query (optional) Search in the reference (transaction information), this parameter should be URL-Encoded
searchIban query (optional) Search of either the beneficiary account iban or sender account, depending on the transaction type, this parameter should be URL-Encoded
searchName query (optional) Search of either the beneficiary name or sender account, depending on the transaction type, this parameter should be URL-Encoded

Response Body

media type data type description
application/xml Document (XML) The camt052 response message as xml.

Response Codes

code condition type
200 Request successful Document (XML)

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

Response

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Signature: ...
algorithm: ...

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns:ns2="urn:iso:std:iso:20022:tech:xsd:camt.052.001.07">
    <BkToCstmrAcctRpt>
        <GrpHdr>
            <MsgId>1536245450821-b6de4c97-08c4-4a74-92</MsgId>
            <CreDtTm>2018-09-06T16:50:50.755+02:00</CreDtTm>
            <MsgRcpt>
                <Nm>Firstname Lastname</Nm>
                <PstlAdr>
                    <AdrLine>Lastname Firstname</AdrLine>
                    <AdrLine>123 Road</AdrLine>
                    <AdrLine>123123 Balzers</AdrLine>
                    <AdrLine>LIECHTENSTEIN</AdrLine>
                </PstlAdr>
                <Id>
                    <PrvtId>
                        <Othr>
                            <Id>12345</Id>
                        </Othr>
                    </PrvtId>
                </Id>
            </MsgRcpt>
            <MsgPgntn>
                <PgNb>1</PgNb>
                <LastPgInd>true</LastPgInd>
            </MsgPgntn>
        </GrpHdr>
        <Rpt>
            <Id>1234245450922-1a85b471-e995-1234-9e</Id>
            <CreDtTm>2018-09-06T17:00:00.755+02:00</CreDtTm>
            <FrToDt/>
            <Acct>
                <Id>
                    <IBAN>LI12345610609195K000E</IBAN>
                </Id>
                <Tp>
                    <Cd>CACC</Cd>
                </Tp>
                <Ccy>EUR</Ccy>
                <Nm>CURRENT ACCOUNT                    </Nm>
                <Ownr>
                    <Nm>Company Name Ltd.</Nm>
                    <PstlAdr>
                        <AdrLine>Company Name Ltd.</AdrLine>
                        <AdrLine>8 Street</AdrLine>
                        <AdrLine>The Central</AdrLine>
                        <AdrLine>123456 SINGAPORE</AdrLine>
                    </PstlAdr>
                    <Id>
                        <PrvtId>
                            <Othr>
                                <Id>0600000</Id>
                            </Othr>
                        </PrvtId>
                    </Id>
                </Ownr>
                <Svcr>
                    <FinInstnId>
                        <BICFI>BFRILI22XXX</BICFI>
                        <Nm>Bank Frick &amp; Co. Aktiengesellschaft</Nm>
                        <PstlAdr>
                            <AdrLine>Landstrasse 14</AdrLine>
                            <AdrLine>9496 Balzers</AdrLine>
                            <AdrLine>Liechtenstein</AdrLine>
                        </PstlAdr>
                        <Othr>
                            <Id>12345</Id>
                            <Issr>VAT-ID</Issr>
                        </Othr>
                    </FinInstnId>
                </Svcr>
            </Acct>
            <Bal>
                <Tp>
                    <CdOrPrtry>
                        <Cd>OPBD</Cd>
                    </CdOrPrtry>
                </Tp>
                <Amt Ccy="EUR">100000.00</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Dt>
                    <Dt>2018-09-03</Dt>
                </Dt>
            </Bal>
            <Bal>
                <Tp>
                    <CdOrPrtry>
                        <Cd>ITBD</Cd>
                        <Prtry>Interim booked balance</Prtry>
                    </CdOrPrtry>
                </Tp>
                <Amt Ccy="EUR">100000.00</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Dt>
                    <Dt>2018-09-06</Dt>
                </Dt>
            </Bal>
            <Bal>
                <Tp>
                    <CdOrPrtry>
                        <Cd>ITAV</Cd>
                        <Prtry>Interim value balance</Prtry>
                    </CdOrPrtry>
                </Tp>
                <Amt Ccy="EUR">100000.00</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Dt>
                    <Dt>2018-09-06</Dt>
                </Dt>
            </Bal>
            <Ntry>
                <Amt Ccy="EUR">100.00</Amt>
                <CdtDbtInd>DBIT</CdtDbtInd>
                <Sts>
                    <Cd>PDNG</Cd>
                </Sts>
                <ValDt>
                    <Dt>2018-08-09</Dt>
                </ValDt>
                <AcctSvcrRef>payment order id: 1234</AcctSvcrRef>
                <BkTxCd>
                    <Domn>
                        <Cd>PMNT</Cd>
                        <Fmly>
                            <Cd>ICDT</Cd>
                            <SubFmlyCd>FICT</SubFmlyCd>
                        </Fmly>
                    </Domn>
                    <Prtry>
                        <Cd>BANK_INTERNAL</Cd>
                        <Issr>Bank Frick payment order type</Issr>
                    </Prtry>
                </BkTxCd>
                <NtryDtls>
                    <TxDtls>
                        <RltdPties>
                            <Dbtr>
                                <Pty>
                                    <Nm>Company Name Ltd.</Nm>
                                </Pty>
                            </Dbtr>
                            <DbtrAcct>
                                <Id>
                                    <IBAN>LI12345610609195K000E</IBAN>
                                </Id>
                            </DbtrAcct>
                            <Cdtr>
                                <Pty>
                                    <Nm>Company XY Ltd.</Nm>
                                </Pty>
                            </Cdtr>
                            <CdtrAcct>
                                <Id>
                                    <IBAN>LI12345610609195K000E</IBAN>
                                </Id>
                            </CdtrAcct>
                        </RltdPties>
                        <RltdAgts>
                            <DbtrAgt>
                                <FinInstnId>
                                    <BICFI>BFRILI22XXX</BICFI>
                                    <Nm>Bank Frick &amp; Co. Aktiengesellschaft</Nm>
                                </FinInstnId>
                            </DbtrAgt>
                            <CdtrAgt>
                                <FinInstnId>
                                    <BICFI>BFRILI22XXX</BICFI>
                                    <Nm>Bank Frick and Co. Aktiengesellschaft, LIECHTENSTEIN</Nm>
                                </FinInstnId>
                            </CdtrAgt>
                        </RltdAgts>
                    </TxDtls>
                </NtryDtls>
            </Ntry>
        </Rpt>
    </BkToCstmrAcctRpt>
</Document>

Header

Path: Prefix: Document/BkToCstmrRpt

Path Format Mandatory Description
GrpHdr yes Header
GrpHdr/MsgId 1-35 characters yes Message Id
GrpHdr/CreDtTm IsoDateTime yes creation date
GrpHdr/MsgRcpt no Receiver
GrpHdr/MsgRcpt/Nm 1-140 characters no Name of the receiver
GrpHdr/MsgRcpt/PstlAdr no address
GrpHdr/MsgRcpt/PstlAdr/AdrLine 1-70 characters no, 0..7 row of an address
GrpHdr/MsgRcpt/Id no Id
GrpHdr/MsgRcpt/Id/PrvtId yes (or OrgId)
GrpHdr/MsgRcpt/Id/PrvtId/Othr/Id 1-35 characters Identification of the private individual
GrpHdr/MsgPgntn no
GrpHdr/MsgPgntn/PgNb 1-5 digits yes Page number (in paging)
GrpHdr/MsgPgntn/LastPgInd boolean yes Last page?
Rpt yes, 1…n
Rpt/Id 1-35 characters yes identification
Rpt/CreDtTm IsoDateTime no creation date
Rpt/FrToDt no Time interval of the move-out
Rpt/FrToDt/FrDtTm IsoDateTime yes Starting time of the account statement
Rpt/FrToDt/ToDtTm IsoDateTime yes End time of the account statement
Rpt/Acct yes
Rpt/Acct/Id yes account identification structure
Rpt/Acct/Id/IBAN [A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30} yes (or Othr)
Rpt/Acct/Tp no account type
Rpt/Acct/Tp/Cd 1-4 characters no account type
Rpt/Acct/Ccy 3 capital letters no currency
Rpt/Acct/Nm 1-70 characters no account name
Rpt/Acct/Ownr no
Rpt/Acct/Ownr/Nm no Name of the Owner
Rpt/Acct/Ownr/PstlAdr no address
Rpt/Acct/Ownr/PstlAdr/AdrLine no row of an address
Rpt/Acct/Ownr/Id no
Rpt/Acct/Ownr/Id/PrvtId no
Rpt/Acct/Ownr/Id/PrvtId/Othr no
Rpt/Acct/Ownr/Id/PrvtId/Othr/Id no Id
Rpt/Acct/Svcr no
Rpt/Acct/Svcr/FinInstnId yes identification
Rpt/Acct/Svcr/FinInstnId/BICFI BIC ( [A-Z]{6,6}[A-Z2-9][A-NP-Z0-9][A-Z0-9]{3,3}){0,1} no BIC
Rpt/Acct/Svcr/FinInstnId/Nm 1-140 characters no Name of the bank
Rpt/Acct/Svcr/FinInstnId/PstlAdr no, 0..7 mailing address
Rpt/Acct/Svcr/FinInstnId/PstlAdr/AdrLine 1-70 characters no address bar
Rpt/Acct/Svcr/FinInstnId/Othr no Further identification
Rpt/Acct/Svcr/FinInstnId/Othr/Id 1-35 characters yes identification number
Rpt/Acct/Svcr/FinInstnId/Orth/Issr 1-35 characters no Type of identification number
Rpt/Bal yes, 1..n
Rpt/Ntry no, 0..n transaction

Balance

Path: Prefix: Document/BkToCstmrRpt/Rpt/Bal

Example of opening and closing balance

Path Format Mandatory Description
Tp yes
Tp/CdOrPrtry yes
Tp/CdOrPrtry/Cd 1 to 4 characters yes (or Prtry)
Tp/CdOrPrtry/Prtry Amt 18 digits (5 decimal places) yes amount
Amt/@Ccy 1-3 characters yes currency
CdtDbtInd Enumeration yes
Dt yes date
Dt/Dt YYYY-MM-DD yes (or DtTm) Date (as opposed to a date with time)

Entry

Path: Prefix: Document/BkToCstmrRpt/Rpt/Ntry

Path Format Mandatory Description
Amt 18 digits (5 decimal places) yes amount
Amt/@Ccy 3 letters yes currency
CdtDbtInd enumeration yes Debit/Credit
Sts yes Status
Sts/Cd 1-4 characters yes (or Prtry) Status
ValDt no valuta date
ValDt/Dt YYYY-MM-DD yes (or DtTm) date
AcctSvcrRef 1 to 35 characters (if available) no Account Servicer Reference
BkTxCd yes
BkTxCd/Domn no Domaine
BkTxCd/Domn/Cd 1-4 characters yes
BkTxCd/Domn/Fmly yes
BkTxCd/Domn/Fmly/Cd 1-4 characters yes
BkTxCd/Domn/Fmly/SubfmlyCd 1-4 characters yes
BkTxCd/Prtry no
BkTxCd/Prtry/Cd max 35. characters yes
BkTxCd/Prtry/Issr max 35. characters no
NtryDtls no, 0..n
NtryDtls/TxDtls no, 0..n
NtryDtls/TxDtls/RltdPties no
NtryDtls/TxDtls/RltdPties/Dbtr no
NtryDtls/TxDtls/RltdPties/Dbtr/Pty yes (or Agt)
NtryDtls/TxDtls/RltdPties/Dbtr/Pty/Nm 1-140 characters no
NtryDtls/TxDtls/RltdPties/DbtrAcct no
NtryDtls/TxDtls/RltdPties/DbtrAcct/Id yes
NtryDtls/TxDtls/RltdPties/DbtrAcct/Id/IBAN [A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30} yes (or Othr)
NtryDtls/TxDtls/RltdPties/Cdtr no
NtryDtls/TxDtls/RltdPties/Cdtr/Pty yes (or Agt)
NtryDtls/TxDtls/RltdPties/Cdtr/Pty/Nm 1-140 characters no
NtryDtls/TxDtls/RltdPties/CdtrAcct no
NtryDtls/TxDtls/RltdPties/CdtrAcct/Id yes
NtryDtls/TxDtls/RltdPties/CdtrAcct/Id/IBAN [A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30} yes (or Othr)
NtryDtls/TxDtls/RltdAgts no
NtryDtls/TxDtls/RltdAgts/DbtrAgt no
NtryDtls/TxDtls/RltdAgts/DbtrAgt/FinInstnId yes
NtryDtls/TxDtls/RltdAgts/DbtrAgt/FinInstnId/BICFI BIC ( [A-Z]{6,6}[A-Z2-9][A-NP-Z0-9][A-Z0-9]{3,3}{0,1} ) no
NtryDtls/TxDtls/RltdAgts/DbtrAgt/FinInstnId/Nm 1 - 140 characters no
NtryDtls/TxDtls/RltdAgts/CdtrAgt no
NtryDtls/TxDtls/RltdAgts/CdtrAgt/FinInstnId yes financial institution
NtryDtls/TxDtls/RltdAgts/CdtrAgt/FinInstnId/BICFI BIC ( [A-Z]{6,6}[A-Z2-9][A-NP-Z0-9][A-Z0-9]{3,3}{0,1} ) no BIC
NtryDtls/TxDtls/RltdAgts/CdtrAgt/FinInstnId/Nm 1 - 140 characters no Name

camt.053

This message is used to download a camt053 report. This export format only contains booked transactions either from successful processed payment orders or other external transactions, similar to the “Executed” tab in the transaction overview of the online banking frontend.

GET

GET /v2/camt053

Request

GET https://olbtest.bankfrick.li/webapi/v2/camt053?iban=LI11188110101101K001E
Content-Type: */*
Accept: application/xml
Authorization: ...
Signature: ...
algorithm: ...
DELETE https://olb.bankfrick.li/webapi/v2/camt053?iban=LI11188110101101K001E
Content-Type: */*
Accept: application/xml
Authorization: ...
Signature: ...
algorithm: ...

Retrieve a camt.053 report.

Request Parameters

name type description
Authorization header Bearer <token>
Signature header <signature>
algorithm header The used signing algorithm, e.g. rsa-sha512
iban query (mandatory) The iban of the account to get the camt.053 report for. If an account does not have an iban, accountnumber must be used.
accountnumber query (mandatory) The account number of the account to get the camt.053 report for, this parameter should be URL-Encoded. Either iban or accountnumber must be given; the report can only be created for one account per request. If an account does not have an iban, accountnumber must be used.
fromDate query (optional) Starting date of the timespan for which to retrieve the data. The date should be provided in ISO 8601 format: YYYY-MM-DD, defaults to current day minus 30 days.
toDate query (optional) Ending date of the timespan for which to retrieve the data. The date should be provided in ISO 8601 format: YYYY-MM-DD
maxAmount query (optional) Maximum amount for a transaction to appear in the report, this parameter should be URL-Encoded
minAmount query (optional) Minimum amount for a transaction to appear in the report, this parameter should be URL-Encoded
reference query (optional) Search in the reference (transaction information), this parameter should be URL-Encoded
searchIban query (optional) Search of either the beneficiary account iban or sender account, depending on the transaction type, this parameter should be URL-Encoded
searchName query (optional) Search of either the beneficiary name or sender account, depending on the transaction type, this parameter should be URL-Encoded

Response Body

media type data type description
application/xml Document (XML) The camt053 response message as xml.

Response Codes

code condition type
200 Request successful Document (XML)

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

Response

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Signature: ...
algorithm: ...

sts<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.07">
    <BkToCstmrStmt>
        <GrpHdr>
            <MsgId>1524148795099-aaa9380b-0bed-44a2-8a</MsgId>
            <CreDtTm>2018-04-19T16:39:50.954+02:00</CreDtTm>
            <MsgRcpt>
                <PstlAdr>
                    <AdrLine>Kundenname XY</AdrLine>
                    <AdrLine>123 Road</AdrLine>
                    <AdrLine>123123 Bern</AdrLine>
                    <AdrLine>SCHWEIZ</AdrLine>
                </PstlAdr>
                <Id>
                    <PrvtId>
                        <Othr>
                            <Id>5697</Id>
                        </Othr>
                    </PrvtId>
                </Id>
            </MsgRcpt>
            <MsgPgntn>
                <PgNb>1</PgNb>
                <LastPgInd>true</LastPgInd>
            </MsgPgntn>
        </GrpHdr>
        <Stmt>
            <Id>1524148795099-b8258e37-ebc0-4c3f-92</Id>
            <CreDtTm>2018-04-19T16:39:50.954+02:00</CreDtTm>
            <FrToDt>
                <FrDtTm>1970-01-01T00:00:00.000+01:00</FrDtTm>
                <ToDtTm>2018-04-19T23:59:59.999+02:00</ToDtTm>
            </FrToDt>
            <Acct>
                <Id>
                    <IBAN>LI50088110111111K000C</IBAN>
                </Id>
                <Tp>
                    <Cd>CACC</Cd>
                </Tp>
                <Ccy>EUR</Ccy>
                <Nm>KONTOKORRENT                       </Nm>
                <Ownr>
                    <Nm>Test Company (remitter)</Nm>
                    <PstlAdr>
                        <AdrLine>TEST COMPANY (REMITTER)</AdrLine>
                        <AdrLine>Test street 99</AdrLine>
                        <AdrLine>9472 Grabs</AdrLine>
                        <AdrLine>SCHWEIZ</AdrLine>
                    </PstlAdr>
                    <Id>
                        <PrvtId>
                            <Othr>
                                <Id>0606323</Id>
                            </Othr>
                        </PrvtId>
                    </Id>
                </Ownr>
                <Svcr>
                    <FinInstnId>
                        <BICFI>BFRILI22XXX</BICFI>
                        <Nm>Bank Frick &amp; Co. Aktiengesellschaft</Nm>
                        <PstlAdr>
                            <AdrLine>Landstrasse 14</AdrLine>
                            <AdrLine>9496 Balzers</AdrLine>
                            <AdrLine>Liechtenstein</AdrLine>
                        </PstlAdr>
                        <Othr>
                            <Id>53884</Id>
                            <Issr>VAT-ID</Issr>
                        </Othr>
                    </FinInstnId>
                </Svcr>
            </Acct>
            <Bal>
                <Tp>
                    <CdOrPrtry>
                        <Cd>OPBD</Cd>
                    </CdOrPrtry>
                </Tp>
                <Amt Ccy="EUR">0.00</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Dt>
                    <Dt>2018-01-12+01:00</Dt>
                </Dt>
            </Bal>
            <Bal>
                <Tp>
                    <CdOrPrtry>
                        <Cd>CLBD</Cd>
                    </CdOrPrtry>
                </Tp>
                <Amt Ccy="EUR">1500.00</Amt>
                <CdtDbtInd>CRDT</CdtDbtInd>
                <Dt>
                    <Dt>2018-04-17+02:00</Dt>
                </Dt>
            </Bal>
            <Ntry>
                <Amt Ccy="EUR">305.00</Amt>
                <CdtDbtInd>DBIT</CdtDbtInd>
                <Sts>
                    <Cd>BOOK</Cd>
                </Sts>
                <BookgDt>
                    <Dt>2018-04-17+02:00</Dt>
                </BookgDt>
                <ValDt>
                    <Dt>2018-04-17+02:00</Dt>
                </ValDt>
                <AcctSvcrRef>2520486</AcctSvcrRef>
                <BkTxCd>
                    <Domn>
                        <Cd>XTND</Cd>
                        <Fmly>
                            <Cd>NTAV</Cd>
                            <SubFmlyCd>NTAV</SubFmlyCd>
                        </Fmly>
                    </Domn>
                    <Prtry>
                        <Cd>081</Cd>
                        <Issr>Bank Frick OPID transaction code</Issr>
                    </Prtry>
                </BkTxCd>
                <NtryDtls>
                    <TxDtls>
                        <RmtInf>
                            <Ustrd>redemption foreign currency without Agio</Ustrd>
                        </RmtInf>
                    </TxDtls>
                </NtryDtls>
            </Ntry>
            <Ntry>
                <Amt Ccy="EUR">2097.00</Amt>
                <CdtDbtInd>DBIT</CdtDbtInd>
                <Sts>
                    <Cd>BOOK</Cd>
                </Sts>
                <BookgDt>
                    <Dt>2018-03-01+01:00</Dt>
                </BookgDt>
                <ValDt>
                    <Dt>2018-03-01+01:00</Dt>
                </ValDt>
                <AcctSvcrRef>2466849</AcctSvcrRef>
                <BkTxCd>
                    <Domn>
                        <Cd>PMNT</Cd>
                        <Fmly>
                            <Cd>ICDT</Cd>
                            <SubFmlyCd>ESCT</SubFmlyCd>
                        </Fmly>
                    </Domn>
                    <Prtry>
                        <Cd>116-reimbursement SWIFT </Cd>
                        <Issr>Bank Frick OPID transaction code</Issr>
                    </Prtry>
                </BkTxCd>
                <NtryDtls>
                    <TxDtls>
                        <RltdPties>
                            <Dbtr>
                                <Pty>
                                    <Nm>TEST COMPANY (REMITTER) Test street 99</Nm>
                                </Pty>
                            </Dbtr>
                            <DbtrAcct>
                                <Id>
                                    <IBAN>LI50088110111111K000C</IBAN>
                                </Id>
                            </DbtrAcct>
                            <Cdtr>
                                <Pty>
                                    <Nm>BENEFICIARY_name</Nm>
                                </Pty>
                            </Cdtr>
                            <CdtrAcct>
                                <Id>
                                    <IBAN>AT026000000001349870</IBAN>
                                </Id>
                            </CdtrAcct>
                        </RltdPties>
                        <RltdAgts>
                            <CdtrAgt>
                                <FinInstnId>
                                    <Nm>TEST BANK</Nm>
                                </FinInstnId>
                            </CdtrAgt>
                        </RltdAgts>
                        <RmtInf>
                            <Ustrd>1109 7890 0011 6158</Ustrd>
                        </RmtInf>
                    </TxDtls>
                </NtryDtls>
            </Ntry>
            <Ntry>
                <Amt Ccy="EUR">1800.00</Amt>
                <CdtDbtInd>DBIT</CdtDbtInd>
                <Sts>
                    <Cd>BOOK</Cd>
                </Sts>
                <BookgDt>
                    <Dt>2018-01-15+01:00</Dt>
                </BookgDt>
                <ValDt>
                    <Dt>2018-01-16+01:00</Dt>
                </ValDt>
                <AcctSvcrRef>2411569</AcctSvcrRef>
                <BkTxCd>
                    <Domn>
                        <Cd>PMNT</Cd>
                        <Fmly>
                            <Cd>ICDT</Cd>
                            <SubFmlyCd>PRCT</SubFmlyCd>
                        </Fmly>
                    </Domn>
                    <Prtry>
                        <Cd>117-REIMBURSEMENT SWIFT - Express </Cd>
                        <Issr>Bank Frick OPID transaction code</Issr>
                    </Prtry>
                </BkTxCd>
                <NtryDtls>
                    <TxDtls>
                        <RltdPties>
                            <Dbtr>
                                <Pty>
                                    <Nm>TEST COMPANY (REMITTER) Test street 99</Nm>
                                </Pty>
                            </Dbtr>
                            <DbtrAcct>
                                <Id>
                                    <IBAN>LI50088110111111K000C</IBAN>
                                </Id>
                            </DbtrAcct>
                            <Cdtr>
                                <Pty>
                                    <Nm>BENEFICIARY_name</Nm>
                                </Pty>
                            </Cdtr>
                            <CdtrAcct>
                                <Id>
                                    <IBAN>AT026000000001349870</IBAN>
                                </Id>
                            </CdtrAcct>
                        </RltdPties>
                        <RltdAgts>
                            <CdtrAgt>
                                <FinInstnId>
                                    <Nm>TEST BANK </Nm>
                                </FinInstnId>
                            </CdtrAgt>
                        </RltdAgts>
                        <RmtInf>
                            <Ustrd>ACCOUNTING ENTRY DSR0B21E7BSW0</Ustrd>
                            <Ustrd>Test Company (remitter) </Ustrd>
                            <Ustrd>20.1.-27.1.18</Ustrd>
                        </RmtInf>
                    </TxDtls>
                </NtryDtls>
            </Ntry>
        </Stmt>
    </BkToCstmrStmt>
</Document>


Header

Path: Prefix: Document/BkToCstmrRpt

Path Format Mandatory Description
GrpHdr yes Header
GrpHdr/MsgId 1-35 characters yes Message Id
GrpHdr/CreDtTm IsoDateTime yes creation date
GrpHdr/MsgRcpt no Receiver
GrpHdr/MsgRcpt/PstlAdr no address
GrpHdr/MsgRcpt/PstlAdr/AdrLine 1-70 characters no, 0..7 row of an address
GrpHdr/MsgRcpt/Id no Id
GrpHdr/MsgRcpt/Id/PrvtId yes (or OrgId)
GrpHdr/MsgRcpt/Id/PrvtId/Othr/Id 1-35 characters Identification of the private individual
GrpHdr/MsgPgntn no
GrpHdr/MsgPgntn/PgNb 1-5 digits yes Page number (in paging)
GrpHdr/MsgPgntn/LastPgInd boolean yes Last page?
Stmt yes, 1…n
Stmt/Id 1-35 characters yes identification
Stmt/CreDtTm IsoDateTime no creation date
Stmt/FrToDt no Time interval of the move-out
Stmt/FrToDt/FrDtTm IsoDateTime yes Starting time of the account statement
Stmt/FrToDt/ToDtTm IsoDateTime yes End time of the account statement
Stmt/Acct yes
Stmt/Acct/Id yes account identification structure
Stmt/Acct/Id/IBAN [A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30} yes (or Othr)
Stmt/Acct/Tp no account type
Stmt/Acct/Tp/Cd 1-4 characters no account type
Stmt/Acct/Ccy 3 capital letters no currency
Stmt/Acct/Nm 1-70 characters no account name
Stmt/Acct/Ownr no
Stmt/Acct/Ownr/Nm no Name of the Owner
Stmt/Acct/Ownr/PstlAdr no address
Stmt/Acct/Ownr/PstlAdr/AdrLine no row of an address
Stmt/Acct/Ownr/Id
Stmt/Acct/Ownr/Id/PrvtId
Stmt/Acct/Ownr/Id/PrvtId/Othr
Stmt/Acct/Ownr/Id/PrvtId/Othr/Id no Id
Stmt/Acct/Svcr no
Stmt/Acct/Svcr/FinInstnId yes identification
Stmt/Acct/Svcr/FinInstnId/BICFI BIC ( [A-Z]{6,6}[A-Z2-9][A-NP-Z0-9][A-Z0-9]{3,3}{0,1} ) no BIC
Stmt/Acct/Svcr/FinInstnId/Nm 1-140 characters no Name of the bank
Stmt/Acct/Svcr/FinInstnId/PstlAdr no, 0..7 mailing address
Stmt/Acct/Svcr/FinInstnId/PstlAdr/AdrLine 1-70 characters no address bar
Stmt/Acct/Svcr/FinInstnId/Othr no Further identification
Stmt/Acct/Svcr/FinInstnId/Othr/Id 1-35 characters yes identification number
Stmt/Acct/Svcr/FinInstnId/Orth/Issr 1-35 characters no Type of identification number
Stmt/Bal yes, 1..n
Stmt/Ntry no, 0..n transaction

Balance

Path: Prefix: Document/BkToCstmrStmt/Stmt/Bal

Example of opening and closing balance

Path Format Mandatory Description
Tp yes
Tp/CdOrPrtry yes
Tp/CdOrPrtry/Cd 1 to 4 characters yes (or Prtry)
Tp/CdOrPrtry/Prtry Amt 18 digits (5 decimal places) yes amount
Amt/@Ccy 1-3 characters yes currency
CdtDbtInd Enumeration yes
Dt yes date
Dt/Dt YYYY-MM-DD yes (or DtTm) Date (as opposed to a date with time)

Entry

Path: Prefix: Document/BkToCstmrStmt/Stmt/Ntry

Path Format Mandatory Description
Amt 18 digits (5 decimal places) yes amount
Amt/@Ccy 3 letters yes currency
CdtDbtInd enumeration yes Debit/Credit
Sts yes Status
Sts/Cd 1-4 characters yes (or Prtry) Status
BookgDt no entry date
BookgDt/Dt YYYY-MM-DD yes (alternate DtTm) date
ValDt no valuta date
ValDt/Dt YYYY-MM-DD yes (or DtTm) date
AcctSvcrRef 1 to 35 characters (if available) no Account Servicer Reference
BkTxCd yes
BkTxCd/Domn no Domain
BkTxCd/Domn/Cd 1-4 characters yes
BkTxCd/Domn/Fmly yes
BkTxCd/Domn/Fmly/Cd 1-4 characters yes
BkTxCd/Domn/Fmly/SubfmlyCd 1-4 characters yes
BkTxCd/Prtry no
BkTxCd/Prtry/Cd max 35. characters yes
BkTxCd/Prtry/Issr max 35. characters no
NtryDtls no, 0..n
NtryDtls/TxDtls no, 0..n
NtryDtls/TxDtls/RltdPties no
NtryDtls/TxDtls/RltdPties/Dbtr no
NtryDtls/TxDtls/RltdPties/Dbtr/Pty yes (or Agt)
NtryDtls/TxDtls/RltdPties/Dbtr/Pty/Nm 1-140 characters no
NtryDtls/TxDtls/RltdPties/DbtrAcct no
NtryDtls/TxDtls/RltdPties/DbtrAcct/Id yes
NtryDtls/TxDtls/RltdPties/DbtrAcct/Id/IBAN [A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30} yes (or Othr)
NtryDtls/TxDtls/RltdPties/Cdtr no
NtryDtls/TxDtls/RltdPties/Cdtr/Pty yes (or Agt)
NtryDtls/TxDtls/RltdPties/Cdtr/Pty/Nm 1-140 characters no
NtryDtls/TxDtls/RltdPties/CdtrAcct no
NtryDtls/TxDtls/RltdPties/CdtrAcct/Id yes
NtryDtls/TxDtls/RltdPties/CdtrAcct/Id/IBAN [A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30} yes (or Othr)
NtryDtls/TxDtls/RltdAgts no
NtryDtls/TxDtls/RltdAgts/CdtrAgt no
NtryDtls/TxDtls/RltdAgts/CdtrAgt/FinInstnId yes financial institution
NtryDtls/TxDtls/RltdAgts/CdtrAgt/FinInstnId/Nm 1 - 140 characters no Name
NtryDtls/TxDtls/RmtInf no purpose of use
NtryDtls/TxDtls/RmtInf/Ustrd 1 - 140 characters no purpose of use

pain.001

Resource for the pain.001 message upload.

PUT

PUT /v2/pain001

Upload a pain.001 message. Note that errors respectively the status regarding pain001 is returned as pain002 message with the HTTP 200 or 207 status code.

Request Parameters

name type description
Authorization header Bearer <token>
Signature header <signature>
algorithm header The used signing algorithm, e.g. rsa-sha512

Request Body

media type data type description
application/xml Document (XML) The pain.001 message as xml.

Response Codes

code condition type
200 Request successful Document (XML)
207 Request successful, but with pain.002 error states Document (XML)

Response Body

media type data type description
application/xml Document (XML) The pain.002 response message as xml.

Response Headers

name description
signature <signature>
algorithm The used signing algorithm, e.g. rsa-sha512

Payment Types and Example Files

Description Local Instrument Creditor Account Creditor Agent Currency
Domestic Payment (CH/LI) - with IBAN IBAN in CH/LI CHF/EUR
Domestic Payment (CH/LI) - with IBAN IBAN in CH/LI All except CHF/EUR
Foreign Payment - SEPA IBAN in Europe EUR
Foreign Payment not SEPA - SWIFT IBAN BIC Any Currency
Foreign Payment not SEPA - SWIFT Account Number BIC Any Currency

Response

Header

Path Format Mandatory Description
MsgId string yes Checking for duplicates usually takes place at the Swiss financial institutions at document (message) level. This is why the „Message Identification“ element must have a unique value. The uniqueness is checked by most of the financial institutions over a period of at least 90 days. It is recommended that the „Message“
CreDtTm string yes Recommendation: Should be the same as the actual date/time of creation.
NbOfTxs string yes If there is an error, the whole message is rejected. Messages that exceed 99,999 payments (C-Level) will be rejected by the financial institutions. Depending on the financial institution, the size of the message that can be delivered may be smaller.
CtrlSum decimal Value is the same as the sum of all the „Amount elements“ („Instructed Amount“ or „Equivalent Amount“) (2.42) Recommendation: the control sum should be sent in this element in Level A. If there is an error, the whole message is rejected.
InitgPty (Group) yes At least one of the two elements „Name“ or „Identification“ must be sent.
InitgPty/Nm string Name of the message sender, maximum 70 characters.

Payment

Path Format Mandatory Description
PmtInfId string yes Value must be unique within the whole message (is used as reference in the Status Report „pain.002“). Only the SWIFT character set is permitted for this element (see section 2.4.1).
PmtMtd string yes TRA and „TRF“: same meaning, no effect on the way the debit advices are controlled. In Switzerland the „TRA“ value is processed in the same way as the „TRF“ value, it has no special function. Furthermore, for check payments, the „CHK“ value is permitted.
BtchBookg boolean The option „true“ is recommended. „true“: Wherever possible, one batch booking is made per „Payment Information“ (B). A separate B-level must be created for each currency being transferred. The booking is identified using the Payment Information Identification (B). „false“: One booking should be made for each „Credit Transfer Transaction Information“ (C). Bookings are usually identified by the „Payment Identification“ (C). Alternatively, the financial institution can also identify the booking using, for example, the „Payment Information Identification“ (B) element. If this element is not sent, then the booking proceeds as for „true“.
ReqdExctnDt string yes Contains the required date of execution. Where appropriate, the value data is automatically modified to the next possible banking/Post Office business day.
Dbtr (Group) yes The debtor is only identified by the „Debtor Account“ element. Information in the „Debtor“ field will be ignored. What is required is the master data for the financial institution for this debtor.
Dbtr/Nm string Recommendation: Use, maximum 70 characters.
DbtrAcct (Group) yes Recommendation: IBAN should be used. . However, „Other“ is currently also still permitted by some financial institutions for the proprietary account number. The „Type/Proprietary“ element can also be used to define the way the debit advice is controlled. When using the AOS „Additional participants“ (multi-banking), the third-party bank must be specified here.
DbtrAcct/Id/IBAN string Recommendation: Use. If used, „Other“ must not be present.
DbtrAgt (Group) yes The Swiss financial institutions recommend entering the BIC or IID (institutional identification) in this element. When using the AOS „Additional participants“ (multi-banking), the third-party bank must be specified here.
DbtrAgt/FinInstnId/BIC string BIC of the Debtor Bank. If used, then „Clearing System Member Identification“ must not be present.

Transaction

Path Format Mandatory Description
PmntId (Group) yes
PmntId/InstrId string Recommendation: Should be used and be unique within the B-Level. Only the SWIFT character set is permitted for this element
PmntId/EndToEndId string yes Customer reference, normally forwarded as far as the beneficiary. Only the SWIFT character set is permitted for this element
PmtTpInf/InstrPrty string Any information about the Express processing should be sent at B- Level, values in this element are ignored.
PmtTpInf/LclInstrm (Group)
Amt/InstdAmt yes If used, then „Equivalent Amount“ must not be present.
Amt/InstdAmt/@Ccy string
CdtrAgt (Group)
Cdtr/Nm string yes Must be used if "Creditor" is used, maximum 70 characters.
CdtrAcct/Id (Group) yes Recommendation: Whenever possible the IBAN should be used. Must be used if "Creditor Account" is used.
RmtInf/Strd/CdtrRefInf (Gruppe) yes

Case-Specific Attributes

Payment

Path Format Mandatory Description
PmtTpInf Can be used at B-Level or C-Level, but generally not in both at the same time. Some institutions permit it to be sent at both levels but not the same sub-element at both levels.
PmtTpInf/SvcLvl Service Level affects the way payment is made at the financial institution. The focus is on achieving the fastest possible credit for the creditor.
PmtTpInf/SvcLvl/Cd string

Transaction

Path Format Mandatory Description
CdtrAcct/Id/Othr/IBAN string

Transaction

Path Format Mandatory Description
PmtTpInf/LclInstrm/Prtry string If used, then „Code“ must not be present.
CdtrAcct/Id/Othr/Id string Must be used if "Other" is used.
RmtInf/Strd/CdtrRefInf/Ref string

Transaction

Path Format Mandatory Description
PmtTpInf/LclInstrm/Prtry string If used, then „Code“ must not be present.
CdtrAcct/Id/Othr/IBAN string

Transaction

Path Format Mandatory Description
CdtrAgt/FinInstnId/BIC string If used, then "Clearing System Member Identification" must not be present.
CdtrAcct/Id/Othr/Id string Must be used if "Other" is used.

Transaction

Path Format Mandatory Description
CdtrAgt/FinInstnId/BIC string If used, then "Clearing System Member Identification" must not be present.
CdtrAcct/Id/Othr/IBAN string

Errors

code condition type
400 Validation of input parameters failed Errors (JSON)
401 If no JWT was provided or JWT is invalid Errors (JSON)
403 API key is invalid or any other condition hinders the login Errors (JSON)
423 The Authorization is valid but the user account is locked and cannot be accessed Errors (JSON)

Data Types

Account

Response

{
  "account" : "00012345/001.000.001",
  "type" : "CURRENT ACCOUNT",
  "iban" : "LI6808811000000001234",
  "customer" : "00012345 Satoshi Nakamoto",
  "currency" : "CHF",
  "balance" : 1000.0,
  "available" : 0.0
}

A single account instance

Properties

name data type constraints description
account string required The account number of the account
type string required The type of the account
iban string The iban of the account if exists
customer string required The customer data of the account which consists of the customer number and name
currency string required The account currency
balance number required The current account balance
available number The available amount of the account as defined in the online banking

Accounts

Response

{
  "date" : "2018-12-31",
  "moreResults" : false,
  "resultSetSize" : 2,
  "accounts" : [ {
    "account" : "00012345/001.000.001",
    "type" : "CURRENT ACCOUNT",
    "iban" : "LI6808811000000001234",
    "customer" : "00012345 Satoshi Nakamoto",
    "currency" : "CHF",
    "balance" : 1000.0,
    "available" : 0.0
  }, {
    "account" : "00012345/001.000.978",
    "type" : "CURRENT ACCOUNT",
    "iban" : "LI6808811000000001234",
    "customer" : "00012345 Satoshi Nakamoto",
    "currency" : "EUR",
    "balance" : -1321.0,
    "available" : 0.0
  } ]
}

The accounts message response body.

Properties

name data type constraints description
date string required The balance date (today)
moreResults boolean required Attribute indicates that more results are available on the server
resultSetSize number required Number of results in the returned result set
accounts array of Account The list of accounts

Approval

Response

{
  "contact" : "1234 Satoshi Nakamoto",
  "group" : 1,
  "dateOfApproval" : "2018-08-22T10:07:02"
}

A approval of a transaction.

Properties

name data type constraints description
contact string The contact information about the user who gave the approval
group number The contacts group if a special group policy applies
dateOfApproval string The date the approval was given

Authorize

Request

{
  "key" : "YourAPIkeyFromOnlineBanking"
}

The authorization message request body.

Properties

name data type constraints description
key string required The previously generated API-Key (Personal Access Token)

AuthorizeResponse

Response

{
  "token" : "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJCYW5rIEZyaWNrIFdlYkFQSSIsInN1YiI6IlRhZ2VzYWJzY2hsdXNzIiwiY29udGFjdCI6IjY3ODkiLCJuYW1lIjoiTWF4IE11c3RlciIsInBlcm1pc3Npb25zIjpbImFjY291bnRzIiwidHJhbnNhY3Rpb25zIiwiY2FtdDA1MiIsImNhbXQwNTMiXSwiYXVkIjoicHJvZHVjdGlvbiIsImV4cCI6MTU0NjMwMDgwMCwiaWF0IjoxNTMzMTA5MzIzfQ.DlxpBZMGAZx1xK-UdA-s9SrHMrEIt60waF1kLYG6kCuTRMrcDiS3KR8p0bAyZaLUWlfSJF3TCMb2Tup5MyLFWc0fZRJfu0mBEyz74ZwbSN9iTrwzzsfIuX2E1d895hR1MgsMy2i1Qu-vwZgsW0WivnNCHBMLZH0jM94v1czt7f0"
}

The authorization message response body.

Properties

name data type constraints description
token string required The assigned JWT for the login request

Charge

Enum values for the 'charge' field.

Properties

value description
BEN beneficiary pays costs
OUR sender pays costs
SHA shared costs

ConfirmMifid

Example

{
  "marketorderIds" : [ 12345, 12345 ],
  "confirmRiskClassification" : true,
  "confirmKnowledge" : true
}

Request body to confirm MiFID check result

Properties

name data type constraints description
marketorderIds array of number required A list of market order ids to be confirmed if MiFID confirmation is required
confirmRiskClassification boolean required Must be set to true in order to confirm the MiFID check result CONFIRMATION_REQURED for riskClassification of the instrument.
confirmKnowledge boolean required Must be set to true in order to confirm the MiFID check result CONFIRMATION_REQURED for riskClassification of the instrument.

CreateMarketorders

Request

{
  "marketorders" : [ {
    "customId" : "4711",
    "valoren" : "908440",
    "suffix" : "001",
    "isin" : "US0378331005",
    "tradingType" : "SELL",
    "totalQuantity" : 15.0,
    "limit" : 100.05,
    "validUntil" : "2020-08-27",
    "depot" : [ {
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-000",
      "quantity" : 15.0
    }, {
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-000",
      "quantity" : 15.0
    } ]
  }, {
    "customId" : "4711",
    "valoren" : "908440",
    "suffix" : "001",
    "isin" : "US0378331005",
    "tradingType" : "BUY",
    "totalQuantity" : 15.0,
    "limit" : 100.05,
    "validUntil" : "2020-08-27",
    "depot" : [ {
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-000",
      "quantity" : 15.0
    }, {
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-000",
      "quantity" : 15.0
    } ]
  } ]
}

The create marketorder request body.

Properties

name data type constraints description
marketorders array of Marketorder required the list of marketorders to be created

CreateTransaction

Request

{
  "transactions" : [ {
    "customId" : "A4711",
    "type" : "SEPA",
    "amount" : 1000.00,
    "currency" : "EUR",
    "express" : true,
    "valuta" : "2019-04-28",
    "valutaIsExecutionDate" : true,
    "reference" : "some individual text",
    "charge" : "SHA",
    "debitor" : {
      "iban" : "LI6808811000000001234"
    },
    "creditor" : {
      "name" : "Satoshi Nakamoto",
      "iban" : "DE12500105170648489890"
    }
  }, {
    "customId" : "A4712",
    "type" : "FOREIGN",
    "amount" : 1337.00,
    "currency" : "EUR",
    "express" : true,
    "reference" : "some individual text",
    "charge" : "SHA",
    "debitor" : {
      "iban" : "LI6808811000000001234"
    },
    "creditor" : {
      "accountNumber" : "123456123",
      "name" : "Satoshi Nakamoto",
        "address" : "Street 100",
        "postalcode" : "150004",
        "city" : "Tokyo",
        "country" : "Japan",
      "bic" : "MHCBJPJ6",
      "creditInstitution" : "MIZUHO BANK"
    }
  } ]
}

The create transactions request body.

Properties

name data type constraints description
transactions array of Transaction (new instance) required the list of transactions to be created

CustodyAccounts

Example

{
  "date" : "2018-12-31",
  "moreResults" : false,
  "resultSetSize" : 2,
  "custodyAccount" : "00012345-000",
  "type" : "DEPOT Satoshi Nakamoto",
  "customer" : "00012345 Satoshi Nakamoto",
  "positions" : [ {
    "valorNumber" : "000037310703-000",
    "valorName" : "BK FRICK CRYPTOCURRENCY I 01.7.22",
    "isin" : "LI0373107031",
    "valorCurrency" : "CHF",
    "currency" : "CHF",
    "currentPrice" : 234.14,
    "quantity" : 10.0,
    "marketValutation" : 2341.40,
    "valorCategory" : "181 - HYBRIDE INSTRUMENTE EIGENE",
    "courseDate" : "2018-04-10",
    "acqPrice" : 420000.0,
    "avePrice" : 450000.0,
    "winLoss" : 14250.0
  }, {
    "valorNumber" : "000000324410-000",
    "valorName" : "BMW AG",
    "isin" : "DE0005190003",
    "valorCurrency" : "EUR",
    "currency" : "CHF",
    "currentPrice" : 125.0,
    "quantity" : 4500.0,
    "marketValutation" : 562500.0,
    "valorCategory" : "201 - AKTIEN",
    "courseDate" : "2018-04-10",
    "acqPrice" : 4200000.0,
    "avePrice" : 4500000.0,
    "winLoss" : 142500.0
  } ]
}

A single custody account instance

Properties

name data type constraints description
date string The market valutation date
moreResults boolean Attribute indicates that more results are available on the server
resultSetSize number Number of results in the returned result set
custodyAccount string required The custody account number. This identifier can be used to access details information for the depot
type string The depot name/type
customer string customer The customer data of the account which consists of the customer number and name
positions array of CustodyAccountPosition

CustodyAccountPosition

Example

{
  "valorNumber" : "000000324410-000",
  "valorName" : "BMW AG",
  "isin" : "DE0005190003",
  "valorCurrency" : "EUR",
  "currency" : "CHF",
  "currentPrice" : 125.0,
  "quantity" : 4500.0,
  "marketValutation" : 562500.0,
  "valorCategory" : "201 - AKTIEN",
  "courseDate" : "2018-04-10",
  "acqPrice" : 4200000.0,
  "avePrice" : 4500000.0,
  "winLoss" : 142500.0
}

A single depot position item.

Properties

name data type constraints description
valorNumber string required The valor number
valorName string The valor name
isin string The valor position ISIN International Securities Identification Number
valorCurrency string The valor currency
currency string The customer currency
currentPrice string The current market price
quantity number The quantity
marketValutation number The current market valutation
valorCategory string The valor category
courseDate string Date of the current rating
acqPrice number The entry price of the position
avePrice number The average price
winLoss number The net profit/loss

CustodyAccountTransaction

Example

{
  "refid" : "123123",
  "status" : "BOOKED",
  "orderType" : "VCN - REDEMPTION",
  "valorNumber" : "000000008882",
  "valorName" : "ACTIVE BOND FUND PLUS - CHF",
  "isin" : "LI0326842163",
  "rate" : 100.34,
  "transactionDate" : "2018-12-31",
  "quantity" : 123.1234,
  "courtage" : 10.0,
  "fees" : 10.0,
  "exchange" : "011 - BALZERS",
  "currency" : "CHF",
  "totalAmount" : 123.12
}

A single transaction on a custody account.

Properties

name data type constraints description
refid string required The transaction reference id
status TransactionStatus required The transaction status
orderType string The order type
valorNumber string required The valor number
valorName string The valor name
isin string The valor position ISIN International Securities Identification Number
rate number The transaction rate
transactionDate string required The transaction date
quantity number The transaction quantiy
courtage number Transaction courtage
fees number Transaction fees amount
exchange string The exchange place
currency string required The transaction currency
totalAmount number required The transaction total amount

CustodyAccountTransactions

Example

{
  "date" : "2018-12-31",
  "moreResults" : false,
  "resultSetSize" : 2,
  "transactions" : [ {
    "refid" : "123123",
    "status" : "BOOKED",
    "orderType" : "VCN - REDEMPTION",
    "valorNumber" : "000000008882",
    "valorName" : "ACTIVE BOND FUND PLUS - CHF",
    "isin" : "LI0326842163",
    "rate" : 100.34,
    "transactionDate" : "2018-12-31",
    "quantity" : 123.1234,
    "courtage" : 10.0,
    "fees" : 10.0,
    "exchange" : "011 - BALZERS",
    "currency" : "CHF",
    "totalAmount" : 123.12
  }, {
    "refid" : "123123",
    "status" : "BOOKED",
    "orderType" : "VCN - REDEMPTION",
    "valorNumber" : "000000008882",
    "valorName" : "ACTIVE BOND FUND PLUS - CHF",
    "isin" : "LI0326842163",
    "rate" : 100.34,
    "transactionDate" : "2018-12-31",
    "quantity" : 123.1234,
    "courtage" : 10.0,
    "fees" : 10.0,
    "exchange" : "011 - BALZERS",
    "currency" : "CHF",
    "totalAmount" : 123.12
  } ]
}

The custodyaccounts transactions message response body.

Properties

name data type constraints description
date string required The result set date
moreResults boolean Attribute indicates that more results are available on the server
resultSetSize number Number of results in the returned result set
transactions array of CustodyAccountTransaction

DeleteMarketorders

Response

{
  "marketorderIds" : [ 12345, 12345 ]
}

The delete marketorder request body.

Properties

name data type constraints description
marketorderIds array of number required The marketorder ids (as assigned from the server) to be deleted

DeleteRequestTan

Response

{
  "challengeId" : "c6f8dd20-aad0-11e8-98d0-529269fb1459"
}

The delete request tan request body.

Properties

name data type constraints description
challengeId string required The challenge ID to be deleted, cancels the TAN challenge

DeleteTransaction

Response

{
  "orderIds" : [ 12345, 12345 ]
}

The delete transactions request body.

Properties

name data type constraints description
orderIds array of number required The order ids (as assigned from the server) to be deleted

ErrorMessage

Response

{
  "language" : "en",
  "message" : "Parameter iban is missing",
  "code" : "request_body_validation_error"
}

A single error message instance.

Properties

name data type constraints description
language string required The language of the message as ISO 639-1 code
message string required An explanation about the error
code string required An internal error code

Errors

Response

{
  "errors" : [ {
    "language" : "en",
    "message" : "Parameter iban is missing",
    "code" : "request_body_validation_error"
  }, {
    "language" : "en",
    "message" : "Parameter iban is missing",
    "code" : "request_body_validation_error"
  } ]
}

The error message response body.

Properties

name data type constraints description
errors array of ErrorMessage required the list of error messages

Info

Response

{
  "version" : "2.2.5-20180831-1144",
  "environment" : "production",
  "messages" : [ {
    "title" : "Maintenance",
    "message" : "Due to maintenance work, online banking will not be available on 26.07.2018 from 05:00 to 06:00. We apologize for any inconvenience."
  }, {
    "title" : "Maintenance",
    "message" : "Due to maintenance work, online banking will not be available on 26.07.2018 from 05:00 to 06:00. We apologize for any inconvenience."
  } ]
}

The info response message body.

Properties

name data type constraints description
version string required The version information of the webapi service
environment string required The webapi environment
messages array of InfoMessage The list of messages

InfoMessage

Response

{
  "language" : "en",
  "title" : "Maintenance",
  "message" : "Due to maintenance work, online banking will not be available on 26.07.2018 from 05:00 to 06:00. We apologize for any inconvenience."
}

A single info message instance.

Properties

name data type constraints description
language string required The language of the message as ISO 639-1 code
title string The message title
message string The message content

Instrument

Response

{
  "valoren" : "908440",
  "suffix" : "000",
  "isin" : "US0378331005",
  "symbol" : "AAPL",
  "name" : "APPLE INC",
  "additionalName" : "APPLE INC",
  "currency" : "USD",
  "domicile" : "US",
  "type" : "BONDS",
  "canTrade" : true,
  "recentPrice" : {
    "dateTime" : "2020-08-22T10:07:02",
    "price" : 12345.0,
    "currency" : "...",
    "percentPrice" : true
  },
  "denomination" : 12345.0
}

Object representing a specific financial instrument.

Properties

name data type constraints description
valoren string required The valoren number of the instrument.
suffix string In case the valoren number is not unique (e.g. securities exists for different currencies) the suffix must be given to identify the instrument correctly. Defaults to 000.
isin string The ISIN of the financial instrument
symbol string The symbol of valoren if available
name string The name of the valoren
additionalName string An additional name or details, e.g. company name
currency string The currency of the financial instrument
domicile string The domicile of the instrument
type InstrumentTypeGroup The type of the securities
canTrade boolean If false this financial instrument cannot currently be purchased in online banking. Please contact your client advisor if you are interested in this instrument.
recentPrice ValuationPrice The most recent valuation price
denomination number

InstrumentSearchResult

Example

{
  "moreResults" : false,
  "resultSetSize" : 2,
  "instruments" : [ {
    "valoren" : "908440",
    "suffix" : "000",
    "isin" : "US0378331005",
    "symbol" : "AAPL",
    "name" : "APPLE INC",
    "additionalName" : "APPLE INC",
    "currency" : "USD",
    "domicile" : "US",
    "type" : "FUNDS",
    "canTrade" : true,
    "recentPrice" : {
      "dateTime" : "2020-08-22T10:07:02",
      "price" : 12345.0,
      "currency" : "...",
      "percentPrice" : true
    },
    "denomination" : 12345.0
  }, {
    "valoren" : "908440",
    "suffix" : "000",
    "isin" : "US0378331005",
    "symbol" : "AAPL",
    "name" : "APPLE INC",
    "additionalName" : "APPLE INC",
    "currency" : "USD",
    "domicile" : "US",
    "type" : "BONDS",
    "canTrade" : true,
    "recentPrice" : {
      "dateTime" : "2020-08-22T10:07:02",
      "price" : 12345.0,
      "currency" : "...",
      "percentPrice" : true
    },
    "denomination" : 12345.0
  } ]
}

Result container for a securities search.

Properties

name data type constraints description
moreResults boolean required Attribute indicates that more results are available on the server
resultSetSize number required Number of results in the returned result set
instruments array of Instrument

InstrumentTypeGroup

Securities type

Properties

value description
STOCKS Equities
BONDS Bonds / Obligations
STRUCTURED_PRODUCTS Structured products
FUNDS Funds
CRYPTO_CURRENCIES Crypto currencies

Marketorder

Example

{
  "marketorderId" : 4711,
  "customId" : "4711",
  "state" : "ERROR",
  "tradingType" : "SELL",
  "totalQuantity" : 15.0,
  "limit" : 100.05,
  "validUntil" : "2020-08-27",
  "instrument" : {
    "valoren" : "908440",
    "suffix" : "000",
    "isin" : "US0378331005",
    "symbol" : "AAPL",
    "name" : "APPLE INC",
    "additionalName" : "APPLE INC",
    "currency" : "USD",
    "domicile" : "US",
    "type" : "STOCKS",
    "canTrade" : true,
    "recentPrice" : {
      "dateTime" : "2020-08-22T10:07:02",
      "price" : 12345.0,
      "currency" : "...",
      "percentPrice" : true
    },
    "denomination" : 12345.0
  },
  "depot" : [ {
    "accountNumber" : "00012345/001.000.001",
    "name" : "Max Muster",
    "iban" : "LI6808811000000001234",
    "depot" : "1234567-000",
    "quantity" : 15.0,
    "riskClassification" : "CONFIRMATION_REQUIRED",
    "knowledge" : "CONFIRMED"
  }, {
    "accountNumber" : "00012345/001.000.001",
    "name" : "Max Muster",
    "iban" : "LI6808811000000001234",
    "depot" : "1234567-000",
    "quantity" : 15.0,
    "riskClassification" : "CONFIRMATION_REQUIRED",
    "knowledge" : "CONFIRMATION_REQUIRED"
  } ],
  "creator" : "1234 Max Muster",
  "createDate" : "2018-08-22T10:07:02",
  "approvals" : [ {
    "contact" : "1234 Max Muster",
    "group" : 1,
    "dateOfApproval" : "2018-08-22T10:07:02",
    "dateOfRejection" : "2018-08-22T10:07:02"
  }, {
    "contact" : "1234 Max Muster",
    "group" : 1,
    "dateOfApproval" : "2018-08-22T10:07:02",
    "dateOfRejection" : "2018-08-22T10:07:02"
  } ],
  "rejector" : {
    "contact" : "1234 Max Muster",
    "group" : 1,
    "dateOfApproval" : "2018-08-22T10:07:02",
    "dateOfRejection" : "2018-08-22T10:07:02"
  },
  "date" : "..."
}

List of market orders response body

Properties

name data type constraints description
marketorderId number required The unique marketorder id as assigned by the system
customId string required Unique custom marketorder id for a order given by the client
state State required The state of the market order
tradingType TradingType required The trading type of the order
totalQuantity number required, min: 0, max digits: 16 (integer), 6 (fraction) The total quantity of the order, must be the sum of all individual quantities in case of a block order.
limit number min: 0, max digits: 16 (integer), 6 (fraction) The limit of the order. The limit always refers to a single position.
validUntil string The date until the order is valid. Must not exceed 90 days in the future.
instrument Instrument The financial instrument to be traded by the market order
depot array of MarketOrderDepot required The list of depots. Must at least contain one entry.
creator string The creator contact information
createDate string The create date
approvals array of Approval A list of confirmation approvals given to the market order
rejector Approval Person who has rejected the market order so the order will not be executed
date string

Marketorders

Example

{
  "moreResults" : false,
  "resultSetSize" : 2,
  "marketorders" : [ {
    "marketorderId" : 4711,
    "customId" : "4711",
    "state" : "BOOKED",
    "tradingType" : "SELL",
    "totalQuantity" : 15.0,
    "limit" : 100.05,
    "validUntil" : "2020-08-27",
    "instrument" : {
      "valoren" : "908440",
      "suffix" : "000",
      "isin" : "US0378331005",
      "symbol" : "AAPL",
      "name" : "APPLE INC",
      "additionalName" : "APPLE INC",
      "currency" : "USD",
      "domicile" : "US",
      "type" : "STOCKS",
      "canTrade" : true,
      "recentPrice" : { },
      "denomination" : 12345.0
    },
    "depot" : [ {
      "accountNumber" : "00012345/001.000.001",
      "name" : "Max Muster",
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-000",
      "quantity" : 15.0,
      "riskClassification" : "OK",
      "knowledge" : "CONFIRMED"
    }, {
      "accountNumber" : "00012345/001.000.001",
      "name" : "Max Muster",
      "iban" : "LI6808811000000001234",
      "depot" : "1234567-000",
      "quantity" : 15.0,
      "riskClassification" : "OK",
      "knowledge" : "OK"
    } ],
    "creator" : "1234 Max Muster",
    "createDate" : "2018-08-22T10:07:02",
    "approvals" : [ {
      "contact" : "1234 Max Muster",
      "group" : 1,
      "dateOfApproval" : "2018-08-22T10:07:02",
      "dateOfRejection" : "2018-08-22T10:07:02"
    }, {
      "contact" : "1234 Max Muster",
      "group" : 1,
      "dateOfApproval" : "2018-08-22T10:07:02",
      "dateOfRejection" : "2018-08-22T10:07:02"
    } ],
    "rejector" : {
      "contact" : "1234 Max Muster",
      "group" : 1,
      "dateOfApproval" : "2018-08-22T10:07:02",
      "dateOfRejection" : "2018-08-22T10:07:02"
    },
    "date" : "..."
  }]
}

List of market orders response body

Properties

name data type constraints description
moreResults boolean required Attribute indicates that more results are available on the server
resultSetSize number required Number of results in the returned result set
marketorders array of Marketorder required the list of transactions

OrderingCustomer

Example

{
  "name" : "Max Muster",
  "address" : "Street 100",
  "postalcode" : "101000",
  "city" : "Moscow",
  "country" : "Russia"
}

Detail information about an ordering customer. Only relevant for correspondence payments.

Properties

name data type constraints description
name string required, max size: 35, min size: 0 The name of the customer
address string required, max size: 70, min size: 0 Address information of the ordering customer (e.g. Street)
postalcode string required, max size: 11, min size: 0 Postalcode of the ordering customer address
city string required, max size: 70, min size: 0 City of the ordering customer address
country string required, max size: 70, min size: 0 Country of the ordering customer

MarketorderDepot

Example

{
  "accountNumber" : "00012345/001.000.001",
  "name" : "Max Muster",
  "iban" : "LI6808811000000001234",
  "depot" : "1234567-000",
  "quantity" : 15.0,
  "riskClassification" : "CONFIRMED",
  "knowledge" : "CONFIRMED"
}

A depot entry for the marketorder.

Properties

name data type constraints description
accountNumber string required The account number of the settlement account
name string required The name of the customer
iban string required, max size: 34, min size: 0 The iban of the settlement account
depot string required, max size: 11, min size: 0 The depot reference number
quantity number required, min: 0, max digits: 16 (integer), 6 (fraction) The quantity for the depot. In case the order has only one depot position, the quantity must be equal to the total quantity.
riskClassification MifidStatus Verification of the risk profile of the customer compared to the instrument risk of the securities. If the instrument risk is exceeded, the order must be explicitly confirmed using the mifid confirmation resource.
knowledge MifidStatus Verification of the product knowledge of the customer. If the knowledge check failed, the order must be explicitly confirmed using the mifid confirmation resource.

Method

Enum values for the 'method' field

Properties

value description
SMS_TAN TAN send by SMS
PUSH_TAN TAN send by PushTAN App
SECURITY_TOKEN TAN generated by hardware token

MifidStatus

The status of MIFID confirmation

Properties

value description
OK
CONFIRMATION_REQUIRED
CONFIRMED

RequestTan

Response

{
  "orderIds" : [ 12345, 12345 ],
  "customIds" : [ "...", "..."],
  "method" : "SMS_TAN"
}

The request tan request body.

Properties

name data type constraints description
orderIds array of number The order ids (as assigned from the server) to request a tan for. Either orderIds, customIds or combination of both must be given.
customIds array of string The custom ids (as assigned from the client) to request a tan for. Either orderIds, customIds or combination of both must be given.
method Method required The TAN method to be used for sending the TAN

RequestTanOrder

Response

{
  "marketorderIds" : [ 12345, 12345 ],
  "customIds" : [ "...", "..." ],
  "method" : "SMS_TAN",
  "securityTokenSerial" : "..."
}

The request tan response body.

Properties

name data type constraints description
marketorderIds array of number The marketorder ids (as assigned from the server) to request a tan for. Either marketorderIds, customIds or combination of both must be given.
customIds array of string The custom ids (as assigned from the client) to request a tan for. Either marketorderIds, customIds or combination of both must be given.
method Method required The TAN method to be used for sending the TAN
securityTokenSerial string Only for SECURITY_TOKEN method to specify which security token will be used to fulfill the tan challenge. The serial is located on the back on the device and must be linked to the users account.

RequestTanResponse

Response

{
  "challange" : "c6f8dd20-aad0-11e8-98d0-529269fb1459",
  "expires" : "2020-08-22T10:07:02.895"
}

The request tan response body.

Properties

name data type constraints description
challange string required A challenge id which must be returned to the server when resolving the tan request
expires string required The time until the tan challenge must be resolved

SignOrdersWithoutTan

Response

{
  "marketorderIds" : [ 12345, 12345 ],
  "customIds" : [ "...", "..." ]
}

The sign market orders without tan request body message.

Properties

name data type constraints description
marketorderIds array of number required The marketorder ids (as assigned from the server) to be approved by the user. Either marketorderIds, customIds or combination of both must be given.
customIds array of string required The custom marketorder ids (as assigned from the client) to be approved by the user. Either marketorderIds, customIds or combination of both must be given.

SignTransactionsWithTan

Response

{
  "challengeId" : "zRsFYey8/uVscFn3UVxmpisAlbigLEsvy1M5crtRhMc=",
  "tan" : "123456"
}

The sign transactions with tan request body message.

Properties

name data type constraints description
challengeId string required The challenge id as given in the requestTan response message
tan string required The received (SMS-)TAN

SignTransactionsWithoutTan

Response

{
  "orderIds" : [ 12345, 12345 ]
}

The sign transactions without tan request body message.

Properties

name data type constraints description
orderIds array of number required The order ids (as assigned from the server) to be approved by the user

State

Enum values for the 'state' field.

Properties

value description
PREPARED The transaction is stored but not yet processed
IN_PROGRESS The transaction is being processed
DELETED The transaction was deleted
EXPIRED The transaction expired
EXECUTED The transaction was executed
REJECTED The transaction was rejected
ERROR The transaction was faulty
DELETION_REQUESTED The deletion of the transaction is currently requested in online banking
BOOKED Status representing transactions that are booked on the account (camt053 relevant). NOTE: For querying BOOKED transactions, the filter must be set accordingly.

TradingType

The trading types.

Properties

value description
BUY
SELL

Transaction (new instance)

Request

{
    "transactions" : [ {
    "customId" : "A4711",
    "type" : "SEPA",
    "amount" : 1000.00,
    "currency" : "EUR",
    "express" : true,
    "valuta" : "2019-04-28",
    "valutaIsExecutionDate" : true,
    "reference" : "some individual text",
    "charge" : "SHA",
    "debitor" : {
      "iban" : "LI6808811000000001234"
    },
    "creditor" : {
      "name" : "Satoshi Nakamoto",
      "iban" : "DE12500105170648489890"
   }
  } ]
}

A single transaction instance to be created.

Properties

name data type constraints description
customId string required, max size: 50, min size: 0 Unique custom id for a transaction given by the client
type Type required The type of the payment order
amount number required, min: 0.01, max digits: 12 (integer), 2 (fraction) The amount of the transaction
currency string required, max size: 3, min size: 0 The transaction currency
express boolean required Information if it is a express transaction
valuta string The value date or execution date of the transaction. If not set, it will be set to the current day (default)
valutaIsExecutionDate boolean Indicates if the valuta date is the requested execution date (true) or desired value date (false). If not set it will be the requested execution date (default)
reference string max size: 140, min size: 0 The reference text or individual note
charge Charge required when type FOREIGN The charging type
correspondence boolean Must be set to true in case of correspondence payment
orderingCustomer OrderingCustomer In case of correspondence payment information about the ordering customer must be given
debitor TransactionDebitorAccount required The client information about the transaction
creditor TransactionCreditorAccount required The beneficiary information about the transaction

Transaction (existing instance)

Response

{
  "transactionNr" : "3307348",
  "serviceType" : "EUROSIC",
  "transactionCode" : "120 - Eingang (Kundenvergütungen)",
  "state" : "BOOKED",
  "fxrate" : 1.05000000,
  "fxPair" : "CHF/EUR",
  "fxTransactionAmount" : 10000.00,
  "fxTransactionCurrency" : "CHF",
  "md" : "D",
  "amount" : 9523.80,
  "totalAmount" : 9523.80,
  "currency" : "EUR",
  "valuta" : "2022-05-01",
  "bookingDate" : "2022-05-01",
  "reference" : "Some Individual Text",
  "direction" : "incoming",
  "debitor" : {
    "name" : "Satoshi Nakamoto",
    "address" : "Street 100",
    "iban" : "CH10001000111000100110",
    "bic" : "ZKBKCHZZ80A",
    "creditInstitution" : "Zuercher Kantonalbank"
  },
  "creditor" : {
    "name" : "Satoshi Nakamoto",
    "iban" : "LI6808811000000001234",
    "bic" : "BFRILI22XXX",
    "creditInstitution" : "Bank Frick and Co. AG"
   }
},{
  "orderId" : 123456,
  "transactionNr" : "3307350",
  "serviceType" : "SWIFT",
  "transactionCode" : "116 - Vergütung SWIFT",
  "state" : "BOOKED",
  "amount" : -100.00,
  "totalAmount" : -100.00,
  "currency" : "EUR",
  "valuta" : "2022-05-01",
  "bookingDate" : "2022-05-01",
  "reference" : "Some Individual Text",
  "direction" : "outgoing",
  "debitor" : {
    "name" : "Max Muster",
    "iban" : "LI08088110102720K000E",
    "bic" : "BFRILI22XXX",
    "creditInstitution" : "Bank Frick and Co. AG"
  },
  "creditor" : {
    "name" : "Satoshi Nakamoto",
    "iban" : "LT100101101010010101",
    "bic" : "REVOLT21XXX",
    "creditInstitution" : "REVOLUT PAYMENTS UAB"
  }

A single transaction existing instance.

Properties

name data type constraints description
orderId number The order id as assigned by the system
customId string Unique custom id for a transaction given by the client
transactionNr number Unique reference of the booking assigned by the financial institution
serviceType string required The type of the transaction - SWIFT / SIC / EUROSIC
type Type required The type of the payment order
state State required The state of the payment order
transactionCode string The transaction code. This is only available for booked transactions
fees number The fees of the transaction. This is only available for booked transactions
fxrate number The exchange rate of the transaction. Only relevant in case of currency change.
fxPair string The currency pair in case of foreign exchange. Only relevant in case of currency change.
fxTransactionAmount number The transaction amount in foreign currency. Only relevant in case of currency change.
fxTransactionCurrency string The foreign currency. Only relevant in case of currency change.
md string The exchange rate multiplicant (M = multiply, D = devision). Only relevant in case of currency change.
amount number required The amount of the transaction (net amount)
totalAmount number required The total amount of the transaction
currency string required The transaction currency
express boolean required Information if it is a express transaction
valuta string The value date or execution date of the transaction
bookingDate string The booking date of the transaction. This is only available for booked transactions
valutaIsExecutionDate boolean Indicates if the valuta date is the requested execution date (true) or desired value date (false). If not set it will be the requested execution date (default)
reference string The reference text of individual notes
charge Charge The charging system of the transaction
correspondence boolean Must be set to true in case of correspondence payment
direction string Either "incoming", "outgoing" or "return".
orderingCustomer OrderingCustomer In case of correspondence payment information about the ordering customer must be given
debitor TransactionAccount required The client information about the transaction
creditor TransactionAccount required The beneficiary information about the transaction
creator string required The creator contact information
createDate string The create date
right string required The write privilege of the creator in regards to the customer
groupPolicy string Information about applied group policy
group number Information about the creators group in case a group policy applies
quorum number The total number of approvals required for the transaction
approvals array of Approval A list of approvals given to the payment order

TransactionAccount

Request

{
  "accountNumber" : "00012345678",
  "iban" : "DE12500105170648489890",
  "name" : "Satoshi Nakamoto",
    "address" : "Street 100",
    "postalcode" : "150004",
    "city" : "Berlin",
    "country" : "Germany",
  "bic" : "INGDDEFFXXX",
  "creditInstitution" : "ING-DiBa",
  "qrReference" : "961116900000006600000009284"
}

Debitor or creditor account information of the transaction.

Properties

name data type constraints description
accountNumber string max size: 30, min size: 0 The account number of the recipient (instead of IBAN, only type = FOREIGN )
aba string max size: 11, min size: 0 The aba routing number of the recipient credit institution (only type = FOREIGN)
iban string max size: 34, min size: 0 The iban of the recipient account
name string required, max size: 35, min size: 0 The name of the recipient
address string max size: 70, min size: 0 Address information of the recipient (e.g. Street), for international transfers or payments in USD
postalcode string max size: 11, min size: 0 Postalcode of the recipient address, for international transfers or payments in USD
city string max size: 70, min size: 0 City of the recipient, for international transfers or payments in USD
country string max size: 70, min size: 0 Country of the recipient, for international transfers or payments in USD
bic string max size: 11, min size: 0 The bic of the recipient credit institution (only type = FOREIGN)
creditInstitution string max size: 50, min size: 0 The recipient credit institution (only type = FOREIGN)
qrReference string max size: 27, min size: 0 The qr bill reference number in case of type = QR_BILL)

TransactionCreditorAccount

Request

{
  "accountNumber" : "00012345678",
  "iban" : "DE12500105170648489890",
  "name" : "Satoshi Nakamoto",
    "address" : "Street 100",
    "postalcode" : "150004",
    "city" : "Berlin",
    "country" : "Germany",
  "bic" : "INGDDEFFXXX",
  "creditInstitution" : "ING-DiBa",
  "qrReference" : "961116900000006600000009284"
}

The transactions beneficiary account information.

Properties

name data type constraints description
accountNumber string max size: 30, min size: 0 The account number of the recipient (instead of IBAN, only type = FOREIGN )
aba string max size: 11, min size: 0 The aba routing number of the recipient credit institution (only type = FOREIGN)
iban string max size: 34, min size: 0 The iban of the recipient account
name string required, max size: 35, min size: 0 The name of the recipient
address string max size: 70, min size: 0 Address information of the recipient (e.g. Street), for international transfers or payments in USD
postalcode string max size: 11, min size: 0 Postalcode of the recipient address, for international transfers or payments in USD
city string max size: 70, min size: 0 City of the recipient, for international transfers or payments in USD
country string max size: 70, min size: 0 Country of the recipient, for international transfers or payments in USD
bic string max size: 11, min size: 0 The bic of the recipient credit institution (only type = FOREIGN)
creditInstitution string max size: 50, min size: 0 The recipient credit institution (only type = FOREIGN)
qrReference string max size: 27, min size: 0 The qr bill reference number in case of type = QR_BILL)

TransactionDebitorAccount

Request

{
  "iban" : "LI6808811000000001234"
}

The transactions client account information.

Properties

name data type constraints description
iban string required, max size: 34, min size: 0 the account iban of the sender

Transactions

Response

{
  "moreResults" : false,
  "resultSetSize" : 2,
  "transactions" : [ {
    "orderId" : 20222,
    "customId" : "4711",
    "type" : "FOREIGN",
    "state" : "EXPIRED",
    "amount" : 1321.00,
    "currency" : "EUR",
    "valuta" : "2018-08-27",
    "express" : true,
    "valuta" : "2019-04-28",
    "valutaIsExecutionDate" : true,
    "reference" : "Some Individual Text",
    "charge" : "OUR",
    "debitor" : {
      "accountNumber" : "00012345/001.000.001",
      "name" : "Satoshi Nakamoto",
      "iban" : "LI6808811000000001234",
      "bic" : "INGDDEFFXXX",
      "creditInstitution" : "ING-DiBa",
      "qrReference" : "961116900000006600000009284"
    },
    "creditor" : {
      "accountNumber" : "00012345/001.000.001",
      "name" : "Satoshi Nakamoto",
      "iban" : "LI6808811000000001234",
      "bic" : "INGDDEFFXXX",
      "creditInstitution" : "ING-DiBa",
      "qrReference" : "961116900000006600000009284"
    },
    "creator" : "1234 Satoshi Nakamoto",
    "createDate" : "2018-08-22T10:07:02",
    "right" : "Bevollmächtigter kollektiv zu 2",
    "groupPolicy" : "Group intern",
    "group" : 1,
    "quorum" : 2,
    "approvals" : [ {
      "contact" : "1234 Satoshi Nakamoto",
      "group" : 1,
      "dateOfApproval" : "2018-08-22T10:07:02"
    }, {
      "contact" : "1234 Satoshi Nakamoto",
      "group" : 1,
      "dateOfApproval" : "2018-08-22T10:07:02"
    } ]
  }, 
    {
      "orderId": 12345,
      "transactionNr": "1234567",
      "serviceType": "SIC",
      "transactionCode": "102-Transfer int. with Avis/Geb",
      "state": "BOOKED",
      "amount": -200.00,
      "totalAmount": 10060.00,
      "currency": "CHF",
      "valuta": "2020-04-01",
      "bookingDate": "2020-04-01",
      "reference": "Payment to Satoshi Nakamoto",
      "debitor": {
        "name": "Michael Tester",
        "iban": "LI6808811000000001234",
        "bic": "BFRILI22XXX",
        "creditInstitution": "Bank Frick and Co. AG"
      },
      "creditor": {
        "name": "Satoshi Nakamoto",
        "iban": "DE12500105170648489890",
        "bic": "INGDDEFFXXX",
        "creditInstitution": "ING-DiBa GERMANY"
      }
    }
  ]
}

The transactions message response body.

Properties

name data type constraints description
moreResults boolean required Attribute indicates that more results are available on the server
resultSetSize number required Number of results in the returned result set
transactions array of Transaction (existing instance) required the list of transactions

TransactionStatus

Enum values for the 'status' field.

Properties

name description
BOOKED

Type

Enum values for the 'type' field

Properties

value currency description
INTERNAL Any Transfer to another bank account within the same customer account
BANK_INTERNAL Any Transfer to another bank account at Bank Frick owned by another customer account
SEPA Euro SEPA Payment (Only transactions in Euro to European countries)
FOREIGN Any International Transfer (SWIFT)
QR_BILL CHF QR Bill Payment Slip with QR reference (Only in Switzerland)

ValuationPrice

Example

{
  "dateTime" : "2020-08-22T10:07:02",
  "price" : 12345.0,
  "currency" : "...",
  "percentPrice" : true
}

Container for a valuation price

Properties

name data type constraints description
dateTime string required The iso date time of the valuation
price number required
currency string required
percentPrice boolean