Premium APIs

Know Your Customer

Overview

Car finance know your customer API enables Car Dealers or Nordea Partners to collect KYC information for both household and corporate customers.

Changes from the previous version

This is first version, no previous changes.

Sample flow

On the picture below you can see the sample KYC API flow.

diag

NF Car Partners application call to token API first to get token for Nordea. Token need to be passed in header to KYC API. KYC API validate token and the allow access if token is valid. There are two different endpoints for household customers and corporate customers.

Swagger Definition

The Access token API specification is also available in the swagger format. Swagger is the world’s largest framework of API developer tools for the OpenAPI Specification(OAS), more information about it can be found here.

Access Token– This will updated by OBD (Open banking Department)  

API Endpoints

KYC API has following end points for household customer and corporate customers

Sandbox

EndpointSupported HTTP Methods
api/car-finance/kyc-profile/userPost
api/car-finance/kyc-profile/corporatePost

On Premises

EndpointSupported HTTP Methods
api/car-finance/kyc/householdPost
api/car-finance/kyc/corporatePost

Request Header Parameter

Sr.No.Field NameTypeMandatory InformationExample
1x-ibm-client-idStringMandatoryyou will get it from developer portal.
2x-ibm-client-secretStringMandatoryyou will get it from developer portal.
3AuthorizationStringMandatoryNordea Token received from Car Finance Token API
4countryIdStringMandatoryCountry of application origin.SE
5channelStringMandatoryType of Application, Internal Nordea or External Partners Application or CRM.CRM

Examples

Sample Request

{
  "countryID": "SE",
  "kyc": [
    {
      "customerID": "some-id",
      "answers": {
        "customer": {
          "occupation": "employed",
          "citizenship": "swedish",
          "countryOfApplication": "Sweden",
          "taxResidenceCountry": [
            {
              "countryName": "Sweden"
            }
          ],
          "pep": {
            "isPEP": "no",
            "knowsPEP": "no"
          }
        }
      }
    }
  ]
} 

Sample Responses

Code: 200 Description: Success

Example

{
  "status": "2 KYCs completed",
  "errors": [],
  "messages": [
    {
      "customerID": "some customer id",
      "message": "Completed"
    },
    {
      "customerID": "some customer id",
      "message": "Pending assessment"
    }
  ]
} 

Code: 400 Description: Validation errors, like Missing customerNumber

Example

{
  "status": "Error",
  "errors": [
    {
      "status": 400,
      "message": "Validation failed",
      "customerID": "Some customer id",
      "errors": [
        {
          "title": "Invalid request payload",
          "detail": "Request payload failed to validate against JSON Schema",
          "status": 400,
          "errors": [
            {
              "keyword": "required",
              "dataPath": ".customer",
              "schemaPath": "#/properties/customer/required",
              "params": {
                "missingProperty": "occupation"
              },
              "message": "should have required property 'occupation'"
            }
          ],
          "message": "Request payload failed to validate against JSON Schema"
        }
      ]
    },
    {
      "status": 404,
      "message": "Error",
      "errors": [
        {
          "title": "Not found",
          "detail": "Could not find KYC"
        }
      ],
      "customerID": "Some customer id"
    }
  ],
  "messages": []
} 

Code: 404 Description: Form definition not found

Example

{
 "status": "Error",
 "errors": [
   {
     "status": 404,
     "message": "Error",
     "errors": [
       {
         "title": "Not found",
         "detail": "Could not find KYC"
       }
     ],
     "customerID": "4123456789212"
   }
 ],
 "messages": [
   {
     "status": 200,
     "message": "Pending assessment",
     "customerID": "312345678935",
     "errors": []
   }
 ]
}  

Code: 500 Description: Internal error

Example

{
 "status": "Error",
 "errors": [
   {
     "status": 500,
     "message": "Something went wrong",
     "customerID": "some customer id",
     "errors": [
       {
         "title": "Something went wrong",
         "detail": "Something went wrong, please try again later"
       }
     ]
   },
   {
     "status": 404,
     "message": "Error",
     "errors": [
       {
         "title": "Not found",
         "detail": "Could not find KYC"
       }
     ],
     "customerID": "some customer id"
   }
 ],
 "messages": []
}