CDR Experimantal Simple Bank Account Origination API v1.0.0

Scroll down for example requests and responses.

Specification of endpoints defined in the Simple Bank Account Origination experimental standard. This is an experimental standard created by the Data Standards Body (DSB) as part of the Consumer Data Standards

Base URLs:

Email: Consumer Data Standards Web: Consumer Data Standards License: MIT License

Banking

getOriginationScheme #

Code samples

GET /DSB/banking/origination/schemes/{schemeId}

Obtain the meta data describing how to make an application for a family of products.

Parameters

Name In Type Required Description
schemeId path string true Obtain the details of a specific origination scheme.
x-v header string true Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between x-min-v and x-v. If the value of x-min-v is equal to or higher than the value of x-v then the x-min-v header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See HTTP Headers
x-min-v header string false Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between x-min-v and x-v. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.

Example responses

200 Response

{
  "data": {
    "schemeUType": "lixi",
    "lixi": {
      "submissionUri": "string",
      "schemaUri": "string",
      "lixiCode": "string",
      "lixiVersion": "string",
      "lixiCustomVersion": "string",
      "productCodeMappings": [
        {
          "productId": "string",
          "productCode": "string"
        }
      ],
      "schematronUri": "string",
      "apiSpecificationUri": "string",
      "additionalInfoUri": "string"
    },
    "cdrApplyForBankAccountV1": {
      "version": "string",
      "minVersion": "string",
      "dataRequirements": {
        "v1": {
          "referrer": {
            "requirement": "REQUIRED",
            "confirmNeedsAnalysisConducted": {
              "requirement": "REQUIRED"
            },
            "confirmTargetMarketAssessed": {
              "requirement": "REQUIRED"
            },
            "confirmTerms": {
              "requirement": "REQUIRED",
              "terms": [
                {
                  "displayName": "string",
                  "termId": "string",
                  "uri": "string",
                  "mimeType": "string"
                }
              ]
            }
          },
          "applicants": {
            "requirement": "REQUIRED"
          },
          "products": {
            "requirement": "REQUIRED"
          },
          "income": {
            "requirement": "REQUIRED"
          },
          "expenses": {
            "requirement": "REQUIRED"
          },
          "assets": {
            "requirement": "REQUIRED"
          },
          "liabilities": {
            "requirement": "REQUIRED"
          },
          "cdrData": {
            "requirement": "REQUIRED",
            "cdrAccounts": {
              "requirement": "REQUIRED"
            },
            "cdrAccountDetails": {
              "requirement": "REQUIRED"
            },
            "cdrBalances": {
              "requirement": "REQUIRED"
            },
            "cdrTransactions": {
              "requirement": "REQUIRED"
            },
            "cdrCustomerDetails": {
              "requirement": "REQUIRED"
            }
          }
        }
      }
    }
  },
  "links": {
    "self": "string"
  },
  "meta": {}
}

Responses

Status Meaning Description Schema
200 OK Successful response OriginationSchemeResponseV1
400 Bad Request The following error codes MUST be supported:
ResponseErrorListV2
406 Not Acceptable The following error codes MUST be supported:
ResponseErrorListV2
422 Unprocessable Entity The following error codes MUST be supported:
ResponseErrorListV2

Response Headers #

Status Header Type Format Description
200 x-v string none

applyForAccount #

Code samples

POST /DSB/banking/accounts

Submit an application, on behalf of a consumer, to apply for an account to be originated.

Body parameter

{
  "data": {
    "referrer": {
      "agent": {
        "name": "string",
        "phoneNumber": "string",
        "email": "string"
      },
      "accreditation": null,
      "holderSpecificDetails": {},
      "assertions": {
        "confirmNeedsAnalysisConducted": true,
        "confirmTargetMarketAssessed": true,
        "confirmTerms": {
          "confirmed": true,
          "termId": "string"
        }
      }
    },
    "applicants": {
      "primary": {
        "applicantId": "string",
        "name": "string",
        "email": "string",
        "phone": "string",
        "address": "string",
        "livingArrangements": "OWNER",
        "employment": "FULL_TIME",
        "taxRegistration": {
          "australia": {
            "tfn": "string"
          },
          "otherCountries": [
            {
              "country": "string",
              "tin": "string",
              "reasonForNoTin": "UNABLE_TO_OBTAIN"
            }
          ]
        },
        "proof": {
          "auDriversLicense": {
            "licenseNumber": "string",
            "stateOfIssue": "ACT",
            "cardNumber": "string"
          },
          "medicareCard": {
            "colour": "GREEN",
            "cardNumber": "string",
            "referenceNumber": "string"
          },
          "auPassport": {
            "documentNumber": "string",
            "expiryDate": "string"
          },
          "internationalPassport": {
            "documentNumber": "string",
            "country": "string"
          },
          "visa": {
            "trn": "string",
            "evidenceNumber": "string",
            "grantNumber": "string"
          }
        }
      },
      "secondary": [
        {
          "applicantId": "string",
          "name": "string",
          "email": "string",
          "phone": "string",
          "address": "string",
          "livingArrangements": "OWNER",
          "employment": "FULL_TIME",
          "taxRegistration": {
            "australia": {
              "tfn": "string"
            },
            "otherCountries": [
              {
                "country": "string",
                "tin": "string",
                "reasonForNoTin": "UNABLE_TO_OBTAIN"
              }
            ]
          },
          "proof": {
            "auDriversLicense": {
              "licenseNumber": "string",
              "stateOfIssue": "ACT",
              "cardNumber": "string"
            },
            "medicareCard": {
              "colour": "GREEN",
              "cardNumber": "string",
              "referenceNumber": "string"
            },
            "auPassport": {
              "documentNumber": "string",
              "expiryDate": "string"
            },
            "internationalPassport": {
              "documentNumber": "string",
              "country": "string"
            },
            "visa": {
              "trn": "string",
              "evidenceNumber": "string",
              "grantNumber": "string"
            }
          }
        }
      ]
    },
    "products": [
      {
        "productId": "string",
        "homeLoan": {
          "repaymentType": "INTEREST_ONLY",
          "loanPurpose": "INVESTMENT",
          "term": 0,
          "amount": 0,
          "propertyValue": 0,
          "propertyAddress": "string"
        },
        "termDeposit": {
          "term": 0,
          "amount": 0
        },
        "personalLoan": {
          "repaymentType": "INTEREST_ONLY",
          "loanPurpose": "string",
          "term": 0,
          "amount": 0
        },
        "creditCard": {
          "limit": "string",
          "balanceTransfer": 0
        }
      }
    ],
    "income": [
      {
        "applicantIds": [
          "string"
        ],
        "income": {
          "properties": [
            {
              "type": "SALARY",
              "value": null,
              "period": "WEEKLY"
            }
          ]
        }
      }
    ],
    "expenses": [
      {
        "applicantIds": [
          "string"
        ],
        "expenses": {
          "properties": [
            {
              "type": "OTHER_ACCOMMODATION",
              "value": null,
              "period": "WEEKLY"
            }
          ]
        }
      }
    ],
    "assets": [
      {
        "applicantIds": [
          "string"
        ],
        "assets": {
          "properties": [
            {
              "address": "string",
              "estimatedValue": 0
            }
          ],
          "savings": {
            "valueHeldHere": 0,
            "estimatedValue": 0
          },
          "other": [
            {
              "description": "string",
              "estimatedValue": 0
            }
          ]
        }
      }
    ],
    "liabilities": [
      {
        "applicantIds": [
          "string"
        ],
        "liabilities": {
          "mortgages": {
            "balanceHere": 0,
            "balanceElsewhere": 0
          },
          "creditCards": {
            "balanceHere": 0,
            "balanceElsewhere": 0
          },
          "personalLoans": {
            "balanceHere": 0,
            "balanceElsewhere": 0
          },
          "linesOfCredit": {
            "balanceHere": 0,
            "balanceElsewhere": 0
          },
          "other": {
            "balanceHere": 0,
            "balanceElsewhere": 0
          }
        }
      }
    ],
    "cdrData": {
      "cdrAccounts": [
        {
          "applicantId": "string",
          "v": "string",
          "dataHolderBrandId": "string",
          "data": {}
        }
      ],
      "cdrAccountDetails": [
        {
          "applicantId": "string",
          "v": "string",
          "dataHolderBrandId": "string",
          "data": {}
        }
      ],
      "cdrBalances": [
        {
          "applicantId": "string",
          "v": "string",
          "dataHolderBrandId": "string",
          "data": {}
        }
      ],
      "cdrTransactions": [
        {
          "applicantId": "string",
          "v": "string",
          "dataHolderBrandId": "string",
          "data": {}
        }
      ],
      "cdrCustomerDetails": [
        {
          "applicantId": "string",
          "v": "string",
          "dataHolderBrandId": "string",
          "data": {}
        }
      ]
    }
  },
  "meta": {}
}

Parameters

Name In Type Required Description
x-v header string true Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between x-min-v and x-v. If the value of x-min-v is equal to or higher than the value of x-v then the x-min-v header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See HTTP Headers
x-min-v header string false Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between x-min-v and x-v. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable.
body body ApplyForBankAccountRequestV1 true Application data provided in accordance to a defined origination scheme

Example responses

200 Response

{
  "data": {
    "applicationStatus": "REJECTED",
    "applicationId": "string",
    "nextStep": "NONE",
    "rejectionReasons": [
      {
        "code": "REFERRER_UNKNOWN",
        "message": "string",
        "detail": {
          "property1": "string",
          "property2": "string"
        },
        "mimeType": "string"
      }
    ],
    "redirectUri": "string",
    "applicantMessage": "string"
  },
  "links": {
    "self": "string"
  },
  "meta": {}
}

Responses

Status Meaning Description Schema
200 OK Successful response ApplyForBankAccountResponseV1
400 Bad Request The following error codes MUST be supported:
ResponseErrorListV2
406 Not Acceptable The following error codes MUST be supported:
ResponseErrorListV2
422 Unprocessable Entity The following error codes MUST be supported:
ResponseErrorListV2

Response Headers #

Status Header Type Format Description
200 x-v string none

Schemas #

ApplyForBankAccountRequestV1

{
  "data": {
    "referrer": {
      "agent": {
        "name": "string",
        "phoneNumber": "string",
        "email": "string"
      },
      "accreditation": null,
      "holderSpecificDetails": {},
      "assertions": {
        "confirmNeedsAnalysisConducted": true,
        "confirmTargetMarketAssessed": true,
        "confirmTerms": {
          "confirmed": true,
          "termId": "string"
        }
      }
    },
    "applicants": {
      "primary": {
        "applicantId": "string",
        "name": "string",
        "email": "string",
        "phone": "string",
        "address": "string",
        "livingArrangements": "OWNER",
        "employment": "FULL_TIME",
        "taxRegistration": {
          "australia": {
            "tfn": "string"
          },
          "otherCountries": [
            {
              "country": "string",
              "tin": "string",
              "reasonForNoTin": "UNABLE_TO_OBTAIN"
            }
          ]
        },
        "proof": {
          "auDriversLicense": {
            "licenseNumber": "string",
            "stateOfIssue": "ACT",
            "cardNumber": "string"
          },
          "medicareCard": {
            "colour": "GREEN",
            "cardNumber": "string",
            "referenceNumber": "string"
          },
          "auPassport": {
            "documentNumber": "string",
            "expiryDate": "string"
          },
          "internationalPassport": {
            "documentNumber": "string",
            "country": "string"
          },
          "visa": {
            "trn": "string",
            "evidenceNumber": "string",
            "grantNumber": "string"
          }
        }
      },
      "secondary": [
        {
          "applicantId": "string",
          "name": "string",
          "email": "string",
          "phone": "string",
          "address": "string",
          "livingArrangements": "OWNER",
          "employment": "FULL_TIME",
          "taxRegistration": {
            "australia": {
              "tfn": "string"
            },
            "otherCountries": [
              {
                "country": "string",
                "tin": "string",
                "reasonForNoTin": "UNABLE_TO_OBTAIN"
              }
            ]
          },
          "proof": {
            "auDriversLicense": {
              "licenseNumber": "string",
              "stateOfIssue": "ACT",
              "cardNumber": "string"
            },
            "medicareCard": {
              "colour": "GREEN",
              "cardNumber": "string",
              "referenceNumber": "string"
            },
            "auPassport": {
              "documentNumber": "string",
              "expiryDate": "string"
            },
            "internationalPassport": {
              "documentNumber": "string",
              "country": "string"
            },
            "visa": {
              "trn": "string",
              "evidenceNumber": "string",
              "grantNumber": "string"
            }
          }
        }
      ]
    },
    "products": [
      {
        "productId": "string",
        "homeLoan": {
          "repaymentType": "INTEREST_ONLY",
          "loanPurpose": "INVESTMENT",
          "term": 0,
          "amount": 0,
          "propertyValue": 0,
          "propertyAddress": "string"
        },
        "termDeposit": {
          "term": 0,
          "amount": 0
        },
        "personalLoan": {
          "repaymentType": "INTEREST_ONLY",
          "loanPurpose": "string",
          "term": 0,
          "amount": 0
        },
        "creditCard": {
          "limit": "string",
          "balanceTransfer": 0
        }
      }
    ],
    "income": [
      {
        "applicantIds": [
          "string"
        ],
        "income": {
          "properties": [
            {
              "type": "SALARY",
              "value": null,
              "period": "WEEKLY"
            }
          ]
        }
      }
    ],
    "expenses": [
      {
        "applicantIds": [
          "string"
        ],
        "expenses": {
          "properties": [
            {
              "type": "OTHER_ACCOMMODATION",
              "value": null,
              "period": "WEEKLY"
            }
          ]
        }
      }
    ],
    "assets": [
      {
        "applicantIds": [
          "string"
        ],
        "assets": {
          "properties": [
            {
              "address": "string",
              "estimatedValue": 0
            }
          ],
          "savings": {
            "valueHeldHere": 0,
            "estimatedValue": 0
          },
          "other": [
            {
              "description": "string",
              "estimatedValue": 0
            }
          ]
        }
      }
    ],
    "liabilities": [
      {
        "applicantIds": [
          "string"
        ],
        "liabilities": {
          "mortgages": {
            "balanceHere": 0,
            "balanceElsewhere": 0
          },
          "creditCards": {
            "balanceHere": 0,
            "balanceElsewhere": 0
          },
          "personalLoans": {
            "balanceHere": 0,
            "balanceElsewhere": 0
          },
          "linesOfCredit": {
            "balanceHere": 0,
            "balanceElsewhere": 0
          },
          "other": {
            "balanceHere": 0,
            "balanceElsewhere": 0
          }
        }
      }
    ],
    "cdrData": {
      "cdrAccounts": [
        {
          "applicantId": "string",
          "v": "string",
          "dataHolderBrandId": "string",
          "data": {}
        }
      ],
      "cdrAccountDetails": [
        {
          "applicantId": "string",
          "v": "string",
          "dataHolderBrandId": "string",
          "data": {}
        }
      ],
      "cdrBalances": [
        {
          "applicantId": "string",
          "v": "string",
          "dataHolderBrandId": "string",
          "data": {}
        }
      ],
      "cdrTransactions": [
        {
          "applicantId": "string",
          "v": "string",
          "dataHolderBrandId": "string",
          "data": {}
        }
      ],
      "cdrCustomerDetails": [
        {
          "applicantId": "string",
          "v": "string",
          "dataHolderBrandId": "string",
          "data": {}
        }
      ]
    }
  },
  "meta": {}
}

Properties #

Name Type Required Restrictions Description
data object true none none
» referrer ReferrerModelV1 false none Details of the application referrer
» applicants ApplicantsModelV1 false none The primary applicant for this application
» products ProductsModelV1 false none The details of the products being applied for
» income IncomeModelV1 false none Array of income for one or more applicants
» expenses ExpensesModelV1 false none Array of expenses for one or more applicants
» assets AssetsModelV1 false none Array of assets for one or more applicants
» liabilities LiabilitiesModelV1 false none Array of liabilities for one or more applicants
» cdrData object false none none
»» cdrAccounts [CdrPayloadModelV1] false none Array of summary account data for an applicant obtained from the CDR
»» cdrAccountDetails [CdrPayloadModelV1] false none Array of detailed account data for an applicant obtained from the CDR
»» cdrBalances [CdrPayloadModelV1] false none Array of account balance data for an applicant obtained from the CDR
»» cdrTransactions [CdrPayloadModelV1] false none Array of transaction data for an applicant obtained from the CDR
»» cdrCustomerDetails [CdrPayloadModelV1] false none Array of customer detail data for an applicant obtained from the CDR
meta Meta true none none

OriginationSchemeResponseV1

{
  "data": {
    "schemeUType": "lixi",
    "lixi": {
      "submissionUri": "string",
      "schemaUri": "string",
      "lixiCode": "string",
      "lixiVersion": "string",
      "lixiCustomVersion": "string",
      "productCodeMappings": [
        {
          "productId": "string",
          "productCode": "string"
        }
      ],
      "schematronUri": "string",
      "apiSpecificationUri": "string",
      "additionalInfoUri": "string"
    },
    "cdrApplyForBankAccountV1": {
      "version": "string",
      "minVersion": "string",
      "dataRequirements": {
        "v1": {
          "referrer": {
            "requirement": "REQUIRED",
            "confirmNeedsAnalysisConducted": {
              "requirement": "REQUIRED"
            },
            "confirmTargetMarketAssessed": {
              "requirement": "REQUIRED"
            },
            "confirmTerms": {
              "requirement": "REQUIRED",
              "terms": [
                {
                  "displayName": "string",
                  "termId": "string",
                  "uri": "string",
                  "mimeType": "string"
                }
              ]
            }
          },
          "applicants": {
            "requirement": "REQUIRED"
          },
          "products": {
            "requirement": "REQUIRED"
          },
          "income": {
            "requirement": "REQUIRED"
          },
          "expenses": {
            "requirement": "REQUIRED"
          },
          "assets": {
            "requirement": "REQUIRED"
          },
          "liabilities": {
            "requirement": "REQUIRED"
          },
          "cdrData": {
            "requirement": "REQUIRED",
            "cdrAccounts": {
              "requirement": "REQUIRED"
            },
            "cdrAccountDetails": {
              "requirement": "REQUIRED"
            },
            "cdrBalances": {
              "requirement": "REQUIRED"
            },
            "cdrTransactions": {
              "requirement": "REQUIRED"
            },
            "cdrCustomerDetails": {
              "requirement": "REQUIRED"
            }
          }
        }
      }
    }
  },
  "links": {
    "self": "string"
  },
  "meta": {}
}

Properties #

Name Type Required Restrictions Description
data object true none none
» schemeUType string true none The type of origination scheme represented
» lixi LixiOriginationSchemeModelV1 false none Provides the metadata for making an application using a LIXI gateway. Mandatory if schemeUType is set to ‘lixi’
» cdrApplyForBankAccountV1 CdrOriginationSchemeModelV1 false none Provides the metadata for making an application using version 1 of the CDR ‘Apply For Bank Account’ endpoint. Mandatory if schemeUType is set to ‘cdrApplyForBankAccountV1’
links Links true none none
meta Meta true none none

Enumerated Values #

Property Value
schemeUType lixi
schemeUType cdrApplyForBankAccountV1

ApplyForBankAccountResponseV1

{
  "data": {
    "applicationStatus": "REJECTED",
    "applicationId": "string",
    "nextStep": "NONE",
    "rejectionReasons": [
      {
        "code": "REFERRER_UNKNOWN",
        "message": "string",
        "detail": {
          "property1": "string",
          "property2": "string"
        },
        "mimeType": "string"
      }
    ],
    "redirectUri": "string",
    "applicantMessage": "string"
  },
  "links": {
    "self": "string"
  },
  "meta": {}
}

Properties #

Name Type Required Restrictions Description
data object true none none
» applicationStatus string true none The status of the application
» applicationId string true none Unique reference for this application
» nextStep string false none The next step that will be taken for this applicagtion
» rejectionReasons [RejectionReasonModelV1] false none Array of reasons that the application was rejected that need to be rectified before the application will be accepted
» redirectUri string false none A web page that the customer should be directed to so that the application can be continued
» applicantMessage string false none An optional message that can be displayed to the applicant to describe the next steps
links Links true none none
meta Meta true none none

Enumerated Values #

Property Value
applicationStatus REJECTED
applicationStatus ACCEPTED_COMPLETE
applicationStatus ACCEPTED_INCOMPLETE
applicationStatus PENDING_REVIEW
applicationStatus ACCOUNT_CREATED
nextStep NONE
nextStep APPLICANT_CONTACT
nextStep REDIRECT

ResponseErrorListV2

{
  "errors": [
    {
      "code": "string",
      "title": "string",
      "detail": "string",
      "meta": {
        "urn": "string"
      }
    }
  ]
}

Properties #

Name Type Required Restrictions Description
errors [object] true none none
» code string true none The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the meta object. Otherwise, the value is the error code URN.
» title string true none A short, human-readable summary of the problem that MUST NOT change from occurrence to occurrence of the problem represented by the error code.
» detail string true none A human-readable explanation specific to this occurrence of the problem.
» meta MetaError false none Additional data for customised error codes

LixiOriginationSchemeModelV1

{
  "submissionUri": "string",
  "schemaUri": "string",
  "lixiCode": "string",
  "lixiVersion": "string",
  "lixiCustomVersion": "string",
  "productCodeMappings": [
    {
      "productId": "string",
      "productCode": "string"
    }
  ],
  "schematronUri": "string",
  "apiSpecificationUri": "string",
  "additionalInfoUri": "string"
}

Provides the metadata for making an application using a LIXI gateway. Mandatory if schemeUType is set to ‘lixi’

Properties #

Name Type Required Restrictions Description
submissionUri string true none Base path used to access the LIXI gateway
schemaUri string false none Location of file describing the supported LIXI schema. Must be a file ending in .xsd (representing an XSD file) or .json (representing a JSON Schema file)
lixiCode string true none The LIXI participant code, assigned by LIXI, for the receiving organisation
lixiVersion string true none The supported version of the LIXI schema
lixiCustomVersion string false none Optional identifier of a custom version of the LIXI payloads that are accepted if the receiving organisation has made custom extensions or modifications to the LIXI schema
productCodeMappings [object] false none Optional mapping of CDR product IDs to product codes used in LIXI applications via this origination scheme. If absent, or if a mapping is not included, then the CDR product ID is expected to be used as the LIXI product code
» productId string true none The CDR product ID to map from
» productCode string true none The LIXI product code to map to
schematronUri string false none Optional reference to a Schematron file indicating the valid use of this LIXI gateway
apiSpecificationUri string false none Optional reference to an Open API Specification file describing the submission API
additionalInfoUri string false none Optional reference to a web page with additional documention describing the use of the LIXI gateway

CdrOriginationSchemeModelV1

{
  "version": "string",
  "minVersion": "string",
  "dataRequirements": {
    "v1": {
      "referrer": {
        "requirement": "REQUIRED",
        "confirmNeedsAnalysisConducted": {
          "requirement": "REQUIRED"
        },
        "confirmTargetMarketAssessed": {
          "requirement": "REQUIRED"
        },
        "confirmTerms": {
          "requirement": "REQUIRED",
          "terms": [
            {
              "displayName": "string",
              "termId": "string",
              "uri": "string",
              "mimeType": "string"
            }
          ]
        }
      },
      "applicants": {
        "requirement": "REQUIRED"
      },
      "products": {
        "requirement": "REQUIRED"
      },
      "income": {
        "requirement": "REQUIRED"
      },
      "expenses": {
        "requirement": "REQUIRED"
      },
      "assets": {
        "requirement": "REQUIRED"
      },
      "liabilities": {
        "requirement": "REQUIRED"
      },
      "cdrData": {
        "requirement": "REQUIRED",
        "cdrAccounts": {
          "requirement": "REQUIRED"
        },
        "cdrAccountDetails": {
          "requirement": "REQUIRED"
        },
        "cdrBalances": {
          "requirement": "REQUIRED"
        },
        "cdrTransactions": {
          "requirement": "REQUIRED"
        },
        "cdrCustomerDetails": {
          "requirement": "REQUIRED"
        }
      }
    }
  }
}

Provides the metadata for making an application using version 1 of the CDR ‘Apply For Bank Account’ endpoint. Mandatory if schemeUType is set to ‘cdrApplyForBankAccountV1’

Properties #

Name Type Required Restrictions Description
version string true none none
minVersion string false none The lowest version of the Apply For Bank Account endpoint currently supported if different from version
dataRequirements object true none The data objects supported by the Apply For Bank Account that are expected to be populated for this origination scheme, specified according to endpoint version. An entry for each version between version and minVersion (inclusive) is expected to be included
» v1 object false none Data requirements when calling v1 of the Apply For Bank Account endpoint
»» referrer any false none none

allOf

Name Type Required Restrictions Description
»»» anonymous DataRequirementModelV1 false none none

and

Name Type Required Restrictions Description
»»» anonymous object false none none
»»»» confirmNeedsAnalysisConducted DataRequirementModelV1 false none none
»»»» confirmTargetMarketAssessed DataRequirementModelV1 false none none
»»»» confirmTerms any false none none

allOf

Name Type Required Restrictions Description
»»»»» anonymous DataRequirementModelV1 false none none

and

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» terms TermsModelV1 false none One or more statements that the customer must agree to for the origination process to be completed

continued

Name Type Required Restrictions Description
»» applicants DataRequirementModelV1 false none none
»» products DataRequirementModelV1 false none none
»» income DataRequirementModelV1 false none none
»» expenses DataRequirementModelV1 false none none
»» assets DataRequirementModelV1 false none none
»» liabilities DataRequirementModelV1 false none none
»» cdrData any false none none

allOf

Name Type Required Restrictions Description
»»» anonymous DataRequirementModelV1 false none none

and

Name Type Required Restrictions Description
»»» anonymous object false none none
»»»» cdrAccounts DataRequirementModelV1 false none none
»»»» cdrAccountDetails DataRequirementModelV1 false none none
»»»» cdrBalances DataRequirementModelV1 false none none
»»»» cdrTransactions DataRequirementModelV1 false none none
»»»» cdrCustomerDetails DataRequirementModelV1 false none none

DataRequirementModelV1

{
  "requirement": "REQUIRED"
}

Properties #

Name Type Required Restrictions Description
requirement string true none Indicate whether the specific data set or field is required or not for the application. Valid options are:
* REQUIRED - This data set is required for an application to be accepted
* PREFERRED - This data is needed for completion of the origination process but an application will be accepted without it
* OPTIONAL - This data can be accepted but and will assist in the origination process
* NOT_SUPPORTED - This data should not be sent as it will not be used

Enumerated Values #

Property Value
requirement REQUIRED
requirement PREFERRED
requirement OPTIONAL
requirement NOT_SUPPORTED

TermsModelV1

[
  {
    "displayName": "string",
    "termId": "string",
    "uri": "string",
    "mimeType": "string"
  }
]

One or more statements that the customer must agree to for the origination process to be completed

Properties #

Name Type Required Restrictions Description
displayName string true none The display name of the terms to be presented to the customer
termId string true none Unique identifier of the terms to be used to report acceptance
uri string true none Path to the contact for the terms and conditions to present to the customer
mimeType string true none Mime type that the terms will be provided in so that the client can determine how best to display the content to the customer

RejectionReasonModelV1

{
  "code": "REFERRER_UNKNOWN",
  "message": "string",
  "detail": {
    "property1": "string",
    "property2": "string"
  },
  "mimeType": "string"
}

A single reason given to explain the rejection of an application

Properties #

Name Type Required Restrictions Description
code string true none The reason for the rejection
message string true none A message describing the rejection
detail object true none Additional information that is reason type dependent that gives more detail
» additionalProperties string false none none
mimeType string false none Mime type that the terms will be provided in so that the client can determine how best to display the content to the customer

Enumerated Values #

Property Value
code REFERRER_UNKNOWN
code MISSING_DATA
code NOT_ELIGIBLE

ReferrerModelV1

{
  "agent": {
    "name": "string",
    "phoneNumber": "string",
    "email": "string"
  },
  "accreditation": null,
  "holderSpecificDetails": {},
  "assertions": {
    "confirmNeedsAnalysisConducted": true,
    "confirmTargetMarketAssessed": true,
    "confirmTerms": {
      "confirmed": true,
      "termId": "string"
    }
  }
}

Details of the application referrer

Properties #

Name Type Required Restrictions Description
agent object false none Details of the specific agent providing the application
» name string false none Name of the referring agent
» phoneNumber string false none Contact phone number for the referring agent
» email string false none Contact email address of the referring agent
accreditation any false none none
holderSpecificDetails object false none Identifying details specific to, and known by, the data holder receiving the application
assertions object false none Assertions of compliance steps already undertaken
» confirmNeedsAnalysisConducted boolean false none Assertion that the referrer has, or has not, conducted appropriate nedds analysis
» confirmTargetMarketAssessed boolean false none Assertion that the referrer has, or has not, determined that the applicants are included in the target market determinations for the products being applied for
» confirmTerms object false none Confirm that terms and conditions have been shown to, and have been approved by, the primary applicant
»» confirmed boolean true none Assertion that the terms and conditions have been shown to, and have been approved by, the primary applicant
»» termId string true none The specific ID of the terms that have been approved by the applicant (obtained from the origination scheme)

ApplicantsModelV1

{
  "primary": {
    "applicantId": "string",
    "name": "string",
    "email": "string",
    "phone": "string",
    "address": "string",
    "livingArrangements": "OWNER",
    "employment": "FULL_TIME",
    "taxRegistration": {
      "australia": {
        "tfn": "string"
      },
      "otherCountries": [
        {
          "country": "string",
          "tin": "string",
          "reasonForNoTin": "UNABLE_TO_OBTAIN"
        }
      ]
    },
    "proof": {
      "auDriversLicense": {
        "licenseNumber": "string",
        "stateOfIssue": "ACT",
        "cardNumber": "string"
      },
      "medicareCard": {
        "colour": "GREEN",
        "cardNumber": "string",
        "referenceNumber": "string"
      },
      "auPassport": {
        "documentNumber": "string",
        "expiryDate": "string"
      },
      "internationalPassport": {
        "documentNumber": "string",
        "country": "string"
      },
      "visa": {
        "trn": "string",
        "evidenceNumber": "string",
        "grantNumber": "string"
      }
    }
  },
  "secondary": [
    {
      "applicantId": "string",
      "name": "string",
      "email": "string",
      "phone": "string",
      "address": "string",
      "livingArrangements": "OWNER",
      "employment": "FULL_TIME",
      "taxRegistration": {
        "australia": {
          "tfn": "string"
        },
        "otherCountries": [
          {
            "country": "string",
            "tin": "string",
            "reasonForNoTin": "UNABLE_TO_OBTAIN"
          }
        ]
      },
      "proof": {
        "auDriversLicense": {
          "licenseNumber": "string",
          "stateOfIssue": "ACT",
          "cardNumber": "string"
        },
        "medicareCard": {
          "colour": "GREEN",
          "cardNumber": "string",
          "referenceNumber": "string"
        },
        "auPassport": {
          "documentNumber": "string",
          "expiryDate": "string"
        },
        "internationalPassport": {
          "documentNumber": "string",
          "country": "string"
        },
        "visa": {
          "trn": "string",
          "evidenceNumber": "string",
          "grantNumber": "string"
        }
      }
    }
  ]
}

The primary applicant for this application

Properties #

Name Type Required Restrictions Description
primary ApplicantModelV1 true none none
secondary [ApplicantModelV1] false none Array of one or more secondary applicants

ApplicantModelV1

{
  "applicantId": "string",
  "name": "string",
  "email": "string",
  "phone": "string",
  "address": "string",
  "livingArrangements": "OWNER",
  "employment": "FULL_TIME",
  "taxRegistration": {
    "australia": {
      "tfn": "string"
    },
    "otherCountries": [
      {
        "country": "string",
        "tin": "string",
        "reasonForNoTin": "UNABLE_TO_OBTAIN"
      }
    ]
  },
  "proof": {
    "auDriversLicense": {
      "licenseNumber": "string",
      "stateOfIssue": "ACT",
      "cardNumber": "string"
    },
    "medicareCard": {
      "colour": "GREEN",
      "cardNumber": "string",
      "referenceNumber": "string"
    },
    "auPassport": {
      "documentNumber": "string",
      "expiryDate": "string"
    },
    "internationalPassport": {
      "documentNumber": "string",
      "country": "string"
    },
    "visa": {
      "trn": "string",
      "evidenceNumber": "string",
      "grantNumber": "string"
    }
  }
}

Properties #

allOf

Name Type Required Restrictions Description
anonymous object false none A single applicant
» applicantId string true none The ID of this applicant. This ID must be uniuqe in the context of this application but does not need to be globally unique

and

Name Type Required Restrictions Description
anonymous any false none none

oneOf

Name Type Required Restrictions Description
» anonymous IndividualApplicantModelV1 false none A single applicant who is an individual

xor

Name Type Required Restrictions Description
» anonymous OrganisationApplicantModelV1 false none Applicant details for an organisation

IndividualApplicantModelV1

{
  "name": "string",
  "email": "string",
  "phone": "string",
  "address": "string",
  "livingArrangements": "OWNER",
  "employment": "FULL_TIME",
  "taxRegistration": {
    "australia": {
      "tfn": "string"
    },
    "otherCountries": [
      {
        "country": "string",
        "tin": "string",
        "reasonForNoTin": "UNABLE_TO_OBTAIN"
      }
    ]
  },
  "proof": {
    "auDriversLicense": {
      "licenseNumber": "string",
      "stateOfIssue": "ACT",
      "cardNumber": "string"
    },
    "medicareCard": {
      "colour": "GREEN",
      "cardNumber": "string",
      "referenceNumber": "string"
    },
    "auPassport": {
      "documentNumber": "string",
      "expiryDate": "string"
    },
    "internationalPassport": {
      "documentNumber": "string",
      "country": "string"
    },
    "visa": {
      "trn": "string",
      "evidenceNumber": "string",
      "grantNumber": "string"
    }
  }
}

A single applicant who is an individual

Properties #

Name Type Required Restrictions Description
name string true none The name of the applicant
email string false none Email address of the applicant
phone string false none Contact phone number of the applicant
address string true none Address of the applicant
livingArrangements string false none Living arrangements of the applicant
employment string true none Employment status of the applicant
taxRegistration object true none Tax registration of the applicant
» australia object false none Australian tax registration
»» tfn string true none Tax file number of the applicant
» otherCountries [object] false none Array of other countries where the applicant is registered for tax
»» country string true none Country of tax regisration defined using three character ISO country code
»» tin string false none Tax identification number for the registration
»» reasonForNoTin string false none Reason for no TIN, if none is provided
proof object false none Forms of identity proofs provided by the applicant
» auDriversLicense object false none Details of an Australian drivers license
»» licenseNumber string true none License number
»» stateOfIssue string true none Australian state that the license was issued by
»» cardNumber string false none Additional card number, if available
» medicareCard object false none Details of a Medicare card
»» colour string true none Colour of the Medicare card
»» cardNumber string true none Medicare card number
»» referenceNumber string true none Reference number next to the name of the applicant
» auPassport object false none Details of an Australian passport
»» documentNumber string true none The identifying number of the passport
»» expiryDate string true none Date of expiry in RFC3339 full-date format
» internationalPassport object false none Details of an international (non-Australian) passport
»» documentNumber string true none The identifying number of the passport
»» country string true none Country of issue in 3 character ISO format
» visa object false none Details of a visa for entering Australia
»» trn string false none The transaction reference number for the Visa
»» evidenceNumber string false none The evidence number for the Visa
»» grantNumber string false none The grant number for the Visa

Enumerated Values #

Property Value
livingArrangements OWNER
livingArrangements OWNER_WITH_MORTGAGE
livingArrangements RENTING
livingArrangements OTHER
employment FULL_TIME
employment PART_TIME
employment CONTRACT
employment CASUAL
employment TEMP
employment SELF_EMPLOYED
employment NOT_EMPLOYED
reasonForNoTin UNABLE_TO_OBTAIN
reasonForNoTin APPLICATION_IN_PROGRESS
reasonForNoTin NOT_AVAILABLE
stateOfIssue ACT
stateOfIssue NSW
stateOfIssue NT
stateOfIssue QLD
stateOfIssue SA
stateOfIssue TAS
stateOfIssue VIC
stateOfIssue WA
colour GREEN
colour BLUE
colour YELLOW

OrganisationApplicantModelV1

{}

Applicant details for an organisation

Properties #

None

ProductsModelV1

[
  {
    "productId": "string",
    "homeLoan": {
      "repaymentType": "INTEREST_ONLY",
      "loanPurpose": "INVESTMENT",
      "term": 0,
      "amount": 0,
      "propertyValue": 0,
      "propertyAddress": "string"
    },
    "termDeposit": {
      "term": 0,
      "amount": 0
    },
    "personalLoan": {
      "repaymentType": "INTEREST_ONLY",
      "loanPurpose": "string",
      "term": 0,
      "amount": 0
    },
    "creditCard": {
      "limit": "string",
      "balanceTransfer": 0
    }
  }
]

The details of the products being applied for

Properties #

Name Type Required Restrictions Description
productId string true none The ID of the product being applied for as defined in the bank PRD endpoints
homeLoan object false none Additional details if the product is a home loan
» repaymentType string true none Option requested for repayments
» loanPurpose string true none The reason for taking out the loan
» term number true none The length of the loan in months
» amount number true none The amount requested for the loan in AUD
» propertyValue number true none The estimated value of the property to be purchased in AUD
» propertyAddress string false none The address of the property to be purchased, if known
termDeposit object false none Additional details if the product is a term deposit
» term number true none The length of time for the term deposit to be established in months
» amount number true none The amount of savings in AUD
personalLoan object false none Additional details if the product is a personal loan
» repaymentType string true none Option requested for repayments
» loanPurpose string true none The reason for taking out the loan
» term number true none The length of the loan in months
» amount number true none The amount requested for the loan in AUD
creditCard object false none Additional details if the product is a credit card
» limit string true none The limit requested for card
» balanceTransfer number false none The estimated balance, in AUD, to be transferred to the new card once established

Enumerated Values #

Property Value
repaymentType INTEREST_ONLY
repaymentType PRINCIPAL_AND_INTEREST
loanPurpose INVESTMENT
loanPurpose OWNER_OCCUPIED
repaymentType INTEREST_ONLY
repaymentType PRINCIPAL_AND_INTEREST

IncomeModelV1

[
  {
    "applicantIds": [
      "string"
    ],
    "income": {
      "properties": [
        {
          "type": "SALARY",
          "value": null,
          "period": "WEEKLY"
        }
      ]
    }
  }
]

Array of income for one or more applicants

Properties #

Name Type Required Restrictions Description
applicantIds [string] true none The IDs of the applicants that these income items are associated with
income object true none The income associated with the specified applicants
» properties [object] false none Array of income items
»» type string true none The type of income
»» value any false none none
»» period PeriodModelV1 true none The period for income or expense

Enumerated Values #

Property Value
type SALARY
type OVERTIME
type COMMISSION_INCOME
type BONUS_INCOME
type CASUAL_INCOME
type SELF_EMPLOYMENT
type GOV_ALLOWANCE
type CHILD_SUPPORT
type RENTAL_INCOME
type SUPERANNUATION
type ASSET_INCOME
type FOREIGN_INCOME
type DEFENCE_FORCE_INCOME
type OTHER

ExpensesModelV1

[
  {
    "applicantIds": [
      "string"
    ],
    "expenses": {
      "properties": [
        {
          "type": "OTHER_ACCOMMODATION",
          "value": null,
          "period": "WEEKLY"
        }
      ]
    }
  }
]

Array of expenses for one or more applicants

Properties #

Name Type Required Restrictions Description
applicantIds [string] true none The IDs of the applicants that these expenses are associated with
expenses object true none The expenses associated with the specified applicants
» properties [object] false none Array of expenses
»» type string true none The type of expense
»» value any false none none
»» period PeriodModelV1 true none The period for income or expense

Enumerated Values #

Property Value
type OTHER_ACCOMMODATION
type HOUSEHOLD
type UTILITIES
type GROCERIES
type HEALTH
type PERSONAL_INSURANCE
type TRANSPOT_AND_VEHICLES
type TV_AND_COMMS
type PERSONAL
type LIFESTYLE
type CHILDCARE
type PUBLIC_EDUCATION
type PRIVATE_EDUCATION
type FAMILY_MAINTENANCE
type PROFESSIONAL_SERVICES
type OTHER

AssetsModelV1

[
  {
    "applicantIds": [
      "string"
    ],
    "assets": {
      "properties": [
        {
          "address": "string",
          "estimatedValue": 0
        }
      ],
      "savings": {
        "valueHeldHere": 0,
        "estimatedValue": 0
      },
      "other": [
        {
          "description": "string",
          "estimatedValue": 0
        }
      ]
    }
  }
]

Array of assets for one or more applicants

Properties #

Name Type Required Restrictions Description
applicantIds [string] true none The IDs of the applicants that these assets are associated with
assets object true none The assets associated with the specified applicants
» properties [object] false none Array of properties in this asset set
»» address string true none Address of the property
»» estimatedValue number true none Estimated value of the property in AUD
» savings object false none Cash savings held with bank
»» valueHeldHere number true none Cash savings held with the bank the application is being submitted to
»» estimatedValue number false none Cash savings held with other banks
» other [object] false none Array of other assets
»» description string true none Description of the asset
»» estimatedValue number true none Estimated value of the asset in AUD

LiabilitiesModelV1

[
  {
    "applicantIds": [
      "string"
    ],
    "liabilities": {
      "mortgages": {
        "balanceHere": 0,
        "balanceElsewhere": 0
      },
      "creditCards": {
        "balanceHere": 0,
        "balanceElsewhere": 0
      },
      "personalLoans": {
        "balanceHere": 0,
        "balanceElsewhere": 0
      },
      "linesOfCredit": {
        "balanceHere": 0,
        "balanceElsewhere": 0
      },
      "other": {
        "balanceHere": 0,
        "balanceElsewhere": 0
      }
    }
  }
]

Array of liabilities for one or more applicants

Properties #

Name Type Required Restrictions Description
applicantIds [string] true none The IDs of the applicants that these liabilities are associated with
liabilities object true none The liabilities associated with the specified applicants
» mortgages object false none Mortgage balances
»» balanceHere number true none Liability balance with the bank the application is being submitted to
»» balanceElsewhere number true none Liability balance held with other banks
» creditCards object false none Credit card balances
»» balanceHere number true none Liability balance with the bank the application is being submitted to
»» balanceElsewhere number true none Liability balance held with other banks
» personalLoans object false none Personal loan balances
»» balanceHere number true none Liability balance with the bank the application is being submitted to
»» balanceElsewhere number true none Liability balance held with other banks
» linesOfCredit object false none Overdraft or lines of credit balances
»» balanceHere number true none Liability balance with the bank the application is being submitted to
»» balanceElsewhere number true none Liability balance held with other banks
» other object false none Balance of other liabilities
»» balanceHere number true none Liability balance with the bank the application is being submitted to
»» balanceElsewhere number true none Liability balance held with other banks

PeriodModelV1

"WEEKLY"

The period for income or expense

Properties #

Name Type Required Restrictions Description
anonymous string false none The period for income or expense

Enumerated Values #

Property Value
anonymous WEEKLY
anonymous FORTIGHTLY
anonymous MONTHLY
anonymous QUARTERLY
anonymous ANNUALLY

CdrPayloadModelV1

{
  "applicantId": "string",
  "v": "string",
  "dataHolderBrandId": "string",
  "data": {}
}

Properties #

Name Type Required Restrictions Description
applicantId string true none ID of the applicant in the applicants array that this data relates to
v string true none The x-v value of the response payload obtained via the CDR
dataHolderBrandId string true none The data holder brand ID on the CDR Register for the data holder the data was obtained from
data object true none The actual data obtained via the CDR
{
  "self": "string"
}

Properties #

Name Type Required Restrictions Description
self string true none Fully qualified link that generated the current response document

Meta

{}

Properties #

None

LinksPaginated

{
  "self": "string",
  "first": "string",
  "prev": "string",
  "next": "string",
  "last": "string"
}

Properties #

Name Type Required Restrictions Description
self string true none Fully qualified link that generated the current response document
first string false none URI to the first page of this set. Mandatory if this response is not the first page
prev string false none URI to the previous page of this set. Mandatory if this response is not the first page
next string false none URI to the next page of this set. Mandatory if this response is not the last page
last string false none URI to the last page of this set. Mandatory if this response is not the last page

MetaPaginated

{
  "totalRecords": 0,
  "totalPages": 0
}

Properties #

Name Type Required Restrictions Description
totalRecords integer true none The total number of records in the full set. See pagination.
totalPages integer true none The total number of pages in the full set. See pagination.

MetaError

{
  "urn": "string"
}

Additional data for customised error codes

Properties #

Name Type Required Restrictions Description
urn string false none The CDR error code URN which the application-specific error code extends. Mandatory if the error code is an application-specific error rather than a standardised error code.