API 2.0 Docs

auth

The API uses Oauth 2.0 spec, to authenticate requests an authorization bearer token is needed first. To get client id and client secret head to https://dash.nordigen.com/api-keys.

Get the auth token

Fetch bearer authorization token.

POST https://api.nordigen.com/oauth/token
REQUEST BODY SCHEMA: application/json
Parameters:

  • audience: string, required
  • client_id: string, required
  • client_secret: string, required
  • grant_type: string, required

Request Example

      
      curl -X POST \
      https://api.nordigen.com/oauth/token \
      -H 'Content-Type: application/json' \
      -d '{
        "grant_type": "client_credentials",
        "client_id": "YOUR_ID",
        "client_secret": "YOUR_SECRET",
        "audience": "https://nordigen/api"
      }'
      
    

Response Example

    {
    "audience": "https://nordigen/api",
    "client_id": "YOUR_ID",
    "client_secret": "YOUR_SECRET",
    "grant_type": "client_credentials"
    }

    HTTP code 200

Account Statement Analysis

Nordigen API offers a variety of account statement analysis tools which can be applied

Statement Upload

To process statement accounts they first need to be uploaded with file encoding utf-8. After upload processing record will be created, returning request id in the response. After this it needs to be passed to request operation endpoint in which necessary operations are specified. Multiple files can be passed at once, but the endpoint has 10mb size limit.

POST https://api.nordigen.com/v2/report
REQUEST BODY SCHEMA: multipart/form-data
Parameters:

  • input: file(s) buffer, required

Request Example

        
        curl -X POST \
        -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
        -F input=@example.json \
        https://api.nordigen.com/v2/report
      

Response Example

    
    {
      "data": {
        "attributes": {
          "available-operations": [
            "categorisation"
          ],
          "request-id": "162d7bb2-855c-477d-ad39-fd43fec5c44a",
          "status": "completed"
        },
        "relationships": {
          "operations": {
            "links": {
              "related": "https://api.nordigen.com/v2/report/process/162d7bb2-855c-477d-ad39-fd43fec5c44a",
              "self": "https://api.nordigen.com/v2/report"
            }
          }
        },
        "type": "report pre-processing record"
      }
    }

    HTTP code 200

Apply analysis products to uploaded account data

PUT https://api.nordigen.com/v2/report/process/{request-id} Request samples
REQUEST BODY SCHEMA: application/json
Parameters:

  • country: string, required
  • operations: array of strings, required. Operation keyword is defined for each analysis product in their documentation.
  • params: object, optional. Specifies configuration for analysis products, details will be specified under the respective product documentation
  • use_webhook: boolean, optional. Enables webhook after finishing processing

Request Example

        
        curl -X PUT \
        https://api.nordigen.com/v2/report/process/REQUEST_ID \
        -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
        -H 'Content-Type: application/json' \
        -d '{
          "operations": ["categorisation"],
          "country": "uk"
        }'
      

Response Example

    
    {
      "data": {
        "attributes": {
          "request-id": "162d7bb2-855c-477d-ad39-fd43fec5c44a",
          "status": "queued"
        },
        "relationships": {
          "result": {
            "links": {
              "related": "https://api.nordigen.com/v2/report/162d7bb2-855c-477d-ad39-fd43fec5c44a",
              "self": "https://api.nordigen.com/v2/report/process/162d7bb2-855c-477d-ad39-fd43fec5c44a"
            }
          }
        },
        "type": "report processing record"
      }
    }

    HTTP code 202

Get result

Retrieve requested analysis products result. If processing is not finished when this endpoint is called it will return status processing and it should be requested again until status completed is returned. Once it is completed this endpoint will also return requested products, their responses can be seen in respective product documentation pages.

GET https://api.nordigen.com/v2/report/{request-id}
Parameters:

  • request_id: string, required

Request Example


      curl -X GET \
      https://api.nordigen.com/v2/report/REQUEST_ID \
      -H 'Authorization: Bearer YOUR_ACCESS_TOKEN'

Response Example

    
    {
      "data": {
        "attributes": {
          "request-id": "162d7bb2-855c-477d-ad39-fd43fec5c44a",
          "status": "processing"
        },
        "type": "report processing result"
      }
    }

    HTTP code 200

Get available scoring model

This is relevant for credit scoring product, use this request to see what scoring models are available for you.

GET https://api.nordigen.com/v2/available-models

Request Example


      curl -X GET \
      https://api.nordigen.com/v2/available-models \
      -H 'Authorization: Bearer YOUR_ACCESS_TOKEN'

Response Example

    
    {
      "data": {
        "attributes": {
          "available-models": [
            "some_model_1.model",
            "some_model_2.model"
          ]
        },
        "type": "models list"
      }
    }

    HTTP code 200

Categories

Retrieve the latest category tree

GET https://api.nordigen.com/v2/category-tree/{country}
Parameters:

  • country: string, required. Two letter country code filter for categories

Request Example


      curl -X GET \
      https://api.nordigen.com/v2/category-tree/COUNTRY_CODE \
      -H 'Authorization: Bearer YOUR_ACCESS_TOKEN'

Response Example

    
    {
      "data": [
        {
          "attributes": {
            "categories": [
              {
                "id": 1,
                "level": 0,
                "parent_id": 93,
                "readable-title": "Food",
                "type": "expense"
              }
            ]
          },
          "type": "category tree"
        }
      ]
    }

    HTTP code 200

Webhooks

Setting up webhooks allows receiving status update for processing records once they are completed.

Set up webhooks

POST https://api.nordigen.com/v2/webhook-settings
REQUEST BODY SCHEMA: application/json
Parameters:

  • auth_method: string, optional. Authentication Method to use for webhook, possible options are OAuth2 and Basic Auth
  • auth_password: string, optional. Used for Basic Auth as password
  • auth_username: string, optional. Used for Basic Auth as username
  • callback_url: string, required. URL to which POST webhook request will be sent
  • oauth_audience: string, optional. Used for Oauth2 auth flow as audience when fetching token
  • oauth_client_audience: string. optional. Used for Oauth2 as scope when fetching token
  • oauth_client_id: string, optional. Used for Oauth2 as client id when fetching token
  • oauth_client_secret: string, optional. Used for Oauth2 as client secret when fetching token
  • oauth_token_url: string, optional. Used for Oauth2 as location from which to fetch token

Request Example

        
        curl -X POST \
        https://api.nordigen.com/v2/webhook-settings \
        -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
        -H 'Content-Type: application/json' \
        -d '{
        "callback_url": "https://your-domain"}'
      

Response Example

    
    {
      "data": {
        "attributes": {
          "success": true
        },
        "type": "report processing record"
      }
    }

    HTTP code 202