Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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
languagejson
{
  "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
languagejson
{
    "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:

...

languagejson

...

  • 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
languagejson
{
    "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
languagejson
{
 
  "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

...