Introduction
Status | Production |
Certificate | Test/Production |
URL | https://mci-nn.saltedge.com |
Launch date | 1 January 2025 |
PSD2 Regulation
Article 31 (PSD2 RTS) - Outlines the access interface options, according to which the ASPSPs can provide access:
- via a dedicated interface (generally understood to refer to an API-based solution);
- by allowing the use by TPPs, the interfaces used for authentication and communication with the ASPSP’s payment service users.
Article 33 (PSD2 RTS) - Outlines the requirements of contingency interface.
MCI Description
Modified Customer Interface (MCI) enables TPPs to access the designated payment accounts of PSUs for inscope banking entities under PSD2.
TPP is able to retrieve all content of ASPSP’s web application when they login using customer credentials. This solution is based on existing web application design.
Using the MCI
Authentication
This deep link facilitates the secure authentication of a customer's (user) access to account information and ensures seamless navigation between the client application and the TPP (Third Party Provider) systems.
Redirect
GET
nnretailapp://App/NOVA_INSIGHTS/NOVA_INSIGHTS:PSD2_AIS_CONSENT_FUNNEL
Query Parameters
- The customer is redirected to the crafted deep link URL. This triggers the initiation of the consent and authentication process for accessing their account information services.
- Upon redirection, the customer is prompted to authenticate using their credentials. The authentication is processed securely within the application environment.
- After successful authentication, the customer is redirected back to the client-specified tpp_redirect_uri. This URI should be prepared to handle incoming data securely.
TPP Callback
The client must define a callback endpoint capable of handling the following parameters, which are appended to the tpp_redirect_uri upon redirection:
Redirect
GET
https://tppCallbackUrl
Example of parameters
![]()
{"state":"4f168760-20e6-4d6b-9ab5-ee9e34054fd5","userId":"1595846319"}
Parameters
Token
Retrieves access token.
Request
POST
https://mci-nn.saltedge.com/mci/token
CURL
![]()
curl -i \ -H "TPP-Signature-Certificate: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVBakNDQXVvQ0FRQXdEUVlKS29aSWh2Y05BUUVMQlFBd1d6RVhNQlVHQTFVRVlRd09WSEJ3VTJGc2RGUmwKYzNRd01EQXhJREFlQmdOVkJBTU1GMk5sY25SVFNVZE9VMEZNVkZSRlUxUWdWMlZpSUVOQk1SRXdEd1lEVlFRSwpEQWhUWVd4MFZHVnpkREVMTUFrR0ExVUVCaE1DVWs4d0hoY05NVGt4TWpFNE1URXlOVFU1V2hjTk1qRXhNakUzCk1URXlOVFU1V2pDQmpURVdNQlFHQTFVRUF3d05jMkZzZEMxMFpYTjBMbU52YlRFUk1BOEdBMVVFQ2d3SVUyRnMKZEZSbGMzUXhDekFKQmdOVkJBWVRBbEpQTVJJd0VBWURWUVFJREFsQ2RXTjFjbVZ6ZEdreEVqQVFCZ05WQkFjTQpDVUoxWTNWeVpYTjBhVEVXTUJRR0ExVUVDUXdOUVd4aVlTQkpkV3hwWVNBM05URVRNQkVHQTFVRVlRd0thV1JsCmJuUnBabWxsY2pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS2dXNEo5K0hGY0wKUVVwTEk0c1pCSm5RaGdRYUpYRGxwVDI4NWxlOGVEcTdUalpnYXpLcU05RkJydzRBRURxUmxYR3Znd2luSkY2Mgowd3VJcSs3cGpPWFBQdytZOVhRQnBTa2p1cmJ5aEpPZjhiNlVqTFBMQnVBd09rRk52N0prbHdLeXFmazRHRzROCmdrOGRVYTFjS05MY1gzNzdwdno0Q0hZalBraGlLY0xqQVJ4TFRJYkdtejlZQVQvQWszbDdCRkRkV2owQnJrR2oKV2RGelJWV3FjdHA0NjVvWEZXZTZ3QmlybEplK1JEZ2hnQWRUQWlQR1J3WHV4dmRiSW5SOHZ2b0RJNTJHRXVzaApGWUNZd28zdWFVSVR5Z3hOZEJyWjVOaVpLaCtybjVVNW4zM0pETm9OV2hCVUUwMUwvaFYzUHlleHBKVHltaURQCjZTUFJKM0ZMR3RrQ0F3RUFBYU9Cb2pDQm56QU1CZ05WSFJNRUJUQURBUUgvTUE0R0ExVWREd0VCL3dRRUF3SUIKQmpBZEJnTlZIUTRFRmdRVUtwUGZ5MTlSQUJQS3J2YnNNUnRXM3lHSU1mb3dId1lEVlIwakJCZ3dGb0FVS3BQZgp5MTlSQUJQS3J2YnNNUnRXM3lHSU1mb3dQd1lJS3dZQkJRVUhBUU1FTXd3eGRHVnpkRkJUVUY5QlNTNHVMbUZsCk9EVTBNalE1TFdaaVpEQXROREV4WmkxaU0ySXdMV0poWkRFNE5Ea3hNelptWmpBTkJna3Foa2lHOXcwQkFRc0YKQUFPQ0FRRUFacHEvdmF5T3ZSS3dKd1dPQnpTMzhoUHA4TjVnRTlqd2J6dkxCTUhvZERXZk11ZTA5SzFweUI3KwpQdU1rZjNOT0tVSERMWDhob0xiZ0dWVlY0S1lqRndGa203cWY0OTZNTWE0VnZBRWNPeUJkM0pGVWcyeGIxVlN4Cjk0OWVCaVdGcGtaSVNZZUNxNXJ4UWFNeHJJVm9OZjhaSjVOT2V3aU1DM0ZYM3duVGw2VG9yUW1lQUU5MnhuMEQKdnZ6ZUJ4YlFqdTdjQlh3SDFPaGdUamx0YTM1WE1ESjhXbGo4TWZRR0YvZThIZFIrS014WWU5SWNROHN1UjdBVQpGRGkyaUJsMlVQc3dCa0FqMHJRVlY2U2psNWdVSm95K0FJaGZBYXE2cUxSQnJ1NGJTbE44TnVpY2RTRkZ3eHZ1ClEwOVl1U3U3djQ2a1R3ZUxpNnZJZGQxaUxUc05Ndz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" \ -H "TPP-Signature: eyJhbGciOiJSUzI1NiJ9.eyJrZXkiOiJ2YWx1ZSJ9.kcilNLO1WBTzgzD0Kjy499OzexTy_I0MBhs5W0sl1OdKNVY-9EnPIIi5pK4hF2ASWpERdW1uDk5v4QUbcvcZPVMzZklmyYOho-r9MTki-gnT6NJSp5dkgRATp9JjnlayJew3qCcx3rBAzA_c_qpJtKus1zh9YGOdi5ohMBKh76D0sD-qdJtvLOdfhdEWpXevj18x0i8nkxhulBR2QYjEv6bj8YnHhCJ-3IfsPtrB2Ltj_39Z0JQfeYsKLd9cJOwUfwIOsnUXugZL7JEL-n-phKTWCQFp0Otg_V56AprC5_-7rtFRymayupSnsRgAkxXpu0Q6mxIGZEp2ISjRrOcViQ" \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ0b3B0YWwuY29tIiwiZXhwIjoxNDI2NDIwODAwLCJodHRwOi8vdG9wdGFsLmNvbS9qd3RfY2xhaW1zL2lzX2FkbWluIjp0cnVlLCJjb21wYW55IjoiVG9wdGFsIiwiYXdlc29tZSI6dHJ1ZX0.yRQYnWzskCZUxPwaQupWkiUzKELZ49eM7oWxAQK_ZXw" \ -H "Content-Type: application/json" \ -X POST "https://mci-nn.saltedge.com/mci/token"
Example response body
![]()
{"userId":"1595846319"}
Headers
Header | Type | Description |
---|---|---|
TPP-Signature-Certificate
|
string, required | The certificate used for signing the request, in base64 encoding that should comply with RFC 4648 (No line feeds). Can raise: TppCertificateInvalid |
TPP-Signature
|
string, required |
JSON Web Signature containing payload, signed using RS256 and
application.private_key.
Can raise:
MciSignatureInvalid
|
Content-Type
|
string, required | The media type of the body of the request. Accepted values: application/json |
MCI-TYPE
|
string, required | The media type of the body of the request. Accepted values: token |
TPP-Signature Payload
Parameters
Response
Upon successful request, 200 status code will be returned. See ‘Related Errors‘ table for other possibilities.
Related Errors
Class | Code | Description |
---|---|---|
TppCertificateInvalid | 400 |
Invalid certificate or given certificate doesn’t have permissions in
country_code .
Details are stored in
error_message .
|
MciSignatureInvalid | 400 | Given signature is invalid or malformed. |
Accounts
Retrieves account information data of a PSU.
Request
GET
https://mci-nn.saltedge.com/mci/accounts
CURL
![]()
curl -i \ -H "TPP-Signature-Certificate: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVBakNDQXVvQ0FRQXdEUVlKS29aSWh2Y05BUUVMQlFBd1d6RVhNQlVHQTFVRVlRd09WSEJ3VTJGc2RGUmwKYzNRd01EQXhJREFlQmdOVkJBTU1GMk5sY25SVFNVZE9VMEZNVkZSRlUxUWdWMlZpSUVOQk1SRXdEd1lEVlFRSwpEQWhUWVd4MFZHVnpkREVMTUFrR0ExVUVCaE1DVWs4d0hoY05NVGt4TWpFNE1URXlOVFU1V2hjTk1qRXhNakUzCk1URXlOVFU1V2pDQmpURVdNQlFHQTFVRUF3d05jMkZzZEMxMFpYTjBMbU52YlRFUk1BOEdBMVVFQ2d3SVUyRnMKZEZSbGMzUXhDekFKQmdOVkJBWVRBbEpQTVJJd0VBWURWUVFJREFsQ2RXTjFjbVZ6ZEdreEVqQVFCZ05WQkFjTQpDVUoxWTNWeVpYTjBhVEVXTUJRR0ExVUVDUXdOUVd4aVlTQkpkV3hwWVNBM05URVRNQkVHQTFVRVlRd0thV1JsCmJuUnBabWxsY2pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS2dXNEo5K0hGY0wKUVVwTEk0c1pCSm5RaGdRYUpYRGxwVDI4NWxlOGVEcTdUalpnYXpLcU05RkJydzRBRURxUmxYR3Znd2luSkY2Mgowd3VJcSs3cGpPWFBQdytZOVhRQnBTa2p1cmJ5aEpPZjhiNlVqTFBMQnVBd09rRk52N0prbHdLeXFmazRHRzROCmdrOGRVYTFjS05MY1gzNzdwdno0Q0hZalBraGlLY0xqQVJ4TFRJYkdtejlZQVQvQWszbDdCRkRkV2owQnJrR2oKV2RGelJWV3FjdHA0NjVvWEZXZTZ3QmlybEplK1JEZ2hnQWRUQWlQR1J3WHV4dmRiSW5SOHZ2b0RJNTJHRXVzaApGWUNZd28zdWFVSVR5Z3hOZEJyWjVOaVpLaCtybjVVNW4zM0pETm9OV2hCVUUwMUwvaFYzUHlleHBKVHltaURQCjZTUFJKM0ZMR3RrQ0F3RUFBYU9Cb2pDQm56QU1CZ05WSFJNRUJUQURBUUgvTUE0R0ExVWREd0VCL3dRRUF3SUIKQmpBZEJnTlZIUTRFRmdRVUtwUGZ5MTlSQUJQS3J2YnNNUnRXM3lHSU1mb3dId1lEVlIwakJCZ3dGb0FVS3BQZgp5MTlSQUJQS3J2YnNNUnRXM3lHSU1mb3dQd1lJS3dZQkJRVUhBUU1FTXd3eGRHVnpkRkJUVUY5QlNTNHVMbUZsCk9EVTBNalE1TFdaaVpEQXROREV4WmkxaU0ySXdMV0poWkRFNE5Ea3hNelptWmpBTkJna3Foa2lHOXcwQkFRc0YKQUFPQ0FRRUFacHEvdmF5T3ZSS3dKd1dPQnpTMzhoUHA4TjVnRTlqd2J6dkxCTUhvZERXZk11ZTA5SzFweUI3KwpQdU1rZjNOT0tVSERMWDhob0xiZ0dWVlY0S1lqRndGa203cWY0OTZNTWE0VnZBRWNPeUJkM0pGVWcyeGIxVlN4Cjk0OWVCaVdGcGtaSVNZZUNxNXJ4UWFNeHJJVm9OZjhaSjVOT2V3aU1DM0ZYM3duVGw2VG9yUW1lQUU5MnhuMEQKdnZ6ZUJ4YlFqdTdjQlh3SDFPaGdUamx0YTM1WE1ESjhXbGo4TWZRR0YvZThIZFIrS014WWU5SWNROHN1UjdBVQpGRGkyaUJsMlVQc3dCa0FqMHJRVlY2U2psNWdVSm95K0FJaGZBYXE2cUxSQnJ1NGJTbE44TnVpY2RTRkZ3eHZ1ClEwOVl1U3U3djQ2a1R3ZUxpNnZJZGQxaUxUc05Ndz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" \ -H "TPP-Signature: eyJhbGciOiJSUzI1NiJ9.eyJrZXkiOiJ2YWx1ZSJ9.kcilNLO1WBTzgzD0Kjy499OzexTy_I0MBhs5W0sl1OdKNVY-9EnPIIi5pK4hF2ASWpERdW1uDk5v4QUbcvcZPVMzZklmyYOho-r9MTki-gnT6NJSp5dkgRATp9JjnlayJew3qCcx3rBAzA_c_qpJtKus1zh9YGOdi5ohMBKh76D0sD-qdJtvLOdfhdEWpXevj18x0i8nkxhulBR2QYjEv6bj8YnHhCJ-3IfsPtrB2Ltj_39Z0JQfeYsKLd9cJOwUfwIOsnUXugZL7JEL-n-phKTWCQFp0Otg_V56AprC5_-7rtFRymayupSnsRgAkxXpu0Q6mxIGZEp2ISjRrOcViQ" \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ0b3B0YWwuY29tIiwiZXhwIjoxNDI2NDIwODAwLCJodHRwOi8vdG9wdGFsLmNvbS9qd3RfY2xhaW1zL2lzX2FkbWluIjp0cnVlLCJjb21wYW55IjoiVG9wdGFsIiwiYXdlc29tZSI6dHJ1ZX0.yRQYnWzskCZUxPwaQupWkiUzKELZ49eM7oWxAQK_ZXw" \ -H "Content-Type: application/json" \ -X GET "https://mci-nn.saltedge.com/mci/accounts"
Example response body
![]()
{"id":"123456","name":"John Doe","currency":"EUR","balance":23.41,"iban":"NL91ABNA0417164300","status":"active"}
Query Parameters
Headers
Header | Type | Description |
---|---|---|
TPP-Signature-Certificate
|
string, required | The certificate used for signing the request, in base64 encoding that should comply with RFC 4648 (No line feeds). Can raise: TppCertificateInvalid |
TPP-Signature
|
string, required |
JSON Web Signature containing payload, signed using RS256 and
application.private_key.
Can raise:
MciSignatureInvalid
|
Authorization
|
string, required | Bearer access token. |
Content-Type
|
string, required | The media type of the body of the request. Accepted values: application/json |
MCI-TYPE
|
string, required | The media type of the body of the request. Accepted values: ais |
X-User-ID
|
string, required | User identifier(userId) issued during authorization process. |
TPP-Signature Payload
Response
Upon successful request, 200 status code will be returned. See ‘Related Errors‘ table for other possibilities.
Related Errors
Class | Code | Description |
---|---|---|
TppCertificateInvalid | 400 |
Invalid certificate or given certificate doesn’t have permissions in
country_code .
Details are stored in
error_message .
|
MciSignatureInvalid | 400 | Given signature is invalid or malformed. |
Transactions
Retrieves the list of transactions of a PSU.
Request
GET
https://mci-nn.saltedge.com/mci/transactions
CURL
![]()
curl -i \ -H "TPP-Signature-Certificate: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVBakNDQXVvQ0FRQXdEUVlKS29aSWh2Y05BUUVMQlFBd1d6RVhNQlVHQTFVRVlRd09WSEJ3VTJGc2RGUmwKYzNRd01EQXhJREFlQmdOVkJBTU1GMk5sY25SVFNVZE9VMEZNVkZSRlUxUWdWMlZpSUVOQk1SRXdEd1lEVlFRSwpEQWhUWVd4MFZHVnpkREVMTUFrR0ExVUVCaE1DVWs4d0hoY05NVGt4TWpFNE1URXlOVFU1V2hjTk1qRXhNakUzCk1URXlOVFU1V2pDQmpURVdNQlFHQTFVRUF3d05jMkZzZEMxMFpYTjBMbU52YlRFUk1BOEdBMVVFQ2d3SVUyRnMKZEZSbGMzUXhDekFKQmdOVkJBWVRBbEpQTVJJd0VBWURWUVFJREFsQ2RXTjFjbVZ6ZEdreEVqQVFCZ05WQkFjTQpDVUoxWTNWeVpYTjBhVEVXTUJRR0ExVUVDUXdOUVd4aVlTQkpkV3hwWVNBM05URVRNQkVHQTFVRVlRd0thV1JsCmJuUnBabWxsY2pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS2dXNEo5K0hGY0wKUVVwTEk0c1pCSm5RaGdRYUpYRGxwVDI4NWxlOGVEcTdUalpnYXpLcU05RkJydzRBRURxUmxYR3Znd2luSkY2Mgowd3VJcSs3cGpPWFBQdytZOVhRQnBTa2p1cmJ5aEpPZjhiNlVqTFBMQnVBd09rRk52N0prbHdLeXFmazRHRzROCmdrOGRVYTFjS05MY1gzNzdwdno0Q0hZalBraGlLY0xqQVJ4TFRJYkdtejlZQVQvQWszbDdCRkRkV2owQnJrR2oKV2RGelJWV3FjdHA0NjVvWEZXZTZ3QmlybEplK1JEZ2hnQWRUQWlQR1J3WHV4dmRiSW5SOHZ2b0RJNTJHRXVzaApGWUNZd28zdWFVSVR5Z3hOZEJyWjVOaVpLaCtybjVVNW4zM0pETm9OV2hCVUUwMUwvaFYzUHlleHBKVHltaURQCjZTUFJKM0ZMR3RrQ0F3RUFBYU9Cb2pDQm56QU1CZ05WSFJNRUJUQURBUUgvTUE0R0ExVWREd0VCL3dRRUF3SUIKQmpBZEJnTlZIUTRFRmdRVUtwUGZ5MTlSQUJQS3J2YnNNUnRXM3lHSU1mb3dId1lEVlIwakJCZ3dGb0FVS3BQZgp5MTlSQUJQS3J2YnNNUnRXM3lHSU1mb3dQd1lJS3dZQkJRVUhBUU1FTXd3eGRHVnpkRkJUVUY5QlNTNHVMbUZsCk9EVTBNalE1TFdaaVpEQXROREV4WmkxaU0ySXdMV0poWkRFNE5Ea3hNelptWmpBTkJna3Foa2lHOXcwQkFRc0YKQUFPQ0FRRUFacHEvdmF5T3ZSS3dKd1dPQnpTMzhoUHA4TjVnRTlqd2J6dkxCTUhvZERXZk11ZTA5SzFweUI3KwpQdU1rZjNOT0tVSERMWDhob0xiZ0dWVlY0S1lqRndGa203cWY0OTZNTWE0VnZBRWNPeUJkM0pGVWcyeGIxVlN4Cjk0OWVCaVdGcGtaSVNZZUNxNXJ4UWFNeHJJVm9OZjhaSjVOT2V3aU1DM0ZYM3duVGw2VG9yUW1lQUU5MnhuMEQKdnZ6ZUJ4YlFqdTdjQlh3SDFPaGdUamx0YTM1WE1ESjhXbGo4TWZRR0YvZThIZFIrS014WWU5SWNROHN1UjdBVQpGRGkyaUJsMlVQc3dCa0FqMHJRVlY2U2psNWdVSm95K0FJaGZBYXE2cUxSQnJ1NGJTbE44TnVpY2RTRkZ3eHZ1ClEwOVl1U3U3djQ2a1R3ZUxpNnZJZGQxaUxUc05Ndz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" \ -H "TPP-Signature: eyJhbGciOiJSUzI1NiJ9.eyJrZXkiOiJ2YWx1ZSJ9.kcilNLO1WBTzgzD0Kjy499OzexTy_I0MBhs5W0sl1OdKNVY-9EnPIIi5pK4hF2ASWpERdW1uDk5v4QUbcvcZPVMzZklmyYOho-r9MTki-gnT6NJSp5dkgRATp9JjnlayJew3qCcx3rBAzA_c_qpJtKus1zh9YGOdi5ohMBKh76D0sD-qdJtvLOdfhdEWpXevj18x0i8nkxhulBR2QYjEv6bj8YnHhCJ-3IfsPtrB2Ltj_39Z0JQfeYsKLd9cJOwUfwIOsnUXugZL7JEL-n-phKTWCQFp0Otg_V56AprC5_-7rtFRymayupSnsRgAkxXpu0Q6mxIGZEp2ISjRrOcViQ" \ -H "Content-Type: application/json" \ -X GET "https://mci-nn.saltedge.com/mci/transactions"
Query Parameters
Example response body
![]()
{"id":"ac1b2c3d4e5f6g7h8i9j0","amount":-23.61,"currency":"EUR","iban":"NL91ABNA0417164300","status":"posted","reference":"828932-1232-23213223","creditorName":"Name of the credit partry","creditorIban":"NL91ABNA0417164302","debtorName":"Name of the debtor partry","debtorIban":"NL91ABNA0417164301","bookedDate":"2023-09-12"}
Headers
Header | Type | Description |
---|---|---|
TPP-Signature-Certificate
|
string, required | The certificate used for signing the request, in base64 encoding that should comply with RFC 4648 (No line feeds). Can raise: TppCertificateInvalid |
TPP-Signature
|
string, required |
JSON Web Signature containing payload, signed using RS256 and
application.private_key.
Can raise:
MciSignatureInvalid
|
Authorization
|
string, required | Bearer access token. |
Content-Type
|
string, required | The media type of the body of the request. Accepted values: application/json |
MCI-TYPE
|
string, required | The media type of the body of the request. Accepted values: ais |
X-User-ID
|
string, required | User identifier(userId) issued during authorization process. |
TPP-Signature Payload
Response
Upon successful request, 200 status code will be returned. See ‘Related Errors‘ table for other possibilities.
Related Errors
Class | Code | Description |
---|---|---|
TppCertificateInvalid | 400 |
Invalid certificate or given certificate doesn’t have permissions in
country_code .
Details are stored in
error_message .
|
MciSignatureInvalid | 400 | Given signature is invalid or malformed. |