...
To begin integrating with Leatherback, you need to register as a Third Party Provider (TPP). This registration process involves making an API call to our registration endpoint.
API Endpoint: https://api/v1/tpp/register-openbanking.leatherback.co/api/account/registration
Method: POST
Request Headers:
Content-Type: application/json
signature-certificate: <Set your signature certificate here. This is a password like text>
Request Body:
Code Block | ||
---|---|---|
| ||
{ "countryISO": "GB", "address": "1 Roada Way, "organizationNameCalculta", "name": "YourCway OrganizationBottle NameCompany", "contactEmailemail": "contact@example.comcway-bottle@finance.co", "certificateType": "account", "redirectUricallbackUrl": "https://your-redirect-uri.com/callbackwebhook.site/0994061c-ba69-40cb-99a8-94c54e692eab" } |
Sample Request:
Code Block |
---|
curl -X POST "https://api-openbanking.leatherback.comco/api/v1account/tpp/registerregistration" \ -H "Content-Type: application/json" \ -d '{ "countryISO": "GB", "address": "1 Roada Way, "organizationNameCalculta", "name": "YourCway OrganizationBottle NameCompany", "contactEmailemail": "contact@example.comcway-bottle@finance.co", "certificateType": "account", "redirectUricallbackUrl": "https://your-redirect-uri.com/callbackwebhook.site/0994061c-ba69-40cb-99a8-94c54e692eab" }' |
Response:
Code Block | ||
---|---|---|
| ||
{ "Certificate": "tppIdAdaobi@", "ClientId": "unique-tpp-id74EB610C710938923806817AD4631EB3", "statusMessage": "registeredOK" } |
Generate a Client Token
Once registered as a TPP, the next step is to generate a client token. This token is necessary for authenticating subsequent API calls.
API Endpoint: https://api/v1/-openbanking.leatherback.co/auth/generate-client-token
Method: POST
Request Headers:
Content-Type: application/json
Request Body:
...
language | json |
---|
...
x-www-form-urlencoded
Sample Request:
Code Block |
---|
curl -X POST "https://api-openbanking.leatherback.comco/api/v1/auth/generate-client-token" \ -H "Content-Type: application/jsonx-www-form-urlencoded" \ -d '{ "tppId": "your-unique-tpp-id", "clientSecret": "your-client-secret" }'"password=your-certificate&client_id=your-client-id&scope=account&grant_type=client_credentials" |
Response:
Code Block | ||
---|---|---|
| ||
{ "clientTokenaccess_token": "generated-client-token"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjVEODhEQjBDMDMyMzRENjQ5NEM1NDI0ODEzRkFBQTkxIiwiY2VydGlmaWNhdGUiOiJBZGFvYmk5M0AiLCJuYmYiOjE3MTk4NTU2MTksImV4cCI6MTcxOTg1NTkxOSwiaWF0IjoxNzE5ODU1NjE5fQ.d6PLd8n06fLTx98vbOSSMJSo5AVFZ-lnMmjZuZsuO3c", "token_type": "Bearer", "expiresInexpires_in": 360063919 } |
Create Client Consent
After generating a client token, the next step is to create client consent. This step involves generating a consentId in our systems so we can tie consent requests to you as a TPP.
...
Permissions | Dependencies |
---|---|
ReadAccountsBasic | None |
ReadAccountsDetail | None |
API Endpoint: https://api/v1/consent/create-openbanking.leatherback.co/account-access-consents
Method: POST
Request Headers:
Content-Type: application/json
Authorization: Bearer {clientTokenaccess_token}
Request Body:
Code Block | ||
---|---|---|
| ||
{ "Data": { "Permissions": [ "ReadAccountsBasic", "ReadBeneficiariesBasic", "ReadAccountsDetailReadBeneficiariesDetail" ], "ExpirationDateTime": "20202024-1206-02T0030T08:00:00+00:0038:43.527Z", "TransactionFromDateTime": "20202024-0906-03T0029T08:00:00+00:00", 38:43.527Z", "TransactionToDateTime": "20202024-1206-03T0030T08:00:00+00:0038:43.527Z" }, "Risk": {} } |
Sample Request:
Code Block |
---|
curl -X POST "https://api-openbanking.leatherback.com/api/v1/consent/createco/account-access-consents" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer your-clientaccess-token" \ -d '{ "Data": { "Permissions": [ "ReadAccountsBasic", "ReadBeneficiariesBasic", "ReadAccountsDetailReadBeneficiariesDetail" ], "ExpirationDateTime": "20202024-1206-02T0030T08:00:00+00:0038:43.527Z", "TransactionFromDateTime": "20202024-0906-03T0029T08:00:00+00:0038:43.527Z", "TransactionToDateTime": "20202024-1206-03T0030T08:00:00+00:00" 38:43.527Z" }, "Risk": {} }' |
Response:
Code Block |
---|
{ "Data": { "Status": "AwaitingAuthorisation", "StatusUpdateDateTime": "20202024-1107-05T1601T17:0746:4617.506182Z6950484Z", "CreationDateTime": "20202024-1107-05T1601T17:0746:4617.506182Z6950483Z", "TransactionToDateTime": "20172024-1206-03T0030T08:00:00+00:0038:43.527Z", "ExpirationDateTime": "20212024-0506-02T0030T08:00:00+00:0038:43.527Z", "Permissions": [ "ReadAccountsBasic", "ReadBeneficiariesBasic", "ReadAccountsDetailReadBeneficiariesDetail" ], "ConsentId": "d19ec7589584b369-22fd44dc-4f34450e-9ad48403-7437f8628987d04945e623bd", "TransactionFromDateTime": "20172024-0506-03T0029T08:00:00+00:0038:43.527Z" }, "Risk": {}, "Links": { "Self": "https://oba.revolut.com/account-access-consents"app-leatherbackwebsite-stg.azurewebsites.net/create-consent?consentId=b23b4a2f-0c10-4d74-a05a-80ca3d0f6963&callbackUrl=https://app.mono.co/" }, "Meta": { "TotalPages": 1 } } |
Create JWT URL Parameters Token
...