Download OpenAPI specification:Download
The finoOS API provides a safe and secure way to access financial services powered by fino.
Once you have obtained a name
and secret
, you can start using the finoOS API as described in the following sections.
All endpoints are located at https://os.fino.cloud/api/v1
for production access and https://os.test.fino.cloud/api/v1
for testing access.
To get started with the finoOS API, check out our Quickstart guide.
Follow these steps to get up and running with the finoOS API by connecting a bank login with our Banking service and retrieve the bank data of your user.
Before you can start to integrate with our API, make sure you have received your credentials name
and secret
for our testing environment.
To access the finoOS API, you need to authenticate yourself with the API and obtain an accessToken
. This
accessToken
needs to be provided in every subsequent request, otherwise you will not be able to access
the API.
To authenticate with the API you need your name
and secret
and request a token via our
Authenticate endpoint.
curl -s -X POST https://os.test.fino.cloud/api/v1/auth \
-H "Content-Type: application/json" \
-d '{"name": "<YOUR_NAME>", "secret": "<YOUR_SECRET>"}'
The finoOS API will return the following object.
{
"accessToken": "<ACCESS_TOKEN>",
"refreshToken": "<REFRESH_TOKEN>",
"expiresIn": 300,
"refreshExpiresIn": 1800
}
The response contains the required accessToken
which you will need to provide in the next steps. It also
contains a refreshToken
which you will need to refresh your authentication
when the accessToken
has expired.
To connect a bank login, you first need to create a user for whom you want to connect the bank login. finoOS distinguishes users in two different types:
person
(a real human being)company
(businesses, SMEs, etc.)Choosing the type of the user will influence how finoOS analyzes the user's data. To learn more about this, check out the Users section. For now, we will assume the user is a person.
To access the Create User endpoint, you need to provide the
accessToken
from the first step via the Authorization
header and send the following request.
curl -s -X POST https://os.test.fino.cloud/api/v1/users \
-H "Content-Type: application/json" \
-H "Authorization: <ACCESS_TOKEN>" \
-d '{"type": "person"}'
The finoOS API will return the following object.
{
"id": "<USER_ID>"
}
The provided id
is a unique identifier belonging to this user, which you need to provide in the next steps.
The finoOS API provides two different ways to connect a bank login. Depending on how you want to process your user's data, you can connect the bank login of a user via
If you want to use our Banking UI, proceed with Step 4a. If you already possess the user's bank data and want to send it directly to our API, proceed with Step 4b.
To access our Banking UI, you need to create a session to connect the user to the Banking service and redirect your user to our UI.
You need to provide three URLs where we can redirect the user to after the bank login. This way, you can provide different URLs in case of
redirectURL
errorURL
exitURL
To access the Create Connect User Session endpoint,
you will also need the id
of the user from the second step and your accessToken
. Send the following request.
curl -s -X POST https://os.test.fino.cloud/api/v1/users/<USER_ID>/banking/connect \
-H "Content-Type: application/json" \
-H "Authorization: <ACCESS_TOKEN>" \
-d '{
"errorURL": "https://yourapp.com/your-error-redirect-resource",
"exitURL": "https://yourapp.com/your-exit-redirect-resource",
"recurring": true,
"redirectURL": "https://yourapp.com/your-success-redirect-resource"
}'
The finoOS API will return the following object.
{
"redirectURL": "https://uba.test.fino.run/auth..."
}
Redirect your user to the redirectURL
of the response object. The user will now be presented our secure
Banking UI to connect the bank login.
First, the user needs to choose a bank and provide their credentials. To try it out, you can search for the
fino Bank
(bank code is 10020000) and enter the following credentials:
dummy
654321
Second, the user needs to enter a generated TAN for the Strong Customer Authentication(SCA). For the provided test bank login, the TAN will be presented on the Banking UI screen as shown below.
The user is now connected to our Banking service and will be redirected to the redirectURL
you provided on the initial
request.
To connect the bank login directly via our API, you need to possess the bank login data and set the logins of the user via the Set Logins endpoint.
To try it out, you can use the provided bank login data in the request below. You need to provide the id
of the user from
Step 3 and your accessToken
.
curl -s -X POST https://os.test.fino.cloud/api/v1/users/<USER_ID>/banking/logins \
-H "Authorization: <ACCESS_TOKEN>" \
-d '{
"logins": [
{
"accounts": [
{
"balance": 2004.41,
"creditLine": 0,
"currency": "EUR",
"iban": "DE64100200007791587578",
"id": "A38253.f837c3ab353",
"monthlySpendingLimit": 6000,
"name": "Girokonto",
"number": "83767594",
"owner": "Torben Mais",
"securities": [
{
"accountID": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
"amount": 200,
"currency": "EUR",
"exchangeRate": 1.23,
"id": "5ecd4d9bb9e14800012d99e9",
"isin": "US0378331005",
"market": "NASDAQ",
"name": "finoOS Security",
"priceAmount": 100,
"priceCurrency": "EUR",
"purchasePriceAmount": 150,
"purchasePriceCurrency": "EUR",
"quantity": 40
}
],
"standingOrders": [
{
"accountID": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
"amount": 200,
"creationDate": "2020-05-26T17:11:22Z",
"currency": "EUR",
"executionDay": 2,
"firstExecutionDate": "2020-05-26T17:11:22Z",
"id": "5ecd4d9bb9e14800012d99e9",
"interval": "MONTHLY",
"lastExecutionDate": "2020-05-26T17:11:22Z",
"purpose": "Taschengeld"
}
],
"transactions": [
{
"accountID": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
"amount": 24.99,
"booked": true,
"bookingDate": "2020-05-26T17:11:22Z",
"codes": [
{
"type": "transactionCode",
"value": "999"
}
],
"counterPart": {
"bic": "GENODEF1S04",
"creditorId": "DE97ZZZ12345678901",
"iban": "DE83701999010000002000",
"name": "Schettchens Schnittchen"
},
"currency": "EUR",
"id": "5ecd4d9bb9e14800012d99e9",
"mref": "MREF123ZZ678JJ",
"purpose": "Welcome to finoOS",
"tags": [
{
"name": "salary",
"source": "string"
}
],
"valueDate": "2020-05-26T17:11:22Z"
}
],
"type": "GIRO"
}
],
"bank": {
"bankCode": "70199901",
"bic": "SUBSDE71",
"logo": {
"type": "string",
"url": "string"
},
"name": "fino Bank"
},
"id": "5d7267d1b747aa683d88668f"
}
]
}'
The user is now connected to our Banking service.
Finally, access the user's bank logins with the Get Logins endpoint. Send the following request.
curl -s -X GET https://os.test.fino.cloud/api/v1/users/5f22c402b6968c000128edb6/banking/logins \
-H "Authorization: <ACCESS_TOKEN>"
The finoOS API will return the following object.
{
"logins": [
{
"id": "5d7267d1b747aa683d88668f",
"bank": {
"name": "fino Bank",
"bic": "SUBSDE71",
"bankCode": "70199901",
"logo": {
"url": "",
"type": ""
}
},
"accounts": [
{
"iban": "DE64100200007791587578",
"id": "A38253.f837c3ab353",
"number": "83767594",
"name": "Girokonto",
"owner": "Torben Mais",
"type": "GIRO",
"balance": 2004.41,
"creditLine": 0,
"monthlySpendingLimit": 6000,
"currency": "EUR",
"transactions": [
{
"id": "5ecd4d9bb9e14800012d99e9",
"accountID": "A38253.f837c3ab353",
"bookingDate": "2020-05-26T17:11:22Z",
"valueDate": "2020-05-26T17:11:22Z",
"currency": "EUR",
"mref": "MREF123ZZ678JJ",
"purpose": "Welcome to finoOS",
"booked": true,
"amount": 24.99,
"counterPart": {
"bic": "GENODEF1S04",
"iban": "DE83701999010000002000",
"creditorId": "DE97ZZZ12345678901",
"name": "Schettchens Schnittchen"
},
"tags": [
{
"name": "salary"
}
],
"codes": [
{
"value": "999",
"type": "transactionCode"
}
]
}
],
"standingOrders": [
{
"id": "",
"accountID": "A5ecd4d9bb9e14800012d99e9.1356664d2044208d10cf439e5009e810382ba932",
"creationDate": "2020-05-26T17:11:22Z",
"firstExecutionDate": "2020-05-26T17:11:22Z",
"lastExecutionDate": "2020-05-26T17:11:22Z",
"executionDay": 2,
"interval": "MONTHLY",
"amount": 200,
"currency": "EUR",
"purpose": "Taschengeld"
}
],
"securities": [
{
"id": "5ecd4d9bb9e14800012d99e9",
"accountID": "A38253.f837c3ab353",
"amount": 200,
"priceAmount": 100,
"purchasePriceAmount": 150,
"currency": "EUR",
"priceCurrency": "EUR",
"purchasePriceCurrency": "EUR",
"exchangeRate": 1.23,
"quantity": 40,
"isin": "US0378331005",
"name": "finoOS Security",
"market": "NASDAQ"
}
]
}
]
}
]
}
To integrate with the finoOS API, we assume you to be familiar with the following technical principles:
For more information on these topics, follow the respective links. If you are unsure how to integrate with the finoOS API after reading the documentation, feel free to contact us.
To guarantee backwards compatibility, each breaking change causes an upgrade of the API version. This way, users are still able to use the API as usual and can upgrade to a newer version when they are ready.
The API version is part of your account but can be overwritten using a request header. Future new versions will be configurable within our developer portal (not released yet) without any need to update anything on your side. As a precaution, it's recommended to test a new API version before committing to an upgrade.
Every API response contains an API-Version
header with the current version of your account. The version
is a string date of the format YYYY-MM-DD
. The date itself refers to the day of the version's release.
The latest version of the API is 2020-06-16
.
New features, bug fixes and patches will always be backwards compatible. They can be found in the Changelog. We only release a new version of the API when we introduce breaking changes. We consider breaking changes as one of the following:
Error responses of the API will return one of the HTTP error codes listed below in the Status Codes and Errors table. Error responses will contain a JSON-encoded body of the following format:
{
"type": "forbidden",
"message": "Forbidden. No access to this resource"
}
Status Codes and Errors
Code | Name | Description |
---|---|---|
200 | OK | Success |
204 | OK | Success, but no response content |
400 | Bad Request | The provided request was invalid. Most of the times, the given format is incorrect. |
401 | Unauthorized | Invalid authorization. Check your access tokens or tenant id and secret |
403 | Forbidden | Access for the given resource or operation was denied |
404 | Not Found | The requested resource doesn't exist |
409 | Conflict | The request conflicts with a previous request |
429 | Too Many Requests | Too many requests hit the API too quickly. Rate limit exceeded |
5xx | Server Errors | Unknown finoOS server errors |
The finoOS API returns a X-Request-ID
header with every API response. This way,
you can trace a specific request. If you want to make tracing requests easier for yourself,
you can overwrite the X-Request-ID
header on your requests.
When reporting a failure during a request to our API, providing the respective request ID will
greatly improve our ability to provide support.
September 25, 2020
July 29, 2020 Add Scope To User payload changed - renamed scope to name
July 02, 2020
June 25, 2020
June 22, 2020
User-IP
header to adhere to the latest PSD2 regulationsJune 15, 2020
May 25, 2020
May 19, 2020
May 4, 2020
To authenticate yourself with the finoOS API, you exchange your credentials name
and secret
for a temporary valid pair of JSON web tokens(JWT) via the
Authenticate endpoint. The returned
accessToken
has to be provided in every following request via the Authorization
header.
Once the returned accessToken
expires, exchange the refreshToken
for a new pair of JWT.
If this is not possible, because the refreshToken
has expired too, restart the authentication process
from the beginning.
The diagram below shows a sample flow of the authentication process before calling the Search Companies
resource of our
Companies service.
Authenticate with your credentials name
and secret
to retrieve a JWT.
The expiresIn
and refreshExpiresIn
properties indicate the lifetime of the accessToken
and refreshToken
in seconds.
credentials
name required | string Your name |
secret required | string Your secret |
{- "name": "fino",
- "secret": "3bdfef4d-e122-4c8d-a3cf-01ac776eca17"
}
{- "accessToken": "jA1nN-pl4uEwyJ0_-v3rIr3byH2PwyQ_deE20sWDEdolpJB-NBASpQyxXnjL1M9Yorq3QZAUCuaam9DH_KoLb3NlOPVDar83lI3_Ns3R_LrMcs_P4hs_m57Z-h-BBBdKklvqibLAZTp_0l90-Quy1vcrER7lN3oIfwSEpxhebA8CWKlTYROUfTax6g_25JSAKtUT-wjGl29_rRlFIs9tQcmDrwCkz7iRv5y9tE_S5hbiJ5n7vBPKna7zaeYqcq-09K_SP8iopGkiUC1LVUIiwYt2UdDGi2FnebhtWiuPQTE0zVqqe_ivY0GTKvbQndXfAYkMnWS3L6BXcIAFNPxBpcRynkAsOM5GUKtGa8laHkcAJ5uzPsurlWhPnlmFQv41fQvyzMH-jWWqzeU0RHyIufgy2Zj6-sO4ImbH1lhK2M_Y4dplIAtAfWIcWzatz3SAuksdCp1r8FuSBP2uMS0Y2v0nQU6QC78WymqNPebv7XO-q55Tl4CO3z-uf4qeV0RnQLMvNa0LIz-IduJicV01_QKw8dCfn4zLNCV5l8Tc15G1CumDIpFFe_kbuYWyQ9v6111EyPVOu3Qeom8zDWE5qmaiQ8eB-LE45zi7Da_6HKVH0LSSMEzneNDYonJqQR1Ea1mkHglzjbQRiylclCzMRNKbAKhXM7erolX0HwLj27iliGoQ1itIgeAsNYtty2JVmIE2pI2p2YimvUkLNiqhhZtFhagDVmxo2GeFD7PBS4-RxdmM0kuyb-VB8sDFMEeZ5hW1wec2rfy1eNfS5sVLtSvCBpMbUvG0eHZWHvYAFX-4yJ5F1tQoYlK_Yc7RJuR_D0lcpBTiobYwRCXIsuGMf-hhrSyzSKDMG0rIowf-XC1XInAjdzpq4LLNykUIntJrFsDobbngoKJAMJUcRA3SUElRXvYkms6E62lSQPEGeuPTLcMrM3mumUND6uf0wcw96VM3Rd6NgSJ-U6Xd8ofy76X-GSYxj3O7j4r5EjEqHFaogLpthA85PYJmYdinH7eXRQ47AHLJmAwXfS-Tiu776Iep8_lUY2n78_i4QaA8gPPyLXa6JN-IL6uFdnowjGfpDWnIjUmUqVODMIrtIr7LjNtQhz0PXj-PvUIjXTcA__wkGZDi3TXSJ9X8C7XH7xUJbXo1jQsya-A_5erTd6RGSZs4Pgtn6Q714sC2PVhB0Ks3qOVe6t42iFQ_1Y4VYBa9e-5PW4TRMn4VjF0wrXHWZqlF1uEf5c3zbFF9JDT4NehvdcAnBc9HcyY18V9V7tZGnrmIVeKSZIXO1nKBplQR_roSS-ikIBYwR0V6sVjy8czM6eE2-9WL64d0V7PNGth5XTUF3BLwVpKXFq6nyRdLJvN_5ASDUtOXV6Gwxv2a_hFMA9Sx1KzewxQZVNiOEwO7WGgja46JsmLg0EUDLAKXMFsUGAqdE9E6b8CY_EbSPfEEFayt6KOpihVKDwDsvhe-rIJiQlszfLDvPHQTC3DRL6KbmncdHjlV93RjcBK2HsF1DQM8MOjAtBQMDvZv46PA56kYnSPKqNH_vaLo7bX173j829KikrfJcCj8ca2fYOKh7kY6nZfFInceJFVmKFO0Ea1EqI4o9koCRNMVA4IRBJTVA4EC0WBPQ_KqY7K2tA85zDwFCVx8uxT8bdu7XUd3jU24KVkAucQoP_OcTCgPjaDCqoO0rta-EJ45547sxzhfaCoG4QFP5XMXFwwo756O5_QXBk8PUIwMDKKMCqvFn0ySswcOE5vLxhtXvRq7OXytEPtfVvmF_Tt0Kkb6KBvBrFjrWiJkNfWEvwZonPC5xN4FgJcIW-Xm4mOAuIJVIEH3I-JvmTYAMfgMz85L0C7O2ls9n9_vMsHAKpeDUn4iJ9UuIOp3x8QkEgBTBSoIC3e22wVGjdExzeuqIT_e_6poFl6l7Vx-UBi_dPrNGETxvW4K5-svXtiV-Igsw3YonweKIpZ516C3PajGK1_BjwyzsdyqKoKfadtdMXgv9llh98OfqAjXOju-BsWf9Z7DBpxC8G7ZgArHOKauh8bGORtC3iBph-Pe_YYuJhayTsD2iaf_JpMiZS2fS2ooeuLHC86A5ZFhQJ8dbrFCGDfWds_WCpKyy8igEZVjBdTZS5vRLJ5BJKvZw_vNa37FLjAH0EyuSCXaPHF9TpdsqtfJbauv-yvPBlwxVh3j8zm8WipFeRBdPitDlDWAvwIYrgYRIgGaq_FrSYVrXoSwTxSoahjRAGE7YdpEJWGssDttSol4fIdZA5IyDnhGV6zk-IYYZuPjWs8p49b0yyuvPiDCen-hgYIdaVrB3UyzdX9MxPfqopLAtp8KIr_9RbPkNg26eEfQOxqTCS6qPNIpnSHKEOxEQACdMEJ6VUFZcKzS41cywiGoqNHvu0PrwTQxcAYqS9A2d-xpf7M4ZJ73",
- "expiresIn": 300,
- "refreshExpiresIn": 1800,
- "refreshToken": "xBaVaO-xzWsUiGixAJD1YaOUyQQJ1KBYIJxqxtmwYhr1Rgxbq3YvDi1X1bxUcSRZVk-78g_SCsqK5aKKj__GHxS7BLeS7BaJ6XHRn9wwNKhvZ5pHgcpayV8v7qKP7lhDyPS54fIret3xXtQqR50pmZ3ybqjmOYc7MttP3aBc1RD1ZuKB0JibtPdENOA4qHsBvrWBxMiQ2UQdEglO4aaKGla0wCCu7FoLhVm_oVQxVATw2Y6w5ox_WxT_bwCpZFZ_ixsdc-ecMoR8k-wBOns5gu57qlhQc1m5nI9drrdQ6WYbvDSmbiVjCxiqs2Pwm9usYFMfx1h76GmEc9m9zZ59b2g5v857dNqCxD4sqzUYyVe4HtKF2XVLsTGQlEP4xGOz6lwMtLvFAQ-u3w5AWEoj4B4Hd3XcpxaN-4SjZeOA7uR16KSxmTBIQz2g7khdoWdEnv1qYThw7DsVK8BBhIax1hBYnC1vt4DDijowy8pwozmoFHXEvDB3_GgT5rsImkENQsdBP4sN3LTS30-blxTA8XTeNMZbKslYUBYtJ6ZTNxGopa4CvujAyvYOe6dskUDeXWG3qXCWwvP2uVXV4XkRc4IiKiqyTJ0nx_UAs51M_crHwnbXpYEqA0Rgoe-1CdmC1k1TYcIzECxtu-wDwJdYPYGBjg8CaGi27ZCW-vRcZeJjWNTr-DviQpcj0T9lXw8IwHyZ287s5YVblL98PU7E3EGRIqpmeryQrmMUdwB1K6JMzZTEcLN5Dmt8xIkKnCQ5-kHOfVUEDaYqx6nY87IXMxVfdLFjwW2zHef4uPJ_YbAKxU3B2gEdP5qfZ-b8MPnAVbCtO_EwnwvsU1N3MT_9NIuiIxrPFjcZdm0IFJ1P0hdbT2Ccu2qYE-bBMScHwlTUoFmPRI3jvpAesINhIgpmZC3uSOX-dsvzT9ul7ISz6fAFdmxdiK3W62faQQ8JDJ0Y_iljSoc7uD_H45lBFBwvBbmRVm47IEvwWfPZwDtnV390zZSZrg4deH7qcNIHks59As5VVfMgSptySv20OjP1RlzRLGLTc7XYO9R3Jqi3Qfyf4bcpw0WF7VaYy-k8dfdjNIeWU-Qp7PSJM80UU0Ny1vZGIr2CHEE6P8z0lo021SJW917-6NfyHfztqQ_ID_Vsuodqhtn9oiJgy_ONEBN4kHjR2k3vyvb0-zrkyHkfh6P9dcJBOVz2Fe92A_ts3nBgFQVAssATXZklndE7tjBTQRt8J2Ys4qBARY8f3P8cPuJADQ5DTqlE_-m7p6_PuHxyij-nLSbTrTWi0Zotv957kIgSHLkXl-djHxUghsetuX9r8waWX6pDaWRpRBjjGvHpTeK_YyvLBDfdd_KB9GQfmOohxx_IPuvvpttCQdGq7Xz_oAcQyUoMVMufsQDgrJH3aYYqTDd3x55pCYTTSLnVmDx_n1C2Jfb3VjUFqQbfjZJ1ndndYtIoK4uxR7nfyq3NauKnPAAzymis-2ALvDENFejE8VwCr9MngLgjlom24OAYhP2CyRqWDqLy7VZZ6-3PlGp9aEz0nVAxmiyEIkJnPcDsuAEXAI-oy1y_CeBr7bHFKhMpn20rVmWWxs7JQBgJbzzlikcJunMhIiI4MuSGnGZHqnxc7_8mI-TyacudbaasdjkyZq98YU0JKXhBWEY-BwynZB4CNEuFLBzpk_f6CdKTXQmC_1d7vQhgVdsEfN4U-jEbZiBtjBQtHjYQbA=="
}
Refresh your authentication. Retrieve a new JWT by providing your
credentials name
and secret
and a valid refreshToken
.
credentials and refresh token
name required | string Your name |
refreshToken required | string The received refresh token |
secret required | string Your secret |
{- "name": "fino",
- "refreshToken": "xBaVaO-xzWsUiGixAJD1YaOUyQQJ1KBYIJxqxtmwYhr1Rgxbq3YvDi1X1bxUcSRZVk-78g_SCsqK5aKKj__GHxS7BLeS7BaJ6XHRn9wwNKhvZ5pHgcpayV8v7qKP7lhDyPS54fIret3xXtQqR50pmZ3ybqjmOYc7MttP3aBc1RD1ZuKB0JibtPdENOA4qHsBvrWBxMiQ2UQdEglO4aaKGla0wCCu7FoLhVm_oVQxVATw2Y6w5ox_WxT_bwCpZFZ_ixsdc-ecMoR8k-wBOns5gu57qlhQc1m5nI9drrdQ6WYbvDSmbiVjCxiqs2Pwm9usYFMfx1h76GmEc9m9zZ59b2g5v857dNqCxD4sqzUYyVe4HtKF2XVLsTGQlEP4xGOz6lwMtLvFAQ-u3w5AWEoj4B4Hd3XcpxaN-4SjZeOA7uR16KSxmTBIQz2g7khdoWdEnv1qYThw7DsVK8BBhIax1hBYnC1vt4DDijowy8pwozmoFHXEvDB3_GgT5rsImkENQsdBP4sN3LTS30-blxTA8XTeNMZbKslYUBYtJ6ZTNxGopa4CvujAyvYOe6dskUDeXWG3qXCWwvP2uVXV4XkRc4IiKiqyTJ0nx_UAs51M_crHwnbXpYEqA0Rgoe-1CdmC1k1TYcIzECxtu-wDwJdYPYGBjg8CaGi27ZCW-vRcZeJjWNTr-DviQpcj0T9lXw8IwHyZ287s5YVblL98PU7E3EGRIqpmeryQrmMUdwB1K6JMzZTEcLN5Dmt8xIkKnCQ5-kHOfVUEDaYqx6nY87IXMxVfdLFjwW2zHef4uPJ_YbAKxU3B2gEdP5qfZ-b8MPnAVbCtO_EwnwvsU1N3MT_9NIuiIxrPFjcZdm0IFJ1P0hdbT2Ccu2qYE-bBMScHwlTUoFmPRI3jvpAesINhIgpmZC3uSOX-dsvzT9ul7ISz6fAFdmxdiK3W62faQQ8JDJ0Y_iljSoc7uD_H45lBFBwvBbmRVm47IEvwWfPZwDtnV390zZSZrg4deH7qcNIHks59As5VVfMgSptySv20OjP1RlzRLGLTc7XYO9R3Jqi3Qfyf4bcpw0WF7VaYy-k8dfdjNIeWU-Qp7PSJM80UU0Ny1vZGIr2CHEE6P8z0lo021SJW917-6NfyHfztqQ_ID_Vsuodqhtn9oiJgy_ONEBN4kHjR2k3vyvb0-zrkyHkfh6P9dcJBOVz2Fe92A_ts3nBgFQVAssATXZklndE7tjBTQRt8J2Ys4qBARY8f3P8cPuJADQ5DTqlE_-m7p6_PuHxyij-nLSbTrTWi0Zotv957kIgSHLkXl-djHxUghsetuX9r8waWX6pDaWRpRBjjGvHpTeK_YyvLBDfdd_KB9GQfmOohxx_IPuvvpttCQdGq7Xz_oAcQyUoMVMufsQDgrJH3aYYqTDd3x55pCYTTSLnVmDx_n1C2Jfb3VjUFqQbfjZJ1ndndYtIoK4uxR7nfyq3NauKnPAAzymis-2ALvDENFejE8VwCr9MngLgjlom24OAYhP2CyRqWDqLy7VZZ6-3PlGp9aEz0nVAxmiyEIkJnPcDsuAEXAI-oy1y_CeBr7bHFKhMpn20rVmWWxs7JQBgJbzzlikcJunMhIiI4MuSGnGZHqnxc7_8mI-TyacudbaasdjkyZq98YU0JKXhBWEY-BwynZB4CNEuFLBzpk_f6CdKTXQmC_1d7vQhgVdsEfN4U-jEbZiBtjBQtHjYQbA==",
- "secret": "3bdfef4d-e122-4c8d-a3cf-01ac776eca17"
}
{- "accessToken"