json curl

Welcome to NAB API Hackathon

Our strong API foundations have given us an ability to deliver great customer experiences and we now want you to benefit from the nabAPI as well.

Getting Started

Sandbox Endpoint
https://hackathon.api.extnp.nab.com.au

The NAB API is organized around REST. Our API has predictable, resource-oriented URLs, and uses HTTP response in combination with API Status codes to indicate API errors. We use built-in HTTP features, like HTTP verbs, which are understood by off-the-shelf HTTP clients. JSON is returned in all API responses including errors.

API Key

The NAB API requires an API key to be included in the request to access our APIs.

The API key needs to be included in the HTTP header for all API requests that looks like the following:

x-nab-key: API_KEY

The API key that can be used for the hackathon is

0c12ce1a-f5a5-4933-b5aa-c27e14c757d7

Running in Postman

Copy the link address below and import the Postman Collection into Postman Chrome extension or the Postman application:

Link to Postman Collection

or

Run in Postman

API Data Types

Data Type Description Valid Examples
APIPositiveInteger Positive integer, inclusive of zero 0
1
1000
APIPositiveIntegerString A String containing only numbers “123545”
“12”
APIDateISOString An ISO Date String in the format - YYYY-MM-DD “2013-11-01”
APIDateTimeUTCString Combined Date and Time string as per RFC-3339. Time at UTC “2007-05-01T15:43:00.12345Z”
“2012-03-03T15:43:00Z”
“1997-01-12T15:43:00.121Z”
APITimeString 24-hour time expressed as: HHmm. Time at AEST “1300”
“2359”
APIPositiveAmountString A string representing positive amount.
  • A positive number
  • Up to total of 16 significant digits before decimal point
  • Exactly 2 digits following a decimal point
  • No formatting, eg thousand separating commas
“1.00”
“12345.99”
“0.75”
APIAmountString A string representing amount.
  • A positive or negative number
  • Up to a total of 16 significant digits before decimal point
  • Exactly 2 digits following a decimal point
  • No formatting, eg thousand separating commas
“1.00”
“12345.99”
“0.75”
“-12345.99”
APINTCAmountString An APIAmountString with 0 to 3 digits following the decimal point “1”
“12345.999”
“0.7”
“-12345.99”
APICurrencyString Standard 3 character currency codes as per ISO-4217 “AUD”
“USD”
“CAD”
APICurrencyAmountString A string representing currency amount
  • A positive or negative number
  • Up to total of 16 significant digits before decimal point
  • Up to 3 digits following the decimal point
  • No formatting, eg thousand separating commas
“0”
“0.12”
“0.123”
“11.12”
“11.123”
“123”
“-1234567890123456”
“-123456783456.12”
APICurrencyPositiveAmountString A string representing positive currency amount
  • A positive number
  • Up to total of 16 significant digits before decimal point
  • Up to 3 digits following the decimal point
  • No formatting, eg thousand separating commas
“0”
“0.12”
“0.123”
“11.12”
“11.123”
“123”
“1234567890123456”
“123456783456.12”
APIRateString A string representing rates
  • A positive number
  • At least 1 and up to a total of 16 significant digits before decimal point
  • Up to 16 digits following the decimal point
  • No formatting, eg thousand separating commas
“0.5
“1.123456
"11.1234567890123456”
APIEmailString A string representing an email address “user@example.com.au”
“user.name@example.com”
APIBecsString BECS (Bulk Electronic Clearing System) compliant string. Note - double quotes, carriage returns and other control characters are invalid. “abcADF $%&#-_ asdfkjhA”
APIBecsStringMax18 APIBecsString with maximum of 18 characters in length
APIBecsStringMax40 APIBecsString with maximum of 40 characters in length
APIInternationalBecsString BECS (Bulk Electronic Clearing System) compliant string with additional accented characters. Note - double quotes, carriage returns and other control characters are invalid. “abcADF $%&#-_ a Aðalráður”
APIBillerCode A string representing BPAY Biller code with up to 10 numeric characters “208892”
“08755”
APICRN A string representing Customer Reference Number with up to 20 numeric characters “208892”
“12345678901234567890”
APIBase64String Base64 Encoded string “TkFCQVBJIGlzIGF3c29tZQ==”
APIUriString Absolute or relative W3C-valid URI string, allows for custom URI schemes
APIQueryString A URL-encoded (percent-encoded) query where individual query words are separated by ’+’ symbol. No control / special characters are allowed. The expression will be checked by gateway for SQL and script injections
APIPCIString Masked Credit Card numbers 123456xxxxxx1234
APIPostCodeString A string 4 characters in length representing Australian or New Zealand Post Code 0000 through to 9999
APIDecimalDegreeString A string representing latitude and longitude geographic coordinates as decimal fractions Latitude
“-37.8774279”
“-33.795412”
“-37.8323792”
“-37.8400982”
“-14.466015”

Longitude
“144.9824524”
“151.1799”
“144.9604333”
“144.9954424”
“132.2641”
APIDecimalHighPrecision A string representing a decimal number
  • Positive or negative
  • At least 1 and up to a total of 14 significant digits before the decimal point
  • Up to 4 digits after the decimal point
“12345342322134.234563”
APICountryCodeString A string representing ALPHA-2 country code as defined in ISO 3166-1 “AU”
“NZ”
“US”
APIBalanceStatusString A string representing status of an account’s balance. List of possible values: [“OK”, “N/A”, “Unavailable”] “OK”
APIStateCodeString A string representing Australian State Code. List of possible values: [“ACT”, “NSW”, “NT”, “QLD”, “SA”, “TAS”, “VIC”, “WA”] “VIC”
APIDateString A date string in the format - YYYYMMDD “20131101”

API Status Codes

The API uses the following status codes, which is returned within the status block of every response:

Status CodeStatus MessageHTTP Code
API-200Success200
API-404Service Not Found404
API-420Invalid Request400
API-422Version Not Found404
API-430Provider Error400
API-440Invalid Application403
API-448Gateway Authentication Failure401
API-520Server Failure500
API-521Throttle Limit Exceeded429
API-522Server Down For Maintenance503
API-523Server Timeout504
API-526Feature Not Supported501

Authentication

A series of login and token management APIs

Login/Logout

Token Management

Reference

Login

Request

curl \\
    -X POST \\
    -d '{"loginRequest":{"brand":"nab","lob":"nab","credentials":{"apiStructType":"usernamePassword","usernamePassword":{"username":"10000001","password":"aaa111"}}}}' \\
    https://hackathon.api.extnp.nab.com.au/v2/auth?v=1
{
  "loginRequest": {
    "brand": "nab",
    "lob": "nab",
    "credentials": {
      "apiStructType": "usernamePassword",
      "usernamePassword": {
        "username": "10000001",
        "password": "aaa111"
      }
    }
  }
}

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "loginResponse": {
    "tokens": [
      {
        "type": "header",
        "name": "Authorization",
        "value": "1234566",
        "expires": "123456"
      }
    ]
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "loginResponse": {
    "tokens": [
      {
        "type": "header",
        "name": "Authorization",
        "value": "1234566",
        "expires": "123456"
      }
    ]
  }
}

POST https://hackathon.api.extnp.nab.com.au/v2/auth?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Request

Schema

AttributeTypeMandatoryDescription
loginRequest object(Login Request) No Login request

Login Request

AttributeTypeMandatoryDescription
brand string Yes Brand
lob string Yes Line of business
credentials object(Credential) Yes Credentials

Credential

AttributeTypeMandatoryDescription
apiStructType string Yes Type
usernamePassword object(Username Password) No Username and password
deviceRegIdPasscode object(Device Reg Id Passcode) No Device registration id and passcode
deviceRegIdPassword object(Device Reg Id Password) No Device registration id and password
deviceRegIdFingerprint object(Device Reg Id Fingerprint) No Device registration id and finger print
ivrPasscode object(Ivr Passcode) No Phone banking pin
partyIdentifiers object(Party Identifier) No Party identifiers
token object(Token) No Token

Username Password

AttributeTypeMandatoryDescription
username string Yes Username
password string Yes Password

Device Reg Id Passcode

AttributeTypeMandatoryDescription
deviceRegId string Yes Device registration id
passcode string Yes Passcode
signature string Yes Device signature

Device Reg Id Password

AttributeTypeMandatoryDescription
deviceRegId string Yes Device registration id
password string Yes Password

Device Reg Id Fingerprint

AttributeTypeMandatoryDescription
deviceRegId string Yes Device registration id
key string Yes Device key

Ivr Passcode

AttributeTypeMandatoryDescription
username string Yes Username
passcode string Yes Passcode

Party Identifier

AttributeTypeMandatoryDescription
firstGivenName string Yes First given name
surname string Yes Surname
dateOfBirth APIDateString Yes Date of Birth
mobile string No Mobile number

Token

AttributeTypeMandatoryDescription
token string Yes Token

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus No Response status
loginResponse object(Login Response) Yes Login response

Login Response

AttributeTypeMandatoryDescription
tokens array[object(Token)] Yes List of tokens
userLevelFlags object(User Level Flag) No A collection of flags at the user level

Token

AttributeTypeMandatoryDescription
type string Yes Token type
name string Yes Authorisation token name
value string Yes Authorisation token value
expires APIDateTimeUTCString Yes Time token expires, in UTC format

User Level Flag

AttributeTypeMandatoryDescription
isBusinessUser boolean No Indicates whether the user identifier, e.g. NIN, belongs to an organisation, rather than a person. True = business/organisation, False = personal
isRestrictedToAppTracker boolean No Indicates whether only application tracking functions can be accessed to check submitted application status

Create Token

Request

curl \\
    -X POST \\
    -d '{"tokenRequest":{"type":"softcredential"}}' \\
    https://hackathon.api.extnp.nab.com.au/v2/token?v=1
{
  "tokenRequest": {
    "type": "softcredential"
  }
}

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "tokenResponse": {
    "token": "eUTkBVBZ~My6DOE~XRB1cY5FIhU7RN0MerKixgdQ8E5snVD0QzHBZx1jRX8wu6pdjj7aqa4wVZw2rCrQpeBSUuXKzqnviJrilt3DA3bqXEVkSmqI5ygToKgYsFkLXZKagucKLjEBurXlXxQtw18NXsn3RoZKwju_G5"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "tokenResponse": {
    "token": "eUTkBVBZ~My6DOE~XRB1cY5FIhU7RN0MerKixgdQ8E5snVD0QzHBZx1jRX8wu6pdjj7aqa4wVZw2rCrQpeBSUuXKzqnviJrilt3DA3bqXEVkSmqI5ygToKgYsFkLXZKagucKLjEBurXlXxQtw18NXsn3RoZKwju_G5"
  }
}

POST https://hackathon.api.extnp.nab.com.au/v2/token?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Request

Schema

AttributeTypeMandatoryDescription
tokenRequest object(Token Request) Yes

Token Request

AttributeTypeMandatoryDescription
type string Yes Specify the type of token that is required. E.g. softcredential or touch

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
tokenResponse object(Token Response) Yes

Token Response

AttributeTypeMandatoryDescription
token string Yes The encrypted token value

Logout

Request

curl \\
    -X DELETE \\
    https://hackathon.api.extnp.nab.com.au/v2/auth?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}

DELETE https://hackathon.api.extnp.nab.com.au/v2/auth?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus No Response status

Accounts

Account

These APIs retrieve accounts in various views

Balance

Balance related APIs

Account Transactions

All Account API’s needs the Authorization Token to be passed in the HTTP Header

Reference

Get List of Accounts

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/accounts?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "accountsResponse": {
    "accounts": [
      {
        "category": "CARDS",
        "accountType": "Visa",
        "nickname": "Credit Card #0586",
        "availableBalance": "9987.86",
        "currentBalance": "-12.14",
        "isVisible": true,
        "accountToken": "rt2m4QRmNkkz2ZHTCeMwcFUh8-kfkG7J6hKGuqh3ptQ",
        "accountIdDisplay": "4557011019980586"
      },
      {
        "category": "CARDS",
        "accountType": "Mastercard",
        "nickname": "Credit Card #4704",
        "availableBalance": "10000.00",
        "currentBalance": "0.00",
        "isVisible": true,
        "accountToken": "wKT9_gh12MbgR7XdXrhZtIwu8tGXn4mcXukyjAs23jE",
        "accountIdDisplay": "5313585533994704"
      },
      {
        "category": "CARDS",
        "accountType": "Visa",
        "nickname": "Credit Card #2033",
        "availableBalance": "10000.00",
        "currentBalance": "0.00",
        "isVisible": true,
        "accountToken": "GDP_8CR6G-jbm0INCFwckXD7q1OIu-cGdjFXE3wTOyU",
        "accountIdDisplay": "4557016989982033"
      }
    ]
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "accountsResponse": {
    "accounts": [
      {
        "category": "CARDS",
        "accountType": "Visa",
        "nickname": "Credit Card #0586",
        "availableBalance": "9987.86",
        "currentBalance": "-12.14",
        "isVisible": true,
        "accountToken": "rt2m4QRmNkkz2ZHTCeMwcFUh8-kfkG7J6hKGuqh3ptQ",
        "accountIdDisplay": "4557011019980586"
      },
      {
        "category": "CARDS",
        "accountType": "Mastercard",
        "nickname": "Credit Card #4704",
        "availableBalance": "10000.00",
        "currentBalance": "0.00",
        "isVisible": true,
        "accountToken": "wKT9_gh12MbgR7XdXrhZtIwu8tGXn4mcXukyjAs23jE",
        "accountIdDisplay": "5313585533994704"
      },
      {
        "category": "CARDS",
        "accountType": "Visa",
        "nickname": "Credit Card #2033",
        "availableBalance": "10000.00",
        "currentBalance": "0.00",
        "isVisible": true,
        "accountToken": "GDP_8CR6G-jbm0INCFwckXD7q1OIu-cGdjFXE3wTOyU",
        "accountIdDisplay": "4557016989982033"
      }
    ]
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/accounts?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1
category The category of accounts No domestic, cards, packages

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
accountsResponse object(Accounts Response) Yes

Accounts Response

AttributeTypeMandatoryDescription
accounts array[object(Account)] Yes List of accounts

Account

AttributeTypeMandatoryDescription
accountToken string Yes Account token
accountIdDisplay string Yes Account number formatted for display
apiStructType string No Account Type
accountApca object(Account Apca) No Bank account
cardAccount object(Card Account) No Card account
packageAccount object(Packaged Account) No Packaged account
code string No Account code
accountType string Yes Account type
category string No Account category
nickname string No Account’s nickname as set up by the user
status string No Account status
availableBalance APIAmountString No Available balance
currentBalance APIAmountString No Current balance
isVisible boolean No Indicates whether the account should appear in the account summary / account list API
isNominatedAccount boolean No Indicates if account is the nominated transaction account for user
parentRef string No For Portfolio sub-accounts only. This is a reference to the parent account
ownershipType string No ​Account Ownership Type: ‘soleOwner’, ‘jointOwner’, ‘thirdParty’
accountLevelFlags array[object(Account Level Flag)] No Account level flags
enrolments array[object(Enrolment)] No List of enrolments

Account Apca

AttributeTypeMandatoryDescription
bsb string Yes Bank, State, Branch number
accountId string Yes Account number
accountName string No Account name

Card Account

AttributeTypeMandatoryDescription
scheme string No Card scheme
cardNumber string Yes Card number
cardExpiry APIDateTimeUTCString No Date of Expiry

Packaged Account

AttributeTypeMandatoryDescription
description string No Package description
portfolioLimit APIAmountString No Portfolio limit
currentLimit APIAmountString No Current limit
availableLimit APIAmountString No Available limit

Account Level Flag

AttributeTypeMandatoryDescription
identifier string Yes Id
value string Yes Value

Enrolment

AttributeTypeMandatoryDescription
partner string Yes Partner service the account is enrolled in
services array[object(Service)] Yes List of services

Service

AttributeTypeMandatoryDescription
accountingServiceType string Yes Type of Service
status string Yes Status of enrolement
sharedBy object(Shared By) No Not returned if ‘shared by’ is not applicable for the current service state

Shared By

AttributeTypeMandatoryDescription
channelId string Yes Channel id
description string No Display for activation, e.g. 'John Smith’ or 'Paper form’
isCurrentUser boolean No Indicates to the caller if the sharedBy element is the caller itself.

Get Detailed Balance for all Accounts

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/accounts/balance?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "accountBalancesResponse ": {
    "accounts": [
      {
        "accountToken": "63f26bd90704ddf406c5",
        "accountIdDisplay": "083123-123456789",
        "accountType": "transactionAccount",
        "category": "DOMESTIC",
        "nickname": "Day by day",
        "balance": {
          "balanceStatus": "OK",
          "apiStructType": "amountBalance",
          "amountBalance": {
            "currentBalance": {
              "currency": "AUD",
              "amount": 100
            },
            "availableBalance": {
              "currency": "AUD",
              "amount": 80
            },
            "baseCurrencyBalance": {
              "currency": "AUD",
              "amount": 100
            }
          }
        }
      },
      {
        "accountToken": "63f26bd90704ddf406u7",
        "accountIdDisplay": "2351633689665546",
        "accountType": "visa",
        "category": "CARDS",
        "nickname": "Credit Card",
        "balance": {
          "balanceStatus": "OK",
          "apiStructType": "amountBalance",
          "amountBalance": {
            "currentBalance": {
              "currency": "AUD",
              "amount": 100
            },
            "availableBalance": {
              "currency": "AUD",
              "amount": 80
            },
            "baseCurrencyBalance": {
              "currency": "AUD",
              "amount": 100
            }
          }
        }
      },
      {
        "accountToken": "7e6aefa4f26b90704f21",
        "accountIdDisplay": "567895453",
        "accountType": "portfolioFacility",
        "category": "PACKAGE",
        "nickname": "My Portfolio Facility",
        "balance": {
          "balanceStatus": "OK",
          "apiStructType": "limitBalance",
          "limitBalance": {
            "currentLimit": {
              "currency": "AUD",
              "amount": 100
            },
            "availableLimit": {
              "currency": "AUD",
              "amount": 80
            },
            "setLimit": {
              "currency": "AUD",
              "amount": 100
            }
          }
        }
      },
      {
        "accountToken": "8e6aefa43bdd4ft67f65",
        "accountIdDisplay": "7531567895323468",
        "accountType": "travellerCard",
        "category": "NTC",
        "nickname": "My Travel Card",
        "balance": {
          "balanceStatus": "OK",
          "apiStructType": "purseBalances",
          "purseBalances": [
            {
              "currency": "USD",
              "currentBalance": 45,
              "availableBalance": 32
            },
            {
              "currency": "AUD",
              "currentBalance": 55,
              "availableBalance": 42
            }
          ]
        }
      },
      {
        "accountToken": "78j26bd9073bddf408d5",
        "accountIdDisplay": "CUSTAUSD01",
        "accountType": "COCA",
        "category": "NFCA",
        "nickname": "My USD account 1",
        "balance": {
          "balanceStatus": "OK",
          "apiStructType": "amountBalance",
          "amountBalance": {
            "currentBalance": {
              "currency": "USD",
              "amount": 100
            },
            "availableBalance": {
              "currency": "USD",
              "amount": 80
            },
            "baseCurrencyBalance": {
              "currency": "AUD",
              "amount": 120
            }
          }
        }
      }
    ]
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "accountBalancesResponse ": {
    "accounts": [
      {
        "accountToken": "63f26bd90704ddf406c5",
        "accountIdDisplay": "083123-123456789",
        "accountType": "transactionAccount",
        "category": "DOMESTIC",
        "nickname": "Day by day",
        "balance": {
          "balanceStatus": "OK",
          "apiStructType": "amountBalance",
          "amountBalance": {
            "currentBalance": {
              "currency": "AUD",
              "amount": 100
            },
            "availableBalance": {
              "currency": "AUD",
              "amount": 80
            },
            "baseCurrencyBalance": {
              "currency": "AUD",
              "amount": 100
            }
          }
        }
      },
      {
        "accountToken": "63f26bd90704ddf406u7",
        "accountIdDisplay": "2351633689665546",
        "accountType": "visa",
        "category": "CARDS",
        "nickname": "Credit Card",
        "balance": {
          "balanceStatus": "OK",
          "apiStructType": "amountBalance",
          "amountBalance": {
            "currentBalance": {
              "currency": "AUD",
              "amount": 100
            },
            "availableBalance": {
              "currency": "AUD",
              "amount": 80
            },
            "baseCurrencyBalance": {
              "currency": "AUD",
              "amount": 100
            }
          }
        }
      },
      {
        "accountToken": "7e6aefa4f26b90704f21",
        "accountIdDisplay": "567895453",
        "accountType": "portfolioFacility",
        "category": "PACKAGE",
        "nickname": "My Portfolio Facility",
        "balance": {
          "balanceStatus": "OK",
          "apiStructType": "limitBalance",
          "limitBalance": {
            "currentLimit": {
              "currency": "AUD",
              "amount": 100
            },
            "availableLimit": {
              "currency": "AUD",
              "amount": 80
            },
            "setLimit": {
              "currency": "AUD",
              "amount": 100
            }
          }
        }
      },
      {
        "accountToken": "8e6aefa43bdd4ft67f65",
        "accountIdDisplay": "7531567895323468",
        "accountType": "travellerCard",
        "category": "NTC",
        "nickname": "My Travel Card",
        "balance": {
          "balanceStatus": "OK",
          "apiStructType": "purseBalances",
          "purseBalances": [
            {
              "currency": "USD",
              "currentBalance": 45,
              "availableBalance": 32
            },
            {
              "currency": "AUD",
              "currentBalance": 55,
              "availableBalance": 42
            }
          ]
        }
      },
      {
        "accountToken": "78j26bd9073bddf408d5",
        "accountIdDisplay": "CUSTAUSD01",
        "accountType": "COCA",
        "category": "NFCA",
        "nickname": "My USD account 1",
        "balance": {
          "balanceStatus": "OK",
          "apiStructType": "amountBalance",
          "amountBalance": {
            "currentBalance": {
              "currency": "USD",
              "amount": 100
            },
            "availableBalance": {
              "currency": "USD",
              "amount": 80
            },
            "baseCurrencyBalance": {
              "currency": "AUD",
              "amount": 120
            }
          }
        }
      }
    ]
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/accounts/balance?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1
category The category of accounts to filter the accounts list returned No domestic, cards, packages
groupId The group id to filter the accounts list returned No
baseCurrency The base currency for balances. Defaults to AUD No

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
accountBalancesResponse object(Account Balances Response) Yes

Account Balances Response

AttributeTypeMandatoryDescription
accounts array[object(Account)] Yes List of accounts

Account

AttributeTypeMandatoryDescription
accountToken string Yes Account token
accountIdDisplay string Yes Account number formatted for display
accountType string Yes Type of account
category string Yes Category
nickname string No Name as entered by the user
balance object(Balance) Yes

Balance

AttributeTypeMandatoryDescription
apiStructType string Yes Type
balanceStatus string Yes Balance Status. Values: OK, N/A, Unavailable
amountBalance object(Amount Balance) No
limitBalance object(Limit Balance) No
purseBalances array[object(Purse Balance)] No
unitBalance object(Unit Balance) No
lendingBalance object(Lending Balance) No

Amount Balance

AttributeTypeMandatoryDescription
currentBalance object(Current Balance) No Current balance
availableBalance object(Available Balance) Yes Available balance
baseCurrencyBalance object(Base Currency Balance) No Balance in base currency

Current Balance

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APICurrencyAmountString Yes Amount

Available Balance

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APICurrencyAmountString Yes Amount

Base Currency Balance

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APICurrencyAmountString Yes Amount

Limit Balance

AttributeTypeMandatoryDescription
currentLimit object(Current Limit) Yes Current limit
availableLimit object(Available Limit) Yes Available Limit
setLimit object(Set Limit) Yes Set limit

Current Limit

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APICurrencyAmountString Yes Amount

Available Limit

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APICurrencyAmountString Yes Amount

Set Limit

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APICurrencyAmountString Yes Amount

Purse Balance

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
currentBalance APICurrencyAmountString Yes Current balance
availableBalance APICurrencyAmountString Yes Available balance

Unit Balance

AttributeTypeMandatoryDescription
unitQuantity integer Yes Quantity
unitPrice object(Unit Price) Yes Unit price
totalAmount object(Total Amount) Yes Total amount

Unit Price

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APICurrencyAmountString Yes Amount

Total Amount

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APICurrencyAmountString Yes Amount

Lending Balance

AttributeTypeMandatoryDescription
securityAmount object(Security Amount) Yes Security amount
loanBalance object(Loan Balance) Yes Loan balance
availableFunds object(Available Fund) Yes Available funds
facilityLimit object(Facility Limit) Yes Facility limit
marketValue object(Market Value) Yes Market value

Security Amount

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APICurrencyAmountString Yes Amount

Loan Balance

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APICurrencyAmountString Yes Amount

Available Fund

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APICurrencyAmountString Yes Amount

Facility Limit

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APICurrencyAmountString Yes Amount

Market Value

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APICurrencyAmountString Yes Amount

Get Summary Balance for all Accounts

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/accounts/quickBalance?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "quickBalanceResponse": {
    "accounts": [
      {
        "accountId": "123456789",
        "accountNickname": "Term Deposit A/C",
        "accountType": "TDP",
        "availableBalance": "16672.00",
        "bsb": "083031",
        "currentBalance": "6702.00",
        "accountToken": "WG93R2VWLzM1U0xvVVpDZ2ZmSDBZcmlLS0trZFdTb2J1YjlCQSt1eUc0enRkSmdFREZBckNnejFtRTFzcm40TA=="
      },
      {
        "accountIdDisplay": "4557-02XX-XXXX-7890",
        "accountNickname": "Gold Mastercard",
        "accountType": "MCD",
        "availableBalance": "5000.20",
        "currentBalance": "5000.20",
        "accountToken": "RHU4WWpPUlZrVGk4bzVJeVJzd1VxZmo0S0xrZTJMa3JGdEppQ2pJdDJ4WGRMa3hRN1VUSVovWFJKd3lEU3Bpbg=="
      }
    ]
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "quickBalanceResponse": {
    "accounts": [
      {
        "accountId": "123456789",
        "accountNickname": "Term Deposit A/C",
        "accountType": "TDP",
        "availableBalance": "16672.00",
        "bsb": "083031",
        "currentBalance": "6702.00",
        "accountToken": "WG93R2VWLzM1U0xvVVpDZ2ZmSDBZcmlLS0trZFdTb2J1YjlCQSt1eUc0enRkSmdFREZBckNnejFtRTFzcm40TA=="
      },
      {
        "accountIdDisplay": "4557-02XX-XXXX-7890",
        "accountNickname": "Gold Mastercard",
        "accountType": "MCD",
        "availableBalance": "5000.20",
        "currentBalance": "5000.20",
        "accountToken": "RHU4WWpPUlZrVGk4bzVJeVJzd1VxZmo0S0xrZTJMa3JGdEppQ2pJdDJ4WGRMa3hRN1VUSVovWFJKd3lEU3Bpbg=="
      }
    ]
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/accounts/quickBalance?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
quickBalanceResponse object(Quick Balance Response) Yes

Quick Balance Response

AttributeTypeMandatoryDescription
accounts array[object(Account)] Yes List of accounts

Account

AttributeTypeMandatoryDescription
accountToken string No Account token
bsb string No BSB Number. Only returned when accountType is DDA, SDA or TDP
accountId string No Account Number. Only returned when accountType is DDA, SDA or TDP
accountIdDisplay string No Masked Credit Card Number. Only returned when accountType is MCD, VCD or ACD
accountNickname string No
accountType string Yes Type of account
availableBalance APIAmountString No Available balance
currentBalance APIAmountString No Current balance
balanceThreshold object(Balance Threshold) No

Balance Threshold

AttributeTypeMandatoryDescription
high APIAmountString No High threshold balance
low APIAmountString No Low threshold balance

Get Account Details

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/account/{accountToken}?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "accountDetailsResponse": {
    "accountToken": "1erpfgvhfducxdcfvgfdsfvbbfdcx",
    "accountIdDisplay": "123456 - 123456789",
    "nickname": "GALDELGIUDIC",
    "productCode": "NTNA",
    "productName": "NAB SMART REWARD SAVER",
    "currentBalance": "21145.81",
    "apiStructType": "currentAccount",
    "currentAccount": {
      "availableBalance": "0.25",
      "holdBalance": "0.25",
      "unclearBalance": "1.00",
      "interestEarnedInCurrentTaxYear": "0.25",
      "interestEarnedInLastTaxYear": "-12345.33",
      "interestEarnedInCurrentMonth": "12345.99",
      "interestPaidInCurrentTaxYear": "0.25",
      "interestPaidInLastTaxYear": "0.25",
      "overdraftLimit": "0.25",
      "statementsDeliveryType": "P",
      "lastStatementGenerated": "2007-05-01T15:43:00.12345Z",
      "bpayCode": 1,
      "bpayCustomerReferenceNo": 123456789,
      "netRate": "0.5",
      "stdRate": "1.123456",
      "bonusRate": "11.1234567890123456",
      "accruedBADTax": "0.25",
      "accruedCreditInterest": "0.25",
      "accruedDebitInterest": "1.00",
      "accruedDebitTax": "0.25",
      "statementDeliveryFrequency": "statementDeliveryFrequency",
      "expiryDate": "2012-03-03T15:43:00Z",
      "term": "term",
      "tieredRates": [
        {
          "tier": "-12345.33",
          "rate": "0.5"
        },
        {
          "tier": "0.25",
          "rate": "1.5"
        }
      ]
    }
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "accountDetailsResponse": {
    "accountToken": "1erpfgvhfducxdcfvgfdsfvbbfdcx",
    "accountIdDisplay": "123456 - 123456789",
    "nickname": "GALDELGIUDIC",
    "productCode": "NTNA",
    "productName": "NAB SMART REWARD SAVER",
    "currentBalance": "21145.81",
    "apiStructType": "currentAccount",
    "currentAccount": {
      "availableBalance": "0.25",
      "holdBalance": "0.25",
      "unclearBalance": "1.00",
      "interestEarnedInCurrentTaxYear": "0.25",
      "interestEarnedInLastTaxYear": "-12345.33",
      "interestEarnedInCurrentMonth": "12345.99",
      "interestPaidInCurrentTaxYear": "0.25",
      "interestPaidInLastTaxYear": "0.25",
      "overdraftLimit": "0.25",
      "statementsDeliveryType": "P",
      "lastStatementGenerated": "2007-05-01T15:43:00.12345Z",
      "bpayCode": 1,
      "bpayCustomerReferenceNo": 123456789,
      "netRate": "0.5",
      "stdRate": "1.123456",
      "bonusRate": "11.1234567890123456",
      "accruedBADTax": "0.25",
      "accruedCreditInterest": "0.25",
      "accruedDebitInterest": "1.00",
      "accruedDebitTax": "0.25",
      "statementDeliveryFrequency": "statementDeliveryFrequency",
      "expiryDate": "2012-03-03T15:43:00Z",
      "term": "term",
      "tieredRates": [
        {
          "tier": "-12345.33",
          "rate": "0.5"
        },
        {
          "tier": "0.25",
          "rate": "1.5"
        }
      ]
    }
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/account/{accountToken}?v=1

URL Parameters

NameValueDescription
accountTokenAccount TokenThe account token retrieved from Get List of Accounts

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

Get Customer Account Details JSON Schema v6

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
accountDetailsResponse object(Account Details Response) Yes

Account Details Response

AttributeTypeMandatoryDescription
accountToken string Yes Account token
accountIdDisplay string Yes Account number formatted for display
nickname string No Name as entered by the user
productType string No Product Type
productCode string Yes Product Code
productName string Yes Product Name
openingDate APIDateTimeUTCString No Opening date
isKYCConfirmed boolean No Indicates if this has been Know Your Customer (KYC) confirmed
currentBalance APIAmountString No Current balance
apiStructType string Yes Type
currentAccount object(Current Account) No
depositAccount object(Deposit Account) No
creditCardAccount object(Credit Card Account) No
loanAccount object(Loan Account) No
generalInsuranceAccount object(General Insurance Account) No
investmentFundsAccount object(Investment Funds Account) No
portfolioAccount object(Portfolio Account) No
travelCardAccount object(Travel Card Account) No
leasingAccount object(Leasing Account) No

Current Account

AttributeTypeMandatoryDescription
availableBalance APIAmountString No Available balance
holdBalance APIAmountString No Hold balance
unclearBalance APIAmountString No Unclear balance
interestEarnedInCurrentTaxYear APIAmountString Yes Interest earned in current tax year
interestEarnedInLastTaxYear APIAmountString No Interest earned in last tax year
interestEarnedInCurrentMonth APIAmountString No Interest earned in current month
interestPaidInCurrentTaxYear APIAmountString No Interest paid in current tax year
interestPaidInLastTaxYear APIAmountString No Interest paid in last tax year
overdraftLimit APIAmountString No Overdraft limit
statementsDeliveryType string No Statement delivery type. Values: O, P, B
lastStatementGenerated APIDateTimeUTCString No Date the last statement was generated
bpayCode integer No BPAY biller code
bpayCustomerReferenceNo integer No BPAY customer reference number
netRate APIRateString No Net rate
stdRate APIRateString No Standard rate
bonusRate APIRateString No Bonus rate
tieredRates array[object(Tiered Rate)] No
accruedBADTax APIAmountString No Accrued Bank Account Debits (BAD) Tax
accruedCreditInterest APIAmountString No Accrued credit interest
accruedDebitInterest APIAmountString No Accrued debit interest
accruedDebitTax APIAmountString No Accrued Debit Tax
statementDeliveryFrequency string No Statement delivery frequency
expiryDate APIDateTimeUTCString No Expiry Date
term string No Term

Tiered Rate

AttributeTypeMandatoryDescription
tier APIAmountString Yes Tier amount
rate APIRateString Yes Rate

Deposit Account

AttributeTypeMandatoryDescription
depositNumber string Yes Deposit number
depositDate APIDateTimeUTCString No Deposit date
maturityDate APIDateTimeUTCString No Maturity date
maturityAmount APIAmountString No Maturity amount
depositStatus string Yes Deposit status
depositTerm string Yes Deposit term
depositAction string No Deposit action. Values: REGULAR_TD_OUTSIDE_WINDOW_PERIOD, PROPOSED_TD_PARTIALLY_FUNDED, PROPOSED_TD_FULLY_FUNDED, REGULAR_TD_INSIDE_WINDOW_PERIOD
interestPayoutFrequency string Yes Interest Payout Frequency
netRate APIRateString Yes Net rate
stdRate APIRateString Yes Standard rate
bonusRate APIRateString No Bonus rate
totalInterestPayable APIAmountString No Total Interest Payable
interestEarnedInCurrentTaxYear APIAmountString No Interest earned in the current tax year
interestEarnedInLastTaxYear APIAmountString No Interest earned in the last tax year
renewalOptionCode string No Renewal option code
interestNextDue APIDateTimeUTCString No Interest next due date

Credit Card Account

AttributeTypeMandatoryDescription
cardSchemeDesc string Yes Card Scheme Description
status string No Values: CLOSED, CANCELLED, ACTIVE
creditLimit APIAmountString Yes Credit limit
currentLimitChangedDate APIDateTimeUTCString No Current Limit change date
creditLimitIncreaseInvitationConsent string No Credit Limit increase invitation consent
currentBalance APIAmountString Yes Current balance
currentPaymentAmount APIAmountString No Current Payment Amount
currentPaymentOption APIAmountString No Current payment option amount
dueDate APIDateTimeUTCString Yes Due date
lastStatementDate APIDateTimeUTCString Yes Last statement date
minimumPayment APIAmountString Yes Minimum payment amount
rate APIRateString Yes Rate
statementClosingBalance APIAmountString Yes Statement closing balance
outstandingBalance APIAmountString Yes Outstanding Balance
consolidatedCards array[object(Consolidated Card)] No Consolidated card array
domicileBSB APIBSBNumber No Domicile BSB
consolidatedCardType string No Consolidated card type. Only present for a consolidated card. Possible values are: A - Primary / dummy account, D - Delinked Account, P - Primary Card Account, S - Supplemental account, X - Lost / Stolen Account
blockCode string No Block code. Values: SS - Stolen (Permanent Block), XS - Temporary Block, VX - Customer Request Close, ZQ - Fraud Monitoring, SF - Stolen/Fraud. Not present cards that are not blocked.
issueDate APIDateString No Card issue date
lastAddressChangeDate APIDateString No Date customer last changed address
cardDeliveryInstruction string No Values: H=home, B=branch
cardDeliveryAddress object(Card Delivery Address) No Card delivery address

Consolidated Card

AttributeTypeMandatoryDescription
consolidatedCardType string No Consolidated card type
description string Yes Description of card
formattedCardNumber APIPCIString Yes Masked credit card number

Card Delivery Address

AttributeTypeMandatoryDescription
branchName string No Branch Name, e.g. Docklands. N/A for home address.
addressLine1 string No Address Line 1
addressLine2 string No Address Line 2
addressLine3 string No Address Line 3
addressLine4 string No Address Line 4

Loan Account

AttributeTypeMandatoryDescription
availableBalance APIAmountString No Available balance
rate APIRateString Yes Rate
instalmentAmount APIAmountString Yes Instalment amount
loanCoverAttached boolean No Loan cover attached
loanCoverAvailable boolean No Loan cover available
loanCoverDescription string No Loan cover description
loanCoverDetail object(Loan Cover Detail) No
loanEndDate APIDateTimeUTCString Yes Loan End Date
nextInstalmentDate APIDateTimeUTCString Yes Next Instalment Date
offerRepayment boolean No Offer Repayment
repaymentFrequency string No Repayment Frequency
scheduledBalance APIAmountString No Scheduled Balance
statementDeliveryFrequency string No Statement Delivery Frequency
termDate APIDateTimeUTCString No Term Date
bpayCode integer No BPAY Code
bpayCustomerReferenceNo integer No BPAY Customer Reference Number
linkedAccountDisplay string No Linked Account Display
loanFacility string No Loan Facility
repaymentStatus string No Repayment status. Values: Unknown, CrDrAuthorityInactive, Discharged, Eligible, FixedRate, NoCrDrAuthority, PendingDischarge, PendingOngoingRepayment, PendingOngoingRepaymentFixedRate, RepaymentAmtNotAvailable, NoOngoingRepayment
redrawStatus string No Redraw status. Values: Discharged, FixedRate, Construction, PendingDischarge, PKLoan, NoCrDrAuthority, CrDrAuthorityInactive, InArrears, DishonouredPayment, CannotCalcAvailableCr, NoAvailableCredit, Eligible, Unknown
minimumPaymentAmount APIAmountString No Minimum payment amount
minimumRedrawAmount APIAmountString No Minimum redraw amount
amortisedAmount APIAmountString No Amortised amount
isAdditionalPaymentsAllowed boolean No Indicates if additional payments are allowed

Loan Cover Detail

AttributeTypeMandatoryDescription
productName string No Product Name
paymentMethod string No Payment Method
premium APIAmountString No Premium
policyAnniversaryDate APIDateTimeUTCString No Policy Anniversary Date
policyNumber string No Policy Number
loanCoverInsuredItems array[object(Loan Cover Insured Item)] No
loanCoverPremiumTotal APIAmountString No Loan Cover Premium Total

Loan Cover Insured Item

AttributeTypeMandatoryDescription
insuranceType string No Insurance Type
name string No Insurance Name
premium APIAmountString No Premium

General Insurance Account

AttributeTypeMandatoryDescription
policyAnniversaryDate APIDateTimeUTCString Yes Policy anniversary date
premium APIAmountString Yes Premium amount
coverItems array[object(Cover Item)] No

Cover Item

AttributeTypeMandatoryDescription
description string No Cover item description
insuranceCover array[object(Insurance Cover)] No

Insurance Cover

AttributeTypeMandatoryDescription
type string Yes Insurance cover type
insureSum APIAmountString Yes Insured amount

Investment Funds Account

AttributeTypeMandatoryDescription
fundItems array[object(Fund Item)] No
fundItemsTotalBalance APIAmountString Yes Fund items total balance
totalHoldings APIAmountString Yes Total holdings amount
valuationDate APIDateTimeUTCString Yes Valuation date

Fund Item

AttributeTypeMandatoryDescription
balance APIAmountString Yes Balance
fund string Yes Fund
unitPrice APIAmountString Yes Unit Price
units integer Yes Number of units

Portfolio Account

AttributeTypeMandatoryDescription
accruedCreditInterest APIAmountString No Accrued credit interest amount
accruedDebitInterest APIAmountString No Accrued debit interest amount
availableLimit APIAmountString Yes Available limit
balance APIAmountString No Balance
overdrawnAmount APIAmountString No Overdrawn amount
portfolioLimit APIAmountString Yes Portfolio limit
creditBalance APIAmountString No Credit balance
debitBalance APIAmountString No Debit balance

Travel Card Account

AttributeTypeMandatoryDescription
primaryCardNumber APIPCIString No Primary card number
secondaryCardNumber APIPCIString No Secondary card number
annualLoadLimit APIAmountString No Annual load limit amount
status string Yes Card account status. Possible values: Open, Suspended, Inactive, Closed
purseBalances array[object(Purse Balance)] Yes

Purse Balance

AttributeTypeMandatoryDescription
currencyCode APICurrencyString Yes Currency code. E.g. AUD, NZD
currentBalance APINTCAmountString Yes Current balance
availableBalance APINTCAmountString Yes Available balance

Leasing Account

AttributeTypeMandatoryDescription
balloonAmount APIAmountString Yes Balloon amount
financedAmount APIAmountString Yes Financed amount
nextInstalmentAmount APIAmountString Yes Next instalment amount
nextInstalmentDate APIDateTimeUTCString Yes Next instalment date
finalDueDate APIDateTimeUTCString Yes Final due date
term APIPositiveInteger Yes Lease term in number of months

Get Account Balance

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/account/{accountToken}/balance?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "accountBalanceResponse": {
    "account": {
      "category": "DOMESTIC",
      "accountType": "NTNA",
      "nickname": "Savings",
      "balance": {
        "balanceStatus": "OK",
        "apiStructType": "amountBalance",
        "amountBalance": {
          "currentBalance": {
            "currency": "AUD",
            "amount": "12.112"
          },
          "availableBalance": {
            "currency": "AUD",
            "amount": "10.112"
          },
          "baseCurrencyBalance": {
            "currency": "AUD",
            "amount": "10.111"
          }
        }
      },
      "accountIdDisplay": "082055-864485607"
    }
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "accountBalanceResponse": {
    "account": {
      "category": "DOMESTIC",
      "accountType": "NTNA",
      "nickname": "Savings",
      "balance": {
        "balanceStatus": "OK",
        "apiStructType": "amountBalance",
        "amountBalance": {
          "currentBalance": {
            "currency": "AUD",
            "amount": "12.112"
          },
          "availableBalance": {
            "currency": "AUD",
            "amount": "10.112"
          },
          "baseCurrencyBalance": {
            "currency": "AUD",
            "amount": "10.111"
          }
        }
      },
      "accountIdDisplay": "082055-864485607"
    }
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/account/{accountToken}/balance?v=1

URL Parameters

NameValueDescription
accountTokenAccount TokenThe account token retrieved from Get List of Accounts

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

Retrieve single account balance Settings JSON Response Schema v3

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
accountBalanceResponse object(Account Balance Response) Yes

Account Balance Response

AttributeTypeMandatoryDescription
account object(Account) Yes

Account

AttributeTypeMandatoryDescription
accountIdDisplay string Yes Account number formatted for display
accountType string Yes Type of account
category string Yes
nickname string No Name as entered by the user
balance object(Balance) Yes

Balance

AttributeTypeMandatoryDescription
apiStructType string Yes Type
balanceStatus string Yes Balance status. Values: OK, N/A, Unavailable
amountBalance object(Amount Balance) No
limitBalance object(Limit Balance) No
purseBalances array[object(Purse Balance)] No
unitBalance object(Unit Balance) No
lendingBalance object(Lending Balance) No

Amount Balance

AttributeTypeMandatoryDescription
currentBalance object(Current Balance) No Current balance
availableBalance object(Available Balance) Yes Available balance
baseCurrencyBalance object(Base Currency Balance) No Balance in base currency

Current Balance

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APIAmountString Yes Amount

Available Balance

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APIAmountString Yes Amount

Base Currency Balance

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APIAmountString Yes Amount

Limit Balance

AttributeTypeMandatoryDescription
currentLimit object(Current Limit) Yes Current limit
availableLimit object(Available Limit) Yes Available Limit
setLimit object(Set Limit) Yes Set limit

Current Limit

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APIAmountString Yes Amount

Available Limit

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APIAmountString Yes Amount

Set Limit

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APIAmountString Yes Amount

Purse Balance

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
currentBalance APICurrencyAmountString Yes Current balance
availableBalance APICurrencyAmountString Yes Available balance

Unit Balance

AttributeTypeMandatoryDescription
unitQuantity integer Yes Quantity
unitPrice object(Unit Price) Yes Unit price
totalAmount object(Total Amount) Yes Total amount

Unit Price

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APIAmountString Yes Amount

Total Amount

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APIAmountString Yes Amount

Lending Balance

AttributeTypeMandatoryDescription
securityAmount object(Security Amount) Yes Security amount
loanBalance object(Loan Balance) Yes Loan balance
availableFunds object(Available Fund) Yes Available funds
facilityLimit object(Facility Limit) Yes Facility limit
marketValue object(Market Value) Yes Market value

Security Amount

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APIAmountString Yes Amount

Loan Balance

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APIAmountString Yes Amount

Available Fund

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APIAmountString Yes Amount

Facility Limit

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APIAmountString Yes Amount

Market Value

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
amount APIAmountString Yes Amount

Get Account Transactions

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/account/{accountToken}/transactions?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "transactionsResponse": {
    "accountIdDisplay": "082055-864485607",
    "totalRecords": 2,
    "transactions": [
      {
        "reference": "122345",
        "transactionTypeCode": "105",
        "date": "2015-07-02",
        "narrative": "Branch Bourke st deposit 211003",
        "description": "DEPOSIT",
        "transactionId": "transactionId",
        "amount": "5000.00",
        "currency": "AUD",
        "runningBalance": "97000.25"
      },
      {
        "reference": "reference2",
        "transactionTypeCode": "108",
        "date": "2015-07-01",
        "narrative": "Google salary May",
        "description": "SALARY",
        "amount": "20000.00",
        "currency": "AUD",
        "runningBalance": "92000.25"
      }
    ]
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "transactionsResponse": {
    "accountIdDisplay": "082055-864485607",
    "totalRecords": 2,
    "transactions": [
      {
        "reference": "122345",
        "transactionTypeCode": "105",
        "date": "2015-07-02",
        "narrative": "Branch Bourke st deposit 211003",
        "description": "DEPOSIT",
        "transactionId": "transactionId",
        "amount": "5000.00",
        "currency": "AUD",
        "runningBalance": "97000.25"
      },
      {
        "reference": "reference2",
        "transactionTypeCode": "108",
        "date": "2015-07-01",
        "narrative": "Google salary May",
        "description": "SALARY",
        "amount": "20000.00",
        "currency": "AUD",
        "runningBalance": "92000.25"
      }
    ]
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/account/{accountToken}/transactions?v=1

URL Parameters

NameValueDescription
accountTokenAccount TokenThe account token retrieved from Get List of Accounts

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1
type The type of trasaction to return No CR, DR, ALL
startIndex Specify the row number of the first record from the full result list to return. No
endIndex Specify the row number of the last record from the full result list to return No
startDate The starting date for the range of date for transactions to be returned No
endDate The ending date for the range of date for transactions to be returned No
greaterThanAmount Return transactions greater than the amount specified No
lessThanAmount Return transactions less than the amount specified No

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
transactionsResponse object(Transactions Response) No

Transactions Response

AttributeTypeMandatoryDescription
accountIdDisplay string Yes Account number formatted for display
cardNumberDisplay string No Card number formatted for display
totalRecords APIPositiveInteger Yes Total number of recors returned
pendingCount APIPositiveInteger No Pending number of transactions
postedCount APIPositiveInteger No Number of transactions posted
transactions array[object(Transaction)] No

Transaction

AttributeTypeMandatoryDescription
reference string No Reference description
transactionId string No Transaction ID
date APIDateISOString Yes Date
description string Yes Transaction description
narrative string No Narrative
amount APICurrencyAmountString No Amount
currency APICurrencyString No Currency
runningBalance APICurrencyAmountString No Running balance amount
merchantName string No Name of the merchant
merchantCategoryCode string No Merchant’s category code
transactionTypeCode string No Transaction type code
cardNumberDisplay string No Card number formatted for display
transactionCode string No Transaction code
processingStatus string No Processing status. Values: PENDING, POSTED
currencyConversionRate APIRateString No Currency conversion rate

Payments

Payment related API’s

Payment

Payment Contact

Contact related APIs - contacts can be payee, biller or beneficiary

Info

All Payment API’s needs the Authorization Token to be passed in the HTTP Header

Reference

Create Payment

Request

curl \\
    -X POST \\
    -d '{"paymentRequest":{"from":{"account":{"apiStructType":"accountToken","accountToken":{"token":"WtRxYd3bmdtE0LlautVKVrEy_kXv_ShJkFeAtVS_gty3v4GLNO43AgivIw50Pw09"}}},"to":{"account":{"apiStructType":"accountToken","accountToken":{"token":"5zOUtdJ3TuXABcgQhsfvCbznrvZ-3CTgqmKQRt4KXegPsNWip2uv0-dkdBOFgErf"}}},"method":{"apiStructType":"transfer","transfer":{"amount":"500.00","statementReference":"Linked accounts","remitterName":"Mr. Bean"}},"recurrence":{"apiStructType":"onceOff","onceOff":{"paymentDate":"2016-12-14"}}}}' \\
    https://hackathon.api.extnp.nab.com.au/v2/payment?v=1
{
  "paymentRequest": {
    "from": {
      "account": {
        "apiStructType": "accountToken",
        "accountToken": {
          "token": "WtRxYd3bmdtE0LlautVKVrEy_kXv_ShJkFeAtVS_gty3v4GLNO43AgivIw50Pw09"
        }
      }
    },
    "to": {
      "account": {
        "apiStructType": "accountToken",
        "accountToken": {
          "token": "5zOUtdJ3TuXABcgQhsfvCbznrvZ-3CTgqmKQRt4KXegPsNWip2uv0-dkdBOFgErf"
        }
      }
    },
    "method": {
      "apiStructType": "transfer",
      "transfer": {
        "amount": "500.00",
        "statementReference": "Linked accounts",
        "remitterName": "Mr. Bean"
      }
    },
    "recurrence": {
      "apiStructType": "onceOff",
      "onceOff": {
        "paymentDate": "2016-12-14"
      }
    }
  }
}

Response

{
  "paymentResponse": {
    "paymentReference": "X123456",
    "paymentId": "123456789",
    "status": "Paid"
  },
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}
{
  "paymentResponse": {
    "paymentReference": "X123456",
    "paymentId": "123456789",
    "status": "Paid"
  },
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}

POST https://hackathon.api.extnp.nab.com.au/v2/payment?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Request

Schema

AttributeTypeMandatoryDescription
paymentRequest object(Payment Request) Yes Payment request

Payment Request

AttributeTypeMandatoryDescription
intent string No Values: validate, submit. The default value is submit
from object(From) Yes Source
to object(To) Yes Destination
method object(Method) Yes Payment method
recurrence object(Recurrence) Yes Payment recurrence information

From

AttributeTypeMandatoryDescription
account object(Account) Yes Account

Account

AttributeTypeMandatoryDescription
apiStructType string Yes Type of account - accountToken
accountToken object(Encrypted Token) No Account token

To

AttributeTypeMandatoryDescription
account object(Account) Yes Account object

Account

AttributeTypeMandatoryDescription
apiStructType string Yes Type of account. Valid values are accountToken, accountApca, contactToken, biller, beneficiary, merchant
accountToken object(Encrypted Token) No Account token
accountApca object(Account Apca) No Bank account
contactToken object(Encrypted Token) No Contact token
biller object(Biller) No BPAY biller
beneficiary object(Beneficiary) No Beneficiary
merchant object(Merchant) No Merchant

Account Apca

AttributeTypeMandatoryDescription
bsb string Yes Bank, State, Branch number
accountNumber string Yes Account number
accountName string Yes Account name

Biller

AttributeTypeMandatoryDescription
code string Yes BPAY biller code
name string Yes BPAY biller name
crn string Yes BPAY customer reference number

Beneficiary

AttributeTypeMandatoryDescription
bankDetails object(Bank Detail) Yes Bank details
beneficiaryDetails object(Beneficiary Detail) Yes Beneficiary details

Bank Detail

AttributeTypeMandatoryDescription
country string Yes Country
accountNumber string Yes Account number
apiStructType string Yes Bank details type. Values: bankCode, bankAddress
bankCode object(Bank Code) No Bank Code object
bankAddress object(Bank Address) No Bank address
additionalBankCode object(Additional Bank Code) No Additional bank identification code (if applicable)

Bank Code

AttributeTypeMandatoryDescription
code string Yes SWIFT/Bank Identification Code of the beneficiary bank

Bank Address

AttributeTypeMandatoryDescription
name string Yes Bank name
address string Yes Address

Additional Bank Code

AttributeTypeMandatoryDescription
apiStructType string Yes Bank code type. Values: sortCode, chipNumber, routingNumber
sortCode object(Sort Code) No Sort code
chipNumber object(Chip Number) No Chip number
routingNumber object(Routing Number) No Routing number

Sort Code

AttributeTypeMandatoryDescription
code string Yes Sort code

Chip Number

AttributeTypeMandatoryDescription
number string Yes Chip number

Routing Number

AttributeTypeMandatoryDescription
number string Yes Routing number

Beneficiary Detail

AttributeTypeMandatoryDescription
name string Yes Transfer object
country string Yes Country
address string Yes Address
message string No Message to the beneficiary

Merchant

AttributeTypeMandatoryDescription
merchantName string Yes Name of the merchant

Method

AttributeTypeMandatoryDescription
apiStructType string Yes Type of payment. Values: transfer, transferRealtime, bill, international, acquire, redraw
transfer object(Transfer) No Transfer object
transferRealtime object(Transfer Realtime) No Transfer Realtime object
bill object(Bill) No Bill object
international object(International) No International object
acquire object(Acquire) No Acquire object
redraw object(Redraw) No Redraw object

Transfer

AttributeTypeMandatoryDescription
amount APIPositiveAmountString Yes Amount
statementReference APIBecsStringMax18 Yes Text that will appear on payer’s & payee’s statement
remitterName string No Name of the remitter

Transfer Realtime

AttributeTypeMandatoryDescription
amount APIPositiveAmountString Yes Amount
statementReference APIBecsStringMax18 Yes Text that will appear on payer’s & payee’s statement
detailedDescription string No Detailed description
remitterName string No Name of the remitter

Bill

AttributeTypeMandatoryDescription
amount APIPositiveAmountString Yes Amount

International

AttributeTypeMandatoryDescription
quoteToken string Yes FX Quote token
statementReference APIBecsStringMax18 Yes Text that will appear on payer’s & payee’s statement
feeChargeIndicator string No Fee charge indicator

Acquire

AttributeTypeMandatoryDescription
amount APIPositiveAmountString Yes Amount
paymentId string Yes Payment id

Redraw

AttributeTypeMandatoryDescription
amount APICurrencyPositiveAmountString Yes Amount
statementReference APIBecsStringMax18 No Text that will appear on payer’s & payee’s statement
remitterName string No Name of the remitter
paymentId string No Payment id
increaseRepayment boolean No Increase repayment indicator

Recurrence

AttributeTypeMandatoryDescription
apiStructType string Yes Recurrence type. Values: onceOff, periodic
onceOff object(Once Off) No onceOff object
periodic object(Periodic) No Periodic object

Once Off

AttributeTypeMandatoryDescription
paymentDate APIDateISOString No Payment date

Periodic

AttributeTypeMandatoryDescription
startDate APIDateISOString Yes Start date
recurringFrequency string Yes Frequency. Values: WEEKLY, FORTNIGHTLY, MONTHLY, QUARTERLY
apiStructType string Yes Duration type. Values: forever, until, occurrences
forever object(Forever) No Duration - Forever
until object(Until) No Duration - Until
occurrences object(Occurrence) No Duration - count

Forever

AttributeTypeMandatoryDescription
enabled boolean Yes Forever duration enabled

Until

AttributeTypeMandatoryDescription
endDate APIDateISOString Yes End date

Occurrence

AttributeTypeMandatoryDescription
count APIPositiveInteger Yes Total number of payments

Encrypted Token

AttributeTypeMandatoryDescription
token string Yes Token

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
paymentResponse object(Payment Response) Yes Payment response

Payment Response

AttributeTypeMandatoryDescription
paymentReference string No Payment reference. If payment status is ‘Not submitted’ then paymentReference will not be present. If the intent in the request is 'validate’ then the payment is validated but not submitted.
paymentId string No Payment id. If payment status is 'Not submitted’ then paymentId will not be present. If the intent in the request is 'validate’ then the payment is validated but not submitted.
status string Yes Payment status
rrn string No Retrieval Reference Number, populated when method is acquire
maskedCreditCardNumber string No The credit card number used in the cardDetails transaction when method is acquire
transferRealtimePaymentType string No Indicates the type of payment applicable for transferRealtime payment. Will be present only if the payment requested was transferRealtime and if the payment can be validated as eligible for transferRealtime

Create Payment from Account

Request

curl \\
    -X POST \\
    -d '{"paymentRequest":{"from":{"account":{"apiStructType":"accountToken","accountToken":{"token":"WtRxYd3bmdtE0LlautVKVrEy_kXv_ShJkFeAtVS_gty3v4GLNO43AgivIw50Pw09"}}},"to":{"account":{"apiStructType":"accountToken","accountToken":{"token":"5zOUtdJ3TuXABcgQhsfvCbznrvZ-3CTgqmKQRt4KXegPsNWip2uv0-dkdBOFgErf"}}},"method":{"apiStructType":"transfer","transfer":{"amount":"500.00","statementReference":"Linked accounts","remitterName":"Mr. Bean"}},"recurrence":{"apiStructType":"onceOff","onceOff":{"paymentDate":"2016-12-14"}}}}' \\
    https://hackathon.api.extnp.nab.com.au/v2/account/{accountToken}/payment?v=1
{
  "paymentRequest": {
    "from": {
      "account": {
        "apiStructType": "accountToken",
        "accountToken": {
          "token": "WtRxYd3bmdtE0LlautVKVrEy_kXv_ShJkFeAtVS_gty3v4GLNO43AgivIw50Pw09"
        }
      }
    },
    "to": {
      "account": {
        "apiStructType": "accountToken",
        "accountToken": {
          "token": "5zOUtdJ3TuXABcgQhsfvCbznrvZ-3CTgqmKQRt4KXegPsNWip2uv0-dkdBOFgErf"
        }
      }
    },
    "method": {
      "apiStructType": "transfer",
      "transfer": {
        "amount": "500.00",
        "statementReference": "Linked accounts",
        "remitterName": "Mr. Bean"
      }
    },
    "recurrence": {
      "apiStructType": "onceOff",
      "onceOff": {
        "paymentDate": "2016-12-14"
      }
    }
  }
}

Response

{
  "paymentResponse": {
    "paymentReference": "X123456",
    "paymentId": "123456789",
    "status": "Paid"
  },
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}
{
  "paymentResponse": {
    "paymentReference": "X123456",
    "paymentId": "123456789",
    "status": "Paid"
  },
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}

POST https://hackathon.api.extnp.nab.com.au/v2/account/{accountToken}/payment?v=1

URL Parameters

NameValueDescription
accountTokenAccount TokenThe account token retrieved from Get List of Accounts

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Request

Schema

AttributeTypeMandatoryDescription
paymentRequest object(Payment Request) Yes Payment Request object

Payment Request

AttributeTypeMandatoryDescription
to object(To) Yes To object
method object(Method) Yes Method object
recurrence object(Recurrence) Yes Recurrence object

To

AttributeTypeMandatoryDescription
account object(Account) Yes Account object

Account

AttributeTypeMandatoryDescription
apiStructType string Yes Account type. Values: accountToken, accountApca, contactToken, biller, beneficiary
accountToken object(Account Token) No accountToken object
accountApca object(Account Apca) No Bank account
contactToken object(Contact Token) No contactToken object
biller object(Biller) No Biller object
beneficiary object(Beneficiary) No Beneficiary object

Account Token

AttributeTypeMandatoryDescription
token string Yes Encrypted Token

Account Apca

AttributeTypeMandatoryDescription
bsb string Yes Bank, State, Branch number
accountNumber string Yes Account number
accountName string Yes Account name

Contact Token

AttributeTypeMandatoryDescription
token string Yes Encrypted token

Biller

AttributeTypeMandatoryDescription
code string Yes Biller Code
name string Yes Biller name
crn string Yes BPAY customer reference number

Beneficiary

AttributeTypeMandatoryDescription
bankDetails object(Bank Detail) Yes bankDetails object
beneficiaryDetails object(Beneficiary Detail) Yes beneficiaryDetails object

Bank Detail

AttributeTypeMandatoryDescription
country string Yes Country
accountNumber string Yes Account number
apiStructType string Yes Bank details type. Values: bankCode, bankAddress
bankCode object(Bank Code) No Bank Code object
bankAddress object(Bank Address) No Bank address object
additionalBankCode object(Additional Bank Code) No Additional bank identification code (if applicable)

Bank Code

AttributeTypeMandatoryDescription
code string Yes Bank Identification Code

Bank Address

AttributeTypeMandatoryDescription
name string Yes Bank name
address string Yes Address

Additional Bank Code

AttributeTypeMandatoryDescription
apiStructType string Yes Bank code type. Values: sortCode, chipNumber, routingNumber
sortCode object(Sort Code) No sortCode object
chipNumber object(Chip Number) No chipNumber object
routingNumber object(Routing Number) No routingNumber object

Sort Code

AttributeTypeMandatoryDescription
code string Yes Additional Bank identification code

Chip Number

AttributeTypeMandatoryDescription
number string Yes Chip number

Routing Number

AttributeTypeMandatoryDescription
number string Yes Routing Number

Beneficiary Detail

AttributeTypeMandatoryDescription
name string Yes Beneficiary name
country string Yes Country
address string Yes Address
message string No Message to the beneficiary

Method

AttributeTypeMandatoryDescription
apiStructType string Yes Type of payment. Values: transfer, bill, international
transfer object(Transfer) No Transfer object
bill object(Bill) No Bill object
international object(International) No International object

Transfer

AttributeTypeMandatoryDescription
amount APIPositiveAmountString Yes Amount
statementReference APIBecsStringMax18 Yes Text that will appear on payer’s & payee’s statement
remitterName string No Name of the remitter

Bill

AttributeTypeMandatoryDescription
amount APIPositiveAmountString Yes Amount

International

AttributeTypeMandatoryDescription
currency string Yes Currency
nominatedAmount object(Nominated Amount) Yes nominatedAmount object
statementReference APIBecsStringMax18 Yes Text that will appear on payer’s & payee’s statement

Nominated Amount

AttributeTypeMandatoryDescription
apiStructType string Yes Amount type. Values: creditAmount, debitAmount
creditAmount object(Credit Amount) No creditAmount object
debitAmount object(Debit Amount) No debitAmount object

Credit Amount

AttributeTypeMandatoryDescription
amount APICurrencyPositiveAmountString Yes Amount

Debit Amount

AttributeTypeMandatoryDescription
amount APICurrencyPositiveAmountString Yes Amount

Recurrence

AttributeTypeMandatoryDescription
apiStructType string Yes Recurrence type. Values: onceOff, periodic
onceOff object(Once Off) No onceOff object
periodic object(Periodic) No Periodic object

Once Off

AttributeTypeMandatoryDescription
paymentDate APIDateISOString Yes Payment date

Periodic

AttributeTypeMandatoryDescription
startDate APIDateISOString Yes Start date
recurringFrequency string Yes Frequency. Values: WEEKLY, FORTNIGHTLY, MONTHLY, QUARTERLY
apiStructType string Yes Duration type. Values: forever, until, occurrences
forever object(Forever) No Duration - Forever
until object(Until) No Duration - Until
occurrences object(Occurrence) No Duration - Count

Forever

AttributeTypeMandatoryDescription
enabled boolean Yes Forever duration enabled

Until

AttributeTypeMandatoryDescription
endDate APIDateISOString Yes End date

Occurrence

AttributeTypeMandatoryDescription
count APIPositiveInteger Yes Number of occurrences

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
paymentResponse object(Payment Response) Yes Payment response object

Payment Response

AttributeTypeMandatoryDescription
paymentReference string Yes If the payment status is ‘Not submitted’ then paymentReference will not be present. If the intent in the request is 'validate’ then the payment is validated but not submitted.
paymentId string Yes Payment identifier
status string Yes Payment status. Values: Future dated, Periodic, Paid, Rejected, Pending approval, Canceled, Processing, Expired, Approval Expired

Get Payment Details

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/payment/{paymentId}?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "paymentResponse": {
    "from": {
      "account": {
        "apiStructType": "accountApca",
        "accountApca": {
          "bsb": "013003",
          "accountNumber": "123456789",
          "accountName": "transactions account"
        }
      }
    },
    "to": {
      "account": {
        "apiStructType": "biller",
        "biller": {
          "code": "8890",
          "name": "NAB",
          "crn": "123456"
        }
      }
    },
    "method": {
      "apiStructType": "transfer",
      "transfer": {
        "amount": "500.00",
        "statementReference": "Pay mr bean"
      }
    },
    "recurrence": {
      "apiStructType": "onceOff",
      "onceOff": {
        "paymentDate": "2015-04-12"
      }
    },
    "paymentId": "2345",
    "createdBy": "Thor",
    "status": "Periodic"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "paymentResponse": {
    "from": {
      "account": {
        "apiStructType": "accountApca",
        "accountApca": {
          "bsb": "013003",
          "accountNumber": "123456789",
          "accountName": "transactions account"
        }
      }
    },
    "to": {
      "account": {
        "apiStructType": "biller",
        "biller": {
          "code": "8890",
          "name": "NAB",
          "crn": "123456"
        }
      }
    },
    "method": {
      "apiStructType": "transfer",
      "transfer": {
        "amount": "500.00",
        "statementReference": "Pay mr bean"
      }
    },
    "recurrence": {
      "apiStructType": "onceOff",
      "onceOff": {
        "paymentDate": "2015-04-12"
      }
    },
    "paymentId": "2345",
    "createdBy": "Thor",
    "status": "Periodic"
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/payment/{paymentId}?v=1

URL Parameters

NameValueDescription
paymentIdPayment IdPayment Identifier

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 3

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus No Response status
paymentResponse object(Payment Response) No

Payment Response

AttributeTypeMandatoryDescription
from object(From) Yes
to object(To) Yes
method object(Method) Yes
recurrence object(Recurrence) Yes
paymentId string Yes
createdDate APIDateISOString Yes
createdBy string No
modifiedDate APIDateISOString No
status string Yes Response status
availableActions object(Available Action) No

From

AttributeTypeMandatoryDescription
account object(Account) Yes

Account

AttributeTypeMandatoryDescription
apiStructType string Yes Type
accountApca object(Account Apca) No Bank account
cardAccount object(Card Account) No Card account

Account Apca

AttributeTypeMandatoryDescription
bsb string Yes Bank, State, Branch number
accountNumber string Yes Account number
accountName string Yes Account name

Card Account

AttributeTypeMandatoryDescription
cardNumber string Yes Card number
cardName string Yes

To

AttributeTypeMandatoryDescription
account object(Account) Yes

Account

AttributeTypeMandatoryDescription
apiStructType string Yes Type
accountApca object(Account Apca) No Bank account
cardAccount object(Card Account) No Card account
payeeAlias object(Payee Alias) No
biller object(Biller) No
beneficiary object(Beneficiary) No

Account Apca

AttributeTypeMandatoryDescription
bsb string Yes Bank, State, Branch number
accountNumber string Yes Account number
accountName string Yes Account name

Card Account

AttributeTypeMandatoryDescription
cardNumber string Yes Card number
cardName string Yes

Payee Alias

AttributeTypeMandatoryDescription
aliasType APIAliasTypeEnum Yes
aliasValue string Yes
aliasShortname string Yes

Biller

AttributeTypeMandatoryDescription
code string Yes Response status code
name string Yes
crn string Yes BPAY customer reference number

Beneficiary

AttributeTypeMandatoryDescription
bankDetails object(Bank Detail) Yes
beneficiaryDetails object(Beneficiary Detail) Yes

Bank Detail

AttributeTypeMandatoryDescription
country string Yes Country
accountNumber string Yes Account number
apiStructType string Yes Type
bankCode object(Bank Code) No
bankAddress object(Bank Address) No
additionalBankCode object(Additional Bank Code) No

Bank Code

AttributeTypeMandatoryDescription
code string Yes Response status code

Bank Address

AttributeTypeMandatoryDescription
name string Yes
address string Yes Address

Additional Bank Code

AttributeTypeMandatoryDescription
apiStructType string Yes Type
sortCode object(Sort Code) No
chipNumber object(Chip Number) No
routingNumber object(Routing Number) No

Sort Code

AttributeTypeMandatoryDescription
code string Yes Response status code

Chip Number

AttributeTypeMandatoryDescription
number string Yes

Routing Number

AttributeTypeMandatoryDescription
number string Yes

Beneficiary Detail

AttributeTypeMandatoryDescription
name string Yes
country string Yes Country
address string No Address
message string No Response status message

Method

AttributeTypeMandatoryDescription
apiStructType string Yes Type
transfer object(Transfer) No
bill object(Bill) No
international object(International) No
transferRealtime object(Transfer Realtime) No
redraw object(Redraw) No

Transfer

AttributeTypeMandatoryDescription
amount APIPositiveAmountString Yes Amount
statementReference APIBecsString Yes Text that will appear on payer’s & payee’s statement
remitterName string No Name of the remitter

Bill

AttributeTypeMandatoryDescription
amount APIPositiveAmountString Yes Amount

International

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency
creditAmount APICurrencyPositiveAmountString No
debitAmount APICurrencyPositiveAmountString No
fxRate APIRateString No
fee APICurrencyPositiveAmountString No
feeChargeIndicator string No
statementReference APIBecsString Yes Text that will appear on payer’s & payee’s statement
remitterName string No Name of the remitter

Transfer Realtime

AttributeTypeMandatoryDescription
paymentType string Yes
amount APIPositiveAmountString Yes Amount
statementReference APIBecsString Yes Text that will appear on payer’s & payee’s statement
detailedDescription string No Detailed description
remitterName string No Name of the remitter

Redraw

AttributeTypeMandatoryDescription
amount APIPositiveAmountString Yes Amount
statementReference APIBecsString No Text that will appear on payer’s & payee’s statement
remitterName string No Name of the remitter

Recurrence

AttributeTypeMandatoryDescription
apiStructType string Yes Type
onceOff object(Once Off) No
periodic object(Periodic) No

Once Off

AttributeTypeMandatoryDescription
paymentDate APIDateISOString Yes Payment date

Periodic

AttributeTypeMandatoryDescription
startDate APIDateISOString Yes Start date
nextDate APIDateISOString Yes
recurringFrequency string Yes
apiStructType string Yes Type
forever object(Forever) No
until object(Until) No
occurrences object(Occurrence) No

Forever

AttributeTypeMandatoryDescription
enabled boolean Yes

Until

AttributeTypeMandatoryDescription
endDate APIDateISOString Yes End date

Occurrence

AttributeTypeMandatoryDescription
count APIPositiveInteger Yes

Available Action

AttributeTypeMandatoryDescription
modify boolean No
view boolean No
cancel boolean No
approve boolean No
decline boolean No
resubmit boolean No

Update Payment

Request

curl \\
    -X PUT \\
    -d '{"paymentRequest":{"from":{"account":{"apiStructType":"accountToken","accountToken":{"token":"WtRxYd3bmdtE0LlautVKVrEy_kXv_ShJkFeAtVS_gty3v4GLNO43AgivIw50Pw09"}}},"to":{"account":{"apiStructType":"accountToken","accountToken":{"token":"5zOUtdJ3TuXABcgQhsfvCbznrvZ-3CTgqmKQRt4KXegPsNWip2uv0-dkdBOFgErf"}}},"method":{"apiStructType":"transfer","transfer":{"amount":"500.00","statementReference":"Linked accounts","remitterName":"Mr. Bean"}},"recurrence":{"apiStructType":"onceOff","onceOff":{"paymentDate":"2016-12-14"}}}}' \\
    https://hackathon.api.extnp.nab.com.au/v2/payment/{paymentId}?v=1
{
  "paymentRequest": {
    "from": {
      "account": {
        "apiStructType": "accountToken",
        "accountToken": {
          "token": "WtRxYd3bmdtE0LlautVKVrEy_kXv_ShJkFeAtVS_gty3v4GLNO43AgivIw50Pw09"
        }
      }
    },
    "to": {
      "account": {
        "apiStructType": "accountToken",
        "accountToken": {
          "token": "5zOUtdJ3TuXABcgQhsfvCbznrvZ-3CTgqmKQRt4KXegPsNWip2uv0-dkdBOFgErf"
        }
      }
    },
    "method": {
      "apiStructType": "transfer",
      "transfer": {
        "amount": "500.00",
        "statementReference": "Linked accounts",
        "remitterName": "Mr. Bean"
      }
    },
    "recurrence": {
      "apiStructType": "onceOff",
      "onceOff": {
        "paymentDate": "2016-12-14"
      }
    }
  }
}

Response

{
  "paymentResponse": {
    "paymentReference": "X123456",
    "paymentId": "123456789",
    "status": "Paid"
  },
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}
{
  "paymentResponse": {
    "paymentReference": "X123456",
    "paymentId": "123456789",
    "status": "Paid"
  },
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}

PUT https://hackathon.api.extnp.nab.com.au/v2/payment/{paymentId}?v=1

URL Parameters

NameValueDescription
paymentIdPayment idThe payment id

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Request

Schema

AttributeTypeMandatoryDescription
paymentRequest object(Payment Request) Yes Payment Request object

Payment Request

AttributeTypeMandatoryDescription
intent string No Values: validate, submit. The default value is submit.
from object(From) Yes From object
to object(To) Yes To object
method object(Method) Yes Method object
recurrence object(Recurrence) Yes Recurrence object

From

AttributeTypeMandatoryDescription
account object(Account) Yes Account object

Account

AttributeTypeMandatoryDescription
apiStructType string Yes Payment request type. Value: accountToken
accountToken object(Account Token) Yes Token object

Account Token

AttributeTypeMandatoryDescription
token string Yes Encrypted token

To

AttributeTypeMandatoryDescription
account object(Account) Yes Account object

Account

AttributeTypeMandatoryDescription
apiStructType string Yes Account type. Values: accountToken, accountApca, contactToken, contactDetailsToken, biller, beneficiary
accountToken object(Account Token) No accountToken object
accountApca object(Account Apca) No accountApca object
contactToken object(Contact Token) No Use CreateContact API to get the token corresponding to the contact. Only applicable for accountApca, biller or beneficiary contact. To pay to an alias use contactDetailsToken for an existing contact or payeeAlias for a pay anyone payeeAlias
contactDetailsToken object(Contact Details Token) No contactDetails object
biller object(Biller) No Biller object
beneficiary object(Beneficiary) No Beneficiary object

Account Token

AttributeTypeMandatoryDescription
token string Yes Encrypted token

Account Apca

AttributeTypeMandatoryDescription
bsb string Yes Bank, State, Branch number
accountNumber string Yes Account number
accountName string Yes Account name

Contact Token

AttributeTypeMandatoryDescription
token string Yes Encrypted token

Contact Details Token

AttributeTypeMandatoryDescription
token string Yes Encrypted token

Biller

AttributeTypeMandatoryDescription
code string Yes Biller code
name string Yes Biller name
crn string Yes BPAY customer reference number

Beneficiary

AttributeTypeMandatoryDescription
bankDetails object(Bank Detail) Yes bankDetails object
beneficiaryDetails object(Beneficiary Detail) Yes beneficiaryDetails object

Bank Detail

AttributeTypeMandatoryDescription
country string Yes Country
accountNumber string Yes Account number
apiStructType string Yes Bank Details
bankCode object(Bank Code) No Bank Code object
bankAddress object(Bank Address) No Bank address object
additionalBankCode object(Additional Bank Code) No Additional bank identification code (if applicable)

Bank Code

AttributeTypeMandatoryDescription
code string Yes Bank Identification Code

Bank Address

AttributeTypeMandatoryDescription
name string Yes Bank name
address string Yes Address

Additional Bank Code

AttributeTypeMandatoryDescription
apiStructType string Yes Bank code type. Values: sortCode, chipNumber, routingNumber
sortCode object(Sort Code) No sortCode object
chipNumber object(Chip Number) No chipNumber object
routingNumber object(Routing Number) No routingNumber object

Sort Code

AttributeTypeMandatoryDescription
code string Yes Additional Bank identification code

Chip Number

AttributeTypeMandatoryDescription
number string Yes Chip number

Routing Number

AttributeTypeMandatoryDescription
number string Yes Routing Number

Beneficiary Detail

AttributeTypeMandatoryDescription
name string Yes Beneficiary name
country string Yes Country
address string Yes Address
message string No Message to the beneficiary

Method

AttributeTypeMandatoryDescription
apiStructType string Yes Type of payment. Values: transfer, bill, international, transferRealtime
transfer object(Transfer) No Transfer object
bill object(Bill) No Bill object
international object(International) No International object
transferRealtime object(Transfer Realtime) No NPP Transfer object

Transfer

AttributeTypeMandatoryDescription
amount APIPositiveAmountString Yes Amount
statementReference APIBecsString Yes Text that will appear on payer’s & payee’s statement
remitterName string No Name of the remitter

Bill

AttributeTypeMandatoryDescription
amount APIPositiveAmountString Yes Amount

International

AttributeTypeMandatoryDescription
quoteToken string Yes ​​The encrypted quote details
statementReference APIBecsString Yes Text that will appear on payer’s & payee’s statement
feeChargeIndicator string No ​​Direction indicating where the overseas bank fee is charged. Values: FROM (Charge fees to my account), TO (Take fees from funds being sent)

Transfer Realtime

AttributeTypeMandatoryDescription
amount APIPositiveAmountString Yes Amount
statementReference APIBecsString Yes Text that will appear on payer’s & payee’s statement
detailedDescription string No The detailed description for the payment. Note: UTF-8 string that can contain international characters
remitterName string No Text that will appear on payee’s statement

Recurrence

AttributeTypeMandatoryDescription
apiStructType string Yes Recurrence type. Values: onceOff, periodic
onceOff object(Once Off) No onceOff object
periodic object(Periodic) No Periodic object

Once Off

AttributeTypeMandatoryDescription
paymentDate APIDateISOString Yes Payment date

Periodic

AttributeTypeMandatoryDescription
startDate APIDateISOString Yes Start date
recurringFrequency string Yes Frequency. Values: WEEKLY, FORTNIGHTLY, MONTHLY, QUARTERLY
apiStructType string Yes Duration type. Values: forever, until, occurrences
forever object(Forever) No Duration - Forever
until object(Until) No Duration - Until
occurrences object(Occurrence) No Duration - Count

Forever

AttributeTypeMandatoryDescription
enabled boolean Yes Forever duration enabled

Until

AttributeTypeMandatoryDescription
endDate APIDateISOString Yes End date

Occurrence

AttributeTypeMandatoryDescription
count APIPositiveInteger Yes Number of occurrences

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
paymentResponse object(Payment Response) Yes Payment response object

Payment Response

AttributeTypeMandatoryDescription
paymentReference string No If the payment status is ‘Not submitted’ then paymentReference will not be present. If the intent in the request is 'validate’ then the payment is validated but not submitted.
paymentId string No Payment identifier
status string Yes Payment status. Values: Future dated, Periodic, Paid, Rejected, Pending approval, Canceled, Processing, Expired, Approval Expired
transferRealtimePaymentType string No Indicates the type of payment applicable for transferRealtime payment. Values: X2P service 1​, SCT.
Will be present only if the payment requested was transferRealtime and if the payment can be validated as eligible for transferRealtime

Delete Payment

Request

curl \\
    -X DELETE \\
    https://hackathon.api.extnp.nab.com.au/v2/payment/{paymentId}?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}

DELETE https://hackathon.api.extnp.nab.com.au/v2/payment/{paymentId}?v=1

URL Parameters

NameValueDescription
paymentIdPayment IdPayment Identifier

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status

Get List of Payments

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/payments?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "paymentsResponse": {
    "totalRecords": 1,
    "payments": [
      {
        "from": {
          "account": {
            "apiStructType": "accountApca",
            "accountApca": {
              "bsb": "013003",
              "accountNumber": "123456789",
              "accountName": "transactions account"
            }
          }
        },
        "to": {
          "account": {
            "apiStructType": "accountApca",
            "accountApca": {
              "bsb": "013003",
              "accountNumber": "456789123",
              "accountName": "savings account"
            }
          }
        },
        "method": {
          "apiStructType": "transfer",
          "transfer": {
            "amount": "500.00",
            "statementReference": "Pay mr bean"
          }
        },
        "recurrence": {
          "apiStructType": "onceOff",
          "onceOff": {
            "paymentDate": "2015-04-12"
          }
        },
        "paymentId": "2345",
        "status": "Paid"
      }
    ]
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "paymentsResponse": {
    "totalRecords": 1,
    "payments": [
      {
        "from": {
          "account": {
            "apiStructType": "accountApca",
            "accountApca": {
              "bsb": "013003",
              "accountNumber": "123456789",
              "accountName": "transactions account"
            }
          }
        },
        "to": {
          "account": {
            "apiStructType": "accountApca",
            "accountApca": {
              "bsb": "013003",
              "accountNumber": "456789123",
              "accountName": "savings account"
            }
          }
        },
        "method": {
          "apiStructType": "transfer",
          "transfer": {
            "amount": "500.00",
            "statementReference": "Pay mr bean"
          }
        },
        "recurrence": {
          "apiStructType": "onceOff",
          "onceOff": {
            "paymentDate": "2015-04-12"
          }
        },
        "paymentId": "2345",
        "status": "Paid"
      }
    ]
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/payments?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1
paymentMethod The payment method No transfer, bill, international, transferRealtime, redraw
startIndex Specify the row number of the first record from the full result list to return. No
endIndex Specify the row number of the last record from the full result list to return No
startDate The starting date for the range of date for transactions to be returned No
endDate The ending date for the range of date for transactions to be returned No
greaterThanAmount Return transactions greater than the amount specified No
lessThanAmount Return transactions less than the amount specified No
paymentStatus Status of payment. Default to ’_’ if not supplied. No Future dated, Periodic, Paid, Rejected, Pending approval, Canceled, Processing, Expired, Approval Expired
description Payment description No

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
paymentsResponse object(Payments Response) No Payments response object

Payments Response

AttributeTypeMandatoryDescription
totalRecords APIPositiveInteger Yes Total number of records to return
payments array[object(Payment)] No Array of payment objects

Payment

AttributeTypeMandatoryDescription
paymentId string Yes Payment Identifier
status string Yes Status of the payment
availableActions object(Available Action) No Actions available on the payment
from object(From) Yes From object
to object(To) Yes To object
method object(Method) Yes Method object
recurrence object(Recurrence) Yes Recurrence object

Available Action

AttributeTypeMandatoryDescription
modify boolean No Modify action
view boolean No View action
cancel boolean No Cancel action
approve boolean No Approve action
decline boolean No Decline action
resubmit boolean No Resubmit action

From

AttributeTypeMandatoryDescription
account object(Account) Yes Account object

Account

AttributeTypeMandatoryDescription
apiStructType string Yes Account types. Values: accountApca, cardAccount
accountApca object(Account Apca) No accountApca object
cardAccount object(Card Account) No cardAccount object

Account Apca

AttributeTypeMandatoryDescription
bsb string Yes Bank, State, Branch number
accountNumber string Yes Account number
accountName string Yes Account name

Card Account

AttributeTypeMandatoryDescription
cardNumber string Yes Card number
cardName string Yes Name on card

To

AttributeTypeMandatoryDescription
account object(Account) Yes Account object

Account

AttributeTypeMandatoryDescription
apiStructType string Yes Account type. Values: accountApca, cardAccount, biller, beneficiary, payeeAlias
accountApca object(Account Apca) No accountApca object
cardAccount object(Card Account) No cardAccount object
biller object(Biller) No Biller object
beneficiary object(Beneficiary) No beneficiary object
payeeAlias object(Payee Alias) No payeeAlias object

Account Apca

AttributeTypeMandatoryDescription
bsb string Yes Bank, State, Branch number
accountNumber string Yes Account number
accountName string Yes Account name

Card Account

AttributeTypeMandatoryDescription
cardNumber string Yes Card number
cardName string Yes Name on Card

Biller

AttributeTypeMandatoryDescription
code string Yes Biller code
name string Yes Biller name
crn string Yes BPAY customer reference number

Beneficiary

AttributeTypeMandatoryDescription
bankDetails object(Bank Detail) Yes bankDetails object
beneficiaryDetails object(Beneficiary Detail) Yes Beneficiary details object

Bank Detail

AttributeTypeMandatoryDescription
country string Yes Country
accountNumber string Yes Account number

Beneficiary Detail

AttributeTypeMandatoryDescription
name string Yes Beneficiary name
country string Yes Country

Payee Alias

AttributeTypeMandatoryDescription
aliasType string Yes Alias Type. Values: phone, email, businessNumber, businessName
aliasValue string Yes Alias value. E.g. for aliasType of email, this would be the email address.
aliasShortname string Yes Short name for the alias

Method

AttributeTypeMandatoryDescription
apiStructType string Yes Type of payment. Values: transfer, bill, international, transferRealtime, redraw
transfer object(Transfer) No Transfer object
bill object(Bill) No Bill object
international object(International) No
transferRealtime object(Transfer Realtime) No NPP transfer object
redraw object(Redraw) No Redraw object

Transfer

AttributeTypeMandatoryDescription
amount APIPositiveAmountString Yes Amount
statementReference APIBecsString Yes Text that will appear on payer’s & payee’s statement

Bill

AttributeTypeMandatoryDescription
amount APIPositiveAmountString Yes Amount

International

AttributeTypeMandatoryDescription
currency APICurrencyString Yes Currency amount
creditAmount APICurrencyPositiveAmountString No Credit amount
debitAmount APICurrencyPositiveAmountString No Debit amount
fxRate APIRateString No Foreign Exchange (FX) rate
statementReference APIBecsString Yes Text that will appear on payer’s & payee’s statement

Transfer Realtime

AttributeTypeMandatoryDescription
paymentType string Yes Possible values are X2P service 1 or SCT
amount APIPositiveAmountString Yes Transfer amount
statementReference APIBecsString Yes Text that will appear on payer’s & payee’s statement
detailedDescription string No The detailed description for the payment. Note: UTF-8 string that can contain international characters
remitterName string No Text that will appear on payee’s statement

Redraw

AttributeTypeMandatoryDescription
amount APIPositiveAmountString Yes The amount requested during the redraw payment
statementReference APIBecsString No Text that will appear on payer’s & payee’s statement

Recurrence

AttributeTypeMandatoryDescription
apiStructType string Yes Payment frequency. Values: onceOff, periodic
onceOff object(Once Off) No onceOff object
periodic object(Periodic) No Periodic object

Once Off

AttributeTypeMandatoryDescription
paymentDate APIDateISOString Yes Payment date

Periodic

AttributeTypeMandatoryDescription
startDate APIDateISOString Yes Start date
nextDate APIDateISOString Yes Date of next payment
recurringFrequency string Yes Frequency. Values: WEEKLY, FORTNIGHTLY, MONTHLY, QUARTERLY
apiStructType string Yes Duration type. Values: forever, until, occurrences
forever object(Forever) No Duration - Forever
until object(Until) No Duration - Until
occurrences object(Occurrence) No Duration - Count

Forever

AttributeTypeMandatoryDescription
enabled boolean Yes Forever duration enabled

Until

AttributeTypeMandatoryDescription
endDate APIDateISOString Yes End date

Occurrence

AttributeTypeMandatoryDescription
count APIPositiveInteger Yes Number of occurrences

Create Payment Contact

Request

curl \\
    -X POST \\
    -d '{"contactRequest":{"nickname":"nickname","apiStructType":"payee","payee":{"apiStructType":"accountApca","accountApca":{"accountName":"Debit","bsb":"824502","accountNumber":"900347549347"},"statementReference":" ","remitterName":"abcd","payeeType":" "}}}' \\
    https://hackathon.api.extnp.nab.com.au/v2/paymentContact?v=1
{
  "contactRequest": {
    "nickname": "nickname",
    "apiStructType": "payee",
    "payee": {
      "apiStructType": "accountApca",
      "accountApca": {
        "accountName": "Debit",
        "bsb": "824502",
        "accountNumber": "900347549347"
      },
      "statementReference": " ",
      "remitterName": "abcd",
      "payeeType": " "
    }
  }
}

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}

POST https://hackathon.api.extnp.nab.com.au/v2/paymentContact?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Request

Schema

AttributeTypeMandatoryDescription
contactRequest object(Contact Request) Yes

Contact Request

AttributeTypeMandatoryDescription
nickname string Yes Name as entered by the user
apiStructType string Yes Type
payee object(Payee) No
biller object(Biller) No
beneficiary object(Beneficiary) No

Payee

AttributeTypeMandatoryDescription
apiStructType string Yes Type
accountApca object(Account Apca) No Bank account
statementReference string No Text that will appear on payer’s & payee’s statement
remitterName string No Name of the remitter
payeeType string No

Account Apca

AttributeTypeMandatoryDescription
accountName string Yes Account name
bsb string Yes Bank, State, Branch number
accountNumber string Yes Account number

Biller

AttributeTypeMandatoryDescription
billerCode string Yes BPAY biller code
crn string No BPAY customer reference number
billerName string Yes BPAY biller name

Beneficiary

AttributeTypeMandatoryDescription
bankDetails object(Bank Detail) Yes
beneficiaryDetails object(Beneficiary Detail) Yes
statementReference string No Text that will appear on payer’s & payee’s statement

Bank Detail

AttributeTypeMandatoryDescription
country string Yes Country
accountNumber string Yes Account number
apiStructType string Yes Type
bankCode object(Bank Code) No
bankAddress object(Bank Address) No
additionalBankCode object(Additional Bank Code) No

Bank Code

AttributeTypeMandatoryDescription
code string Yes Response status code

Bank Address

AttributeTypeMandatoryDescription
name string Yes
address string Yes Address

Additional Bank Code

AttributeTypeMandatoryDescription
apiStructType string Yes Type
sortCode object(Sort Code) No
chipNumber object(Chip Number) No
routingNumber object(Routing Number) No

Sort Code

AttributeTypeMandatoryDescription
code string Yes Response status code

Chip Number

AttributeTypeMandatoryDescription
number string Yes

Routing Number

AttributeTypeMandatoryDescription
number string Yes

Beneficiary Detail

AttributeTypeMandatoryDescription
name string Yes
country string Yes Country
address string Yes Address
message string No Response status message

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
contactResponse object(Contact Response) Yes

Contact Response

AttributeTypeMandatoryDescription
contactToken string Yes

Get List of Payment Contacts

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/paymentContacts?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "contactsResponse": {
    "totalRecords": 3,
    "contacts": [
      {
        "nickname": "payee1",
        "apiStructType": "payee",
        "payee": {
          "apiStructType": "accountApca",
          "accountApca": {
            "accountName": "accountName",
            "bsb": "bsb",
            "accountNumber": "accountNumber"
          }
        },
        "contactToken": "hQPmuQ2YVUJclUvr4KLeMIUQF4h-mQvA41zkdrxJpaM"
      },
      {
        "nickname": "biller1",
        "apiStructType": "biller",
        "biller": {
          "billerCode": "billerCode",
          "crn": "crn",
          "billerName": "billerName"
        },
        "contactToken": "O_D0ozBJ38WVormJiB3azNz4oqLe2QrBzLdZtdmlSag"
      },
      {
        "nickname": "biller1",
        "apiStructType": "beneficiary",
        "beneficiary": {
          "bankDetails": {
            "country": "India",
            "accountNumber": "0042343243242"
          },
          "beneficiaryDetails": {
            "name": "TempUser",
            "country": "India"
          }
        },
        "contactToken": "O3R_t6l5QOTZbvKUkRdoqH9LMD22tFzB31_qo6ip5Kk"
      }
    ]
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "contactsResponse": {
    "totalRecords": 3,
    "contacts": [
      {
        "nickname": "payee1",
        "apiStructType": "payee",
        "payee": {
          "apiStructType": "accountApca",
          "accountApca": {
            "accountName": "accountName",
            "bsb": "bsb",
            "accountNumber": "accountNumber"
          }
        },
        "contactToken": "hQPmuQ2YVUJclUvr4KLeMIUQF4h-mQvA41zkdrxJpaM"
      },
      {
        "nickname": "biller1",
        "apiStructType": "biller",
        "biller": {
          "billerCode": "billerCode",
          "crn": "crn",
          "billerName": "billerName"
        },
        "contactToken": "O_D0ozBJ38WVormJiB3azNz4oqLe2QrBzLdZtdmlSag"
      },
      {
        "nickname": "biller1",
        "apiStructType": "beneficiary",
        "beneficiary": {
          "bankDetails": {
            "country": "India",
            "accountNumber": "0042343243242"
          },
          "beneficiaryDetails": {
            "name": "TempUser",
            "country": "India"
          }
        },
        "contactToken": "O3R_t6l5QOTZbvKUkRdoqH9LMD22tFzB31_qo6ip5Kk"
      }
    ]
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/paymentContacts?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1
type The type of payment contacts to return No payee, biller, beneficiary
startIndex Specify the row number of the first record from the full result list to return. No
endIndex Specify the row number of the last record from the full result list to return No

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
contactsResponse object(Contacts Response) No

Contacts Response

AttributeTypeMandatoryDescription
totalRecords APIPositiveInteger Yes
contacts array[object(Contact)] No

Contact

AttributeTypeMandatoryDescription
contactToken string Yes
nickname string Yes Name as entered by the user
apiStructType string Yes Type
payee object(Payee) No
biller object(Biller) No
beneficiary object(Beneficiary) No

Payee

AttributeTypeMandatoryDescription
apiStructType string Yes Type
accountApca object(Account Apca) No Bank account

Account Apca

AttributeTypeMandatoryDescription
accountName string Yes Account name
bsb string Yes Bank, State, Branch number
accountNumber string Yes Account number

Biller

AttributeTypeMandatoryDescription
billerCode string Yes BPAY biller code
crn string No BPAY customer reference number
billerName string Yes BPAY biller name

Beneficiary

AttributeTypeMandatoryDescription
bankDetails object(Bank Detail) Yes
beneficiaryDetails object(Beneficiary Detail) Yes

Bank Detail

AttributeTypeMandatoryDescription
country string Yes Country
accountNumber string Yes Account number

Beneficiary Detail

AttributeTypeMandatoryDescription
name string Yes
country string Yes Country

Get Payment Contact Details

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/paymentContact/{contactToken}?v=1

Response

{
  "contactResponse": {
    "nickname": "payee1",
    "apiStructType": "payee",
    "payee": {
      "apiStructType": "accountApca",
      "accountApca": {
        "accountName": "test",
        "bsb": "08321",
        "accountNumber": "123456789"
      }
    }
  },
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}
{
  "contactResponse": {
    "nickname": "payee1",
    "apiStructType": "payee",
    "payee": {
      "apiStructType": "accountApca",
      "accountApca": {
        "accountName": "test",
        "bsb": "08321",
        "accountNumber": "123456789"
      }
    }
  },
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/paymentContact/{contactToken}?v=1

URL Parameters

NameValueDescription
contactTokenPayment Contact TokenThe payment contact token retrieved from Get List of Payment Contacts

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
contactResponse object(Contact Response) No

Contact Response

AttributeTypeMandatoryDescription
nickname string Yes Name as entered by the user
apiStructType string Yes Type
payee object(Payee) No
biller object(Biller) No
beneficiary object(Beneficiary) No

Payee

AttributeTypeMandatoryDescription
apiStructType string Yes Type
accountApca object(Account Apca) No Bank account
statementReference string No Text that will appear on payer’s & payee’s statement
remitterName string No Name of the remitter
payeeType string No

Account Apca

AttributeTypeMandatoryDescription
accountName string Yes Account name
bsb string Yes Bank, State, Branch number
accountNumber string Yes Account number

Biller

AttributeTypeMandatoryDescription
billerCode string Yes BPAY biller code
crn string No BPAY customer reference number
billerName string Yes BPAY biller name

Beneficiary

AttributeTypeMandatoryDescription
bankDetails object(Bank Detail) Yes
beneficiaryDetails object(Beneficiary Detail) Yes
statementReference string No Text that will appear on payer’s & payee’s statement

Bank Detail

AttributeTypeMandatoryDescription
country string Yes Country
accountNumber string Yes Account number
apiStructType string Yes Type
bankCode object(Bank Code) No
bankAddress object(Bank Address) No
additionalBankCode object(Additional Bank Code) No

Bank Code

AttributeTypeMandatoryDescription
code string Yes Response status code

Bank Address

AttributeTypeMandatoryDescription
name string Yes
address string Yes Address

Additional Bank Code

AttributeTypeMandatoryDescription
apiStructType string Yes Type
sortCode object(Sort Code) No
chipNumber object(Chip Number) No
routingNumber object(Routing Number) No

Sort Code

AttributeTypeMandatoryDescription
code string Yes Response status code

Chip Number

AttributeTypeMandatoryDescription
number string Yes

Routing Number

AttributeTypeMandatoryDescription
number string Yes

Beneficiary Detail

AttributeTypeMandatoryDescription
name string Yes
country string Yes Country
address string Yes Address
message string No Response status message

Search for Billers

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/billers?v=1

Response

GET https://hackathon.api.extnp.nab.com.au/v2/billers?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1
searchCriteria Search Criteria Yes billerCode, billerName
searchString Search String Yes
startIndex Specify the row number of the first record from the full result list to return. No
endIndex Specify the row number of the last record from the full result list to return No

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
billersResponse object(Billers Response) No

Billers Response

AttributeTypeMandatoryDescription
totalRecords APIPositiveInteger Yes
billers array[object(Biller)] No

Biller

AttributeTypeMandatoryDescription
billerCode string Yes BPAY biller code
billerName string Yes BPAY biller name
billerDescription string No Biller Description
billerMinLimit APIPositiveAmountString No Minimum supported payment amount
billerMaxLimit APIPositiveAmountString No Maximum supported payment amount
allowFromCreditCard boolean No Flag to indicate if payment is permitted from credit cards
allowFromChequeAccount boolean No Flag to indicate if payment is permitted from chequing accounts
allowFromCash boolean No Flag to indicate if payment is permitted in cash
billerStatus string No
billerValidFrom APIDateTimeUTCString No Date of registration of the biller code
billerValidUntil APIDateTimeUTCString No Date of expiry of the biller code
isStandardBiller boolean Yes Flag to indicate whether the biller is a standard biller

Get Bank Info

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/bank/{bsbNumber}?v=1

Response

GET https://hackathon.api.extnp.nab.com.au/v2/bank/{bsbNumber}?v=1

URL Parameters

NameValueDescription
bsbNumberBank BSB NumberBank BSB Number

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
bankResponse object(Bank Response) No

Bank Response

AttributeTypeMandatoryDescription
abbreviation string Yes The abbrievated name of the bank
name string Yes The name of the bank

Customer

Customer’s Profile and Location

Customer Verification

A series of APIs for verifying customer’s identity as mandated by ‘Know Your Customer (KYC)’ regulations

All Customer API’s needs the Authorization Token to be passed in the HTTP Header

Reference

Get Customer Profile

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/customer/profile?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "customerDetailsResponse": {
    "apiStructType": "person",
    "person": {
      "firstName": "ÀÈÌÒÙ",
      "lastName": "Xavier",
      "prefixTitle": "Dr.",
      "shortFirstName": "Xav",
      "middleNames": "S",
      "otherName": "Leon",
      "suffixTitle": "Jr",
      "preferredName": "Leo",
      "nabEmployeeType": "Contract",
      "dateOfBirth": "1978-01-25",
      "gender": "Female",
      "maritalStatus": "Married"
    },
    "phone": {
      "id": "0345673444",
      "idType": "home",
      "doNotDisturb": {
        "dndStart": "0700",
        "dndEnd": "1800"
      }
    },
    "mobile": {
      "id": "0416585432",
      "idType": "mobile",
      "doNotDisturb": {
        "dndStart": "0700",
        "dndEnd": "1800"
      }
    },
    "email": {
      "id": "leo@test.com",
      "idType": "work"
    },
    "physicalAddress": {
      "addressType": "physicalAddress",
      "line1": "800 Bourke Street",
      "line2": "Street 1",
      "city": "Docklands",
      "state": "Victoria",
      "postCode": "3008",
      "country": "Australia"
    },
    "postalAddress": {
      "addressType": "postalAddress",
      "line1": "55 Collins Street",
      "city": "Docklands",
      "state": "Victoria",
      "postCode": "3008",
      "country": "Australia"
    },
    "customerType": "Person",
    "bankerDetails": {
      "code": "B445",
      "name": "John Doe",
      "phone": "02987645934",
      "mobile": "041645679999",
      "fax": "0412345698"
    },
    "customerStatus": "Active",
    "marketSegment": "Market Segment",
    "industryCode": "4321",
    "industryDescription": "addressBrief",
    "preferredContactType": "phone",
    "contacts": [

    ]
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "customerDetailsResponse": {
    "apiStructType": "person",
    "person": {
      "firstName": "ÀÈÌÒÙ",
      "lastName": "Xavier",
      "prefixTitle": "Dr.",
      "shortFirstName": "Xav",
      "middleNames": "S",
      "otherName": "Leon",
      "suffixTitle": "Jr",
      "preferredName": "Leo",
      "nabEmployeeType": "Contract",
      "dateOfBirth": "1978-01-25",
      "gender": "Female",
      "maritalStatus": "Married"
    },
    "phone": {
      "id": "0345673444",
      "idType": "home",
      "doNotDisturb": {
        "dndStart": "0700",
        "dndEnd": "1800"
      }
    },
    "mobile": {
      "id": "0416585432",
      "idType": "mobile",
      "doNotDisturb": {
        "dndStart": "0700",
        "dndEnd": "1800"
      }
    },
    "email": {
      "id": "leo@test.com",
      "idType": "work"
    },
    "physicalAddress": {
      "addressType": "physicalAddress",
      "line1": "800 Bourke Street",
      "line2": "Street 1",
      "city": "Docklands",
      "state": "Victoria",
      "postCode": "3008",
      "country": "Australia"
    },
    "postalAddress": {
      "addressType": "postalAddress",
      "line1": "55 Collins Street",
      "city": "Docklands",
      "state": "Victoria",
      "postCode": "3008",
      "country": "Australia"
    },
    "customerType": "Person",
    "bankerDetails": {
      "code": "B445",
      "name": "John Doe",
      "phone": "02987645934",
      "mobile": "041645679999",
      "fax": "0412345698"
    },
    "customerStatus": "Active",
    "marketSegment": "Market Segment",
    "industryCode": "4321",
    "industryDescription": "addressBrief",
    "preferredContactType": "phone",
    "contacts": [

    ]
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/customer/profile?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
customerDetailsResponse object(Customer Details Response) No

Customer Details Response

AttributeTypeMandatoryDescription
apiStructType string Yes Type
phone object(Phone) No Phone Number
mobile object(Phone) No Mobile Phone Number
email object(Email) No Email Address
physicalAddress object(Address Summary) No Physical Address
postalAddress object(Address Summary) No Postal Address
customerType string No
bankerDetails object(Banker Detail) No Banker Details
customerStatus string No Customer Status
marketSegment string No Market Segment
industryCode string No Industry Code
industryDescription string No Industry Description
preferredContactType string No
contacts array[object(Contact)] No
person object(Person) No
organisation object(Organisation) No

Banker Detail

AttributeTypeMandatoryDescription
code string No Response status code
name string No
phone string No Phone Number
mobile string No Mobile Phone Number
fax string No Fax Number

Contact

AttributeTypeMandatoryDescription
apiStructType string No Type
addressBrief object(Address Summary) No
phone object(Phone) No Phone Number
email object(Email) No Email Address
facebook object(Social Media) No
twitter object(Social Media) No
skype object(Social Media) No
receiveMarketingInfo boolean No
preferredMethodOfCommunication boolean No

Person

AttributeTypeMandatoryDescription
firstName string Yes
lastName string Yes
prefixTitle string No
shortFirstName string No
middleNames string No
otherName string No
suffixTitle string No
preferredName string No
nabEmployeeType string No
dateOfBirth APIDateISOString No
maritalStatus string No

Organisation

AttributeTypeMandatoryDescription
legalName string Yes
shortName string No
abn string No

Do Not Disturb

AttributeTypeMandatoryDescription
dndStart APITimeString Yes
dndEnd APITimeString Yes

Address Summary

AttributeTypeMandatoryDescription
addressType string Yes
line1 string Yes
line2 string No
city string Yes
state string No
postCode string No
country string Yes

Address

AttributeTypeMandatoryDescription
allotment string No
allPostalDeliveryTypesNumber string No
allPostalDeliveryTypesType string No
buildingLevelNumber string No
buildingName string No
buildingNumber string No
country string No
flatUnitNumber string No
flatUnitType string No
suburb string No
postcode string No
stateCode string No
streetName string No
streetNumber string No
streetType string No
streetTypeSuffix string No
subBuildingNumber string No

Email

AttributeTypeMandatoryDescription
id APIEmailString Yes
idType string Yes

Social Media

AttributeTypeMandatoryDescription
id string Yes

Business Number

AttributeTypeMandatoryDescription
number string Yes
numberType string No

Phone

AttributeTypeMandatoryDescription
id string Yes
idType string Yes
doNotDisturb object(Do Not Disturb) No

Get Customer’s Location

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/customer/location?v=1

Response

GET https://hackathon.api.extnp.nab.com.au/v2/customer/location?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
customerLocation object(Customer Location) Yes The location of the customer

Customer Location

AttributeTypeMandatoryDescription
lat number Yes Latitiude
lng number Yes Logitude

Update Customer’s Location

Request

curl \\
    -X PUT \\
    https://hackathon.api.extnp.nab.com.au/v2/customer/location?v=1

Response

PUT https://hackathon.api.extnp.nab.com.au/v2/customer/location?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Request

Schema

AttributeTypeMandatoryDescription
customerLocation object(Customer Location) Yes The location of the customer

Customer Location

AttributeTypeMandatoryDescription
lat number Yes Latitiude
lng number Yes Logitude

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status

Get Customer Verification Source List

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/customer/verification/source?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "kyc": {
    "activeSources": [
      "Passport",
      "Drivers Licence"
    ]
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "kyc": {
    "activeSources": [
      "Passport",
      "Drivers Licence"
    ]
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/customer/verification/source?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status status Yes Response status
kyc object(Kyc) Yes kyc object

Kyc

AttributeTypeMandatoryDescription
activeSources array[string] No Array of strings, containing sources. Values are: Drivers Licence, Passport

Get Customer Verification Source Fields List

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/customer/verification/source/{sourceName}/fields?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "activeSourceDetails": [
    {
      "fieldAttribute": "visavalidation required",
      "fieldName": "visa_number",
      "fieldValue": "",
      "fieldLabel": "Passport Number",
      "fieldType": "TEXT"
    },
    {
      "fieldAttribute": "namevalidation required",
      "fieldName": "visa_surname",
      "fieldValue": "Doe",
      "fieldLabel": "Family name",
      "fieldType": "TEXT"
    },
    {
      "fieldAttribute": "namevalidation required",
      "fieldName": "visa_givenname",
      "fieldValue": "Jane",
      "fieldLabel": "Given name",
      "fieldType": "TEXT"
    },
    {
      "fieldAttribute": "visanumbervalidation required",
      "fieldName": "visa_dob",
      "fieldValue": "07/08/1981",
      "fieldLabel": "Date of Birth",
      "fieldType": "TEXT"
    }
  ]
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "activeSourceDetails": [
    {
      "fieldAttribute": "visavalidation required",
      "fieldName": "visa_number",
      "fieldValue": "",
      "fieldLabel": "Passport Number",
      "fieldType": "TEXT"
    },
    {
      "fieldAttribute": "namevalidation required",
      "fieldName": "visa_surname",
      "fieldValue": "Doe",
      "fieldLabel": "Family name",
      "fieldType": "TEXT"
    },
    {
      "fieldAttribute": "namevalidation required",
      "fieldName": "visa_givenname",
      "fieldValue": "Jane",
      "fieldLabel": "Given name",
      "fieldType": "TEXT"
    },
    {
      "fieldAttribute": "visanumbervalidation required",
      "fieldName": "visa_dob",
      "fieldValue": "07/08/1981",
      "fieldLabel": "Date of Birth",
      "fieldType": "TEXT"
    }
  ]
}

GET https://hackathon.api.extnp.nab.com.au/v2/customer/verification/source/{sourceName}/fields?v=1

URL Parameters

NameValueDescription
sourceNameTravel Notification Source NameThe name of the customer verification source

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status status Yes Response status
activeSourceDetails array[object(Active Source Detail)] Yes The response array of objects containing the active source fields

Active Source Detail

AttributeTypeMandatoryDescription
fieldAttribute string No Additional attributes about the field. Including ‘mandatory’ indicator
fieldName string Yes Input name
fieldValue string No Current field value/pre-populated data value
fieldLabel string Yes Field label to display
fieldType string Yes Type of field. Values: TEXT, CHECKBOX (checked value for this type of field is to be set 'on’), SELECT
selectionValues array[object(Selection Value)] No List Of Values (LOV) Array. Returned for fieldType=SELECT

Selection Value

AttributeTypeMandatoryDescription
selectionLabel string Yes Value’s label to display. If 'selectionValue’ is not specified, then this selection item is an informational item (e.g. 'Please select…’).
selectionValue string No Value’s actual value. If this value is not specified for the corresponding 'selectionLabel’ then this selection item is an informational item (e.g. 'Please select…’).

Update Customer’s Verification Details

Request

curl \\
    -X PUT \\
    -d '{"updateKycDetails":{"activeSource":"Passport","fields":[{"field":"passportNumber","value":"2352354"},{"field":"passportName","value":"Joe Bloggs"}]}}' \\
    https://hackathon.api.extnp.nab.com.au/v2/v2/customer/verification?v=1
{
  "updateKycDetails": {
    "activeSource": "Passport",
    "fields": [
      {
        "field": "passportNumber",
        "value": "2352354"
      },
      {
        "field": "passportName",
        "value": "Joe Bloggs"
      }
    ]
  }
}

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "updateKycDetailsResponse": {
    "activeSources": [
      "Passport",
      "Drivers Licence"
    ],
    "kycVerified": "UNCONFIRMED"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "updateKycDetailsResponse": {
    "activeSources": [
      "Passport",
      "Drivers Licence"
    ],
    "kycVerified": "UNCONFIRMED"
  }
}

PUT https://hackathon.api.extnp.nab.com.au/v2/v2/customer/verification?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Request

Schema

AttributeTypeMandatoryDescription
updateKycDetails object(Update Kyc Detail) Yes The request object containing the active source details.

Update Kyc Detail

AttributeTypeMandatoryDescription
activeSource string Yes The KYC source type the customer is using to verify their identity. Values are: Drivers Licence, Passport
fields array[object(Field)] Yes Holds the fields for the chosen KYC source

Field

AttributeTypeMandatoryDescription
field string No Field name for the KYC source
value string No Field value for the KYC source

Response

Schema

AttributeTypeMandatoryDescription
status status Yes Response status
updateKycDetailsResponse object(Update Kyc Details Response) Yes updateKycDetails Response object

Update Kyc Details Response

AttributeTypeMandatoryDescription
kycVerified string Yes Indicates whether the individual has passed identity verification check. Possible values are: CONFIRMED, UNCONFIRMED
activeSources array[string] No Array of strings, containing sources

Get Customer’s Verification Status

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/customer/verification/status?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "kycStatusResponse": {
    "kycVerified": "CONFIRMED",
    "hasElectronicVerificationConsent": true,
    "isActiveVerificationAllowed": true
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "kycStatusResponse": {
    "kycVerified": "CONFIRMED",
    "hasElectronicVerificationConsent": true,
    "isActiveVerificationAllowed": true
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/customer/verification/status?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status status Yes Response status
kycStatusResponse object(Kyc Status Response) Yes kycStatus response object

Kyc Status Response

AttributeTypeMandatoryDescription
kycVerified string Yes Indicates whether the individual has passed identity verification check. Possible values are: CONFIRMED, UNCONFIRMED
hasElectronicVerificationConsent boolean No Indicates if the customer has given their consent for electronic verification.
isActiveVerificationAllowed boolean No Indicates whether an active check is to be offered. If flagged to false the customer is forced onto manual verification

Travel

All Travel API’s needs the Authorization Token to be passed in the HTTP Header

Reference

Create Travel Itinerary

Request

curl \\
    -X POST \\
    -d '{"createTravelNotificationRequest":{"contactNumber":"0411000111","emailAddress":"test@gmail.com","largeExpenses":true,"useAtmFrequently":false,"comments":"Once in a lifetime trip.","countries":[{"countryCode":"AUS"},{"countryCode":"USA"}],"fromDate":"2016-07-27","toDate":"2016-10-27"}}' \\
    https://hackathon.api.extnp.nab.com.au/v2/customer/travel/itinerary?v=1
{
  "createTravelNotificationRequest": {
    "contactNumber": "0411000111",
    "emailAddress": "test@gmail.com",
    "largeExpenses": true,
    "useAtmFrequently": false,
    "comments": "Once in a lifetime trip.",
    "countries": [
      {
        "countryCode": "AUS"
      },
      {
        "countryCode": "USA"
      }
    ],
    "fromDate": "2016-07-27",
    "toDate": "2016-10-27"
  }
}

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "createTravelNotificationResponse": {
    "itineraryId": "000123"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "createTravelNotificationResponse": {
    "itineraryId": "000123"
  }
}

POST https://hackathon.api.extnp.nab.com.au/v2/customer/travel/itinerary?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Request

Schema

AttributeTypeMandatoryDescription
createTravelNotificationRequest object(Create Travel Notification Request) Yes

Create Travel Notification Request

AttributeTypeMandatoryDescription
contactNumber string No Contact phone number
emailAddress APIEmailString No Contact email address
largeExpenses boolean Yes Flag large expense
useAtmFrequently boolean Yes Flag ATM withdrawals
comments string No Comments
countries array[object(Country)] Yes Visiting countries
fromDate APIDateISOString Yes Date of departure
toDate APIDateISOString Yes Date of return

Country

AttributeTypeMandatoryDescription
countryCode string Yes 3 character country code

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
createTravelNotificationResponse object(Create Travel Notification Response) Yes

Create Travel Notification Response

AttributeTypeMandatoryDescription
itineraryId string Yes Travel Notification Id

Update Travel Itinerary

Request

curl \\
    -X PUT \\
    -d '{"updateTravelNotificationRequest":{"contactNumber":"0411000111","emailAddress":"test@gmail.com","largeExpenses":true,"useAtmFrequently":false,"comments":"Once in a lifetime trip.","countries":[{"countryCode":"AUS"},{"countryCode":"USA"}],"fromDate":"2016-07-27","toDate":"2016-10-27"}}' \\
    https://hackathon.api.extnp.nab.com.au/v2/customer/travel/itinerary/{itineraryId}?v=1
{
  "updateTravelNotificationRequest": {
    "contactNumber": "0411000111",
    "emailAddress": "test@gmail.com",
    "largeExpenses": true,
    "useAtmFrequently": false,
    "comments": "Once in a lifetime trip.",
    "countries": [
      {
        "countryCode": "AUS"
      },
      {
        "countryCode": "USA"
      }
    ],
    "fromDate": "2016-07-27",
    "toDate": "2016-10-27"
  }
}

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}

PUT https://hackathon.api.extnp.nab.com.au/v2/customer/travel/itinerary/{itineraryId}?v=1

URL Parameters

NameValueDescription
itineraryIdTravel Itinerary IdThe id of the itinerary to be updated

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Request

Schema

AttributeTypeMandatoryDescription
updateTravelNotificationRequest object(Travel Notification) Yes

Travel Notification

AttributeTypeMandatoryDescription
contactNumber string No Contact phone number
emailAddress APIEmailString No Contact email address
largeExpenses boolean Yes Flag large expense
useAtmFrequently boolean Yes Flag ATM withdrawals
comments string No Comments
countries array[object(Country)] Yes Visiting countries
fromDate APIDateISOString Yes Date of departure
toDate APIDateISOString Yes Date of return

Country

AttributeTypeMandatoryDescription
countryCode string Yes 3 character country code

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status

Get List of Travel Itineraries

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/customer/travel/itineraries?v=1

Response

{
  "retrieveTravelNotificationsResponse": [
    {
      "itineraryId": "1234",
      "contactNumber": "0411000111",
      "emailAddress": "test@gmail.com",
      "largeExpenses": true,
      "useAtmFrequently": true,
      "comments": "Once in a lifetime trip.",
      "countries": [
        {
          "countryName": "Australia",
          "countryCode": "AUS"
        },
        {
          "countryName": "United States",
          "countryCode": "USA"
        }
      ],
      "fromDate": "2016-07-27",
      "toDate": "2016-11-27"
    },
    {
      "itineraryId": "5678",
      "contactNumber": "0411000111",
      "emailAddress": "test@gmail.com",
      "largeExpenses": true,
      "useAtmFrequently": false,
      "comments": "There and back again",
      "countries": [
        {
          "countryName": "United States",
          "countryCode": "USA"
        }
      ],
      "fromDate": "2016-07-27",
      "toDate": "2016-10-27"
    }
  ],
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}
{
  "retrieveTravelNotificationsResponse": [
    {
      "itineraryId": "1234",
      "contactNumber": "0411000111",
      "emailAddress": "test@gmail.com",
      "largeExpenses": true,
      "useAtmFrequently": true,
      "comments": "Once in a lifetime trip.",
      "countries": [
        {
          "countryName": "Australia",
          "countryCode": "AUS"
        },
        {
          "countryName": "United States",
          "countryCode": "USA"
        }
      ],
      "fromDate": "2016-07-27",
      "toDate": "2016-11-27"
    },
    {
      "itineraryId": "5678",
      "contactNumber": "0411000111",
      "emailAddress": "test@gmail.com",
      "largeExpenses": true,
      "useAtmFrequently": false,
      "comments": "There and back again",
      "countries": [
        {
          "countryName": "United States",
          "countryCode": "USA"
        }
      ],
      "fromDate": "2016-07-27",
      "toDate": "2016-10-27"
    }
  ],
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/customer/travel/itineraries?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
retrieveTravelNotificationsResponse array[object(Travel Notification)] Yes

Travel Notification

AttributeTypeMandatoryDescription
itineraryId string Yes Travel Notification Id
contactNumber string No Contact phone number
emailAddress APIEmailString No Contact email address
largeExpenses boolean Yes Flag large expense
useAtmFrequently boolean Yes Flag ATM withdrawals
comments string No Comments
countries array[object(Country)] Yes Visiting countries
fromDate APIDateISOString Yes Date of departure
toDate APIDateISOString Yes Date of return

Country

AttributeTypeMandatoryDescription
countryName string Yes Name of Country
countryCode string Yes 3 character country code

Delete Travel Itinerary

Request

curl \\
    -X DELETE \\
    https://hackathon.api.extnp.nab.com.au/v2/customer/travel/itinerary/{itineraryId}?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}

DELETE https://hackathon.api.extnp.nab.com.au/v2/customer/travel/itinerary/{itineraryId}?v=1

URL Parameters

NameValueDescription
itineraryIdTravel Itinerary IdThe id of the itinerary to be deleted

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status

Travel Card

All Travel Card API’s needs the Authorization Token to be passed in the HTTP Header

Reference

Get Available Currency List

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/travelCard/currencies?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "purseCurrencyResponse": {
    "purseCurrencies": [
      "AUD",
      "EUR",
      "CAD",
      "GBP",
      "HKD",
      "JPY",
      "NZD",
      "SGD",
      "THB",
      "USD"
    ]
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "purseCurrencyResponse": {
    "purseCurrencies": [
      "AUD",
      "EUR",
      "CAD",
      "GBP",
      "HKD",
      "JPY",
      "NZD",
      "SGD",
      "THB",
      "USD"
    ]
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/travelCard/currencies?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
purseCurrencyResponse object(Purse Currency Response) No purseCurrency response object

Purse Currency Response

AttributeTypeMandatoryDescription
purseCurrencies array[] Yes Array of purse currencies (E.g [“AUD”,“NZD”])

Get FX Quote

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/travelCard/fxquote/{type}/{baseCurrency}/{quoteCurrency}/{nominatedCurrency}/{amount}?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "fxQuoteResponse": {
    "quotation": {
      "rate": "0.85635",
      "quoteId": "ABCDEF-1234-123456",
      "token": "12dgfdcfgtrdsxcvcfdx"
    },
    "calculatedAmount": "508.00",
    "fee": "1.72"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "fxQuoteResponse": {
    "quotation": {
      "rate": "0.85635",
      "quoteId": "ABCDEF-1234-123456",
      "token": "12dgfdcfgtrdsxcvcfdx"
    },
    "calculatedAmount": "508.00",
    "fee": "1.72"
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/travelCard/fxquote/{type}/{baseCurrency}/{quoteCurrency}/{nominatedCurrency}/{amount}?v=1

URL Parameters

NameValueDescription
typeType of transactionThe type of transaction for which to retreive the rates for. Possible values are - unload, reload or transfer
baseCurrencyThe 3 character currency code eg. AUDThe currency used as the source of conversion
quoteCurrencyThe 3 character currency code eg. AUDThe currency used as the destination of conversion
nominatedCurrencyThe 3 character currency code eg. AUDCan either be the base currency or the quote currency
amountAmountThe amount of conversion

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
fxQuoteResponse object(Fx Quote Response) Yes fxQuote response object

Fx Quote Response

AttributeTypeMandatoryDescription
quotation object(Quotation) Yes quote object
calculatedAmount APINTCAmountString Yes The calculated amount. This is the corresponding amount to what was given in the request
fee APIPositiveAmountString No Fee is in AUD

Quotation

AttributeTypeMandatoryDescription
rate APINTCRateString Yes The real time foreign exchange rate. This is always 1 base currency unit = x quote currency unit
quoteId string Yes The quotation id
token string Yes The quote token

Reload Purse

Request

curl \\
    -X POST \\
    -d '{"transferRequest":{"to":{"account":{"apiStructType":"purseToken","purseToken":{"token":"dsssssdcasDCDS"}}},"from":{"account":{"apiStructType":"accountApca","accountApca":{"bsb":"000000","accountId":"163321234","accountName":"Life's Little Joke"}}},"description":"Reload Example","token":"XDSXCDSAXCDS","nonce":"abcd123"}}' \\
    https://hackathon.api.extnp.nab.com.au/v2/travelCard/{accountToken}/reload?v=1
{
  "transferRequest": {
    "to": {
      "account": {
        "apiStructType": "purseToken",
        "purseToken": {
          "token": "dsssssdcasDCDS"
        }
      }
    },
    "from": {
      "account": {
        "apiStructType": "accountApca",
        "accountApca": {
          "bsb": "000000",
          "accountId": "163321234",
          "accountName": "Life's Little Joke"
        }
      }
    },
    "description": "Reload Example",
    "token": "XDSXCDSAXCDS",
    "nonce": "abcd123"
  }
}

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "transferResponse": {
    "transferReference": "R45466716",
    "status": "PAI"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "transferResponse": {
    "transferReference": "R45466716",
    "status": "PAI"
  }
}

POST https://hackathon.api.extnp.nab.com.au/v2/travelCard/{accountToken}/reload?v=1

URL Parameters

NameValueDescription
accountTokenTraveller Card Account TokenThe account token of the traveller card that needs to be loaded with funds

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Request

Schema

AttributeTypeMandatoryDescription
transferRequest object(Transfer Request) Yes transferRequest object

Transfer Request

AttributeTypeMandatoryDescription
from object(From) Yes Using the accountApca apiStructType
to object(To) Yes To account object
description string Yes Description of the transfer request
token string Yes The FX Quote Token
nonce string No Used for preventing submitting duplicate transactions

From

AttributeTypeMandatoryDescription
account object(Account) Yes Account object

Account

AttributeTypeMandatoryDescription
apiStructType string Yes For a reload, value is accountApca
accountApca object(Account Apca) Yes The account to load from

Account Apca

AttributeTypeMandatoryDescription
bsb string Yes Bank, State, Branch number
accountId string Yes Account number
accountName string Yes Account name

To

AttributeTypeMandatoryDescription
account object(Account) Yes Account object

Account

AttributeTypeMandatoryDescription
apiStructType string Yes For an unload, value is purseToken
purseToken object(Purse Token) Yes purseToken object

Purse Token

AttributeTypeMandatoryDescription
token string Yes The token for a purse is the traveller card account token
currencyCode string No

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
transferResponse object(Transfer Response) No Transfer response object

Transfer Response

AttributeTypeMandatoryDescription
transferReference string Yes Reference generated by Internet Banking
status string Yes Status of transfer: paid, rejected and processing. Values: PAI, REJ, PRO

Unload Purse

Request

curl \\
    -X POST \\
    -d '{"transferRequest":{"from":{"account":{"apiStructType":"accountApca","accountApca":{"bsb":"000000","accountId":"163321234","accountName":"Life's Little Joke"}}},"to":{"account":{"apiStructType":"purseToken","purseToken":{"token":"dsssssdcasDCDS"}}},"description":"Unload Example","token":"XDSXCDSAXCDS","nonce":"abcd123"}}' \\
    https://hackathon.api.extnp.nab.com.au/v2/travelCard/{accountToken}/unload?v=1
{
  "transferRequest": {
    "from": {
      "account": {
        "apiStructType": "accountApca",
        "accountApca": {
          "bsb": "000000",
          "accountId": "163321234",
          "accountName": "Life's Little Joke"
        }
      }
    },
    "to": {
      "account": {
        "apiStructType": "purseToken",
        "purseToken": {
          "token": "dsssssdcasDCDS"
        }
      }
    },
    "description": "Unload Example",
    "token": "XDSXCDSAXCDS",
    "nonce": "abcd123"
  }
}

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "transferResponse": {
    "transferReference": "R45466716",
    "status": "PAI"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "transferResponse": {
    "transferReference": "R45466716",
    "status": "PAI"
  }
}

POST https://hackathon.api.extnp.nab.com.au/v2/travelCard/{accountToken}/unload?v=1

URL Parameters

NameValueDescription
accountTokenTraveller Card Account TokenThe account token of the traveller card that needs to be unloaded with funds

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Request

Schema

AttributeTypeMandatoryDescription
transferRequest object(Transfer Request) Yes transferRequest object

Transfer Request

AttributeTypeMandatoryDescription
from object(From) Yes Using a purseToken apiStructType
to object(To) Yes To account object
description string Yes Description of the transfer request
token string Yes The FX Quote Token
nonce string No Used for preventing submitting duplicate transactions

From

AttributeTypeMandatoryDescription
account object(Account) Yes Account object

Account

AttributeTypeMandatoryDescription
apiStructType string Yes For an unload, value is purseToken
purseToken object(Purse Token) Yes The token for a purse is the traveller card account token

Purse Token

AttributeTypeMandatoryDescription
token string Yes Encrypted token
currencyCode string No

To

AttributeTypeMandatoryDescription
account object(Account) Yes Account object

Account

AttributeTypeMandatoryDescription
apiStructType string Yes For an unload, value is accountApca
accountApca object(Account Apca) Yes The account to unload funds to

Account Apca

AttributeTypeMandatoryDescription
bsb string Yes Bank, State, Branch number
accountId string Yes Account number
accountName string Yes Account name

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
transferResponse object(Transfer Response) No transfer Response object

Transfer Response

AttributeTypeMandatoryDescription
transferReference string Yes Reference generated by Internet Banking
status string Yes Status of transfer: paid, rejected and processing. Values: PAI, REJ, PRO

Purse to Purse Transfer

Request

curl \\
    -X POST \\
    -d '{"transferRequest":{"from":{"account":{"apiStructType":"purseToken","purseToken":{"token":"saadddddddddassADSSA"}}},"to":{"account":{"apiStructType":"purseToken","purseToken":{"token":"saadddddddddassADSSA"}}},"description":"From Tokyo","token":"CDCDJKCLkcvjdsmx","nonce":"abcd"}}' \\
    https://hackathon.api.extnp.nab.com.au/v2/travelCard/{accountToken}/transfer?v=1
{
  "transferRequest": {
    "from": {
      "account": {
        "apiStructType": "purseToken",
        "purseToken": {
          "token": "saadddddddddassADSSA"
        }
      }
    },
    "to": {
      "account": {
        "apiStructType": "purseToken",
        "purseToken": {
          "token": "saadddddddddassADSSA"
        }
      }
    },
    "description": "From Tokyo",
    "token": "CDCDJKCLkcvjdsmx",
    "nonce": "abcd"
  }
}

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "transferResponse": {
    "transferReference": "X123456",
    "status": "Transferred"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "transferResponse": {
    "transferReference": "X123456",
    "status": "Transferred"
  }
}

POST https://hackathon.api.extnp.nab.com.au/v2/travelCard/{accountToken}/transfer?v=1

URL Parameters

NameValueDescription
accountTokenTraveller Card Account TokenThe account token of the traveller card to be used for transfer

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Request

Schema

AttributeTypeMandatoryDescription
transferRequest object(Transfer Request) Yes transferRequest object

Transfer Request

AttributeTypeMandatoryDescription
from object(From) Yes Using the purseToken apiStructType
to object(To) Yes Using the purseToken apiStructType
description string Yes Description of the transfer request
token string Yes The FX Quote Token
nonce string No Used for preventing submitting duplicate transactions

From

AttributeTypeMandatoryDescription
account object(Account) Yes Account object

Account

AttributeTypeMandatoryDescription
apiStructType string Yes For a purse-to-purse, this will be ‘purseToken’
purseToken object(Purse Token) Yes purseToken object

Purse Token

AttributeTypeMandatoryDescription
token string Yes The token for a purse is the traveller card account token
currencyCode string No

To

AttributeTypeMandatoryDescription
account object(Account) Yes Account object

Account

AttributeTypeMandatoryDescription
apiStructType string Yes For a purse-to-purse, this will be 'purseToken’
purseToken object(Purse Token) Yes purseToken object

Purse Token

AttributeTypeMandatoryDescription
token string Yes The token for a purse is the traveller card account token
currencyCode string No

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
transferResponse object(Transfer Response) No

Transfer Response

AttributeTypeMandatoryDescription
transferReference string Yes Reference generated by Internet Banking
status string Yes Status of transfer: paid, rejected and processing. Values: PAI, REJ, PRO

Financial Data

Reference

Get Historical Unit Price

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/unitPrices?v=1

Response

{
  "unitPrices": [
    {
      "product": "MasterKey Investment Service",
      "investment": "AMP Capital Wholesale Global Equity - Value Fund (closed)",
      "apirCode": "NML0348AU",
      "entryUnitPrice": 1.04723,
      "unitPriceDate": "20141211",
      "exitUnitPrice": 1.04305,
      "unitPriceType": "ACCUMULATION",
      "productPriority": 1
    },
    {
      "product": "MasterKey Investment Service",
      "investment": "Alphinity Wholesale Concentrated Australian Share (closed)",
      "apirCode": "HOW0026AU",
      "entryUnitPrice": 0.9875,
      "unitPriceDate": "20141211",
      "exitUnitPrice": 0.9835,
      "unitPriceType": "ACCUMULATION",
      "productPriority": 1
    },
    {
      "product": "MasterKey Investment Service",
      "investment": "Arnhem Australian Equity Fund",
      "apirCode": "ARO0011AU",
      "entryUnitPrice": 1.6964,
      "unitPriceDate": "20141211",
      "exitUnitPrice": 1.6862,
      "unitPriceType": "ACCUMULATION",
      "productPriority": 1
    }
  ],
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}
{
  "unitPrices": [
    {
      "product": "MasterKey Investment Service",
      "investment": "AMP Capital Wholesale Global Equity - Value Fund (closed)",
      "apirCode": "NML0348AU",
      "entryUnitPrice": 1.04723,
      "unitPriceDate": "20141211",
      "exitUnitPrice": 1.04305,
      "unitPriceType": "ACCUMULATION",
      "productPriority": 1
    },
    {
      "product": "MasterKey Investment Service",
      "investment": "Alphinity Wholesale Concentrated Australian Share (closed)",
      "apirCode": "HOW0026AU",
      "entryUnitPrice": 0.9875,
      "unitPriceDate": "20141211",
      "exitUnitPrice": 0.9835,
      "unitPriceType": "ACCUMULATION",
      "productPriority": 1
    },
    {
      "product": "MasterKey Investment Service",
      "investment": "Arnhem Australian Equity Fund",
      "apirCode": "ARO0011AU",
      "entryUnitPrice": 1.6964,
      "unitPriceDate": "20141211",
      "exitUnitPrice": 1.6862,
      "unitPriceType": "ACCUMULATION",
      "productPriority": 1
    }
  ],
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/unitPrices?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1
productName Product name. Default to all available products No
startDate The starting date for the range of date for prices to be returned No
endDate The ending date for the range of date for prices to be returned No

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
unitPrices array[object(Unit Price)] Yes Array of unit price information

Unit Price

AttributeTypeMandatoryDescription
product string No Product name
investment string No Investment Name
apirCode string No APIR code of the investment + product
unitPriceDate APIDateString No Date for this unit price
entryUnitPrice number No Entry unit price. This value is in AUD
exitUnitPrice number No Exit unit price. Will be null if there is no exit price. In that case entryUnitPrice should be used by clients. This value is in AUD
unitPriceType string No The type of unit price. Valid values are ACCUMULATION, INITIAL, INTEREST_RATE and INVESTMENT
productPriority integer No The priority of the product, allows clients to order the unit prices following business rules. E.g. NAB products should display before external products or Investment Service should display before Super

Locations

Location APIs for NAB Addresses.

Locations By Type

Locations By Address

Location typeCode
ATMatm
Branchbrc
Kioskksk
Agencyagn
Business Banking Centrebbc
Agri Banking Centreabc
Health Banking Centrehbc

Locations By Geo Coordinates

Location By Key

Reference

Get Locations

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/locations?locationType={locationType}&v=1

Response

{
  "locationSearchResponse": {
    "totalRecords": 2969,
    "locations": [
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A08",
          "description": "Riverside Shopping Centre",
          "latitude": -35.353024,
          "longitude": 149.2348171
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A09",
          "description": "Pavilion Plaza",
          "latitude": -33.874797,
          "longitude": 151.2067714
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A10",
          "description": "Wynyard Railway Station",
          "latitude": -33.865363,
          "longitude": 151.2052183
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A11",
          "description": "Gymea",
          "latitude": -34.0357937,
          "longitude": 151.0848374
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A12",
          "description": "Kincumber Shopping Centre",
          "latitude": -33.4729866,
          "longitude": 151.4372584
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A13",
          "description": "Stockland Green Hills",
          "latitude": -32.7718344,
          "longitude": 151.6142316
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A16",
          "description": "Castle Towers Shopping Centre",
          "latitude": -33.7316657,
          "longitude": 151.0050453
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A17",
          "description": "Castle Towers Shopping Centre",
          "latitude": -33.7316657,
          "longitude": 151.0050453
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A19",
          "description": "Orange",
          "latitude": -33.2828708,
          "longitude": 149.1013143
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A22",
          "description": "Wentworth Chambers",
          "latitude": -33.8689223,
          "longitude": 151.2111125
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A25",
          "description": "Marrickville Metro",
          "latitude": -33.9059468,
          "longitude": 151.1719737
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A27",
          "description": "Westfield Parramatta",
          "latitude": -33.8174516,
          "longitude": 151.000849
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A29",
          "description": "Erina Fair Shopping Centre",
          "latitude": -33.4371031,
          "longitude": 151.3922079
        }
      }
    ]
  },
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}
{
  "locationSearchResponse": {
    "totalRecords": 2969,
    "locations": [
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A08",
          "description": "Riverside Shopping Centre",
          "latitude": -35.353024,
          "longitude": 149.2348171
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A09",
          "description": "Pavilion Plaza",
          "latitude": -33.874797,
          "longitude": 151.2067714
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A10",
          "description": "Wynyard Railway Station",
          "latitude": -33.865363,
          "longitude": 151.2052183
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A11",
          "description": "Gymea",
          "latitude": -34.0357937,
          "longitude": 151.0848374
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A12",
          "description": "Kincumber Shopping Centre",
          "latitude": -33.4729866,
          "longitude": 151.4372584
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A13",
          "description": "Stockland Green Hills",
          "latitude": -32.7718344,
          "longitude": 151.6142316
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A16",
          "description": "Castle Towers Shopping Centre",
          "latitude": -33.7316657,
          "longitude": 151.0050453
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A17",
          "description": "Castle Towers Shopping Centre",
          "latitude": -33.7316657,
          "longitude": 151.0050453
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A19",
          "description": "Orange",
          "latitude": -33.2828708,
          "longitude": 149.1013143
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A22",
          "description": "Wentworth Chambers",
          "latitude": -33.8689223,
          "longitude": 151.2111125
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A25",
          "description": "Marrickville Metro",
          "latitude": -33.9059468,
          "longitude": 151.1719737
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A27",
          "description": "Westfield Parramatta",
          "latitude": -33.8174516,
          "longitude": 151.000849
        }
      },
      {
        "apiStructType": "atm",
        "atm": {
          "key": "atm_2A29",
          "description": "Erina Fair Shopping Centre",
          "latitude": -33.4371031,
          "longitude": 151.3922079
        }
      }
    ]
  },
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/locations?locationType={locationType}&v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1
locationType The type of location to be returned. Yes atm, brc, ksk, agn, bbc, abc, hbc
startIndex Specify the row number of the first record from the full result list to return. Defaults to 1 No
endIndex Specify the row number of the last record from the full result list to return. Defaults to {startIndex + 20} No

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus No Response status
locationSearchResponse object(Location Search Response) No Location search response object

Location Search Response

AttributeTypeMandatoryDescription
totalRecords integer Yes Total number of records in the response
locations array[object(Location)] Yes An array of location objects

Location

AttributeTypeMandatoryDescription
apiStructType string Yes This field represents what object will be returned in the payload.
atm object(Atm) No ATM object
brc object(Brc) No Branch object
general object(General) No General object

Atm

AttributeTypeMandatoryDescription
key string Yes Location key
description string Yes Description of the ATM
latitude number No Latitude (in decimal)
longitude number No Longitude (in decimal)

Brc

AttributeTypeMandatoryDescription
key string Yes Location key
siteName string Yes Site name for the branch
description string No Description of the branch
latitude number No Latitude (in decimal)
longitude number No Longitude (in decimal)

General

AttributeTypeMandatoryDescription
key string Yes Location key
type string Yes Type of general banking site. E.g. ksk, bbc, agn, abc, hbc
description string No Description of the generic banking site
latitude number No Latitude (in decimal)
longitude number No Longitude (in decimal)

Get Locations by Address

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/locations?locationType={locationType}&searchCriteria={searchCriteria}&address={address}&v=1

Response

{
  "locationSearchResponse": {
    "totalRecords": 6,
    "address": {
      "formattedAddress": "Tasmania 7030, Australia",
      "latitude": -42.1876915,
      "longitude": 147.0214014
    },
    "viewport": {
      "swLat": -44.8826008,
      "swLng": 144.3264921,
      "neLat": -39.4927822,
      "neLng": 149.7163107
    },
    "locations": [
      {
        "apiStructType": "atm",
        "atm": {
          "location": "Offsite",
          "isDeposit": false,
          "isDisabilityApproved": true,
          "isAudio": false,
          "source": "NAB",
          "address3": "Eastlands Shopping Centre",
          "id": 16271,
          "key": "nab_3B93",
          "description": "Eastlands Shopping Centre",
          "address1": "1 Bligh Street",
          "suburb": "Rosny Park",
          "state": "TAS",
          "postcode": "7018",
          "latitude": -42.8680382,
          "longitude": 147.3692568,
          "hours": "Mon-Thu 09.00am-05.30pm, Fri 09.00am-08.00pm, Sat 09.00am-05.00pm, Sun 10.00am-04.00pm",
          "distanceToLocation": 80844
        }
      }
    ]
  },
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}
{
  "locationSearchResponse": {
    "totalRecords": 6,
    "address": {
      "formattedAddress": "Tasmania 7030, Australia",
      "latitude": -42.1876915,
      "longitude": 147.0214014
    },
    "viewport": {
      "swLat": -44.8826008,
      "swLng": 144.3264921,
      "neLat": -39.4927822,
      "neLng": 149.7163107
    },
    "locations": [
      {
        "apiStructType": "atm",
        "atm": {
          "location": "Offsite",
          "isDeposit": false,
          "isDisabilityApproved": true,
          "isAudio": false,
          "source": "NAB",
          "address3": "Eastlands Shopping Centre",
          "id": 16271,
          "key": "nab_3B93",
          "description": "Eastlands Shopping Centre",
          "address1": "1 Bligh Street",
          "suburb": "Rosny Park",
          "state": "TAS",
          "postcode": "7018",
          "latitude": -42.8680382,
          "longitude": 147.3692568,
          "hours": "Mon-Thu 09.00am-05.30pm, Fri 09.00am-08.00pm, Sat 09.00am-05.00pm, Sun 10.00am-04.00pm",
          "distanceToLocation": 80844
        }
      }
    ]
  },
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/locations?locationType={locationType}&searchCriteria={searchCriteria}&address={address}&v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1
locationType The type of location to be returned. Multiple values can be passed separated by ’,’ (comma). Yes atm, brc, ksk, agn, bbc, abc, hbc
searchCriteria Search for locations in proximity to a given address Yes addr
address A URL Encoded address Yes
radius Expects a numeric value in kms from the address. Defaults to 20 No
radiusB Expects a numeric value in kms from the address. Defaults to 50 No
radiusC Expects a numeric value in kms from the address. Defaults to 100 No
startIndex Specify the row number of the first record from the full result list to return. Defaults to 1 No
endIndex Specify the row number of the last record from the full result list to return. Defaults to {startIndex + 20} No

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
locationSearchResponse object(Location Search Response) No Location search response object

Location Search Response

AttributeTypeMandatoryDescription
totalRecords integer Yes Number of records in the response
viewport object(Viewport) Yes Viewport boundary coordinates object
address object(Address) Yes Address object
locations array[object(Location)] Yes An array of Location objects

Viewport

AttributeTypeMandatoryDescription
swLat number Yes South-West latitude coordinates expressed as decimal
swLng number Yes South-West longitude coordinates expressed as decimal
neLat number Yes North-East latitude coordinates expressed as decimal
neLng number Yes North-East longitude coordinates expressed as decimal

Address

AttributeTypeMandatoryDescription
formattedAddress string Yes Formatted address
latitude number Yes Latitude (in decimal)
longitude number Yes Longitude (in decimal)

Location

AttributeTypeMandatoryDescription
apiStructType string Yes This field represents what object will be returned in the payload. I.e. apiStructType of atm will return an atm object.
atm object(Atm) No ATM object
brc object(Brc) No Branch object
general object(General) No General object
banker object(Banker) No Banker object

Atm

AttributeTypeMandatoryDescription
id integer Yes
key string Yes Location key
description string No Description of the ATM
address1 string Yes Address Line 1
address2 string No Address Line 2
address3 string No Address Line 3
address4 string No Address Line 4
address5 string No Address Line 5
suburb string Yes Suburb
state string Yes State
postcode string Yes Postcode
latitude number Yes Latitude (in decimal)
longitude number Yes Longitude (in decimal)
lobbyOrTtw string No Lobby (L) or Through the Wall (T)
siteType string No Site type
location string No Location
isDeposit boolean Yes Depository
isDisabilityApproved boolean Yes Disability approved ATM
isAudio boolean Yes Has audio capability
hours string No Hours of operation
source string No ATM Source (BOQ, CUS, NAB)
distanceToLocation number Yes Distance in kms

Brc

AttributeTypeMandatoryDescription
id integer Yes
key string Yes Location key
bsb string Yes Bank State Branch (BSB) number
siteName string Yes Site name
description string No Description of this site
address1 string Yes Address Line 1
address2 string No Address Line 2
suburb string Yes Suburb
state string Yes State
postcode string Yes Postcode
isRural boolean Yes Is rural location
latitude number Yes Latitude (in decimal)
longitude number Yes Longitude (in decimal)
hours string No Opening hours
openWeekends boolean No Open on weekends
announcement string No Branch admins can post announcements
hasCoinSwap boolean No Has coin swap facility
coinSwapHours string No Coin swap usage hours
hasQuickChange boolean No Has quick change facility
quickChangeHours string No Includes opening hours
bbc boolean No Business Banking Centre
expressBusinessDeposit boolean No Express Business deposit facility
hasIntelligentDeposit string No Has Intelligent Deposit facility
intelligentDepositHours string No Includes opening hours
foreignCurrency boolean No Foreign currency availability
internetBank boolean No Has Internet Banking facilities
financialPlanner boolean No Availability of Financial Planners
financialPlannerLanguage string No Languages understood by Financial Planner
mobileBanker boolean No Has Mobile Banker
mobileBankerLanguage string No Languages understood by Mobile Banker
smallBusinessBankers array[object(Small Business Banker)] No Array of small business banker objects
distanceToLocation number Yes Distance to location in kms

Small Business Banker

AttributeTypeMandatoryDescription
name string No Name
key string No Location key

General

AttributeTypeMandatoryDescription
id integer Yes
key string Yes Location key
bsb string No Bank State Branch (BSB) number
type string Yes Type of general banking facility. E.g. ksk, bbc, agn, abc, hbc
description string No Description of this banking facility
address1 string Yes Address Line 1
address2 string No Address Line 2
suburb string Yes Suburb
state string Yes State
postcode string Yes Postcode
phone string No Telephone number
latitude number Yes Latitude (in decimal)
longitude number Yes Longitude (in decimal)
hours string No Hours of operation
industry string No Industry
website string No Website
distanceToLocation number Yes Distance in kms

Banker

AttributeTypeMandatoryDescription
id integer Yes
key string Yes Location key
type string Yes Type of Banker. E.g. abb, heb,smb, mob
name string Yes Name
address1 string No Address Line 1
address2 string No Address Line 2
suburb string No Suburb
state string No State
postcode string No Postcode
email string Yes Email address
fax string No Fax number
phone string No Telephone number
mobile string No Mobile number
language string No Language understood by Banker
bsb string No Bank State Branch (BSB) number
buid string No Banker UID
coverageRadius integer No In Kms
homeBranches array[object(Home Branch)] No Array of branches for the Banker
supportBranches array[object(Support Branch)] No Array of support branches for the Banker
qualifications string No Banker’s qualifications
servicingArea string No Area serviced by Banker
distanceToLocation number No Distance in kms

Home Branch

AttributeTypeMandatoryDescription
name string No Name
key string No Location key

Support Branch

AttributeTypeMandatoryDescription
name number No Name
key string No Location key

Get Locations by Geo Coordinates

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/locations?locationType={locationType}&searchCriteria={searchCriteria}&swLat={swLat}&swLng={swLng}&neLat={neLat}&neLng={neLng}&v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "locationSearchResponse": {
    "totalRecords": 10,
    "locations": [
      {
        "apiStructType": "general",
        "general": {
          "key": "nab_LOC000967",
          "latitude": -34.9223588,
          "longitude": 138.5997032,
          "type": "nab"
        }
      },
      {
        "apiStructType": "general",
        "general": {
          "key": "nab_LOC000968",
          "latitude": -35.0226123,
          "longitude": 117.8836061,
          "type": "nab"
        }
      },
      {
        "apiStructType": "general",
        "general": {
          "key": "nab_LOC000969",
          "latitude": -36.0782014,
          "longitude": 146.9158376,
          "type": "nab"
        }
      },
      {
        "apiStructType": "general",
        "general": {
          "key": "nab_LOC000970",
          "latitude": -37.1918502,
          "longitude": 145.7103215,
          "type": "nab"
        }
      },
      {
        "apiStructType": "general",
        "general": {
          "key": "nab_LOC000971",
          "latitude": -37.2843362,
          "longitude": 142.9291397,
          "type": "nab"
        }
      },
      {
        "apiStructType": "general",
        "general": {
          "key": "nab_LOC000972",
          "latitude": -30.5112744,
          "longitude": 151.666064,
          "type": "nab"
        }
      },
      {
        "apiStructType": "general",
        "general": {
          "key": "nab_LOC000973",
          "latitude": -17.2654831,
          "longitude": 145.4765679,
          "type": "nab"
        }
      }
    ]
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "locationSearchResponse": {
    "totalRecords": 10,
    "locations": [
      {
        "apiStructType": "general",
        "general": {
          "key": "nab_LOC000967",
          "latitude": -34.9223588,
          "longitude": 138.5997032,
          "type": "nab"
        }
      },
      {
        "apiStructType": "general",
        "general": {
          "key": "nab_LOC000968",
          "latitude": -35.0226123,
          "longitude": 117.8836061,
          "type": "nab"
        }
      },
      {
        "apiStructType": "general",
        "general": {
          "key": "nab_LOC000969",
          "latitude": -36.0782014,
          "longitude": 146.9158376,
          "type": "nab"
        }
      },
      {
        "apiStructType": "general",
        "general": {
          "key": "nab_LOC000970",
          "latitude": -37.1918502,
          "longitude": 145.7103215,
          "type": "nab"
        }
      },
      {
        "apiStructType": "general",
        "general": {
          "key": "nab_LOC000971",
          "latitude": -37.2843362,
          "longitude": 142.9291397,
          "type": "nab"
        }
      },
      {
        "apiStructType": "general",
        "general": {
          "key": "nab_LOC000972",
          "latitude": -30.5112744,
          "longitude": 151.666064,
          "type": "nab"
        }
      },
      {
        "apiStructType": "general",
        "general": {
          "key": "nab_LOC000973",
          "latitude": -17.2654831,
          "longitude": 145.4765679,
          "type": "nab"
        }
      }
    ]
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/locations?locationType={locationType}&searchCriteria={searchCriteria}&swLat={swLat}&swLng={swLng}&neLat={neLat}&neLng={neLng}&v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1
locationType The type of location to be returned. Multiple values can be passed separated by ’,’ (comma) Yes atm, brc, ksk, agn, bbc, abc, hbc
searchCriteria Search for locations by Geo Coordinates Yes geo
swLat South-West latitude coordinates expressed as decimal Yes
neLat North-East latitude coordinates expressed as decimal Yes
neLng North-East longitude coordinates expressed as decimal Yes
swLng South-West longitude coordinates expressed as decimal Yes
startIndex Specify the row number of the first record from the full result list to return. Defaults to 1 No
endIndex Specify the row number of the last record from the full result list to return. Defaults to {startIndex + 20} No
fields “basic” returns only the identifiers and description/name, “extended” returns more attributes. Default is basic No basic, extended

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
locationSearchResponse object(Location Search Response) No Location search response object

Location Search Response

AttributeTypeMandatoryDescription
totalRecords integer Yes Total records in the response
viewport object(Viewport) No Viewport bounding box definition.
Only returned when fields = ‘extended’
locations array[object(Location)] Yes Array of locations objects

Viewport

AttributeTypeMandatoryDescription
swLat number Yes South-West latitude coordinates expressed as decimal
swLng number Yes South-West longitude coordinates expressed as decimal
neLat number Yes North-East latitude coordinates expressed as decimal
neLng number Yes North-East longitude coordinates expressed as decimal

Location

AttributeTypeMandatoryDescription
apiStructType string Yes This field represents what object will be returned in the payload.
I.e. apiStructType of atm will return an atm object.
atm object(Atm) No An ATM object
brc object(Branch) No Branch object
general object(General) No General object

Atm

AttributeTypeMandatoryDescription
key string Yes Location key
latitude number Yes Latitude (in decimal)
longitude number Yes Longitude (in decimal)
id integer No Only returned when fields = 'extended’
description string No Only returned when fields = 'extended’
address1 string No Only returned when fields = 'extended’
address2 string No Only returned when fields = 'extended’
address3 string No Only returned when fields = 'extended’
address4 string No Only returned when fields = 'extended’
address5 string No Only returned when fields = 'extended’
suburb string No Only returned when fields = 'extended’
state string No Only returned when fields = 'extended’
postcode string No Only returned when fields = 'extended’
lobbyOrTtw string No Lobby (L) or Through the Wall (T).
Only returned when fields = 'extended’
siteType string No Only returned when fields = 'extended’
location string No Only returned when fields = 'extended’
isDeposit boolean No Depository. Only returned when fields = 'extended’
isDisabilityApproved boolean No Only returned when fields = 'extended’
isAudio boolean No Only returned when fields = 'extended’
hours string No Hours of operation.
Only returned when fields = 'extended’
source string No ATM Source (BOQ, CUS, NAB).
Only returned when fields = 'extended’
distanceToLocation number No Only returned when fields = 'extended’

Branch

AttributeTypeMandatoryDescription
key string Yes Location key
latitude number Yes Latitude (in decimal)
longitude number Yes Longitude (in decimal)
id integer No Only returned when fields = 'extended’
bsb string No Only returned when fields = 'extended’
siteName string No Only returned when fields = 'extended’
description string No Only returned when fields = 'extended’
address1 string No Only returned when fields = 'extended’
address2 string No Only returned when fields = 'extended’
suburb string No Only returned when fields = 'extended’
state string No Only returned when fields = 'extended’
postcode string No Only returned when fields = 'extended’
isRural boolean No Only returned when fields = 'extended’
hours string No Opening hours
openWeekends boolean No Only returned when fields = 'extended’
announcement string No Branch admins can post announcements
hasCoinSwap boolean No Only returned when fields = 'extended’
coinSwapHours string No Includes opening hours
hasQuickChange boolean No Only returned when fields = 'extended’
quickChangeHours string No Includes opening hours
bbc boolean No Only returned when fields = 'extended’
expressBusinessDeposit boolean No Only returned when fields = 'extended’
hasIntelligentDeposit string No Only returned when fields = 'extended’
intelligentDepositHours string No Includes opening hours
foreignCurrency boolean No Only returned when fields = 'extended’
internetBank boolean No Only returned when fields = 'extended’
financialPlanner boolean No Only returned when fields = 'extended’
financialPlannerLanguage string No Only returned when fields = 'extended’
mobileBanker boolean No Only returned when fields = 'extended’
mobileBankerLanguage string No Only returned when fields = 'extended’
smallBusinessBankers array[object(Small Business Banker)] No Only returned when fields = 'extended’
distanceToLocation number No Only returned when fields = 'extended’

Small Business Banker

AttributeTypeMandatoryDescription
name string No Name
key string No Location key

General

AttributeTypeMandatoryDescription
key string Yes Location key
latitude number Yes Latitude (in decimal)
longitude number Yes Longitude (in decimal)
type string Yes Type of general banking site. E.g. ksk, bbc, agn, abc, hbc
id integer No Only returned when fields = 'extended’
bsb string No Only returned when fields = 'extended’
description string No Only returned when fields = 'extended’
address1 string No Only returned when fields = 'extended’
address2 string No Only returned when fields = 'extended’
suburb string No Only returned when fields = 'extended’
state string No Only returned when fields = 'extended’
postcode string No Only returned when fields = 'extended’
phone string No Only returned when fields = 'extended’
hours string No Only returned when fields = 'extended’
industry string No Only returned when fields = 'extended’
website string No Only returned when fields = 'extended’
distanceToLocation number No Only returned when fields = 'extended’

Get Location

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/location/{key}?v=1

Response

{
  "locationDetailResponse": {
    "apiStructType": "atm",
    "atm": {
      "location": "Offsite",
      "isDeposit": false,
      "isDisabilityApproved": false,
      "isAudio": false,
      "source": "NAB ATM",
      "address3": "Petrol Station",
      "id": 5058068,
      "key": "atm_2A05",
      "description": "APCO Albury",
      "address1": "997 Mate Street",
      "suburb": "Albury",
      "state": "NSW",
      "postcode": "2640",
      "latitude": -36.0574542,
      "longitude": 146.9326063,
      "hours": "24/7"
    }
  },
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}
{
  "locationDetailResponse": {
    "apiStructType": "atm",
    "atm": {
      "location": "Offsite",
      "isDeposit": false,
      "isDisabilityApproved": false,
      "isAudio": false,
      "source": "NAB ATM",
      "address3": "Petrol Station",
      "id": 5058068,
      "key": "atm_2A05",
      "description": "APCO Albury",
      "address1": "997 Mate Street",
      "suburb": "Albury",
      "state": "NSW",
      "postcode": "2640",
      "latitude": -36.0574542,
      "longitude": 146.9326063,
      "hours": "24/7"
    }
  },
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/location/{key}?v=1

URL Parameters

NameValueDescription
keyLocation KeyThe location key returned as part of the Get Locations API

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus No Response status
locationDetailResponse object(Location Detail Response) No Location Detail response object

Location Detail Response

AttributeTypeMandatoryDescription
apiStructType string Yes This field represents what object will be returned in the payload. I.e. apiStructType of atm will return an atm object.
atm object(Atm) No An ATM object
brc object(Brc) No A Branch object
general object(General) No A general bank object

Atm

AttributeTypeMandatoryDescription
id integer Yes
key string Yes Unique identifier (business defined)
description string No Description of the ATM
address1 string Yes Address Line 1
address2 string No Address Line 2
address3 string No Address Line 3
address4 string No Address Line 4
address5 string No Address Line 5
suburb string Yes Suburb
state string Yes State
postcode string Yes Postcode
latitude number Yes Latitude (in decimal)
longitude number Yes Longitude (in decimal)
lobbyOrTtw string No Lobby (L) or Through the Wall (T)
siteType string No Site type
location string No Location
isDeposit boolean Yes Depository
isDisabilityApproved boolean Yes Disability approved ATM
isAudio boolean Yes Has audio capability
hours string No Hours of operation
source string No ATM Source (BOQ, CUS, NAB)

Brc

AttributeTypeMandatoryDescription
id integer Yes
key string Yes Unique identifier (business defined)
bsb string Yes Bank State Branch (BSB) number
siteName string Yes Site name
description string No Description of this site
address1 string Yes Address Line 1
address2 string No Address Line 2
suburb string Yes Suburb
state string Yes State
postcode string Yes Postcode
isRural booelan Yes Is rural location
latitude number Yes Latitude (in decimal)
longitude number Yes Longitude (in decimal)
hours string No Opening hours
openWeekends boolean No Open on weekends
announcement string No Branch admins can post announcements
hasCoinSwap boolean No Has coin swap facility
coinSwapHours string No Includes opening hours
hasQuickChange boolean No Has quick change facility
quickChangeHours string No Includes opening hours
bbc boolean No Business Banking Centre
expressBusinessDeposit boolean No Express Business deposit facility
hasIntelligentDeposit string No Has Intelligent Deposit facility
intelligentDeposutHours string No Includes opening hours
foreignCurrency boolean No Foreign currency availability
internetBank boolean No Has Internet Banking facilities
financialPlanner boolean No Availability of Financial Planners
financialPlannerLanguage string No Languages understood by Financial Planner
mobileBanker boolean No Has Mobile Banker
mobileBankerLanguage string No Languages understood by Mobile Banker
smallBusinessBankers array[object(Small Business Banker)] No Array of small business banker objects

Small Business Banker

AttributeTypeMandatoryDescription
name string No Name
key string No Location key

General

AttributeTypeMandatoryDescription
id integer Yes
key string Yes Unique identifier (business defined)
bsb string No Bank State Branch (BSB) number
type string Yes Type of general facility. E.g. ksk, bbc, agn, abc, hbc
description string No Description of the facility
address1 string Yes Address Line 1
address2 string No Address Line 2
suburb string Yes Suburb
state string Yes State
postcode string Yes Postcode
phone string No Telephone Number
latitude number Yes Latitude (in decimal)
longitude number Yes Longitude (in decimal)
hours string No Hours of operation
industry string No Type of industry
website string No Website

FX

Provides a list of all known buy and sell rates for available currency pairs.

Reference

Get List of Foreign Exchange Rates

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/fxrates?v=1

Response

{
  "fxRatesResponse": {
    "fxRates": [
      {
        "buyCurrency": "USD",
        "sellCurrency": "AUD",
        "currentBuyRate": "0.76456",
        "currentSellRate": "0.72229",
        "previousBuyRate": "0.76456",
        "previousSellRate": "0.72229"
      },
      {
        "buyCurrency": "NZD",
        "sellCurrency": "AUD",
        "currentBuyRate": "0.86456",
        "currentSellRate": "0.82229",
        "previousBuyRate": "0.86456",
        "previousSellRate": "0.82229"
      }
    ],
    "lastUpdatedDate": "2015-12-15T15:43:00Z"
  },
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}
{
  "fxRatesResponse": {
    "fxRates": [
      {
        "buyCurrency": "USD",
        "sellCurrency": "AUD",
        "currentBuyRate": "0.76456",
        "currentSellRate": "0.72229",
        "previousBuyRate": "0.76456",
        "previousSellRate": "0.72229"
      },
      {
        "buyCurrency": "NZD",
        "sellCurrency": "AUD",
        "currentBuyRate": "0.86456",
        "currentSellRate": "0.82229",
        "previousBuyRate": "0.86456",
        "previousSellRate": "0.82229"
      }
    ],
    "lastUpdatedDate": "2015-12-15T15:43:00Z"
  },
  "status": {
    "code": "API-200",
    "message": "Success"
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/fxrates?v=1

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
fxRatesResponse object(Fx Rates Response) No fxRates response object

Fx Rates Response

AttributeTypeMandatoryDescription
fxRates array[object(Fx Rate)] Yes Array of fxRate objects
lastUpdatedDate APIDateTimeUTCString Yes The date the rates were updated (in UTC format).

Fx Rate

AttributeTypeMandatoryDescription
buyCurrency APICurrencyString Yes Currency to buy.
sellCurrency APICurrencyString Yes Currency to sell.
currentBuyRate APIRateString Yes Current buy rate.
currentSellRate APIRateString Yes Current sell rate.
previousBuyRate APIRateString Yes Previous buy rate.
previousSellRate APIRateString Yes Previous sell rate.

Health

Demographics

Practitioners

Referrals

Reference

Get Demographics by Age Group

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/health/demographics/{postCode}?ageGroup={ageGroup}&v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "demographics": {
    "postCode": "3068",
    "populationPercentage": "10"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "demographics": {
    "postCode": "3068",
    "populationPercentage": "10"
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/health/demographics/{postCode}?ageGroup={ageGroup}&v=1

URL Parameters

NameValueDescription
postCodePost CodeThe post code (Aus and NZ only) for which to get the demographics information about

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1
ageGroup The age group for which to get the demographics information about Yes 1-10, 11-20, 21-30, 31-40, 41-50, 51-60, 61-70, 71-100
privateHealthCover Private Health Cover Flag No true, false

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
demographics object(Demographic) Yes

Demographic

AttributeTypeMandatoryDescription
postCode APIPostCodeString Yes The postcode (Aus and NZ only) queried for.
populationPercentage APIPositiveInteger Yes Percentage of the population in this age group and postcode area

Get Demographics by Household Income Range

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/health/demographics/{postCode}?householdincomeRange={householdincomeRange}&v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "demographics": {
    "postCode": "3068",
    "populationPercentage": "10"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "demographics": {
    "postCode": "3068",
    "populationPercentage": "10"
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/health/demographics/{postCode}?householdincomeRange={householdincomeRange}&v=1

URL Parameters

NameValueDescription
postCodePost CodeThe post code (Aus and NZ only) for which to get the demographics information about

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1
householdincomeRange The average household incomer range for which to get the demographics information about. Example 30000-60000 Yes
privateHealthCover Private Health Cover Flag No true, false

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
demographics object(Demographic) Yes

Demographic

AttributeTypeMandatoryDescription
postCode APIPostCodeString Yes The postcode (Aus and NZ only) queried for.
populationPercentage APIPositiveInteger Yes Percentage of the population in this income range and postcode area

Get List of Practitioners

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/health/practitioners/{postCode}?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "practitionersResponse": {
    "postCode": "3008",
    "practitioners": [
      {
        "id": "3008",
        "name": "practitioner1",
        "profession": "GP",
        "suburb": "suburb"
      }
    ]
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "practitionersResponse": {
    "postCode": "3008",
    "practitioners": [
      {
        "id": "3008",
        "name": "practitioner1",
        "profession": "GP",
        "suburb": "suburb"
      }
    ]
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/health/practitioners/{postCode}?v=1

URL Parameters

NameValueDescription
postCodePost CodeThe post code for which to get the list of practitioners for

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1
profession Filter results by profession No

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
practitionersResponse object(Practitioners Response) Yes

Practitioners Response

AttributeTypeMandatoryDescription
postCode APIPostCodeString Yes The queried postcode
practitioners array[object(Practitioner)] Yes List of practioners

Practitioner

AttributeTypeMandatoryDescription
id string Yes Practitioners Id
name string Yes Practitioners Name
profession string Yes Practitioners Profession
suburb string Yes Practitioners suburb

Get Practitioner’s Registration Status

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/health/practitioner/{id}/registrationStatus?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "practitioner": {
    "id": "3068",
    "registrationStatus": "10"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "practitioner": {
    "id": "3068",
    "registrationStatus": "10"
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/health/practitioner/{id}/registrationStatus?v=1

URL Parameters

NameValueDescription
idPractioner idThe Practioner’s id retrieved from Get List of Practitioners

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
practitioner object(Practitioner) Yes

Practitioner

AttributeTypeMandatoryDescription
id integer Yes Practitioners Id
registrationStatus string Yes Registration Status

Get Practitioner’s Registration Date

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/health/practitioner/{id}/registrationDate?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "practitioner": {
    "id": "3068",
    "registrationExpiryDate": "12-12-2013"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "practitioner": {
    "id": "3068",
    "registrationExpiryDate": "12-12-2013"
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/health/practitioner/{id}/registrationDate?v=1

URL Parameters

NameValueDescription
idPractioner idThe Practioner’s id retrieved from Get List of Practitioners

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
practitioner object(Practitioner) Yes

Practitioner

AttributeTypeMandatoryDescription
id integer Yes Practitioners Id
registrationDate APIDateISOString Yes Practitioners first registration date

Get Practitioner’s Registration Expiry Date

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/health/practitioner/{id}/registrationExpiryDate?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "practitioner": {
    "id": "3068",
    "registrationExpiryDate": "12-12-2013"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "practitioner": {
    "id": "3068",
    "registrationExpiryDate": "12-12-2013"
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/health/practitioner/{id}/registrationExpiryDate?v=1

URL Parameters

NameValueDescription
idPractioner idThe Practioner’s id retrieved from Get List of Practitioners

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
practitioner object(Practitioner) Yes

Practitioner

AttributeTypeMandatoryDescription
id integer Yes Practitioners Id
registrationExpiryDate APIDateISOString Yes Practitioners Registration Expiry Date

Get Practitioner’s Registration Condition

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/health/practitioner/{id}/registrationCondition?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "practitioner": {
    "id": "3068",
    "registrationCondition": "none"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "practitioner": {
    "id": "3068",
    "registrationCondition": "none"
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/health/practitioner/{id}/registrationCondition?v=1

URL Parameters

NameValueDescription
idPractioner idThe Practioner’s id retrieved from Get List of Practitioners

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
practitioner object(Practitioner) Yes

Practitioner

AttributeTypeMandatoryDescription
id integer Yes Practitioners Id
registrationCondition string Yes Practitioners Registration Condition

Get Practitioner’s Suburb

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/health/practitioner/{id}/suburb?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "practitioner": {
    "id": "3068",
    "suburb": "Chelsea",
    "postcode": "3008"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "practitioner": {
    "id": "3068",
    "suburb": "Chelsea",
    "postcode": "3008"
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/health/practitioner/{id}/suburb?v=1

URL Parameters

NameValueDescription
idPractioner idThe Practioner’s id retrieved from Get List of Practitioners

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
practitioner object(Practitioner) Yes

Practitioner

AttributeTypeMandatoryDescription
id integer Yes Practitioners Id
suburb string No Suburb of Practitioners principal practice
postcode APIPostCodeString No Post Code of Practitioners principal practice

Get Practitioner’s Language

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/health/practitioner/{id}/language?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "practitioner": {
    "id": "3068",
    "language": [
      "Indonesian"
    ]
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "practitioner": {
    "id": "3068",
    "language": [
      "Indonesian"
    ]
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/health/practitioner/{id}/language?v=1

URL Parameters

NameValueDescription
idPractioner idThe Practioner’s id retrieved from Get List of Practitioners

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
practitioner object(Practitioner) Yes

Practitioner

AttributeTypeMandatoryDescription
id integer Yes Practitioners Id
language array[string] Yes Languages spoken by the practioner

Get Practitioner’s Gender

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/health/practitioner/{id}/gender?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "practitioner": {
    "id": "3068",
    "gender": "Female"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "practitioner": {
    "id": "3068",
    "gender": "Female"
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/health/practitioner/{id}/gender?v=1

URL Parameters

NameValueDescription
idPractioner idThe Practioner’s id retrieved from Get List of Practitioners

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
practitioner object(Practitioner) Yes

Practitioner

AttributeTypeMandatoryDescription
id integer Yes Practitioners Id
gender string Yes The gender of the practioner

Get Referrals by Post Code

Request

curl \\
    -X GET \\
    https://hackathon.api.extnp.nab.com.au/v2/health/referrals/{postCode}?v=1

Response

{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "referralsResponse": {
    "postCode": "3068",
    "numberOfReferrals": "10"
  }
}
{
  "status": {
    "code": "API-200",
    "message": "Success"
  },
  "referralsResponse": {
    "postCode": "3068",
    "numberOfReferrals": "10"
  }
}

GET https://hackathon.api.extnp.nab.com.au/v2/health/referrals/{postCode}?v=1

URL Parameters

NameValueDescription
postCodePost CodeThe post code for which to get the referral information about

Query Parameters

NameDescriptionMandatoryValue
v Version Yes 1
profession Filter results for a particular profession No
month Filter results for a particular month No 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

Response

Schema

AttributeTypeMandatoryDescription
status APIStatus Yes Response status
referralsResponse object(Referrals Response) No

Referrals Response

AttributeTypeMandatoryDescription
postCode APIPostCodeString Yes The queried postcode
numberOfReferrals APIPositiveInteger Yes Number of Referrals