TPP
QSEAL Register
Used for registration in Salt Edge PSD2 Compliance Dashboard. After registration, you will receive a letter of confirmation on your representative email.
CURL
curl -i \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7ImNlcnRpZmljYXRlIjp7InR5cGUiOiJxc2VhbCIsIm5hbWUiOiJFeGFtcGxlIE5hbWUiLCJwZW0iOiItLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS1cbk1JSUVBakNDQXVvQ0FRQXdEUVlKS29aSWh2Y05BUUVMQlFBd1d6RVhNQlVHQTFVRVlRd09WSEJ3VTJGc2RGUmxcbmMzUXdNREF4SURBZUJnTlZCQU1NRjJObGNuUlRTVWRPVTBGTVZGUkZVMVFnVjJWaUlFTkJNUkV3RHdZRFZRUUtcbkRBaFRZV3gwVkdWemRERUxNQWtHQTFVRUJoTUNVazh3SGhjTk1Ua3hNVEU0TVRZd05EVXdXaGNOTWpFeE1URTNcbk1UWXdORFV3V2pDQmpURVdNQlFHQTFVRUF3d05jMkZzZEMxMFpYTjBMbU52YlRFUk1BOEdBMVVFQ2d3SVUyRnNcbmRGUmxjM1F4Q3pBSkJnTlZCQVlUQWxKUE1SSXdFQVlEVlFRSURBbENkV04xY21WemRHa3hFakFRQmdOVkJBY01cbkNVSjFZM1Z5WlhOMGFURVdNQlFHQTFVRUNRd05RV3hpWVNCSmRXeHBZU0EzTlRFVE1CRUdBMVVFWVF3S2FXUmxcbmJuUnBabWxsY2pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS2dXNEo5K0hGY0xcblFVcExJNHNaQkpuUWhnUWFKWERscFQyODVsZThlRHE3VGpaZ2F6S3FNOUZCcnc0QUVEcVJsWEd2Z3dpbkpGNjJcbjB3dUlxKzdwak9YUFB3K1k5WFFCcFNranVyYnloSk9mOGI2VWpMUExCdUF3T2tGTnY3Smtsd0t5cWZrNEdHNE5cbmdrOGRVYTFjS05MY1gzNzdwdno0Q0hZalBraGlLY0xqQVJ4TFRJYkdtejlZQVQvQWszbDdCRkRkV2owQnJrR2pcbldkRnpSVldxY3RwNDY1b1hGV2U2d0JpcmxKZStSRGdoZ0FkVEFpUEdSd1h1eHZkYkluUjh2dm9ESTUyR0V1c2hcbkZZQ1l3bzN1YVVJVHlneE5kQnJaNU5pWktoK3JuNVU1bjMzSkROb05XaEJVRTAxTC9oVjNQeWV4cEpUeW1pRFBcbjZTUFJKM0ZMR3RrQ0F3RUFBYU9Cb2pDQm56QU1CZ05WSFJNRUJUQURBUUgvTUE0R0ExVWREd0VCL3dRRUF3SUJcbkJqQWRCZ05WSFE0RUZnUVVLcFBmeTE5UkFCUEtydmJzTVJ0VzN5R0lNZm93SHdZRFZSMGpCQmd3Rm9BVUtwUGZcbnkxOVJBQlBLcnZic01SdFczeUdJTWZvd1B3WUlLd1lCQlFVSEFRTUVNd3d4ZEdWemRGQlRVRjlCU1M0dUxqQTFcblpXRTBaRGt3TFROak1qQXRORGRoT1MwNFpqY3dMV00wTmpCallXUTVZVEZrTkRBTkJna3Foa2lHOXcwQkFRc0ZcbkFBT0NBUUVBRnM1OGhMK1k0eU44MzdkcC94U3dGamVvd0JaSzRSY0xlZktoRnVEY0lsQi80RlRPSFMxeUNQZWpcbjFwSTlCVndpM2JyUStkUGNMc3VLSE8rMFFlelh2MTlXWkpwL0pnVStORjhjMGRwUFVCN2FwRVdPYjN4endOMmFcbjhneFVCOEQ0b2VmclhFRENhMzBHQlVHWitxdEFJb0NSSW82L0hCVVUyelVFWFVEZVRJWnFLaTVydHNCV0ZiVFpcbi92SHovVXNoMmh4Y0VnQ0FocWlMMzNpc3pIeVJDeDFaaExLWFBTTFdXdGpZaUtGVnYzc2dQTnJ3czdqYWQwamlcbkFESTdJVTdvMEdSV0ZaZFNQaWhSWWkvTmFrZnhjNWY1YzB0M1QySXJpTXNUQ04yUnlyKy8xWGx5aUFxbTBxekpcbm5CQTlrZTV1TDM0WVpuM2dIKzBCRXovL3BldFo3dz09XG4tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tXG4ifSwicmVwcmVzZW50YXRpdmUiOnsiZW1haWwiOiJleGFtcGxlQGV4YW1wbGUuY29tIiwibmFtZSI6IkV4YW1wbGUgTmFtZSJ9LCJjb21wYW55Ijp7ImNpdHkiOiJHdWlsZGZvcmQiLCJ6aXBfY29kZSI6IlhGLTEyMzQiLCJwaG9uZV9udW1iZXIiOiI3MTUwNzkxMTIiLCJuYW1lIjoiRXhhbXBsZSBOYW1lIiwiZW1haWwiOiJleGFtcGxlQGV4YW1wbGUuY29tIiwiYWRkcmVzcyI6IjQwOSBCcm9hZHdheSBHVUlMREZPUkQifX0sImV4cCI6MTczNTM0NDQ3MCwiaXNzIjoicHJpb3JhLnNhbHRlZGdlLmNvbSJ9.G6vk8YvfWyF6rlCxO2BGNY--vDP_aSTZKtK_UT8sCxMenMsmXb2Y48l12hWZSBscGBst_v9DN9gFVFtOYOrsHZyVIFBxuR62eenMGiOJ3dwvrgchGCglho3XddyyQCAhcNkj39AeXkiuAigw3R2d9_ubGBoFPWqjqEEdOj1gZOr8EXzOZBwZXvZcLJy1fn3VIzD-Yw01e8JGUorKuoroxMFJT2_n-HnJQL9h8HLBi-pYZUW8spjYRSMp5GqkWu1WlTJCGFXqqQEk407gwE3laetpffVbFKEPeMqBkTdMOXctJPIU4o1em9g4QS9Lx4qljAnoXiGBV9iS9nzfaAVDow" \
-H "Client-Request-Id: 13" \
-X POST "/api/v2/tpp/register"
Example of request parameters
{"data":{"certificate":{"type":"qseal","name":"Example Name","pem":"-----BEGIN CERTIFICATE-----\nMIIEAjCCAuoCAQAwDQYJKoZIhvcNAQELBQAwWzEXMBUGA1UEYQwOVHBwU2FsdFRl\nc3QwMDAxIDAeBgNVBAMMF2NlcnRTSUdOU0FMVFRFU1QgV2ViIENBMREwDwYDVQQK\nDAhTYWx0VGVzdDELMAkGA1UEBhMCUk8wHhcNMTkxMTE4MTYwNDUwWhcNMjExMTE3\nMTYwNDUwWjCBjTEWMBQGA1UEAwwNc2FsdC10ZXN0LmNvbTERMA8GA1UECgwIU2Fs\ndFRlc3QxCzAJBgNVBAYTAlJPMRIwEAYDVQQIDAlCdWN1cmVzdGkxEjAQBgNVBAcM\nCUJ1Y3VyZXN0aTEWMBQGA1UECQwNQWxiYSBJdWxpYSA3NTETMBEGA1UEYQwKaWRl\nbnRpZmllcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKgW4J9+HFcL\nQUpLI4sZBJnQhgQaJXDlpT285le8eDq7TjZgazKqM9FBrw4AEDqRlXGvgwinJF62\n0wuIq+7pjOXPPw+Y9XQBpSkjurbyhJOf8b6UjLPLBuAwOkFNv7JklwKyqfk4GG4N\ngk8dUa1cKNLcX377pvz4CHYjPkhiKcLjARxLTIbGmz9YAT/Ak3l7BFDdWj0BrkGj\nWdFzRVWqctp465oXFWe6wBirlJe+RDghgAdTAiPGRwXuxvdbInR8vvoDI52GEush\nFYCYwo3uaUITygxNdBrZ5NiZKh+rn5U5n33JDNoNWhBUE01L/hV3PyexpJTymiDP\n6SPRJ3FLGtkCAwEAAaOBojCBnzAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQEAwIB\nBjAdBgNVHQ4EFgQUKpPfy19RABPKrvbsMRtW3yGIMfowHwYDVR0jBBgwFoAUKpPf\ny19RABPKrvbsMRtW3yGIMfowPwYIKwYBBQUHAQMEMwwxdGVzdFBTUF9BSS4uLjA1\nZWE0ZDkwLTNjMjAtNDdhOS04ZjcwLWM0NjBjYWQ5YTFkNDANBgkqhkiG9w0BAQsF\nAAOCAQEAFs58hL+Y4yN837dp/xSwFjeowBZK4RcLefKhFuDcIlB/4FTOHS1yCPej\n1pI9BVwi3brQ+dPcLsuKHO+0QezXv19WZJp/JgU+NF8c0dpPUB7apEWOb3xzwN2a\n8gxUB8D4oefrXEDCa30GBUGZ+qtAIoCRIo6/HBUU2zUEXUDeTIZqKi5rtsBWFbTZ\n/vHz/Ush2hxcEgCAhqiL33iszHyRCx1ZhLKXPSLWWtjYiKFVv3sgPNrws7jad0ji\nADI7IU7o0GRWFZdSPihRYi/Nakfxc5f5c0t3T2IriMsTCN2Ryr+/1XlyiAqm0qzJ\nnBA9ke5uL34YZn3gH+0BEz//petZ7w==\n-----END CERTIFICATE-----\n"},"representative":{"email":"example@example.com","name":"Example Name"},"company":{"city":"Guildford","zip_code":"XF-1234","phone_number":"715079112","name":"Example Name","email":"example@example.com","address":"409 Broadway GUILDFORD"}},"exp":1574093210}
Example of response
{"data":{"message":"example_data.message"}}
Request
POST
/api/v2/tpp/register
Headers
Header | Type | Description |
---|---|---|
Authorization
|
string, required |
JSON Web Token containing payload, signed using RSA256 and application.private_key .
Can raise:
JWTClaimMissing, JWTIncorrectAlgorithm, JWTExpiredSignature, PublicKeyInvalid, AuthorizationMissing, RequestFormatInvalid, WrongRequiredFields, CertificateNotFound
|
Client-Request-Id
|
string, optional |
Request identifier. If present, it will be returned within meta field in response.
|
Unpacked Request Authorization
Response
Upon successful request, 200 status code will be returned. See ‘Related Errors’ table for other possibilities.
Related Errors
Class | Code | Description |
---|---|---|
JWTClaimMissing | 400 | Authorization Token expiration is not provided. Please specify exp alongside data field. |
JWTIncorrectAlgorithm | 400 | Authorization Token was encrypted with incorrect algorithm. Please use RSA256 algorithm for encrypting. |
JWTExpiredSignature | 400 | Authorization Token header has expired. |
PublicKeyInvalid | 400 | Given public key is not a public key. |
RequestFormatInvalid | 400 | Request format is wrong. Details are stored in error_message |
WrongRequiredFields | 401 | Specified required fields were not provided. More info in error_message |
AccessDenied | 401 | Action you want to perform is not allowed. More in error_message |
AuthorizationMissing | 401 | Authorization header is missing. |
CertificateNotFound | 404 | Certificate has no permissions. |
×
QSEAL Certificate
Used for adding QSEAL certificates after successful registration. The added certificate must be selected in Salt Edge PSD2 Compliance Dashboard as active one.
CURL
curl -i \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp7ImNlcnRpZmljYXRlIjp7InR5cGUiOiJxc2VhbCIsIm5hbWUiOiJFeGFtcGxlIE5hbWUiLCJwZW0iOiItLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS1cbk1JSUVBakNDQXVvQ0FRQXdEUVlKS29aSWh2Y05BUUVMQlFBd1d6RVhNQlVHQTFVRVlRd09WSEJ3VTJGc2RGUmxcbmMzUXdNREF4SURBZUJnTlZCQU1NRjJObGNuUlRTVWRPVTBGTVZGUkZVMVFnVjJWaUlFTkJNUkV3RHdZRFZRUUtcbkRBaFRZV3gwVkdWemRERUxNQWtHQTFVRUJoTUNVazh3SGhjTk1Ua3hNVEU0TVRZd05EVXdXaGNOTWpFeE1URTNcbk1UWXdORFV3V2pDQmpURVdNQlFHQTFVRUF3d05jMkZzZEMxMFpYTjBMbU52YlRFUk1BOEdBMVVFQ2d3SVUyRnNcbmRGUmxjM1F4Q3pBSkJnTlZCQVlUQWxKUE1SSXdFQVlEVlFRSURBbENkV04xY21WemRHa3hFakFRQmdOVkJBY01cbkNVSjFZM1Z5WlhOMGFURVdNQlFHQTFVRUNRd05RV3hpWVNCSmRXeHBZU0EzTlRFVE1CRUdBMVVFWVF3S2FXUmxcbmJuUnBabWxsY2pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS2dXNEo5K0hGY0xcblFVcExJNHNaQkpuUWhnUWFKWERscFQyODVsZThlRHE3VGpaZ2F6S3FNOUZCcnc0QUVEcVJsWEd2Z3dpbkpGNjJcbjB3dUlxKzdwak9YUFB3K1k5WFFCcFNranVyYnloSk9mOGI2VWpMUExCdUF3T2tGTnY3Smtsd0t5cWZrNEdHNE5cbmdrOGRVYTFjS05MY1gzNzdwdno0Q0hZalBraGlLY0xqQVJ4TFRJYkdtejlZQVQvQWszbDdCRkRkV2owQnJrR2pcbldkRnpSVldxY3RwNDY1b1hGV2U2d0JpcmxKZStSRGdoZ0FkVEFpUEdSd1h1eHZkYkluUjh2dm9ESTUyR0V1c2hcbkZZQ1l3bzN1YVVJVHlneE5kQnJaNU5pWktoK3JuNVU1bjMzSkROb05XaEJVRTAxTC9oVjNQeWV4cEpUeW1pRFBcbjZTUFJKM0ZMR3RrQ0F3RUFBYU9Cb2pDQm56QU1CZ05WSFJNRUJUQURBUUgvTUE0R0ExVWREd0VCL3dRRUF3SUJcbkJqQWRCZ05WSFE0RUZnUVVLcFBmeTE5UkFCUEtydmJzTVJ0VzN5R0lNZm93SHdZRFZSMGpCQmd3Rm9BVUtwUGZcbnkxOVJBQlBLcnZic01SdFczeUdJTWZvd1B3WUlLd1lCQlFVSEFRTUVNd3d4ZEdWemRGQlRVRjlCU1M0dUxtSXhcbk56UTVPV0U0TFdRNE5tWXRORGMyWVMwNVlXRXpMVEk0WkRBMFpEazJZekk1WVRBTkJna3Foa2lHOXcwQkFRc0ZcbkFBT0NBUUVBSlBqSTBrV1JwZ3BaNVZTazNhM0F3SXpYejV1R2tlRnhDTU1FUUFtQW4vT2cranozVDZSektVb2xcbkU1RldWL21LbkJka2MrVGU1dmpEQ1BORWp6Qi9WeXZKZFNUYURTeVhvUTVtcFpJRm1kbmJYOVg0T0JZcEVja3ZcbkRTM0JzMVZLZjBTRkVQVy8rWkp6aFEzcWxPR2VvT283blYzdjhvZnJQdnlaWFdDRWUxZnRCZ0VTZThzQld1M1RcbkNPVGd1UkZrbHUyVEI2R2d5bUhYNkFhOTVLcDEzWStsczlqZjZQdUFxNWt5bjZqcEZBSnVYVkZ4NmU0dGIrMkxcblpmK2g5RFE1MTBkdUtRYmtmV3crdWNPMk1wUVd6MWhPeWpjSGIzanBYL2tnYjh4Wm5uVFBEbEVZWmFKWEt2Ty9cbnpibUZVc0ZCY092aG1acEVKeUJoSmc4OHMvMjdKQT09XG4tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tXG4ifX0sImV4cCI6MTczNTM0NDQ3MSwiaXNzIjoicHJpb3JhLnNhbHRlZGdlLmNvbSJ9.QQiNkxwXj2NHZKA0ge7PTOl6NMm-DICf_ueest8aJQVvQac8DFVXsaSSts9qd3ow3KFnUnvWN0fsp02_vm7uI0E-PQ1QR7bKDtCEuG4qXHGDDRGOO7M2Wa9GVmB3_AsFZ94YutQ_wnrXPkbpwheQTN7p97W934mpZJuv7ZuC68sGD42VIzfA_I6Pxl5WOcn6S51_AtpIQz7vxjdAG-E1rlaxXCihr4A6-qf3BUy4r8obwKEQbPuq6ma5Q6VSCLV4X2TcOPfOVTx4SicUblB7tMELOmyt4B3jN5WGhyvCljn0SAFAn2wLmgmkOwwp4xmrEFrzVxBBzy7YJgeDGeXaCw" \
-H "App-Id: GBGZrINCK7K0SUbllZYm2w" \
-H "App-Secret: PQyeEZzg-i9-E3b-X9nclg" \
-H "Client-Request-Id: 17" \
-X POST "/api/v2/tpp/certificates"
Example of request parameters
{"data":{"certificate":{"type":"qseal","name":"Example Name","pem":"-----BEGIN CERTIFICATE-----\nMIIEAjCCAuoCAQAwDQYJKoZIhvcNAQELBQAwWzEXMBUGA1UEYQwOVHBwU2FsdFRl\nc3QwMDAxIDAeBgNVBAMMF2NlcnRTSUdOU0FMVFRFU1QgV2ViIENBMREwDwYDVQQK\nDAhTYWx0VGVzdDELMAkGA1UEBhMCUk8wHhcNMTkxMTE4MTYwNDUwWhcNMjExMTE3\nMTYwNDUwWjCBjTEWMBQGA1UEAwwNc2FsdC10ZXN0LmNvbTERMA8GA1UECgwIU2Fs\ndFRlc3QxCzAJBgNVBAYTAlJPMRIwEAYDVQQIDAlCdWN1cmVzdGkxEjAQBgNVBAcM\nCUJ1Y3VyZXN0aTEWMBQGA1UECQwNQWxiYSBJdWxpYSA3NTETMBEGA1UEYQwKaWRl\nbnRpZmllcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKgW4J9+HFcL\nQUpLI4sZBJnQhgQaJXDlpT285le8eDq7TjZgazKqM9FBrw4AEDqRlXGvgwinJF62\n0wuIq+7pjOXPPw+Y9XQBpSkjurbyhJOf8b6UjLPLBuAwOkFNv7JklwKyqfk4GG4N\ngk8dUa1cKNLcX377pvz4CHYjPkhiKcLjARxLTIbGmz9YAT/Ak3l7BFDdWj0BrkGj\nWdFzRVWqctp465oXFWe6wBirlJe+RDghgAdTAiPGRwXuxvdbInR8vvoDI52GEush\nFYCYwo3uaUITygxNdBrZ5NiZKh+rn5U5n33JDNoNWhBUE01L/hV3PyexpJTymiDP\n6SPRJ3FLGtkCAwEAAaOBojCBnzAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQEAwIB\nBjAdBgNVHQ4EFgQUKpPfy19RABPKrvbsMRtW3yGIMfowHwYDVR0jBBgwFoAUKpPf\ny19RABPKrvbsMRtW3yGIMfowPwYIKwYBBQUHAQMEMwwxdGVzdFBTUF9BSS4uLmIx\nNzQ5OWE4LWQ4NmYtNDc2YS05YWEzLTI4ZDA0ZDk2YzI5YTANBgkqhkiG9w0BAQsF\nAAOCAQEAJPjI0kWRpgpZ5VSk3a3AwIzXz5uGkeFxCMMEQAmAn/Og+jz3T6RzKUol\nE5FWV/mKnBdkc+Te5vjDCPNEjzB/VyvJdSTaDSyXoQ5mpZIFmdnbX9X4OBYpEckv\nDS3Bs1VKf0SFEPW/+ZJzhQ3qlOGeoOo7nV3v8ofrPvyZXWCEe1ftBgESe8sBWu3T\nCOTguRFklu2TB6GgymHX6Aa95Kp13Y+ls9jf6PuAq5kyn6jpFAJuXVFx6e4tb+2L\nZf+h9DQ510duKQbkfWw+ucO2MpQWz1hOyjcHb3jpX/kgb8xZnnTPDlEYZaJXKvO/\nzbmFUsFBcOvhmZpEJyBhJg88s/27JA==\n-----END CERTIFICATE-----\n"}},"exp":1574093210}
Example of response
{"data":{"message":"example_data.message"}}
Request
POST
/api/v2/tpp/certificates
Headers
Header | Type | Description |
---|---|---|
Authorization
|
string, required |
JSON Web Token containing payload, signed using RSA256 and application.private_key .
Can raise:
JWTClaimMissing, JWTIncorrectAlgorithm, JWTExpiredSignature, PublicKeyInvalid, AuthorizationMissing, RequestFormatInvalid, WrongRequiredFields, CertificateNotFound
|
App-Id
|
string, required |
Application’s app_id from connection details tab.
Can raise:
OauthAppNotFound, CertificateNotFound
|
App-Secret
|
string, required |
Application’s app_secret from connection details tab.
|
Client-Request-Id
|
string, optional |
Request identifier. If present, it will be returned within meta field in response.
|
Request parameters
Response
Upon successful request, 200 status code will be returned. See ‘Related Errors’ table for other possibilities.
Related Errors
Class | Code | Description |
---|---|---|
JWTClaimMissing | 400 | Authorization Token expiration is not provided. Please specify exp alongside data field. |
JWTIncorrectAlgorithm | 400 | Authorization Token was encrypted with incorrect algorithm. Please use RSA256 algorithm for encrypting. |
JWTExpiredSignature | 400 | Authorization Token header has expired. |
PublicKeyInvalid | 400 | Given public key is not a public key. |
RequestFormatInvalid | 400 | Request format is wrong. Details are stored in error_message |
WrongRequiredFields | 401 | Specified required fields were not provided. More info in error_message |
AuthorizationMissing | 401 | Authorization header is missing. |
CertificateNotFound | 404 | Certificate has no permissions. |
OauthAppNotFound | 404 | OAuth Application specified in request does not exist or cannot be retrieved. |
×