swagger: '2.0' info: title: Account and Transaction API Specification description: >- Swagger for Account and Transaction API Specification. This is heavily derived from the Open Banking UK API - see www.openbanking.org.uk for details. termsOfService: 'https://www.paymentsnz.co.nz/contact-us' contact: name: Service Desk email: connect@paymentsnz.co.nz license: name: Licence url: 'https://www.paymentsnz.co.nz/contact-us' version: v1.0.0 basePath: /open-banking-nz/v1.0 tags: - name: Account Requests description: Account Requests - name: Accounts description: Accounts - name: Balances description: Balances - name: Beneficiaries description: Beneficiaries - name: Direct Debits description: Direct Debits - name: Offers description: Offers - name: Party description: Party - name: Scheduled Payments description: Scheduled Payments - name: Standing Orders description: Standing Orders - name: Statements description: Statements - name: Transactions description: Transactions schemes: - https produces: - application/json; charset=utf-8 paths: /account-requests: post: tags: - Account Requests summary: Create an account request description: Create an account request operationId: CreateAccountRequest consumes: - application/json; charset=utf-8 produces: - application/json; charset=utf-8 parameters: - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' - $ref: '#/parameters/x-jws-signature-Param' - name: body in: body description: Create an Account Request required: true schema: title: Account Request POST request description: Allows setup of an account access request type: object properties: Data: $ref: '#/definitions/AccountRequestModel' Risk: $ref: '#/definitions/Risk' additionalProperties: false required: - Data - Risk responses: '201': description: Account Request resource successfully created schema: title: Account Request POST response type: object properties: Data: $ref: '#/definitions/AccountRequestResponseModel' Risk: $ref: '#/definitions/Risk' Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' additionalProperties: false required: - Data - Risk - Links - Meta headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' security: - ThirdPartyOAuth2Security: - third_party_client_credential '/account-requests/{AccountRequestId}': get: tags: - Account Requests summary: Get an account request description: Get an account request operationId: GetAccountRequest produces: - application/json; charset=utf-8 parameters: - $ref: '#/parameters/AccountRequestIdParam' - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Account Request resource successfully retrieved schema: title: Account Request GET response type: object properties: Data: $ref: '#/definitions/AccountRequestResponseModel' Risk: $ref: '#/definitions/Risk' Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' additionalProperties: false required: - Data - Risk - Links - Meta headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' security: - ThirdPartyOAuth2Security: - third_party_client_credential delete: tags: - Account Requests summary: Delete an account request description: Delete an account request operationId: DeleteAccountRequest produces: - application/json; charset=utf-8 parameters: - $ref: '#/parameters/AccountRequestIdParam' - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/AuthorizationParam' responses: '204': description: Account Request resource successfully deleted headers: x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' security: - ThirdPartyOAuth2Security: - third_party_client_credential /accounts: get: tags: - Accounts summary: Get Accounts description: Get a list of accounts operationId: GetAccounts produces: - application/json; charset=utf-8 parameters: - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Accounts successfully retrieved schema: title: Account GET response type: object properties: Data: title: Data type: object description: Data properties: Account: title: Account description: Account type: array items: $ref: '#/definitions/AccountModel' Links: $ref: '#/definitions/PaymentLinks' Meta: $ref: '#/definitions/Meta' additionalProperties: false required: - Data - Links - Meta headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' security: - CustomerOAuth2Security: - accounts '/accounts/{AccountId}': get: tags: - Accounts summary: Get Account description: Get an account operationId: GetAccount produces: - application/json; charset=utf-8 parameters: - $ref: '#/parameters/AccountIdParam' - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Account resource successfully retrieved schema: title: Account GET response type: object properties: Data: title: Data description: Data type: object properties: Account: $ref: '#/definitions/AccountModel' Links: $ref: '#/definitions/PaymentLinks' Meta: $ref: '#/definitions/Meta' additionalProperties: false required: - Data - Links - Meta headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' security: - CustomerOAuth2Security: - accounts '/accounts/{AccountId}/transactions': get: tags: - Transactions summary: Get Account Transactions description: Get transactions related to an account operationId: GetAccountTransactions produces: - application/json; charset=utf-8 parameters: - $ref: '#/parameters/AccountIdParam' - $ref: '#/parameters/FromBookingDateTimeParam' - $ref: '#/parameters/ToBookingDateTimeParam' - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Account Transactions successfully retrieved schema: title: Transactions GET response type: object properties: Data: title: Data description: Data type: object properties: Transaction: title: Transaction description: Transaction type: array items: $ref: '#/definitions/TransactionModel' Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' additionalProperties: false required: - Data - Links - Meta headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' security: - CustomerOAuth2Security: - accounts '/accounts/{AccountId}/beneficiaries': get: tags: - Beneficiaries summary: Get Account Beneficiaries description: Get Beneficiaries related to an account operationId: GetAccountBeneficiaries produces: - application/json; charset=utf-8 parameters: - $ref: '#/parameters/AccountIdParam' - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Account Beneficiaries successfully retrieved schema: title: Beneficiaries GET response type: object properties: Data: title: Data description: Data type: object properties: Beneficiary: title: Beneficiary description: Beneficiary type: array items: $ref: '#/definitions/BeneficiaryModel' Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' additionalProperties: false required: - Data - Links - Meta headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' '501': $ref: '#/responses/501ErrorResponse' security: - CustomerOAuth2Security: - accounts '/accounts/{AccountId}/balances': get: tags: - Balances summary: Get Account Balances description: Get Balances related to an account operationId: GetAccountBalances produces: - application/json; charset=utf-8 parameters: - $ref: '#/parameters/AccountIdParam' - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Account Balances successfully retrieved schema: title: Balances GET response type: object properties: Data: title: Data description: Data type: object properties: Balance: title: Balance description: Balance type: array items: $ref: '#/definitions/BalanceModel' Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' additionalProperties: false required: - Data - Links - Meta headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' security: - CustomerOAuth2Security: - accounts '/accounts/{AccountId}/direct-debits': get: tags: - Direct Debits summary: Get Account Direct Debits description: Get Direct Debits related to an account operationId: GetAccountDirectDebits produces: - application/json; charset=utf-8 parameters: - $ref: '#/parameters/AccountIdParam' - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Account Direct Debits successfully retrieved schema: title: Direct Debit GET response type: object properties: Data: title: Data description: Data type: object properties: DirectDebit: title: DirectDebit description: DirectDebit type: array items: $ref: '#/definitions/DirectDebitModel' Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' additionalProperties: false required: - Data - Links - Meta headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' '501': $ref: '#/responses/501ErrorResponse' security: - CustomerOAuth2Security: - accounts '/accounts/{AccountId}/standing-orders': get: tags: - Standing Orders summary: Get Account Standing Orders description: Get Standing Orders related to an account operationId: GetAccountStandingOrders produces: - application/json; charset=utf-8 parameters: - $ref: '#/parameters/AccountIdParam' - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Account Standing Orders successfully retrieved schema: title: Standing Orders GET response type: object properties: Data: title: Data description: Data type: object properties: StandingOrder: title: StandingOrder description: StandingOrder type: array items: $ref: '#/definitions/StandingOrderModel' Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' additionalProperties: false required: - Data - Links - Meta headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' '501': $ref: '#/responses/501ErrorResponse' security: - CustomerOAuth2Security: - accounts '/accounts/{AccountId}/offers': get: tags: - Offers summary: Get Account Offers description: Get Offers related to an account operationId: GetAccountOffers parameters: - $ref: '#/parameters/AccountIdParam' - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Account Offers successfully retrieved schema: type: object properties: Data: type: object properties: Offer: items: $ref: '#/definitions/OfferModel' type: array additionalProperties: false Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' required: - Data - Links - Meta additionalProperties: false '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' '501': $ref: '#/responses/501ErrorResponse' security: - CustomerOAuth2Security: - accounts '/accounts/{AccountId}/party': get: tags: - Party summary: Get Account Party description: Get Party related to an account operationId: GetAccountParty parameters: - $ref: '#/parameters/AccountIdParam' - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Account Party successfully retrieved schema: type: object properties: Data: type: object properties: Party: $ref: '#/definitions/PartyModel' additionalProperties: false Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' required: - Data - Links - Meta additionalProperties: false headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' '501': $ref: '#/responses/501ErrorResponse' security: - CustomerOAuth2Security: - accounts '/accounts/{AccountId}/scheduled-payments': get: tags: - Scheduled Payments summary: Get Account Scheduled Payments description: Get Scheduled Payments related to an account operationId: GetAccountScheduledPayments parameters: - $ref: '#/parameters/AccountIdParam' - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Account Scheduled Payment successfully retrieved schema: type: object properties: Data: type: object properties: ScheduledPayment: items: $ref: '#/definitions/ScheduledPaymentModel' type: array additionalProperties: false Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' required: - Data - Links - Meta additionalProperties: false headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' '501': $ref: '#/responses/501ErrorResponse' security: - CustomerOAuth2Security: - accounts '/accounts/{AccountId}/statements': get: tags: - Statements summary: Get Account Statements description: Get Statements related to an account operationId: GetAccountStatements parameters: - $ref: '#/parameters/AccountIdParam' - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Account Statement successfully retrieved schema: type: object properties: Data: type: object properties: Statement: items: $ref: '#/definitions/StatementModel' type: array description: Provides further details on a statement resource. additionalProperties: false Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' required: - Data - Links - Meta additionalProperties: false headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' '501': $ref: '#/responses/501ErrorResponse' security: - CustomerOAuth2Security: - accounts '/accounts/{AccountId}/statements/{StatementId}': get: tags: - Statements summary: Get Statement description: Get Statement related to an account operationId: GetAccountStatement parameters: - $ref: '#/parameters/AccountIdParam' - $ref: '#/parameters/StatementIdParam' - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Account Statement successfully retrieved schema: type: object properties: Data: type: object properties: Statement: items: $ref: '#/definitions/StatementModel' type: array description: Provides further details on a statement resource. additionalProperties: false Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' required: - Data - Links - Meta additionalProperties: false headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' '501': $ref: '#/responses/501ErrorResponse' security: - CustomerOAuth2Security: - accounts '/accounts/{AccountId}/statements/{StatementId}/file': get: tags: - Statements summary: Get Statement File description: Get Statement related to an account produces: - '*/*' operationId: GetAccountStatementFile parameters: - $ref: '#/parameters/AccountIdParam' - $ref: '#/parameters/StatementIdParam' - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Account Statement File successfully retrieved schema: type: file description: Statement File headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' '501': $ref: '#/responses/501ErrorResponse' security: - CustomerOAuth2Security: - accounts '/accounts/{AccountId}/statements/{StatementId}/transactions': get: tags: - Statements - Transactions summary: Get Statement Transactions description: Get Statement Transactions related to an account operationId: GetAccountStatementTransactions parameters: - $ref: '#/parameters/AccountIdParam' - $ref: '#/parameters/StatementIdParam' - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Account Transactions successfully retrieved schema: type: object properties: Data: type: object properties: Transaction: items: $ref: '#/definitions/TransactionModel' type: array description: Provides further details on an entry in the report. additionalProperties: false Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' required: - Data - Links - Meta additionalProperties: false headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' '501': $ref: '#/responses/501ErrorResponse' security: - CustomerOAuth2Security: - accounts /standing-orders: get: tags: - Standing Orders summary: Get Standing Orders description: Get Standing Orders operationId: GetStandingOrders produces: - application/json; charset=utf-8 parameters: - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Standing Orders successfully retrieved schema: title: Standing Orders GET response type: object properties: Data: title: Data description: Data type: object properties: StandingOrder: title: StandingOrder description: StandingOrder type: array items: $ref: '#/definitions/StandingOrderModel' Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' additionalProperties: false required: - Data - Links - Meta headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' '501': $ref: '#/responses/501ErrorResponse' security: - CustomerOAuth2Security: - accounts /direct-debits: get: tags: - Direct Debits summary: Get Direct Debits description: Get Direct Debits operationId: GetDirectDebits produces: - application/json; charset=utf-8 parameters: - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Direct Debits successfully retrieved schema: title: Direct Debit GET response type: object properties: Data: title: Data description: Data type: object properties: DirectDebit: title: DirectDebit description: DirectDebit type: array items: $ref: '#/definitions/DirectDebitModel' Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' additionalProperties: false required: - Data - Links - Meta headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' '501': $ref: '#/responses/501ErrorResponse' security: - CustomerOAuth2Security: - accounts /beneficiaries: get: tags: - Beneficiaries summary: Get Beneficiaries description: Get Beneficiaries operationId: GetBeneficiaries produces: - application/json; charset=utf-8 parameters: - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Beneficiaries successfully retrieved schema: title: Beneficiaries GET response type: object properties: Data: title: Data description: Data type: object properties: Beneficiary: title: Beneficiary description: Beneficiary type: array items: $ref: '#/definitions/BeneficiaryModel' Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' additionalProperties: false required: - Data - Links - Meta headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' '501': $ref: '#/responses/501ErrorResponse' security: - CustomerOAuth2Security: - accounts /transactions: get: tags: - Transactions summary: Get Transactions description: Get Transactions operationId: GetTransactions produces: - application/json; charset=utf-8 parameters: - $ref: '#/parameters/FromBookingDateTimeParam' - $ref: '#/parameters/ToBookingDateTimeParam' - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Transactions successfully retrieved schema: title: Transactions GET response type: object properties: Data: title: Data description: Data type: object properties: Transaction: title: Transaction description: Transaction type: array items: $ref: '#/definitions/TransactionModel' Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' additionalProperties: false required: - Data - Links - Meta headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' '501': $ref: '#/responses/501ErrorResponse' security: - CustomerOAuth2Security: - accounts /balances: get: tags: - Balances summary: Get Balances description: Get Balances operationId: GetBalances produces: - application/json; charset=utf-8 parameters: - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Balances successfully retrieved schema: title: Balances GET response type: object properties: Data: title: Data description: Data type: object properties: Balance: title: Balance description: Balance type: array items: $ref: '#/definitions/BalanceModel' Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' additionalProperties: false required: - Data - Links - Meta headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' '501': $ref: '#/responses/501ErrorResponse' security: - CustomerOAuth2Security: - accounts /offers: get: tags: - Offers summary: Get Offers description: Get Offers operationId: GetOffers parameters: - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Account Offers successfully retrieved schema: type: object properties: Data: type: object properties: Offer: items: $ref: '#/definitions/OfferModel' type: array additionalProperties: false Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' required: - Data - Links - Meta additionalProperties: false headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' '501': $ref: '#/responses/501ErrorResponse' security: - CustomerOAuth2Security: - accounts /party: get: tags: - Party summary: Get Party description: Get Party operationId: GetParty parameters: - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Account Party successfully retrieved schema: type: object properties: Data: type: object properties: Party: $ref: '#/definitions/PartyModel' additionalProperties: false Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' required: - Data - Links - Meta additionalProperties: false headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' '501': $ref: '#/responses/501ErrorResponse' security: - CustomerOAuth2Security: - accounts /scheduled-payments: get: tags: - Scheduled Payments summary: Get Scheduled Payments description: Get Scheduled Payments operationId: GetScheduledPayments parameters: - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Account Scheduled Payment successfully retrieved schema: type: object properties: Data: type: object properties: ScheduledPayment: items: $ref: '#/definitions/ScheduledPaymentModel' type: array additionalProperties: false Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' required: - Data - Links - Meta additionalProperties: false headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' '501': $ref: '#/responses/501ErrorResponse' security: - CustomerOAuth2Security: - accounts /statements: get: tags: - Statements summary: Get Statements description: Get Statements operationId: GetStatements parameters: - $ref: '#/parameters/x-fapi-financial-id-Param' - $ref: '#/parameters/x-fapi-customer-last-logged-time-Param' - $ref: '#/parameters/x-fapi-customer-ip-address-Param' - $ref: '#/parameters/x-fapi-interaction-id-Param' - $ref: '#/parameters/x-merchant-ip-address-Param' - $ref: '#/parameters/x-customer-user-agent-Param' - $ref: '#/parameters/AuthorizationParam' responses: '200': description: Account Statement successfully retrieved schema: type: object properties: Data: type: object properties: Statement: items: $ref: '#/definitions/StatementModel' type: array description: Provides further details on a statement resource. additionalProperties: false Links: $ref: '#/definitions/Links' Meta: $ref: '#/definitions/Meta' required: - Data - Links - Meta additionalProperties: false headers: x-jws-signature: type: string description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. x-fapi-interaction-id: type: string description: An RFC4122 UID used as a correlation id. '400': $ref: '#/responses/400ErrorResponse' '401': $ref: '#/responses/401ErrorResponse' '403': $ref: '#/responses/403ErrorResponse' '405': $ref: '#/responses/405ErrorResponse' '406': $ref: '#/responses/406ErrorResponse' '429': $ref: '#/responses/429ErrorResponse' '500': $ref: '#/responses/500ErrorResponse' '501': $ref: '#/responses/501ErrorResponse' security: - CustomerOAuth2Security: - accounts parameters: AccountIdParam: name: AccountId in: path description: A unique identifier used to identify the account resource. required: true type: string AccountRequestIdParam: name: AccountRequestId in: path description: >- Unique identification as assigned by the API Provider to uniquely identify the account request resource. required: true type: string FromBookingDateTimeParam: in: query name: fromBookingDateTime type: string format: date-time description: >- The UTC ISO 8601 Date Time to filter transactions FROM NB Time component is optional - set to 00:00:00 for just Date. If the Date Time contains a timezone, the API Provider must ignore the timezone component. StatementIdParam: name: StatementId in: path description: A unique identifier used to identify the statement resource. required: true type: string ToBookingDateTimeParam: in: query name: toBookingDateTime type: string format: date-time description: >- The UTC ISO 8601 Date Time to filter transactions TO NB Time component is optional - set to 00:00:00 for just Date. If the Date Time contains a timezone, the API Provider must ignore the timezone component. x-fapi-financial-id-Param: in: header name: x-fapi-financial-id type: string required: false description: >- The unique id of the API Provider to which the request is issued. The unique id will be issued by OB. x-fapi-customer-ip-address-Param: in: header name: x-fapi-customer-ip-address type: string required: false description: The Customer's IP address if the Customer is currently logged in with the Third Party. x-fapi-interaction-id-Param: in: header name: x-fapi-interaction-id type: string required: false description: An RFC4122 UID used as a correlation id. x-fapi-customer-last-logged-time-Param: in: header name: x-fapi-customer-last-logged-time type: string required: false description: >- The time when the Customer last logged in with the Third Party. All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: Sun, 10 Sep 2017 19:43:31 UTC pattern: >- ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ x-merchant-ip-address-Param: in: header name: x-merchant-ip-address type: string required: false description: >- The IP address of the merchant when making payment requests through a Third Party. x-customer-user-agent-Param: in: header name: x-customer-user-agent type: string required: false description: >- The User-Agent of the application on the customer device that is used to request the payment AuthorizationParam: in: header name: Authorization type: string required: true description: 'An Authorisation Token as per https://tools.ietf.org/html/rfc6750' x-jws-signature-Param: in: header name: x-jws-signature type: string required: false description: >- DO NOT USE. Header containing a detached JWS signature of the body of the payload. definitions: BalanceModel: type: object description: Balance object schema properties: AccountId: description: >- A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. type: string minLength: 1 maxLength: 40 Amount: description: Amount of money of the cash balance. type: object properties: Amount: type: string pattern: '^\d{1,13}\.\d{1,5}$' Currency: description: >- A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 'Codes for the representation of currencies and funds' type: string pattern: '^[A-Z]{3,3}$' required: - Amount - Currency additionalProperties: false CreditDebitIndicator: description: >- Indicates whether the balance is a credit or a debit balance. Usage: A zero balance is considered to be a credit balance. type: string enum: - Credit - Debit Type: description: 'Balance type, in a coded form.' type: string enum: - ClosingAvailable - ClosingBooked - Expected - ForwardAvailable - Information - InterimAvailable - InterimBooked - OpeningAvailable - OpeningBooked - PreviouslyClosedBooked DateTime: description: >- Indicates the date (and time) of the balance. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time CreditLine: type: array items: type: object properties: Included: description: >- Indicates whether or not the credit line is included in the balance of the account. Usage: If not present, credit line is not included in the balance amount of the account. type: boolean Amount: description: Active Or Historic Currency Code and Amount type: object properties: Amount: type: string pattern: '^\d{1,13}\.\d{1,5}$' Currency: description: >- A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 'Codes for the representation of currencies and funds' type: string pattern: '^[A-Z]{3,3}$' required: - Amount - Currency additionalProperties: false Type: description: 'Limit type, in a coded form.' type: string enum: - Pre-Agreed - Emergency - Temporary additionalProperties: false required: - Included additionalProperties: false required: - AccountId - Amount - CreditDebitIndicator - DateTime - Type minItems: 1 additionalProperties: false AccountModel: type: object properties: AccountId: description: >- A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. type: string minLength: 1 maxLength: 40 Currency: description: >- Identification of the currency in which the account is held. Usage: Currency should only be used in case one and the same account number covers several currencies and the initiating party needs to identify which currency needs to be used for settlement on the account. type: string pattern: '^[A-Z]{3,3}$' AccountType: description: Specifies the type of account (personal or business). type: string enum: - Business - Personal AccountSubType: description: Specifies the sub type of account (product family group). type: string enum: - ChargeCard - CreditCard - CurrentAccount - EMoney - Loan - Mortgage - PrePaidCard - Savings Description: description: Specifies the description of the account type. type: string minLength: 1 maxLength: 35 Nickname: description: >- The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account. type: string minLength: 1 maxLength: 70 Account: description: Provides the details to identify an account. type: object properties: SchemeName: $ref: '#/definitions/AccountSchemeModel' Identification: description: >- Identification assigned by an institution to identify an account. This identification is known by the account owner. For the NZ market, this will use the hyphen-delimited format: 2-4-7-2 where this is made up of bank-branch-account-suffix and each of the four components is a number, prepended with leading zeros to match the component length requirement. For example 12-0123-0012345-00 type: string minLength: 1 maxLength: 34 Name: description: >- Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account. Usage: The account name is different from the account owner name. The account name is used in certain user communities to provide a means of identifying the account, in addition to the account owner's identity and the account number. type: string minLength: 1 maxLength: 70 SecondaryIdentification: description: >- This is secondary identification of the account, as assigned by the account servicing institution. type: string minLength: 1 maxLength: 34 required: - SchemeName - Identification additionalProperties: false Servicer: description: >- Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account. type: object properties: SchemeName: description: >- Name of the identification scheme, in a coded form as published in an external list. type: string enum: - BICFI Identification: description: >- Unique and unambiguous identification of the servicing institution. type: string minLength: 1 maxLength: 35 required: - SchemeName - Identification additionalProperties: false additionalProperties: false required: - AccountId - Currency AccountSchemeModel: type: string enum: - BECSElectronicCredit default: BECSElectronicCredit PaymentLinks: type: object title: PaymentLinks allOf: - $ref: '#/definitions/Links' - type: object properties: Payments: type: string format: uri description: >- Link to payments is present if this account may be used for making payments. If this link is not present, the account is not valid for payments at this time. Note that this link does not indicate sufficient funds, only that payment activity is not expressly forbidden example: 'https://api.bank.co.nz/open-banking-nz/v1.0/payments' Links: title: Links type: object description: Links relevant to the payload properties: Self: type: string format: uri First: type: string format: uri Prev: type: string format: uri Next: type: string format: uri Last: type: string format: uri required: - Self Risk: type: object description: >- The Risk section is sent by the initiating party to the API Provider. It is used to specify additional details for risk scoring. properties: GeoLocation: description: >- Location of the end-user on the earth specified by two numbers representing vertical and horizontal position type: object properties: Latitude: description: Latitude measured in decimal degress type: string maxLength: 14 pattern: '^-?\d{1,3}\.\d{1,8}$' Longitude: description: Longitude measured in decimal degress type: string maxLength: 14 pattern: '^-?\d{1,3}\.\d{1,8}$' PaymentContextCode: description: Specifies the payment context title: PaymentContextCode type: string enum: - BillPayment - EcommerceGoods - EcommerceServices - Other - PersonToPerson MerchantCategoryCode: description: >- Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction type: string minLength: 3 maxLength: 4 MerchantCustomerIdentification: description: The unique customer identifier of the Customer with the merchant. type: string minLength: 1 maxLength: 70 DeliveryAddress: description: >- Information that locates and identifies a specific address, as defined by postal services or in free format text. type: object properties: AddressLine: description: >- Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text. type: array items: description: maxLength 70 text type: string minLength: 1 maxLength: 70 minItems: 0 maxItems: 2 StreetName: description: Name of a street or thoroughfare type: string minLength: 1 maxLength: 70 BuildingNumber: description: Number that identifies the position of a building on a street. type: string minLength: 1 maxLength: 16 PostCode: description: >- Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail type: string minLength: 1 maxLength: 16 TownName: description: >- Name of a built-up area, with defined boundaries, and a local government. type: string minLength: 1 maxLength: 35 CountrySubDivision: description: >- Identifies a subdivision of a country, for instance state, region, county. type: array items: description: maxLength 35 text type: string minLength: 1 maxLength: 35 minItems: 0 maxItems: 2 Country: description: 'Nation with its own government, occupying a particular territory.' type: string pattern: '^[A-Z]{2,2}$' required: - TownName - Country additionalProperties: false EndUserAppName: description: Name of the end user facing application type: string minLength: 1 maxLength: 70 EndUserAppVersion: description: Version of the end user facing application type: string minLength: 1 maxLength: 15 MerchantName: description: Name of the merchant type: string minLength: 1 maxLength: 70 MerchantNZBN: description: NZ business number for the merchant type: string minLength: 1 maxLength: 70 additionalProperties: false AccountRequestModel: type: object properties: Permissions: description: >- Specifies the Open Banking account request types. This is a list of the data clusters being consented by the Customer, and requested for authorisation with the API Provider. type: array items: description: >- Specifies the Open Banking account request types. This is a list of the data clusters being consented by the Customer, and requested for authorisation with the API Provider. type: string enum: - ReadAccountsBasic - ReadAccountsDetail - ReadBalances - ReadBeneficiariesBasic - ReadBeneficiariesDetail - ReadDirectDebits - ReadOffers - ReadPAN - ReadParty - ReadPartyAuthUser - ReadScheduledPaymentsBasic - ReadScheduledPaymentsDetail - ReadStandingOrdersBasic - ReadStandingOrdersDetail - ReadStatementsBasic - ReadStatementsDetail - ReadTransactionsBasic - ReadTransactionsCredits - ReadTransactionsDebits - ReadTransactionsDetail minProperties: 1 additionalProperties: false ExpirationDateTime: description: >- Specified date and time the permissions will expire. If this is not populated, the permissions will be open ended. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time TransactionFromDateTime: description: >- Specified start date and time for the transaction query period. If this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time TransactionToDateTime: description: >- Specified end date and time for the transaction query period. If this is not populated, the end date will be open ended, and data will be returned to the latest available transaction. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time additionalProperties: false required: - Permissions AccountRequestResponseModel: type: object allOf: - properties: AccountRequestId: description: >- Unique identification as assigned to identify the account request resource. type: string minLength: 1 maxLength: 128 Status: description: Specifies the status of the account request resource. type: string enum: - Authorised - AwaitingAuthorisation - Rejected - Revoked CreationDateTime: description: >- Date and time at which the resource was created. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time StatusUpdateDateTime: description: >- Date and time at which the resource status was updated. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time required: - AccountRequestID - Status - CreationDateTime - StatusUpdateDateTime - $ref: '#/definitions/AccountRequestModel' TransactionModel: type: object properties: AccountId: description: >- A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. type: string minLength: 1 maxLength: 40 TransactionId: description: >- Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable. type: string minLength: 1 maxLength: 40 TransactionReference: $ref: '#/definitions/BECSRemittance' StatementReference: items: description: >- Unique reference for the statement. This reference may be optionally populated if available. type: string minLength: 1 maxLength: 35 type: array description: >- Unique reference for the statement. This reference may be optionally populated if available. Amount: description: Amount of money in the cash entry. type: object properties: Amount: type: string pattern: '^\d{1,13}\.\d{1,5}$' Currency: description: >- A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 'Codes for the representation of currencies and funds' type: string pattern: '^[A-Z]{3,3}$' required: - Amount - Currency additionalProperties: false CreditDebitIndicator: description: >- Indicates whether the transaction is a credit or a debit entry. type: string enum: - Credit - Debit Status: description: >- Status of a transaction entry on the books of the account servicer. type: string enum: - Booked - Pending BookingDateTime: description: >- Date and time when a transaction entry is posted to an account on the account servicer's books. Usage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time ValueDateTime: description: >- Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit entry. Usage: If entry status is pending and value date is present, then the value date refers to an expected/requested value date. For entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time AddressLine: description: >- Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text. type: string minLength: 1 maxLength: 70 BankTransactionCode: description: >- Set of elements used to fully identify the type of underlying transaction resulting in an entry. type: object properties: Code: description: Specifies the family within a domain. type: string SubCode: description: >- Specifies the sub-product family within a specific family. type: string required: - Code - SubCode additionalProperties: false ProprietaryBankTransactionCode: description: >- Set of elements to fully identify a proprietary bank transaction code. type: object properties: Code: description: >- Proprietary bank transaction code to identify the underlying transaction. type: string minLength: 1 maxLength: 35 Issuer: description: >- Identification of the issuer of the proprietary bank transaction code. type: string minLength: 1 maxLength: 35 required: - Code additionalProperties: false CurrencyExchange: description: Set of elements used to provide details on the currency exchange. type: object properties: SourceCurrency: description: >- Currency from which an amount is to be converted in a currency conversion. type: string pattern: '^[A-Z]{3,3}$' TargetCurrency: description: >- Currency from which an amount is to be converted in a currency conversion. type: string pattern: '^[A-Z]{3,3}$' UnitCurrency: description: >- Currency from which an amount is to be converted in a currency conversion. type: string pattern: '^[A-Z]{3,3}$' ExchangeRate: description: >- Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency. Usage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency). type: number ContractIdentification: description: >- Unique identification to unambiguously identify the foreign exchange contract. type: string minLength: 1 maxLength: 35 QuotationDate: description: >- Date and time at which an exchange rate is quoted. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time InstructedAmount: description: >- Amount of money of the cash balance after a transaction entry is applied to the account.. type: object properties: Amount: description: >- A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217. type: string pattern: '^\d{1,13}\.\d{1,5}$' Currency: description: >- A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds". type: string pattern: '^[A-Z]{3,3}$' required: - Amount - Currency additionalProperties: false required: - SourceCurrency - ExchangeRate additionalProperties: false CreditorAgent: type: object properties: SchemeName: description: >- Name of the identification scheme, in a coded form as published in an external list. type: string enum: - BICFI Identification: type: string minLength: 1 maxLength: 35 description: >- Unique and unambiguous identification of a financial institution or a branch of a financial institution. required: - SchemeName - Identification additionalProperties: false description: Financial institution servicing an account for the creditor. DebtorAgent: type: object properties: SchemeName: description: >- Name of the identification scheme, in a coded form as published in an external list. type: string enum: - BICFI Identification: type: string minLength: 1 maxLength: 35 description: >- Unique and unambiguous identification of a financial institution or a branch of a financial institution. required: - SchemeName - Identification additionalProperties: false description: Financial institution servicing an account for the debtor. CardInstrument: description: >- Set of elements to describe the card instrument used in the transaction. type: object properties: CardSchemeName: description: Name of the card scheme. type: string enum: - AmericanExpress - Diners - Discover - MasterCard - VISA AuthorisationType: description: The card authorisation type. type: string enum: - Contactless - None - PIN Name: description: Name of the cardholder using the card instrument. type: string minLength: 1 maxLength: 70 Identification: description: >- Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and may be masked. type: string minLength: 1 maxLength: 34 required: - CardSchemeName additionalProperties: false TransactionInformation: description: >- Further details of the transaction. This is the transaction narrative, which is unstructured text. type: string minLength: 1 maxLength: 500 Balance: description: >- Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied to the account. type: object properties: Amount: description: >- Amount of money of the cash balance after a transaction entry is applied to the account.. type: object properties: Amount: type: string pattern: '^\d{1,13}\.\d{1,5}$' Currency: description: >- A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 'Codes for the representation of currencies and funds' type: string pattern: '^[A-Z]{3,3}$' required: - Amount - Currency additionalProperties: false CreditDebitIndicator: description: >- Indicates whether the balance is a credit or a debit balance. Usage: A zero balance is considered to be a credit balance. type: string enum: - Credit - Debit Type: description: 'Balance type, in a coded form.' type: string enum: - ClosingAvailable - ClosingBooked - Expected - ForwardAvailable - Information - InterimAvailable - InterimBooked - OpeningAvailable - OpeningBooked - PreviouslyClosedBooked additionalProperties: false required: - Amount - CreditDebitIndicator - Type MerchantDetails: description: Details of the merchant involved in the transaction. type: object properties: MerchantName: description: Name by which the merchant is known. type: string minLength: 1 maxLength: 350 MerchantCategoryCode: description: >- Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction. type: string minLength: 3 maxLength: 4 additionalProperties: false CreditorAccount: type: object properties: SchemeName: $ref: '#/definitions/AccountSchemeModel' Identification: description: >- Identification assigned by an institution to identify an account. This identification is known by the account owner. For the NZ market, this will use the hyphen-delimited format: 2-4-7-2 where this is made up of bank-branch-account-suffix and each of the four components is a number, prepended with leading zeros to match the component length requirement. For example 12-0123-0012345-00 type: string minLength: 1 maxLength: 34 Name: type: string minLength: 1 maxLength: 70 description: >- Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account. Usage: The account name is different from the account owner name. The account name is used in certain user communities to provide a means of identifying the account, in addition to the account owner's identity and the account number. SecondaryIdentification: type: string minLength: 1 maxLength: 34 description: >- This is secondary identification of the account, as assigned by the account servicing institution. required: - SchemeName - Identification additionalProperties: false description: >- Unambiguous identification of the account of the creditor, in the case of a debit transaction. DebtorAccount: type: object properties: SchemeName: $ref: '#/definitions/AccountSchemeModel' Identification: description: >- Identification assigned by an institution to identify an account. This identification is known by the account owner. For the NZ market, this will use the hyphen-delimited format: 2-4-7-2 where this is made up of bank-branch-account-suffix and each of the four components is a number, prepended with leading zeros to match the component length requirement. For example 12-0123-0012345-00 type: string minLength: 1 maxLength: 34 Name: type: string minLength: 1 maxLength: 70 description: >- Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account. Usage: The account name is different from the account owner name. The account name is used in certain user communities to provide a means of identifying the account, in addition to the account owner's identity and the account number. SecondaryIdentification: type: string minLength: 1 maxLength: 34 description: >- This is secondary identification of the account, as assigned by the account servicing institution. required: - SchemeName - Identification additionalProperties: false description: >- Unambiguous identification of the account of the debtor, in the case of a crebit transaction. additionalProperties: false required: - AccountId - Amount - CreditDebitIndicator - Status - BookingDateTime BeneficiaryModel: type: object properties: AccountId: description: >- A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. type: string minLength: 1 maxLength: 40 BeneficiaryId: description: >- A unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner. type: string minLength: 1 maxLength: 40 Reference: $ref: '#/definitions/BECSRemittance' CreditorAgent: description: >- Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account. This is the servicer of the beneficiary account. type: object properties: SchemeName: description: >- Name of the identification scheme, in a coded form as published in an external list. type: string enum: - BICFI Identification: description: >- Unique and unambiguous identification of the servicing institution. type: string minLength: 1 maxLength: 35 Name: description: >- Name by which an agent is known and which is usually used to identify that agent. type: string minLength: 1 maxLength: 140 PostalAddress: description: >- Information that locates and identifies a specific address, as defined by postal services. type: object properties: AddressType: description: Identifies the nature of the postal address. type: string enum: - Business - Correspondence - DeliveryTo - MailTo - POBox - Postal - Residential - Statement Department: description: >- Identification of a division of a large organisation or building. type: string minLength: 1 maxLength: 70 SubDepartment: description: >- Identification of a sub-division of a large organisation or building. type: string minLength: 1 maxLength: 70 StreetName: description: Name of a street or thoroughfare. type: string minLength: 1 maxLength: 70 BuildingNumber: description: Number that identifies the position of a building on a street. type: string minLength: 1 maxLength: 16 PostCode: description: >- Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail. type: string minLength: 1 maxLength: 16 TownName: description: >- Name of a built-up area, with defined boundaries, and a local government. type: string minLength: 1 maxLength: 35 CountrySubDivision: description: >- Identifies a subdivision of a country such as state, region, county. type: string minLength: 1 maxLength: 35 Country: description: Nation with its own government. type: string pattern: '^[A-Z]{2,2}$' AddressLine: description: >- Information that locates and identifies a specific address, as defined by postal services, presented in free format text. type: string minLength: 1 maxLength: 70 additionalProperties: false additionalProperties: false CreditorAccount: description: >- Provides the details to identify the beneficiary account. type: object properties: SchemeName: $ref: '#/definitions/AccountSchemeModel' Identification: description: >- Identification assigned by an institution to identify an account. This identification is known by the account owner. For the NZ market, this will use the hyphen-delimited format: 2-4-7-2 where this is made up of bank-branch-account-suffix and each of the four components is a number, prepended with leading zeros to match the component length requirement. For example 12-0123-0012345-00 type: string minLength: 1 maxLength: 34 Name: description: >- Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account. Usage: The account name is different from the account owner name. The account name is used in certain user communities to provide a means of identifying the account, in addition to the account owner's identity and the account number. type: string minLength: 1 maxLength: 70 SecondaryIdentification: description: >- This is secondary identification of the account, as assigned by the account servicing institution. type: string minLength: 1 maxLength: 34 required: - SchemeName - Identification additionalProperties: false StandingOrderModel: type: object properties: AccountId: description: >- The date on which the first payment for a Standing Order schedule will be made. type: string minLength: 1 maxLength: 40 StandingOrderId: description: >- A unique and immutable identifier used to identify the standing order resource. This identifier has no meaning to the account owner. type: string minLength: 1 maxLength: 40 Frequency: description: > EvryDay - Every day EvryWorkgDay - Every working day IntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07) WkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07) IntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31) Patterns: EvryDay (ScheduleCode) EvryWorkgDay (ScheduleCode) IntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek) WkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek) IntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth) The regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here: EvryDay EvryWorkgDay IntrvlWkDay:0[1-9]:0[1-7] WkInMnthDay:0[1-5]:0[1-7] IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]) type: string pattern: >- ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$ Reference: $ref: '#/definitions/BECSRemittance' FirstPaymentDateTime: description: >- The date on which the first payment for a Standing Order schedule will be made. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time FirstPaymentAmount: description: The amount of the first Standing Order type: object properties: Amount: type: string pattern: '^\d{1,13}\.\d{1,5}$' Currency: description: >- A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 'Codes for the representation of currencies and funds' type: string pattern: '^[A-Z]{3,3}$' required: - Amount - Currency additionalProperties: false NextPaymentDateTime: description: >- The date on which the next payment for a Standing Order schedule will be made. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time NextPaymentAmount: description: The amount of the next Standing Order type: object properties: Amount: type: string pattern: '^\d{1,13}\.\d{1,5}$' Currency: description: >- A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 'Codes for the representation of currencies and funds' type: string pattern: '^[A-Z]{3,3}$' required: - Amount - Currency additionalProperties: false FinalPaymentDateTime: description: >- The date on which the final payment for a Standing Order schedule will be made. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time FinalPaymentAmount: description: The amount of the final Standing Order type: object properties: Amount: type: string pattern: '^\d{1,13}\.\d{1,5}$' Currency: description: >- A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 'Codes for the representation of currencies and funds' type: string pattern: '^[A-Z]{3,3}$' required: - Amount - Currency additionalProperties: false StandingOrderStatusCode: description: Specifies the status of the standing order in code form. type: string enum: - Active - Inactive CreditorAgent: description: >- Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account. This is the servicer of the beneficiary account type: object properties: SchemeName: description: >- Name of the identification scheme, in a coded form as published in an external list. type: string enum: - BICFI Identification: description: >- Unique and unambiguous identification of the servicing institution. type: string minLength: 1 maxLength: 35 required: - SchemeName - Identification additionalProperties: false CreditorAccount: description: >- Provides the details to identify the beneficiary account. type: object properties: SchemeName: $ref: '#/definitions/AccountSchemeModel' Identification: description: >- Identification assigned by an institution to identify an account. This identification is known by the account owner. For the NZ market, this will use the hyphen-delimited format: 2-4-7-2 where this is made up of bank-branch-account-suffix and each of the four components is a number, prepended with leading zeros to match the component length requirement. For example 12-0123-0012345-00 type: string minLength: 1 maxLength: 34 Name: description: >- Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account. Usage: The account name is different from the account owner name. The account name is used in certain user communities to provide a means of identifying the account, in addition to the account owner's identity and the account number. type: string minLength: 1 maxLength: 70 SecondaryIdentification: description: >- This is secondary identification of the account, as assigned by the account servicing institution. type: string minLength: 1 maxLength: 34 required: - SchemeName - Identification additionalProperties: false required: - AccountId - Frequency - NextPaymentDateTime - NextPaymentAmount additionalProperties: false DirectDebitModel: type: object properties: AccountId: description: >- A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. type: string minLength: 1 maxLength: 40 DirectDebitId: description: >- A unique and immutable identifier used to identify the direct debit resource. This identifier has no meaning to the account owner. type: string minLength: 1 maxLength: 40 MandateIdentification: description: >- Direct Debit reference. type: string minLength: 1 maxLength: 35 DirectDebitStatusCode: description: >- Specifies the status of the direct debit in code form. type: string enum: - Active - Inactive Name: description: Name of Service User type: string minLength: 1 maxLength: 70 PreviousPaymentDateTime: description: >- Date of most recent direct debit collection. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time PreviousPaymentAmount: description: >- The amount of the most recent direct debit collection. type: object properties: Amount: type: string pattern: '^\d{1,13}\.\d{1,5}$' Currency: description: >- A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 'Codes for the representation of currencies and funds' type: string pattern: '^[A-Z]{3,3}$' required: - Amount - Currency additionalProperties: false required: - AccountId - MandateIdentification - Name additionalProperties: false OfferModel: type: object properties: AccountId: description: >- A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. type: string minLength: 1 maxLength: 40 OfferId: description: >- A unique and immutable identifier used to identify the offer resource. This identifier has no meaning to the account owner. type: string minLength: 1 maxLength: 40 OfferType: description: 'Offer type, in a coded form.' type: string enum: - BalanceTransfer - LimitIncrease - MoneyTransfer - Other - PromotionalRate Description: description: Further details of the offer. type: string minLength: 1 maxLength: 500 StartDateTime: description: >- Date and time at which the offer starts. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time EndDateTime: description: >- Date and time at which the offer ends. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time Amount: description: Amount of money associated with the offer type. type: object properties: Amount: type: string pattern: '^\d{1,13}\.\d{1,5}$' Currency: description: >- A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds". type: string pattern: '^[A-Z]{3,3}$' required: - Amount - Currency additionalProperties: false Fee: description: Fee associated with the offer type. type: object properties: Amount: type: string pattern: '^\d{1,13}\.\d{1,5}$' Currency: description: >- A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds". type: string pattern: '^[A-Z]{3,3}$' required: - Amount - Currency additionalProperties: false Rate: description: Rate associated with the offer type. type: string minLength: 1 maxLength: 10 pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' Value: description: Value associated with the offer type. type: integer format: int32 Term: description: Further details of the term of the offer. type: string minLength: 1 maxLength: 500 URL: description: URL (Uniform Resource Locator) where the document can be found type: string minLength: 1 maxLength: 256 required: - AccountId additionalProperties: false PartyModel: type: object properties: PartyId: description: >- A unique and immutable identifier used to identify the customer resource. This identifier has no meaning to the account owner. type: string minLength: 1 maxLength: 40 PartyNumber: description: Number assigned by an agent to identify its customer. type: string minLength: 1 maxLength: 35 PartyType: description: 'Party type, in a coded form.' type: string enum: - Delegate - Joint - Sole Name: description: >- Name by which a party is known and which is usually used to identify that party. type: string minLength: 1 maxLength: 70 EmailAddress: description: Address for electronic mail (e-mail). type: string minLength: 1 maxLength: 256 Phone: description: >- Collection of information that identifies a phone number, as defined by telecom services. type: string pattern: '\+[0-9]{1,3}-[0-9()+\-]{1,30}' Mobile: description: >- Collection of information that identifies a mobile phone number, as defined by telecom services. type: string pattern: '\+[0-9]{1,3}-[0-9()+\-]{1,30}' Address: items: description: Postal address of a party. type: object properties: AddressType: description: Identifies the nature of the postal address. type: string enum: - Business - Correspondence - DeliveryTo - MailTo - POBox - Postal - Residential - Statement AddressLine: description: >- Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text. type: string minLength: 1 maxLength: 70 StreetName: description: Name of a street or thoroughfare. type: string minLength: 1 maxLength: 70 BuildingNumber: description: Number that identifies the position of a building on a street. type: string minLength: 1 maxLength: 16 PostCode: description: >- Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail. type: string minLength: 1 maxLength: 16 TownName: description: >- Name of a built-up area, with defined boundaries, and a local government. type: string minLength: 1 maxLength: 35 CountrySubDivision: description: 'Identifies a subdivision of a country eg, state, region, county.' type: string minLength: 1 maxLength: 35 Country: description: 'Nation with its own government, occupying a particular territory.' type: string pattern: '^[A-Z]{2,2}$' required: - Country additionalProperties: false type: array description: Postal address of a party. required: - PartyId additionalProperties: false ScheduledPaymentModel: type: object properties: AccountId: description: >- A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. type: string minLength: 1 maxLength: 40 ScheduledPaymentId: description: >- A unique and immutable identifier used to identify the scheduled payment resource. This identifier has no meaning to the account owner. type: string minLength: 1 maxLength: 40 ScheduledPaymentDateTime: description: >- The date on which the scheduled payment will be made. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time ScheduledType: description: Specifies the scheduled payment date type requested type: string enum: - Arrival - Execution InstructedAmount: description: >- Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. Usage: This amount has to be transported unchanged through the transaction chain. type: object properties: Amount: type: string pattern: '^\d{1,13}\.\d{1,5}$' Currency: description: >- A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds". type: string pattern: '^[A-Z]{3,3}$' required: - Amount - Currency additionalProperties: false Reference: $ref: '#/definitions/BECSRemittance' CreditorAgent: type: object properties: SchemeName: description: >- Name of the identification scheme, in a coded form as published in an external list. type: string enum: - BICFI Identification: type: string minLength: 1 maxLength: 35 description: >- Unique and unambiguous identification of a financial institution or a branch of a financial institution. required: - SchemeName - Identification additionalProperties: false description: Financial institution servicing an account for the creditor. CreditorAccount: type: object properties: SchemeName: $ref: '#/definitions/AccountSchemeModel' Identification: description: >- Identification assigned by an institution to identify an account. This identification is known by the account owner. For the NZ market, this will use the hyphen-delimited format: 2-4-7-2 where this is made up of bank-branch-account-suffix and each of the four components is a number, prepended with leading zeros to match the component length requirement. For example 12-0123-0012345-00 type: string minLength: 1 maxLength: 34 Name: type: string minLength: 1 maxLength: 70 description: >- Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account. Usage: The account name is different from the account owner name. The account name is used in certain user communities to provide a means of identifying the account, in addition to the account owner's identity and the account number. SecondaryIdentification: type: string minLength: 1 maxLength: 34 description: >- This is secondary identification of the account, as assigned by the account servicing institution. required: - SchemeName - Identification additionalProperties: false description: Provides the details to identify the beneficiary account. required: - AccountId - ScheduledPaymentDateTime - ScheduledType - InstructedAmount additionalProperties: false StatementModel: description: Provides further details on a statement resource. type: object properties: AccountId: description: >- A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. type: string minLength: 1 maxLength: 40 StatementId: description: >- Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable. type: string minLength: 1 maxLength: 40 StatementReference: description: >- Unique reference for the statement. This reference may be optionally populated if available. type: string minLength: 1 maxLength: 35 Type: description: 'Statement type, in a coded form.' type: string enum: - AccountClosure - AccountOpening - Annual - Interim - RegularPeriodic StartDateTime: description: >- Date and time at which the statement period starts. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time EndDateTime: description: >- Date and time at which the statement period ends. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time CreationDateTime: description: >- Date and time at which the resource was created. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time StatementDescription: items: description: Other descriptions that may be available for the statement resource. type: string minLength: 1 maxLength: 500 type: array description: Other descriptions that may be available for the statement resource. StatementBenefit: items: description: >- Set of elements used to provide details of a benefit or reward amount for the statement resource. type: object properties: Amount: description: Amount of money associated with the statement benefit type. type: object properties: Amount: type: string pattern: '^\d{1,13}\.\d{1,5}$' Currency: description: >- A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds". type: string pattern: '^[A-Z]{3,3}$' required: - Amount - Currency additionalProperties: false Type: description: 'Benefit type, in a coded form.' type: string enum: - Cashback - Insurance - TravelDiscount - TravelInsurance required: - Amount - Type additionalProperties: false type: array description: >- Set of elements used to provide details of a benefit or reward amount for the statement resource. StatementFee: items: description: >- Set of elements used to provide details of a fee for the statement resource. type: object properties: Amount: description: Amount of money associated with the statement fee type. type: object properties: Amount: type: string pattern: '^\d{1,13}\.\d{1,5}$' Currency: description: >- A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds". type: string pattern: '^[A-Z]{3,3}$' required: - Amount - Currency additionalProperties: false CreditDebitIndicator: type: string enum: - Credit - Debit description: >- Indicates whether the amount is a credit or a debit. Usage: A zero amount is considered to be a credit amount. Type: description: 'Fee type, in a coded form.' type: string enum: - Annual - BalanceTransfer - CashAdvance - CashTransaction - ForeignTransaction - Gambling - LatePayment - MoneyTransfer - Monthly - Overlimit - PostalOrder - PrizeEntry - StatementCopy - Total required: - Amount - CreditDebitIndicator - Type additionalProperties: false type: array description: >- Set of elements used to provide details of a fee for the statement resource. StatementInterest: items: description: >- Set of elements used to provide details of a generic interest amount related to the statement resource. type: object properties: Amount: description: >- Amount of money associated with the statement interest amount type. type: object properties: Amount: type: string pattern: '^\d{1,13}\.\d{1,5}$' Currency: description: >- A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds". type: string pattern: '^[A-Z]{3,3}$' required: - Amount - Currency additionalProperties: false CreditDebitIndicator: type: string enum: - Credit - Debit description: >- Indicates whether the amount is a credit or a debit. Usage: A zero amount is considered to be a credit amount. Type: description: 'Interest amount type, in a coded form.' type: string enum: - BalanceTransfer - Cash - EstimatedNext - Purchase - Total required: - Amount - CreditDebitIndicator - Type additionalProperties: false type: array description: >- Set of elements used to provide details of a generic interest amount related to the statement resource. StatementDateTime: items: description: >- Set of elements used to provide details of a generic date time for the statement resource. type: object properties: DateTime: description: >- Date and time associated with the date time type. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time Type: description: 'Date time type, in a coded form.' type: string enum: - BalanceTransferPromoEnd - DirectDebitDue - LastPayment - LastStatement - NextStatement - PaymentDue - PurchasePromoEnd - StatementAvailable required: - DateTime - Type additionalProperties: false type: array description: >- Set of elements used to provide details of a generic date time for the statement resource. StatementRate: items: description: >- Set of elements used to provide details of a generic rate related to the statement resource. type: object properties: Rate: description: Rate associated with the statement rate type. type: string minLength: 1 maxLength: 10 pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' Type: description: 'Statement rate type, in a coded form.' type: string enum: - AnnualBalanceTransfer - AnnualBalanceTransferAfterPromo - AnnualBalanceTransferPromo - AnnualCash - AnnualPurchase - AnnualPurchaseAfterPromo - AnnualPurchasePromo - MonthlyBalanceTransfer - MonthlyCash - MonthlyPurchase required: - Rate - Type additionalProperties: false type: array description: >- Set of elements used to provide details of a generic rate related to the statement resource. StatementValue: items: description: >- Set of elements used to provide details of a generic number value related to the statement resource. type: object properties: Value: description: Value associated with the statement value type. type: integer format: int32 Type: description: 'Statement value type, in a coded form.' type: string enum: - AirMilesPoints - AirMilesPointsBalance - Credits - Debits - HotelPoints - HotelPointsBalance - RetailShoppingPoints - RetailShoppingPointsBalance required: - Value - Type additionalProperties: false type: array description: >- Set of elements used to provide details of a generic number value related to the statement resource. StatementAmount: items: description: >- Set of elements used to provide details of a generic amount for the statement resource. type: object properties: Amount: description: Amount of money associated with the amount type. type: object properties: Amount: type: string pattern: '^\d{1,13}\.\d{1,5}$' Currency: description: >- A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds". type: string pattern: '^[A-Z]{3,3}$' required: - Amount - Currency additionalProperties: false CreditDebitIndicator: type: string enum: - Credit - Debit description: >- Indicates whether the amount is a credit or a debit. Usage: A zero amount is considered to be a credit amount. Type: description: 'Amount type, in a coded form.' type: string enum: - ArrearsClosingBalance - AvailableBalance - AverageBalanceWhenInCredit - AverageBalanceWhenInDebit - AverageDailyBalance - BalanceTransferClosingBalance - CashClosingBalance - ClosingBalance - CreditLimit - CurrentPayment - DirectDebitPaymentDue - MinimumPaymentDue - PreviousClosingBalance - PreviousPayment - PurchaseClosingBalance - StartingBalance - TotalAdjustments - TotalCashAdvances - TotalCharges - TotalCredits - TotalDebits - TotalPurchases required: - Amount - CreditDebitIndicator - Type additionalProperties: false type: array description: >- Set of elements used to provide details of a generic amount for the statement resource. required: - AccountId - Type - StartDateTime - EndDateTime - CreationDateTime additionalProperties: false BECSRemittance: type: object description: >- Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. NZ - Remittance information for use with BECS Electronic Credit payment scheme. The Particulars, Code and Reference fields are currently constrained by providers. The design choice has been made not to constrain through schema restrictions, to allow for future changes that remove the constraint. Note that not all banks will accept all valid characters, in which case a descriptive 400 Bad Request will be returned. Constraining to a-z, A-Z, - (dash) and 0-9 is advised. One example is abc-XYZ-123 properties: CreditorName: type: string maxLength: 20 CreditorReference: type: object properties: Particulars: type: string maxLength: 12 Code: type: string maxLength: 12 Reference: type: string maxLength: 12 DebtorName: type: string maxLength: 20 DebtorReference: type: object properties: Particulars: type: string maxLength: 12 Code: type: string maxLength: 12 Reference: type: string maxLength: 12 required: - CreditorName additionalProperties: false Meta: title: MetaData type: object description: Meta Data relevant to the payload properties: TotalPages: type: integer format: int32 FirstAvailableDateTime: description: >- All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time LastAvailableDateTime: description: >- All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 type: string format: date-time additionalProperties: false securityDefinitions: CustomerOAuth2Security: type: oauth2 flow: accessCode tokenUrl: 'https://authserver.example/token' authorizationUrl: 'https://authserver.example/authorization' scopes: accounts: Ability to read accounts information description: >- OAuth flow, it is required when the Customer needs to perform SCA with the API Provider when a Third Party wants to access an API Provider resource owned by the Customer ThirdPartyOAuth2Security: type: oauth2 flow: application tokenUrl: 'https://authserver.example/token' scopes: third_party_client_credential: Third Party client credential scope description: Third Party client credential authorisation flow with the API Provider responses: 400ErrorResponse: description: Bad Request 401ErrorResponse: description: Unauthorized 403ErrorResponse: description: Forbidden 405ErrorResponse: description: Method Not Allowed 406ErrorResponse: description: Not Acceptable 429ErrorResponse: description: Too Many Requests headers: Retry-After: description: Number in seconds to wait type: integer 500ErrorResponse: description: Internal Server Error 501ErrorResponse: description: Not Implemented