# Quick Start Guide
source: https://developer.mastercard.com/open-finance-au/documentation/quick-start-guide/index.md

###### Time to complete: **30 minutes** {#time-to-complete-30-minutes}

## Overview {#overview}

Follow this guide to:

* Introduce yourself to Connect and the foundational Open Finance APIs
* Get access to test data in our Sandbox

Note: If your project has been configured for a different [access model](https://developer.mastercard.com/open-finance-au/documentation/access-and-config/access-models/index.md) then some steps may differ from those presented in this guide. Your Mastercard representative will provide more information if this is the case.

## Create a Sandbox Project {#create-a-sandbox-project}

1. [Log in](https://developer.mastercard.com/account/log-in) or [sign up](https://developer.mastercard.com/account/sign-up) to Mastercard Developers and select **Create New Project**.

   ![](https://static.developer.mastercard.com/content/open-finance-au/uploads/onboarding-new-project.png)
2. Provide **Project details**:

   a. Enter a name for your project.

   b. Select **No** for "Are you creating this project on behalf of a client?" question.

   c. Select **Open Finance** from the **Select your API service** dropdown list.

   d. From the **Commercial Countries** drop-down list, select the country where the end users of this application will be located. You cannot update Commercial Countries after this step. Ensure you select the appropriate country before you click Proceed.

   e. Click **Proceed**.

   ![](https://static.developer.mastercard.com/content/open-finance-au/uploads/onboarding-select-project-au-openfinance.png)
3. Provide **Service details**:

   a. Optionally, enter a description for your Sandbox credentials.

   b. Click **Create Project**.

   ![](https://static.developer.mastercard.com/content/open-finance-au/uploads/create-project-openfinance.png)

Your project displays the Sandbox credentials - `Partner ID`, `Secret`, and `App Key`. These credentials are required to call the APIs.

![partner-id](https://static.developer.mastercard.com/content/open-finance-au/uploads/sandbox-credentials.png)
Note: If you need to use multiple environments for testing, for example, one test environment for developers, another for User Acceptance Testing (UAT), you can request additional Sandbox credentials by using the **Add Sandbox Credentials** button. Note: Specific product features, including the consent flows associated with specific disclosure models, might require configuration by your solution engineer if you want to test them in Sandbox.

## Welcome Your First Customer {#welcome-your-first-customer}

Follow the steps below to create a test customer and share some test accounts with Mastercard Open Finance. The corresponding **Customer ID** will be needed for retrieving account and financial data.
Tip: If you are using bash, as an alternative to running the commands in the steps below, you can download and run this setup script:  

[setup.sh](https://static.developer.mastercard.com/content/open-finance-au/uploads/setup.sh) (5KB)

<br />


Usage: `./setup.sh {partnerId} {partnerSecret} {appKey}`

#### Step 1 - Create Access Token {#step-1---create-access-token}

Note: If your application will not be hosted in Australia, contact your Mastercard representative for advice.

All requests sent to Mastercard Open Finance must include a `App-Token` HTTP header. Use the following endpoint whenever you need to generate a new access token:

API Reference: `POST /aggregation/v2/partners/authentication`

```sh
curl --location --request POST 'https://api.openbanking.mastercard.com.au/aggregation/v2/partners/authentication' \
--header 'Content-Type: application/json' \
--header 'App-Key: {{appKey}}' \
--header 'Accept: application/json' \
--data-raw '{
    "partnerId": "{{partnerId}}",
    "partnerSecret": "{{partnerSecret}}"
}'
```

* Expected response:

```json
{
  "token": "YBh22Sb9Es6e66Q7lWdt"
}
```

#### Step 2 - Subscribe for Consent Notifications {#step-2---subscribe-for-consent-notifications}

[Consent](https://developer.mastercard.com/open-finance-au/documentation/consent/index.md) plays a key part in obtaining customers' financial data. It is important to know when consent is given, in order to begin the request for information from the data holders.

To know the consent status and its details, you must subscribe to Consent Notifications.

1. Generate a test Webhook URL:  

* Click [Webhook.site](https://webhook.site) --- this will create a new unique URL that you can use for testing webhooks.  
* Copy the unique URL displayed on the page under the text "Your unique URL", for example, `https://webhook.site/{uuid}`. **Important**: Do NOT copy the URL from the address bar as it contains additional not acceptable characters.

Warning: For testing purposes you can use commonly used online tools like webhook.site, requestbin.com, beeceptor.com, or other tools that will receive webhooks and post the content for you to review (note that this is not an official endorsement for any of these services). In production you **must** use your own secure webhook service.

2. Subscribe to [Consent Notifications](https://developer.mastercard.com/open-finance-au/documentation/consent/consent-notifications/index.md).


API Reference: `POST /notifications/webhooks/subscriptions`

```sh
curl --location --request POST 'https://api.openbanking.mastercard.com.au/notifications/webhooks/subscriptions' \
--header 'App-Key: {{appKey}}' \
--header 'App-Token: {{appToken}}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "url": "{{callback_url}}",
  "notificationType": "CONSENT"
}'
```

* Expected response:

```json
{
  "id": "{{subscriptionId}}",
  "url": "{{callbackUrl}}",
  "notificationType": "CONSENT",
  "signingKey": "{{eventNotificationsSigningKey}}",
  "createdDate": "2022-07-16T06:06:20Z",
  "lastUpdatedDate": "2022-07-16T06:06:20Z"
}
```

<br />

Tip: We highly recommend that you save both the subscription ID and the signing key received within the Create subscription API response. For security reasons, the signing key cannot be fetched after subscribing.

From this point on, whenever the customer creates or modifies the consent, Mastercard will send notifications to this webhook. Each notification contains a `consentReceiptId` which can be used to make further API calls. See [Consent Notifications](https://developer.mastercard.com/open-finance-au/documentation/consent/consent-notifications-structure/index.md).

Subscribing to webhook notifications is required only once. Use the PUT endpoint if you need to modify the subscription:

API Reference: `PUT /notifications/webhooks/subscriptions/{subscription_id}/url`

#### Step 3 - Add Test Customer {#step-3---add-test-customer}

Create a "testing" customer record to use with the FinBank test profile:

API Reference: `POST /aggregation/v2/customers/testing`

```sh
curl --location --request POST 'https://api.openbanking.mastercard.com.au/aggregation/v2/customers/testing' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'App-Key: {{appKey}}' \
--header 'App-Token: {{appToken}}' \
--data-raw '{
    "username": "{{username}}",
    "firstName": "{{firstName}}",
    "lastName": "{{lastName}}",
    "phone": "{{phone}}",
    "email": "{{email}}"
}'
```

* Expected response:

```json
{
  "id": "{{customerId}}",
  "username": "{{username}}",
  "createdDate": 1607450357
}
```

From this response, you can retrieve the `customerId` that can be used in further API calls.

#### Step 4 - Generate Mastercard Connect URL {#step-4---generate-mastercard-connect-url}

Tip: To generate a Connect URL, you can reuse the same webhook URL as for subscribing to consent notifications. Connect flow will send notifications to this URL about user actions that may help during troubleshooting. To learn about Connect webhook please refer to the [Connect Webhooks](https://developer.mastercard.com/open-finance-au/documentation/connect/webhooks/index.md).

Now that you have a `customerId`, the next step is to generate a Connect URL you would typically share with your end users. From that, they can start a Connect session and grant Mastercard Open Finance access to their accounts and financial data.

API Reference: `POST /connect/v2/generate`

```sh
curl --location --request POST 'https://api.openbanking.mastercard.com.au/connect/v2/generate' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'App-Token: {{appToken}}' \
--header 'App-Key: {{appKey}}' \
--data-raw '{
    "partnerId": "{{partnerId}}",
    "customerId": "{{customerId}}",
    "webhook": "{{webhookUrl}}"
}'
```

* Expected response:

```json
{
  "link": "https://connect.openbanking.mastercard.com.au?customerId={{customerId}}&experience=default&origin=url&partnerId={{partnerId}}&signature=0f97e492c28292cce99c1c338909d42d6e95c7ec62f6db57b8777623d8452e4a&timestamp=1658829523543&ttl=1658836723543&webhook={{webhookUrl}}"
}
```

#### Step 5 - Sign In to a Test Financial Institution and Submit Accounts {#step-5---sign-in-to-a-test-financial-institution-and-submit-accounts}


Note: The way consent is presented to the end users in the [Connect Application](https://developer.mastercard.com/open-finance-au/documentation/connect/index.md) depend on the [Access Model](https://developer.mastercard.com/open-finance-au/documentation/access-and-config/access-models/index.md) associated with your partnerID. By default, all credentials under Sandbox are associated with CDR representative model. To update your `partnerID` to OSP model, please contact our [support team](https://developer.mastercard.com/open-finance-au/documentation/support/index.md#get-help). As an end user would do:

<br />

1. Open the URL generated in the previous step.
2. Search for **Finbank Aus OAuth**.
3. Check all boxes, and then click **I consent**.
4. Click **Next**.
5. Type **profile_4110** and **profile_4110** when asked for a username and password.
6. Select all accounts, and then click **Submit/Continue**.
7. Click **Submit** to receive the customer's consent.

![Connect flow](https://static.developer.mastercard.com/content/open-finance-au/uploads/connect-flow-finbank.png)

#### Step 6 - Retrieve the Consent Receipt ID {#step-6---retrieve-the-consent-receipt-id}

To retrieve the consent receipt id to be used in subsequent calls:

1. Navigate to the Webhook site UI from step 1 (for example, `https://webhook.site/#!/{uuid}`)
2. Find the `INSTITUTIONS_ADDED` event.
3. Copy the **Consent Receipt ID** (`consentReceiptId`) value, for example, `e6062836-65e6-4de6-ad99-c9f6552a36fe`.
4. Copy the **Institution Login ID** (`institutionLoginId`) value, for example, `866898`. ![Retrieve Consent Receipt ID](https://static.developer.mastercard.com/content/open-finance-au/uploads/retrieve-content-rec-id.png)

#### Step 7 - Refresh Customer Accounts {#step-7---refresh-customer-accounts}

In order to ensure that the data you will request is up-to-date, you need to refresh the data by calling **Refresh Customer Accounts API**:

API Reference: `POST /aggregation/v1/customers/{customerId}/institutionLogins/{institutionLoginId}/accounts`

```sh
curl --location -g --request POST 'https://api.openbanking.mastercard.com.au/aggregation/v1/customers/{{customerId}}/institutionLogins/{{institutionLoginId}}/accounts' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'App-Token: {{appToken}}' \
--header 'App-Key: {{appKey}}' \
--header 'Consent-Receipt-Id: {{consentReceiptId}}'
--data-raw '{}'
```

* Expected response:

```json
{
  "accounts": [
    {
      "id": "5011648377",
      "accountNumberDisplay": "1234-9",
      "realAccountNumberLast4": "5678",
      "name": "Super Transaction",
      "balance": 401.26,
      "type": "transaction",
      "aggregationStatusCode": 0,
      "status": "active",
      "customerId": "1005061234",
      "institutionId": "4222",
      "balanceDate": 1607450357,
      "aggregationSuccessDate": 1607450357,
      "aggregationAttemptDate": 1607450357,
      "createdDate": 1607450357,
      "lastUpdatedDate": 1607450357,
      "currency": "AUD",
      "lastTransactionDate": 1607450357,
      "oldestTransactionDate": 1607450357,
      "institutionLoginId": 1007302745,
      "detail": {
        "postedDate": 1607450357,
        "availableBalanceAmount": 5678.78,
        "openDate": 1607450357,
        "periodStartDate": 1607450357,
        "periodEndDate": 1607450357,
        "periodInterestRate": 13.245,
        "periodDepositAmount": 2356.56,
        "periodInterestAmount": 1234.56,
        "interestYtdAmount": 1056.67,
        "interestPriorYtdAmount": 3056.79,
        "maturityDate": 1607450357,
        "interestRate": "15.789",
        "creditAvailableAmount": 3000,
        "creditMaxAmount": 7000,
        "cashAdvanceAvailableAmount": 2000,
        "cashAdvanceMaxAmount": 3000,
        "cashAdvanceBalance": 1000,
        "cashAdvanceInterestRate": 21.5,
        "currentBalance": 5789.34,
        "paymentMinAmount": 456.78,
        "paymentDueDate": 1607450357,
        "previousBalance": 1234.56,
        "statementStartDate": 1607450357,
        "statementEndDate": 1607450357,
        "statementPurchaseAmount": 2345.9,
        "statementFinanceAmount": 156.78,
        "statementCreditAmount": 345,
        "rewardEarnedBalance": 500,
        "pastDueAmount": 3688.99,
        "lastPaymentAmount": 567.89,
        "lastPaymentDate": 1607450357,
        "statementCloseBalance": 2456.69,
        "termOfMl": "36",
        "mlHolderName": "John Smith",
        "description": "a description",
        "lateFeeAmount": 35,
        "payoffAmount": 45567.98,
        "payoffAmountDate": 1607450357,
        "originalMaturityDate": 1607450357,
        "principalBalance": 45056.7,
        "escrowBalance": 2345.01,
        "interestPeriod": "monthly",
        "initialMlAmount": 65000,
        "initialMlDate": 1607450357,
        "nextPaymentPrincipalAmount": 1256.67,
        "nextPaymentInterestAmount": 234.56,
        "nextPayment": 1578,
        "nextPaymentDate": 1607450357,
        "lastPaymentDueDate": 1607450357,
        "lastPaymentReceiveDate": 1607450357,
        "lastPaymentPrincipalAmount": 1256.67,
        "lastPaymentInterestAmount": 234.56,
        "lastPaymentEscrowAmount": 456.78,
        "lastPaymentLastFeeAmount": 150,
        "lastPaymentLateCharge": 50,
        "ytdPrincipalPaid": 5432.01,
        "ytdInterestPaid": 3948.56,
        "ytdInsurancePaid": 1345.89,
        "ytdTaxPaid": 1489,
        "autoPayEnrolled": true,
        "collateral": "nissan sentra",
        "currentSchool": "utah valley university",
        "firstPaymentDate": 1607450357,
        "firstMortgage": true,
        "loanPaymentFreq": "monthly",
        "originalSchool": "brigham young university",
        "recurringPaymentAmount": 456.23,
        "lender": "utah community credit union",
        "endingBalanceAmount": 234789.45,
        "loanTermType": "fixed",
        "paymentsMade": 14,
        "balloonAmount": 1678.56,
        "projectedInterest": 10456.78,
        "interestPaidLtd": 56789.34,
        "interestRateType": "variable",
        "loanPaymentType": "principle",
        "repaymentPlan": "Standard, Graduated, Extended, Pay As You Earn, and more.",
        "paymentsRemaining": 45,
        "interestMarginBalance": 456,
        "shortBalance": 12456.89,
        "availableCashBalance": 3456.78,
        "maturityValueAmount": 34067.78,
        "vestedBalance": 45000,
        "empMatchAmount": 256.99,
        "empPretaxContribAmount": 450,
        "empPretaxContribAmountYtd": 700,
        "contribTotalYtd": 2045,
        "cashBalanceAmount": 2000,
        "preTaxAmount": 78564.99,
        "afterTaxAmount": 68564.99,
        "matchAmount": 378,
        "profitSharingAmount": 34678.89,
        "rolloverAmount": 101234.67,
        "otherVestAmount": 34000,
        "otherNonvestAmount": 26000,
        "currentLoanBalance": 345789.23,
        "loanRate": 3.275,
        "buyPower": 34567.89,
        "rolloverLtd": 23456.78,
        "loanAwardId": "1234568",
        "originalInterestRate": 12,
        "guarantor": "FinBank",
        "interestSubsityType": "Subsity type",
        "interestBalance": 2000,
        "feesBalance": 150,
        "loanStatus": "Deferment",
        "loanStatusStartDate": 1607450357,
        "loanStatusEndDate": 1607450357,
        "weightedInterestRate": 12,
        "repaymentPlanStartDate": 1607450357,
        "repaymentPlanEndDate": 1607450357,
        "outOfSchoolDate": 1607450357,
        "convertToRepayment": 1607450357,
        "daysDelinquent": 5,
        "totalPrincipalPaid": 15000,
        "totalInterestPaid": 1125,
        "totalAmountPaid": 16125,
        "loanMinAmtDue": 250,
        "loanMinAmtDueDate": 1607450357,
        "marginAllowed": false,
        "cashAccountAllowed": false,
        "employeeDeferPreTaxAmount": 45.25,
        "employeePreTaxAmount": 1250,
        "employeePreTaxPercentage": 4500,
        "employerYearToDate": 25.1,
        "rolloverContributionAmount": 45.25,
        "allowedCheckWriting": "ALLOWED",
        "allowedOptionTrade": "ALLOWED",
        "dailyChange": 3,
        "margin": 45.25,
        "percentageChange": 1250,
        "loanPaymentAmount": 3,
        "loanNextPaymentDate": 1607450357,
        "locPrincipalBalance": 20010
      },
      "position": [
        {
          "id": 454678080,
          "description": "EMB:iShares Emerging Markets USD Bond ETF",
          "cusipNo": "464287242",
          "cusipNoType": "464287242",
          "symbol": "JPM",
          "units": 3.54117,
          "currentPrice": 49.01,
          "securityName": "JPMORGAN CHASE & CO",
          "transactionType": "Cash",
          "marketValue": "914.20000000",
          "costBasis": 925.5,
          "status": "A",
          "currentPriceDate": 1607450357,
          "invSecurityType": "OTHERINFO",
          "mfType": "Open-Ended",
          "posType": "Long",
          "totalGLDollar": 81.83,
          "totalGLPercent": 43.07,
          "averageCost": 10,
          "cashAccount": 22.22,
          "faceValue": 10,
          "holdingId": "H213223",
          "securitySubType": "S112233",
          "rate": 11.1,
          "unitType": "U5522",
          "todayGLDollar": 13.1,
          "todayGLPercent": 11.1,
          "costBasisPerShare": 15,
          "enterpriseSymbol": "E52122",
          "localMarketValue": 16,
          "localPrice": 17.1,
          "securityId": "1234",
          "fundName": "JPMORGAN CHASE & CO",
          "quantity": 10,
          "changePercent": 5,
          "dailyChange": 3,
          "memo": "I am tp_account_inves_position memo",
          "empPretaxContribAmount": 156,
          "heldInAccount": "127786786.00000000",
          "holdType": "INVESTMENT",
          "maturityValue": 5466,
          "unitPrice": 786,
          "type": "Margin",
          "reinvestmentCapGains": "101.00000000",
          "reinvestmentDividend": "20.00000000",
          "expirationDate": 1607450357,
          "originalPurchaseDate": 1607450357,
          "securityCurrencyRate": "3.21000000"
        }
      ],
      "displayPosition": 2,
      "parentAccount": "5011648377",
      "financialinstitutionAccountStatus": "OPEN",
      "accountNickname": "Checking",
      "marketSegment": "personal"
    }
  ]
}
```

## Fetch Some Data {#fetch-some-data}

**Example 1 - Fetch Institutions**

In this first example, we retrieve the list of supported FIs by calling `getInstitutions`:

API Reference: `GET /institution/v2/institutions`

```sh
curl --location --request GET 'https://api.openbanking.mastercard.com.au/institution/v2/institutions' \
--header 'App-Key: {{appKey}}' \
--header 'Accept: application/json' \
--header 'App-Token: {{appToken}}'
```

* Expected response:

```json
{
  "found": 6850,
  "displaying": 25,
  "moreAvailable": true,
  "createdDate": 1651231882,
  "institutions": [
    {
      "id": 4222,
      "name": "Principal Financial - Retirement (Personal)",
      "voa": false,
      "voi": false,
      "stateAgg": false,
      "ach": false,
      "transAgg": true,
      "aha": false,
      "availBalance": false,
      "accountOwner": false,
      "accountTypeDescription": "Workplace Retirement",
      "phone": "1-800-986-3343",
      "urlHomeApp": "https://www.principal.com",
      "urlLogonApp": "https://login.principal.com/login",
      "oauthEnabled": false,
      "urlForgotPassword": "https://auth.principal.com/oaam_server/forgotPassword.do",
      "urlOnlineRegistration": "",
      "class": "retirement",
      "specialText": "Please enter your Principal Financial - Retirement (Personal) Username and Password.",
      "timeZone": null,
      "specialInstructions": null,
      "specialInstructionsTitle": null,
      "address": {
        "city": "Des Moines",
        "state": "IA",
        "country": "USA",
        "postalCode": "50392",
        "addressLine1": "711 High Street",
        "addressLine2": ""
      },
      "currency": "AUD",
      "email": "https://secure01.principal.com/common/webreply/reply.htm",
      "status": "online",
      "newInstitutionId": null,
      "accuityData": null,
      "branding": {
        "logo": "https://prod-carpintero-branding.s3.us-west-2.amazonaws.com/4222/logo.svg",
        "alternateLogo": "https://prod-carpintero-branding.s3.us-west-2.amazonaws.com/4222/alternateLogo.svg",
        "icon": "https://prod-carpintero-branding.s3.us-west-2.amazonaws.com/4222/icon.svg",
        "primaryColor": "#58595B",
        "tile": "https://prod-carpintero-branding.s3.us-west-2.amazonaws.com/4222/tile.svg"
      },
      "oauthInstitutionId": null,
      "productionStatus": {
        "overallStatus": "investigating",
        "transAgg": "investigating",
        "voa": "investigating",
        "voi": "investigating",
        "stateAgg": "investigating",
        "ach": "investigating",
        "aha": "investigating"
      }
    }
  ]
}
```

**Example 2 - Fetch customer accounts**
Tip: Access to any customer account data requires the **Consent Receipt ID** the customer has given when linking these accounts (obtained from previous steps).

We are now interested in retrieving the list of accounts owned by our customer. For that, we call the `getCustomerAccounts` endpoint:

API Reference: `GET /aggregation/v1/customers/{customerId}/accounts`

```sh
curl --location -g --request GET 'https://api.openbanking.mastercard.com.au/aggregation/v1/customers/{{customerId}}/accounts' \
--header 'App-Key: {{appKey}}' \
--header 'Accept: application/json' \
--header 'Consent-Receipt-Id: {{consentReceiptId}}' \
--header 'App-Token: {{appToken}}'
```

* Expected response:

```json
{
  "accounts": [
    {
      "id": "5053611184",
      "number": "8000008888",
      "accountNumberDisplay": "8888",
      "name": "Auto Loan",
      "balance": -429.29,
      "type": "loan",
      "aggregationStatusCode": 0,
      "status": "active",
      "customerId": "5027308115",
      "institutionId": "101732",
      "balanceDate": 1651231801,
      "aggregationSuccessDate": 1651231824,
      "aggregationAttemptDate": 1651231824,
      "createdDate": 1649693826,
      "lastUpdatedDate": 1649693833,
      "currency": "AUD",
      "lastTransactionDate": 1651231801,
      "institutionLoginId": 5028130870,
      "detail": {
        "payoffAmount": 101.11,
        "principalBalance": 1021.21,
        "escrowBalance": 71.45,
        "interestRate": "1.65",
        "autoPayEnrolled": "Y",
        "collateral": "test collateral",
        "currentSchool": "current school",
        "firstMortgage": "N",
        "originalSchool": "original school",
        "recurringPaymentAmount": 232.0,
        "lender": "lender",
        "availableBalanceAmount": 78.11,
        "endingBalanceAmount": 66.33,
        "loanTermType": "loan term type",
        "paymentsMade": 4,
        "balloonAmount": 88.11,
        "projectedInterest": 54.22,
        "interestPaidLtd": 12.22,
        "interestRateType": "interest rate type",
        "loanPaymentType": "loan payment type",
        "paymentsRemaining": 88,
        "loanMinAmtDue": 250.0,
        "loanPaymentFreq": "loan pay freq",
        "paymentMinAmount": 232.0,
        "loanMinAmtDueDate": 1650888000,
        "firstPaymentDate": 1650369600
      },
      "displayPosition": 1,
      "financialInstitutionAccountStatus": "OPEN",
      "accountNickname": "Auto Loan",
      "oldestTransactionDate": 1586606400,
      "marketSegment": "personal"
    },
    {
      "id": "5053611185",
      "number": "2000005555",
      "accountNumberDisplay": "5555",
      "name": "Home Mortgage",
      "balance": -429.29,
      "type": "mortgage",
      "aggregationStatusCode": 0,
      "status": "active",
      "customerId": "5027308115",
      "institutionId": "101732",
      "balanceDate": 1651231801,
      "aggregationSuccessDate": 1651231824,
      "aggregationAttemptDate": 1651231824,
      "createdDate": 1649693826,
      "lastUpdatedDate": 1649693833,
      "currency": "AUD",
      "lastTransactionDate": 1651231801,
      "institutionLoginId": 5028130870,
      "detail": {
        "payoffAmount": 101.11,
        "principalBalance": 1021.21,
        "escrowBalance": 71.45,
        "interestRate": "1.65",
        "autoPayEnrolled": "Y",
        "collateral": "test collateral",
        "currentSchool": "current school",
        "firstMortgage": "N",
        "originalSchool": "original school",
        "recurringPaymentAmount": 232.0,
        "lender": "lender",
        "availableBalanceAmount": 78.11,
        "endingBalanceAmount": 66.33,
        "loanTermType": "loan term type",
        "paymentsMade": 4,
        "balloonAmount": 88.11,
        "projectedInterest": 54.22,
        "interestPaidLtd": 12.22,
        "interestRateType": "interest rate type",
        "loanPaymentType": "loan payment type",
        "paymentsRemaining": 88,
        "loanMinAmtDue": 250.0,
        "loanPaymentFreq": "loan pay freq",
        "paymentMinAmount": 232.0,
        "loanMinAmtDueDate": 1650888000,
        "firstPaymentDate": 1650369600
      },
      "displayPosition": 7,
      "financialinstitutionAccountStatus": "OPEN",
      "accountNickname": "Home Mortgage",
      "oldestTransactionDate": 1586606400,
      "marketSegment": "personal"
    },
    {
      "id": "5053611187",
      "number": "2000004444",
      "accountNumberDisplay": "4444",
      "name": "Roth IRA",
      "balance": 429.29,
      "type": "investment",
      "aggregationStatusCode": 0,
      "status": "active",
      "customerId": "5027308115",
      "institutionId": "101732",
      "balanceDate": 1651231801,
      "aggregationSuccessDate": 1651231825,
      "aggregationAttemptDate": 1651231825,
      "createdDate": 1649693826,
      "lastUpdatedDate": 1649693833,
      "currency": "AUD",
      "lastTransactionDate": 1651231801,
      "institutionLoginId": 5028130870,
      "detail": {
        "vestedBalance": 1250.0,
        "currentLoanBalance": 4500.0,
        "loanRate": 3.0,
        "marginAllowed": true,
        "cashAccountAllowed": true
      },
      "displayPosition": 3,
      "financialinstitutionAccountStatus": "OPEN",
      "accountNickname": "Roth IRA",
      "oldestTransactionDate": 1586606400,
      "marketSegment": "personal"
    },
    {
      "id": "5053611189",
      "number": "0000000000",
      "accountNumberDisplay": "0000",
      "name": "Brokerage",
      "balance": 429.29,
      "type": "investment",
      "aggregationStatusCode": 0,
      "status": "active",
      "customerId": "5027308115",
      "institutionId": "101732",
      "balanceDate": 1651231801,
      "aggregationSuccessDate": 1651231825,
      "aggregationAttemptDate": 1651231825,
      "createdDate": 1649693826,
      "lastUpdatedDate": 1649693833,
      "currency": "AUD",
      "lastTransactionDate": 1651231801,
      "institutionLoginId": 5028130870,
      "detail": {
        "vestedBalance": 1250.0,
        "currentLoanBalance": 4500.0,
        "loanRate": 3.0,
        "employeeDeferPreTaxAmount": 45.25,
        "employeePreTaxAmount": 1250.0,
        "employeePreTaxPercentage": 4500.0,
        "employerYearToDate": 25.1,
        "rolloverContributionAmount": 45.25,
        "allowedCheckWriting": "ALLOW",
        "allowedOptionTrade": "ALLOW",
        "dailyChange": 3.0,
        "margin": 45.25,
        "percentageChange": 1250.0,
        "loanPaymentAmount": 3.0,
        "loanNextPaymentDate": 1550041200
      },
      "position": [
        {
          "id": 21697396,
          "symbol": "JPM",
          "fundName": "JPMORGAN CHASE & CO",
          "quantity": 10.0,
          "marketValue": "914.20000000",
          "changePercent": 5.0,
          "costBasis": 925.5,
          "dailyChange": 3.0,
          "memo": "I am tp_account_inves_position memo",
          "empPretaxContribAmount": 156.0,
          "heldInAccount": "127786786.00000000",
          "holdType": "INVESTMENT",
          "maturityValue": 5466.0,
          "units": 99.0,
          "unitPrice": 786.0,
          "type": "Margin",
          "status": "A",
          "invSecurityType": "OTHERINFO",
          "securityCurrencyRate": "3.21000000",
          "averageCost": 10.0,
          "cashAccount": 22.22,
          "faceValue": 10.0,
          "holdingId": "H213223",
          "securitySubType": "S112233",
          "rate": 11.1,
          "unitType": "U5522",
          "todayGLDollar": 13.1,
          "todayGLPercent": 11.1,
          "totalGLDollar": 12.1,
          "totalGLPercent": 14.1,
          "costBasisPerShare": 15.0,
          "enterpriseSymbol": "E52122",
          "localMarketValue": 16.0,
          "localPrice": 17.1,
          "securityId": "1234",
          "reinvestmentCapGains": "101.00000000",
          "reinvestmentDividend": "20.00000000",
          "expirationDate": 1550041200,
          "originalPurchaseDate": 1550041200
        },
        {
          "id": 21697397,
          "symbol": "ABC",
          "fundName": "American Broadcasting Company",
          "quantity": 100.0,
          "marketValue": "429.00000000",
          "changePercent": 5.0,
          "costBasis": 925.5,
          "dailyChange": 3.0,
          "memo": "I am tp_account_inves_position memo",
          "empPretaxContribAmount": 156.0,
          "heldInAccount": "127786786.00000000",
          "holdType": "INVESTMENT",
          "maturityValue": 5466.0,
          "units": 99.0,
          "unitPrice": 786.0,
          "type": "Margin",
          "status": "A",
          "invSecurityType": "OTHERINFO",
          "securityCurrencyRate": "3.21000000",
          "averageCost": 10.0,
          "cashAccount": 22.22,
          "faceValue": 10.0,
          "holdingId": "H213223",
          "securitySubType": "S112233",
          "rate": 11.1,
          "unitType": "U5522",
          "todayGLDollar": 13.1,
          "todayGLPercent": 11.1,
          "totalGLDollar": 12.1,
          "totalGLPercent": 14.1,
          "costBasisPerShare": 15.0,
          "enterpriseSymbol": "E52122",
          "localMarketValue": 16.0,
          "localPrice": 17.1,
          "securityId": "1234",
          "reinvestmentCapGains": "101.00000000",
          "reinvestmentDividend": "20.00000000",
          "expirationDate": 1550041200,
          "originalPurchaseDate": 1550041200
        },
        {
          "id": 21697398,
          "symbol": "KO",
          "fundName": "COCA COLA CO",
          "quantity": 22.0,
          "marketValue": "1002.98000000",
          "changePercent": 5.0,
          "costBasis": 981.88,
          "dailyChange": 3.0,
          "memo": "I am tp_account_inves_position memo",
          "empPretaxContribAmount": 156.0,
          "heldInAccount": "127786786.00000000",
          "holdType": "INVESTMENT",
          "maturityValue": 5466.0,
          "units": 99.0,
          "unitPrice": 786.0,
          "type": "Margin",
          "status": "A",
          "invSecurityType": "OTHERINFO",
          "securityCurrencyRate": "3.21000000",
          "averageCost": 10.0,
          "cashAccount": 22.22,
          "faceValue": 10.0,
          "holdingId": "H213223",
          "securitySubType": "S112233",
          "rate": 11.1,
          "unitType": "U5522",
          "todayGLDollar": 13.1,
          "todayGLPercent": 11.1,
          "totalGLDollar": 12.1,
          "totalGLPercent": 14.1,
          "costBasisPerShare": 15.0,
          "enterpriseSymbol": "E52122",
          "localMarketValue": 16.0,
          "localPrice": 17.1,
          "securityId": "1234",
          "reinvestmentCapGains": "101.00000000",
          "reinvestmentDividend": "20.00000000",
          "expirationDate": 1550041200,
          "originalPurchaseDate": 1550041200
        }
      ],
      "displayPosition": 8,
      "financialinstitutionAccountStatus": "OPEN",
      "accountNickname": "Brokerage",
      "marketSegment": "personal"
    },
    {
      "id": "5053611190",
      "number": "8000006666",
      "accountNumberDisplay": "6666",
      "name": "Line of Credit",
      "balance": -429.29,
      "type": "lineOfCredit",
      "aggregationStatusCode": 0,
      "status": "active",
      "customerId": "5027308115",
      "institutionId": "101732",
      "balanceDate": 1651231801,
      "aggregationSuccessDate": 1651231825,
      "aggregationAttemptDate": 1651231825,
      "createdDate": 1649693826,
      "lastUpdatedDate": 1649693833,
      "currency": "AUD",
      "lastTransactionDate": 1651231801,
      "institutionLoginId": 5028130870,
      "detail": {
        "interestRate": "4.5",
        "creditAvailableAmount": 799.99,
        "paymentMinAmount": 1.0,
        "statementCloseBalance": -429.29,
        "locPrincipalBalance": 20010.0,
        "paymentDueDate": 1651730400,
        "statementEndDate": 1648792800
      },
      "displayPosition": 4,
      "financialinstitutionAccountStatus": "OPEN",
      "accountNickname": "Line of Credit",
      "oldestTransactionDate": 1586606400,
      "marketSegment": "personal"
    },
    {
      "id": "5053611191",
      "number": "4100007777",
      "accountNumberDisplay": "7777",
      "name": "Credit Card",
      "balance": 429.29,
      "type": "creditCard",
      "aggregationStatusCode": 0,
      "status": "active",
      "customerId": "5027308115",
      "institutionId": "101732",
      "balanceDate": 1651231801,
      "aggregationSuccessDate": 1651231826,
      "aggregationAttemptDate": 1651231826,
      "createdDate": 1649693826,
      "lastUpdatedDate": 1649693833,
      "currency": "AUD",
      "lastTransactionDate": 1651231801,
      "institutionLoginId": 5028130870,
      "displayPosition": 2,
      "financialinstitutionAccountStatus": "OPEN",
      "accountNickname": "Credit Card",
      "oldestTransactionDate": 1586606400,
      "marketSegment": "personal"
    },
    {
      "id": "5053611192",
      "number": "1000002222",
      "realAccountNumberLast4": "2222",
      "accountNumberDisplay": "2222",
      "name": "Savings",
      "balance": 429.29,
      "type": "savings",
      "aggregationStatusCode": 0,
      "status": "active",
      "customerId": "5027308115",
      "institutionId": "101732",
      "balanceDate": 1651231801,
      "aggregationSuccessDate": 1651231826,
      "aggregationAttemptDate": 1651231826,
      "createdDate": 1649693826,
      "lastUpdatedDate": 1649693833,
      "currency": "AUD",
      "lastTransactionDate": 1651231801,
      "institutionLoginId": 5028130870,
      "detail": {
        "availableBalanceAmount": 429.29,
        "periodInterestRate": "4.5"
      },
      "displayPosition": 6,
      "financialinstitutionAccountStatus": "OPEN",
      "accountNickname": "Savings",
      "oldestTransactionDate": 1586606400,
      "marketSegment": "personal"
    },
    {
      "id": "5053611193",
      "number": "1000001111",
      "realAccountNumberLast4": "1111",
      "accountNumberDisplay": "1111",
      "name": "Checking",
      "balance": 429.29,
      "type": "checking",
      "aggregationStatusCode": 0,
      "status": "active",
      "customerId": "5027308115",
      "institutionId": "101732",
      "balanceDate": 1651231801,
      "aggregationSuccessDate": 1651231826,
      "aggregationAttemptDate": 1651231826,
      "createdDate": 1649693826,
      "lastUpdatedDate": 1649693833,
      "currency": "AUD",
      "lastTransactionDate": 1651231801,
      "institutionLoginId": 5028130870,
      "detail": {
        "availableBalanceAmount": 429.29,
        "periodInterestRate": "4.5"
      },
      "displayPosition": 5,
      "financialinstitutionAccountStatus": "OPEN",
      "accountNickname": "Checking",
      "oldestTransactionDate": 1586606400,
      "marketSegment": "personal"
    }
  ]
}
```

## Continue Your Integration {#continue-your-integration}

You now have everything you need to explore the Open Finance APIs further. Here are some tools to help you with your integration:

* **[Using the Postman Collection](https://developer.mastercard.com/open-finance-au/documentation/integration-and-testing/postman-collection/index.md)** - Explore and test the Open Finance APIs using our Postman collection
* **[Generating an API Client Library](https://developer.mastercard.com/open-finance-au/documentation/integration-and-testing/generating-an-api-client-library/index.md)** - Generate type-safe client libraries from the API specification for Java, C#, JavaScript, Python, and more

## Next Steps {#next-steps}

* For the full list of testing profiles available, refer to [Test Profiles](https://developer.mastercard.com/open-finance-au/documentation/integration-and-testing/test-the-apis/index.md).
* Explore our [Reference App](https://developer.mastercard.com/open-finance-au/documentation/reference-app/index.md) to see a simple React application which uses many of the APIs mentioned above, including Connect.
* To learn more about Consent, which allows you to access your customer's accounts, refer to [Consent](https://developer.mastercard.com/open-finance-au/documentation/consent/index.md).
* To learn more about Connect, configure Connect for your application and receive Connect session events, read [Connect Application](https://developer.mastercard.com/open-finance-au/documentation/connect/index.md).
* You may also want to take a look at our [Open Finance products](https://developer.mastercard.com/open-finance-au/documentation/products/index.md).

Tip: If you have any questions or need assistance, please [contact us](https://developer.mastercard.com/open-finance-au/documentation/support/index.md).
