# Quick Start
source: https://developer.mastercard.com/open-finance-europe/documentation/licensed/aiia-enterprise/quickstart/index.md

Follow this guide to:

1. Obtain credentials to gain access to our platform.
2. Connect a first user and retrieve account and transaction information.

Refer to [Postman collection](https://developer.mastercard.com/open-finance-europe/documentation/licensed/aiia-enterprise/testing/postman/index.md) together with this guide to get started faster.

#### Get your Credentials {#get-your-credentials}

1. Open a browser and go to our [Developer Portal](https://devportal.openbanking.mastercard.com).
2. Click on the **Sign up (or login)** button.
3. Log in to your account. If you do not have an account, click **Sign up** and create one for free.
4. Click on **Apps** , then the **Create new app** button.
5. Take note of your `Client ID` and `Client Secret`.

#### Connect your First User {#connect-your-first-user}

##### Step 1 {#step-1}

Find your `Client ID` and `Client Secret`. If you cannot find it, go to our [Apps page](https://devportal.openbanking.mastercard.com/#/apps) in our Developer portal. Select the app you want to use and copy the `Client ID` and `key`.

##### Step 2 {#step-2}

Begin your first [Supervised Login](https://developer.mastercard.com/open-finance-europe/documentation/licensed/aiia-enterprise/connect/supervised/index.md).

API Reference: `POST /v1/authentication/initialize`

```shell
curl -X POST \
  https://api.nordicapigateway.com/v1/authentication/initialize \
  -H 'Content-Type: application/json' \
  -H 'X-Client-Id: <CLIENT_ID>' \
  -H 'X-Client-Secret: <CLIENT_SECRET>' \
  -d '{
        "userHash": "test-user-id", 
        "redirectUrl": "https://devportal.openbanking.mastercard.com/demo/redirect"
      }'
```

Note: Ensure the provided `userHash` matches the regular expression `^[a-zA-Z0-9-]{8,64}$`. It must consist of uppercase and lowercase characters from (`a` to `z` and/or `A` to `Z`) and numbers from `0` to `9` and dashes `-`. It must also be between 8 and 64 characters in length. Refer to [Authentication - Identifying users](https://developer.mastercard.com/open-finance-europe/documentation/licensed/aiia-enterprise/connect/identifying-users/index.md) tTo read more about how the user hash is used.

The response contains `authUrl`, which redirects to the [Supervised login flow](https://developer.mastercard.com/open-finance-europe/documentation/licensed/aiia-enterprise/connect/supervised/index.md).

```json
{
    "authUrl": "https://api.nordicapigateway.com/v1/authentication/start?startToken=ugAAAAVDaXBoZXJ0ZXh0AIAAAAAAqG8X41PoyO1Um4GsHQlqmy7c02mhontKuu2VrUBIqYzJU%2BfJ%2FuZWKmYvrBhXnpVnSDLWJsBsam9dvRCFax1Rm5KE%2FTPBTWA4oa3PtNaUWknlgGzzdFRdRss0kCE1aSCelG7lrZnN%2FXenBXRSMtTWmFfj%2FFQ2TpGgYdwznZ2uPLIFSXYAEAAAAAC1XEnqjqmz2l%2Bo0axEk7WgEEtleUlkAAAAAAAA"
}
```

##### Step 3 {#step-3}

Log in to **Test bank with data #1 DKK**. It will accept any username and any numeric password.

![Login flow](https://static.developer.mastercard.com/content/open-finance-europe/uploads/authentication-intro.png)

After completing the login, you are redirected to the provided `redirectUrl` with a code that you will use in the next step.

Here is an example of a `redirectUrl`:

    https://devportal.openbanking.mastercard.com/demo/redirect?code=qgAAAAVDaXBoZXJ0ZXh0AHAAAAAAhc3pqKXxpxfZnLBlBK8FZApw9cEVp7Fp9d0tcRGsx7Q9

Take note of the `code`, as It is used in the next step to get session and login tokens.
Note: An array of test providers are provided that can test different configurations.

##### Step 4 {#step-4}

Use the `code` from Step 3 to get tokens for the user:

API Reference: `POST /v1/authentication/tokens`

```shell
curl -X POST \
  https://api.nordicapigateway.com/v1/authentication/tokens \
  -H 'Content-Type: application/json' \
  -H 'X-Client-Id: <CLIENT_ID>' \
  -H 'X-Client-Secret: <CLIENT_SECRET>' \
  -d '{
        "code": "<CODE>"
      }'
```

Note: A `code` can only be used once and expires after one minute.

The response contains an `accessToken` and `loginToken`. Refer to [Authentication -- Login flows](https://developer.mastercard.com/open-finance-europe/documentation/licensed/aiia-enterprise/connect/index.md) to read more about the response details.

Here is an example of a successful response:

```json
{
  "session": {
      "expires": "2019-01-24T08:35:21.939+00:00",
      "accessToken": "mgAAAAVDaXBoZXJ0ZXh0AGAAAAAALSNU1nfT+gOvGFAtSZHhwgdL++Dnq0981PFQV35o3dAImrq42gAdRmlLcbwgCOTxR7FPkosg4STr0+u+K2H7DNVwZLYD5s//I4S++1YW4bZQ49u6d+27g2CLWLxsYI2jBUl2ABAAAAAABrc/TGEcdOqFb5vLVhvVbRBLZXlJZAAAAAAAAA=="
  },
  "login": {
      "providerId": "DemoBank",
      "expires": "2019-07-26T08:25:24.3904945Z",
      "loginToken": "-ELT2-CgQAAAVDaXBoZXJ0ZXh0ANADAAAAC6nGeeNX3WTJ/laeqzFXLqAXI9kQk0qOHhYlOjGlh3z/OSIgyztxt0Gam8aLCWkeKlr3PExieK2rxvIwiTuMsONqcglFJ3UilNU9jey4QFeGTPAOZ+b7b/U7t5pRGC6HIGSeMnMkLa1eOkICzWBK3yWGdQ2iAtJAz6XtL6R+X+BHWihiTi1jKTThGtJftZj386wTIjECB9rqurJ/MSsOGLw3LH2neQr0hvd+EC+r8SjMcj62tCANV5qJu/SCASE+8M+nqIDwicXBv19BeZ0mlGZrynmw1Tswf56ZM8QcG6NIFBr4W3WQH4s2dxxtCeod8SA02BkRmEo1BOSGB+KTj3Uo0dF2jACWuHhrdCgWwlkW+Gf0CHqYQ9SPxyQpyMyAXAVHmA3744XelyZ37xK6elCweAFsXI6kg2LginiOLBf05Vgj3qyRZbZKqNMubLiZLt+pd3xsoE+Ye4419I5TQ7UhJWvBBB44+8KqeFDbf39vuMZYr/cBzypOUzY28w8NiHI4QrkUIvjJr932Bkm+Iquc5VsVFIoxHGhd44bHe9TGUG5SJw6oj/NH8lI/8Jjz1Ub7tx6QH1kAF6Ak25+Kp6eZEmiBR6WRw77Br8DX6AEhTVCZjXHTH6k5z5Kj0qf+KbGjrosfm84t93V286bWhPRVh+SEVbYYtnQEoFBNfe6JcEcQCdcdkt/Nr1uqDLUk+AnocOXZN3keX9hMOwlWi6M7k/CLS4XtsyXoah5W881V3fpYf1oXwc2e6uvOTOw2XvM8ZGu1tdethK/FVNN0E9xEGoeCmEczD1gTp7d6XPBYYXX8aLYbmc9iBtnda63XevC5LDMzccAd0pJlDN/1HQ1G9CFrQVboGbG+7UpA2+E30NY4/ijnKrFYhuu6RQqSZ4w0mKEkhsN75oIvnUFJVNW4WWQQmaGlyYkYKoVwyevBJoIma6ni9guPZ6OY60+ZZbPS0IM3/A7b1i9IHMddS413ZZF+iHgB5zq9fkuq+uMQRPVCmjty22DdcVSpg6egDrj/3Y+jUl0tRehYF7tS4cwmzpQX/1DHmQs/IygxTrHoy8V0THHOFnRnWL+CeTU3pYkVRQ6GdZMzB4p3uc50nDIH4jbtyh19Yh8urDc8zlBFBjbKi/0rN9AiYTr1/PPD7WcXhqTQ6fJBk4QKlA5BbuOtXitW9PlRD5fwzL6I5HjDDlG5EZ0BHWu/8MvuLwUXUetJdexh9xYJdeCLWc4PM2IevRYVkOI1BQZok02pKinlAPnLnViPefJPA0CYfmqwOGJnpcYsh6Tb309NCjYhZwVJdgAQAAAAAN+tbV+1TCiMlNggDuoGm8UQS2V5SWQAAAAAAAA=",
      "supportsUnattended": true,
      "label": "DemoBank 1/24/2019 8:25:24 AM",
      "subjectId": "19fbe4ec7edfc9608c9a289950700d1113b12d299ea7daeaccb3aab4b71265c0"
  },
  "providerId": "DemoBank"
}
```

Take note of the `accessToken`. It is used in the next step to get a list of all accounts that the end-user has with the selected provider.

#### Step 5 {#step-5}

The user's account data can be accessed using the `accessToken`. Unattended logins can also be performed using the `loginToken`.

Here is an example of how to fetch the user's accounts:

```shell
curl https://api.nordicapigateway.com/v2/accounts \
  -H 'X-Client-Id: <CLIENT_ID>' \
  -H 'X-Client-Secret: <CLIENT_SECRET>' \
  -H 'Authorization: Bearer <ACCESS_TOKEN>' 
```

This endpoint produces a response that contains an overview of the end-user's account with that provider. Refer to [Accounts Information](https://developer.mastercard.com/open-finance-europe/documentation/licensed/aiia-enterprise/accounts/account-information/index.md) for more details.

```json
{
  "accounts": [
      {
          "id": "nLyutqfV0vy0hIRIop6tCjEGzyePS2zn7QYv-JVOv0Q.0",
          "providerId": "TestDataBank1",
          "name": "Checking Account",
          "number": {
              "bbanType": "DK",
              "bban": "0001-204386946",
              "iban": "DK00000000000001204386946",
              "card": null,
              "bbanParsed": {
                  "bankCode": "0001",
                  "accountNumber": "204386946"
              }
          },
          "bookedBalance": {
              "value": -10880.26,
              "currency": "DKK"
          },
          "availableBalance": null,
          "type": "Consumption",
          "features": {
              "queryable": true,
              "psdPaymentAccount": true,
              "paymentFrom": true,
              "paymentTo": true
          }
      },
      {
          "id": "T6t4Pk9uNDgiz7JCKcK3vis9dR3wH3-hR5bacmgHFBw.1",
          "providerId": "TestDataBank1",
          "name": "Direct Debit",
          "number": {
              "bbanType": "DK",
              "bban": "0001-245787654",
              "iban": "DK00000000000001245787654",
              "card": null,
              "bbanParsed": {
                  "bankCode": "0001",
                  "accountNumber": "245787654"
              }
          },
          "bookedBalance": {
              "value": 614.03,
              "currency": "DKK"
          },
          "availableBalance": null,
          "type": "Consumption",
          "features": {
              "queryable": true,
              "psdPaymentAccount": true,
              "paymentFrom": true,
              "paymentTo": true
          }
      }
  ],
  "pagingToken": null
}
```

#### What Next? {#what-next}

Now that you have got your credentials, you are all set to explore our API.

* [Postman](https://developer.mastercard.com/open-finance-europe/documentation/licensed/aiia-enterprise/testing/postman/index.md) is an API development environment (ADE) that is used to perform work with APIs just like ours. We have made a collection with all the endpoints to make it easy to explore our APIs.

## Using Open Finance {#using-open-finance}

#### Connect Users {#connect-users}

Explore how to authenticate your users and connect to accounts.

[Learn more →](https://developer.mastercard.com/open-finance-europe/documentation/licensed/aiia-enterprise/connect/index.md)

#### Payments {#payments}

Learn how to make payments.

[Learn more →](https://developer.mastercard.com/open-finance-europe/documentation/licensed/aiia-enterprise/payments/index.md)

#### Accounts {#accounts}

Learn how to access real-time account information and transactions.

[Learn more →](https://developer.mastercard.com/open-finance-europe/documentation/licensed/aiia-enterprise/accounts/index.md)
