Retrieving settlement reports
In this section, we show you how to access the specific treasury reports via the Investment API.
The process consists of two steps: first you have to fetch a signed URL, in the second step you can download the corresponding data via this URL.
Get reports
For the specific treasury reports you want to call up, proceed as described for the general data retrieval. Again, two steps are required, except that you now have to address dedicated static URLs in your request.
The purpose of each endpoint corresponds to a specific report.
1. Get signed URL
Call one of the static reports endpoints listed in the table below to request a signed URL and file metadata.
The file sharing API requires a folder name (e.g., settlement_reports
) and the requested file name (e.g., 'incoming_ca_DDMMYYYY.csv' ). The file names follow naming conventions, which are described in more detail here.
GET /files/settlement_reports/[fileName]
Example response
{
"signed_url": "https://storage.googleapis.com/upvest-tooling-datasharing-service-ia-unstable-7263/48785b65bb0459547f9940db7678ef7601dc8826/test.txt?Expires=1680268944&GoogleAccessId=tooling-datasharing-service%40ia-unstable-7263.iam.gserviceaccount.com&Signature=AhbTgjMpKo%2BRB4T5pDEKI3Rw0kCWqyOPvkgKJHpvRKV%2FtSmWi2WvGPShBqc%2FvewnBSnFPeE%2BDrx5fdYSFbZ9WUo3n2BFUtFo%2FRIuh8zNyX5K7og58qO67PRlXKl%2B3HbHDyAx%2FgiOzmAbcIy0Au4LT%2F%2BYe2QMCVxxL7iM%2BPj5toANCyjZflTxM%2BdyZENhgiJ2j6q9uPsjBCP68PFHv%2BIwIIpsJhp9mTOIqH%2Bsbi%2FBckKHtYrrzCV1VzOpKi527y0%2FYUnmWDoV4ADXUmLuH73LlcoQ%2FOjBPvjR7PZCFT2yL4f9CBITfMzFacBDlX4jMZGZq%2BEbd04wxjMWQ%2B3N06zPeg%3D%3D",
"updated_at": "2023-03-31T12:30:13Z"
}
File naming convention
All settlement reports currently follow this naming convention:
{direction}_{type}_{settlement_date}.csv
To comply with the Swift symbol policy, file names differ depending on the setup: If you want the file name in the payment reference, we switch the characters from _
to -
.
Example file names
* buy-trading-ddmmyyyy.csv
* sell-trading-ddmmyyyy.csv
* incoming-ca-ddmmyyyy.csv
* incoming-fee-ddmmyyyy.csv
* tax-treasury-ddmmyyyy.csv
This file name needs to be provided during step 1 of the described file sharing process.
Static reports endpoints
The following table lists the static endpoints for the different reports:
Report | Static endpoint |
---|---|
Corporate action cash settlement | https://api.upvest.co/files/settlement_reports/incoming _ca_DDMMYYYY.csv |
Daily trades settlement - Buy | https://api.upvest.co/files/settlement_reports/buy_trading_DDMMYYYY.csv |
Daily trades settlement - Sell | https://api.upvest.co/files/settlement_reports/sell_trading_DDMMYYYY.csv |
Fee collection cash settlement | https://api.upvest.co/files/settlement_reports/incoming_fee_DDMMYYYY.csv |
2. Fetching the report
Use the signed URL returned in the response from step 1 to download the reporting files.
GET <PROVIDED “signed_url” PARAMETER>
Please note that the signed URL is only valid for 15 minutes and only allows reads for the bucket.
Status code 400
If at the time of step 2 the signed url has already expired and the file has been deleted for security reasons, you will receive status code 400
and an expired token error:
Example 'Expired token'
The provided token has expired.Request signature expired at: 2023-03-30T22:04:46+00:00
In this case, request a signed URL again (see step 1).
Settlement advice webhooks
Through the Investment API, we provide a treasury reporting webhook that allows us to notify clients when we have a settlement report for them.
By accessing this webhook, clients receive information on the amounts of money to be transferred for settlement.
Example webhook (outgoing)
{
"id": "8962b496-8d42-4560-bfab-10490dd1a721",
"created_at": "2023-05-08T10:42:34.758Z",
"type": "TREASURY_REPORT.CREATED",
"object": {
"id": "6e736b54-ed57-46ad-8620-0ef59ddd8e6d",
"type": "TRADING",
"settlement_amount": "123.12",
"report_date": "2023-05-08",
"direction": "OUTGOING",
"filename": "trading_buy_05082023.csv"
},
"webhook_id": "9df39835-be87-4243-9018-f2500b39cee6"
}
The webhook provides you the following information:
Parameter | Example | Description |
---|---|---|
created_at | 2023-05-08T10:42:34.758Z | The date and time when the webhook was created (e.g., when Upvest issued a report to the client.) |
direction | OUTGOING | The direction of the treasury operation from the perspective of the customer (INCOMING or OUTGOING ). |
filename | trading_buy_05082023.csv | The file name with which the client can retrieve the file from the /files endpoint. |
report_date | 2023-05-0 8 | The date for which the report is created. |
settlement_amount | 123.12 | The amount the client needs to transfer. |
type | TRADING | The settlement type (TRADING or CORPORATE ACTIONS) . |