---
title: "Initiate Last Domestic Leg Payout (Upcoming 2027)"
method: POST
path: "/wallet_accounts/{id}/npp_last_domestic_leg"
tags: ["Wallet Accounts"]
---

# Initiate Last Domestic Leg Payout (Upcoming 2027)

`POST /wallet_accounts/{id}/npp_last_domestic_leg`

## Request

- Base URL: `https://test.api.promisepay.com`
- URL: `https://test.api.promisepay.com/wallet_accounts/{id}/npp_last_domestic_leg`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://au-0000.sandbox.auth.assemblypay.com/tokens`

Facilitate the real-time settlement of the last domestic leg payout for International Funds Transfer Instructions (IFTI) through NPP rails. This updated `ifti_information` payload shape goes live in 2027 and applies to accounts enabled for international funds transfer instructions. See 'Initiate Last Domestic Leg Payout' under Wallet Accounts in the main API documentation for the current live version.

## Path parameters

- `id` string, required

## Request body

- NppLastDomesticLegRequestBody
  - `account_id` string, required: Account to withdraw to.
  - `amount` integer, required: Amount (in cents) to withdraw.
  - `custom_descriptor` string: A descriptor specified by the customer to be passed on the withdraw call. This requires that custom_descriptors are enabled. In the case of fast payments (AU / NPP) Assembly will append a value in the beginning of descriptor, the customer can use 200 characters (excluding URL, javascript/code, emojis). In the case of DE batch payments will allow 18 characters
  - `reference_id` string: Unique reference information that can be specified for a for wallet withdrawal request. This is an optional field and cannot contain '.' character.
  - `end_to_end_id` string, required: A unique identifier assigned by the initiating party to track and reconcile the IFTI payout throughout its lifecycle. This value must be unique per transaction and is included in payment messaging for traceability across participating financial institutions. This is the Debtor’s (customer) reference for the Payment to be provided to Creditor (customer). Mandatory for NPP IFTI Payment.
  - `ifti_information` object, required: IFTI Payer Information (updated shape, going live in 2027). This is a required field and cannot contain invalid characters. Please get in touch with customer service before enabling this feature. Fields marked below are required exclusively for **IFTI payout processing to meet reporting and compliance requirements**. Please refer to individual field descriptions for specific conditional requirements. Compared to the current live version: `debtor`, `debtor_account`, and `debtor_agent_information` are new mandatory blocks; `ultimate_debtor_information` and `creditor_agent_instruction` are now optional; `previous_instructing_agent` is now an array (max 3); `contact_details` has been removed from all party blocks; and organisation/private identification is now `{ lei, other: [...] }` rather than a bare array.
    - `instruction_identification` string, required: A unique transaction reference number that identifies the final domestic payout request for NPP. It is recommended that this reference number matches the point-to-point transaction reference used in your Austrac reporting. Mandatory for NPP IFTI Payment.
    - `local_clearing_option` string: Local clearing option used for the domestic leg of the payment.
    - `debit_date_time` string, date-time: Date and time the debtor's account was debited.
    - `credit_date_time` string, date-time: Date and time the creditor's account was credited.
    - `cls_time` string, date-time: CLS (Continuous Linked Settlement) time, when applicable.
    - `uetr` string: Unique End-to-end Transaction Reference (UETR) for the underlying international message. Optional.
    - `creditor_lei` string: Legal Entity Identifier (LEI) of the creditor, when available. 20 characters: 18 alphanumeric + 2 numeric.
    - `debtor_lei` string: Legal Entity Identifier (LEI) of the debtor, when available. 20 characters: 18 alphanumeric + 2 numeric.
    - `instructed_amount` object: Transaction Amount. This is the amount originated in foreign currency.
      - `currency` string
      - `amount` string
    - `exchange_rate` string: Exchange rate used for AUD FX conversion. Mandatory for IFTI if present in the source international message.
    - `charge_bearer` 'CRED' | 'DEBT' | 'SHAR' | 'SLEV', required: Specifies which party/parties will bear the charges of processing payment transaction. Valid values - 'CRED' (Borne by Creditor), 'DEBT' (Borne by Debtor), 'SHAR' (Shared), 'SLEV' (Following Service Level).
    - `charges_information` object[]: Charges applied by agents along the payment chain. Array, max 3 items. When an item is present, its `amount` and `agent_bic` are required.
      - `amount` object
        - `currency` string
        - `amount` string
      - `agent_bic` string
    - `payment_purpose_proprietary` string: Refers to a code or description used to specify the reason or purpose for the payment. This information is often provided by the sender to clarify the intent of the transfer, such as payment for goods, services, or a personal remittance. Mandatory for IFTI if present in the source international message.
    - `previous_instructing_agent` object[]: This identifies the agent or remitter's bank that instructs the intermediary bank or NPP payer participant to clear funds, typically for bulk or aggregated transfers to your account. Each entry can either be the agent_bic OR clearing system identification and clearing system member identification. **Now an array (max 3 items) - was a single object in the current live version.**
      - `agent_bic` string
      - `clearing_system_identification` string
      - `clearing_system_member_identification` string
    - `creditor_address` IftiAddressV4: Address, used for creditor_address, party addresses, and related_remittance_information's postal_address. Adds bldg_number, floor, post_box, room, town_location, and district_name compared to the current live version's address schema.
      - `address_type` 'ADDR' | 'BIZZ' | 'DLVY' | 'HOME' | 'MLTO' | 'PBOX': Address Type ADDR - Postal Address is the complete postal address BIZZ - Business Address is the business address DLVY - Delivery To Address is the address to which delivery is to take place HOME - Residential Address is the home address MLTO - Mail To Address is the address to which mail is sent PBOX - POBox Address is a postal office (PO) box
      - `department` string: Department
      - `sub_department` string: Sub Department
      - `street_name` string: Street Name
      - `bldg_number` string: Building number. New in this version.
      - `bldg_name` string: Building name
      - `floor` string: Floor. New in this version.
      - `post_box` string: Post box. New in this version.
      - `room` string: Room. New in this version.
      - `postcode` string: Post Code
      - `town_name` string: Town name
      - `town_location` string: Town location. New in this version.
      - `district_name` string: District name. New in this version.
      - `ctry_sub_division` string: Country Subdivision
      - `country_code` string: Country Code
      - `address_line` string[]: Address Lines: "address_line": ["Melbourne", "2000" ]
    - `creditor_agent_instruction` object[]: Refers to additional details or instructions provided to the bank or financial institution responsible for crediting the funds to the recipient (the creditor). These instructions are provided by the initiating party and help the creditor agent accurately complete the transfer. **Now optional - was mandatory in the current live version.** Sent as-is (the current live version prefixed instruction_information with a BIC smuggling convention no longer needed now that debtor_agent_information exists).
      - `instruction_information` string
      - `code` 'CHQB' | 'HOLD' | 'PHOB' | 'TELB'
    - `next_agent_instruction` string[]: Free-text instructions for the next agent in the payment chain. Array, max 3 items.
    - `regulatory_reporting` object[]: Refers to the obligation to report certain transaction details to regulatory authorities to comply with anti-money laundering (AML), counter-terrorism financing (CTF), and other financial regulations. Array, max 10 items.
      - `reporting_type` string
      - `authority_name` string: Refers to the name of the regulatory body or financial authority to which the payment details are reported for compliance purposes. This is typically a government or financial intelligence agency that monitors transactions for anti-money laundering (AML) and counter-terrorism financing (CTF) efforts.
      - `authority_country` string
      - `details` object[]
        - `type` string
        - `date` string, date
        - `country` string
        - `code` string
        - `amount` object
          - `currency` string
          - `amount` string
        - `information` string[]
    - `remittance_information_structured` object: This is now an object whose only property is `referred_document_information` (array, max 3 items). All other sub-fields from the current live version (tax, garnishment, creditor reference, invoicer/invoicee) have been removed.
      - `referred_document_information` object[]
        - `code` string
        - `proprietary` string
        - `issuer` string
        - `number` string
        - `related_date` string, date
    - `related_remittance_information` object[]: Array, max 10 items. `location_details.name` has been removed - it is logged and dropped if still supplied.
      - `identification` string
      - `location_details` object[]
        - `method` string
        - `electronic_address` string
        - `postal_address` IftiAddressV4: Address, used for creditor_address, party addresses, and related_remittance_information's postal_address. Adds bldg_number, floor, post_box, room, town_location, and district_name compared to the current live version's address schema.
          - `address_type` 'ADDR' | 'BIZZ' | 'DLVY' | 'HOME' | 'MLTO' | 'PBOX': Address Type ADDR - Postal Address is the complete postal address BIZZ - Business Address is the business address DLVY - Delivery To Address is the address to which delivery is to take place HOME - Residential Address is the home address MLTO - Mail To Address is the address to which mail is sent PBOX - POBox Address is a postal office (PO) box
          - `department` string: Department
          - `sub_department` string: Sub Department
          - `street_name` string: Street Name
          - `bldg_number` string: Building number. New in this version.
          - `bldg_name` string: Building name
          - `floor` string: Floor. New in this version.
          - `post_box` string: Post box. New in this version.
          - `room` string: Room. New in this version.
          - `postcode` string: Post Code
          - `town_name` string: Town name
          - `town_location` string: Town location. New in this version.
          - `district_name` string: District name. New in this version.
          - `ctry_sub_division` string: Country Subdivision
          - `country_code` string: Country Code
          - `address_line` string[]: Address Lines: "address_line": ["Melbourne", "2000" ]
    - `service_level` string[]: Pass-through of the service level values carried on the inbound international message. Array, max 3 items, each 1-35 characters (e.g. SEPA, BKTR, G001). Distinct from payment_information.service_level, which Zai populates automatically.
    - `debtor` PartyIdentificationV4, required: Party identification. Unlike the current live version, `organisation_identification` and `private_identification` are single objects shaped `{ lei, other: [...] }` rather than a bare array, and `contact_details` has been removed.
      - `name` string
      - `country_of_residence` string
      - `address` IftiAddressV4: Address, used for creditor_address, party addresses, and related_remittance_information's postal_address. Adds bldg_number, floor, post_box, room, town_location, and district_name compared to the current live version's address schema.
        - `address_type` 'ADDR' | 'BIZZ' | 'DLVY' | 'HOME' | 'MLTO' | 'PBOX': Address Type ADDR - Postal Address is the complete postal address BIZZ - Business Address is the business address DLVY - Delivery To Address is the address to which delivery is to take place HOME - Residential Address is the home address MLTO - Mail To Address is the address to which mail is sent PBOX - POBox Address is a postal office (PO) box
        - `department` string: Department
        - `sub_department` string: Sub Department
        - `street_name` string: Street Name
        - `bldg_number` string: Building number. New in this version.
        - `bldg_name` string: Building name
        - `floor` string: Floor. New in this version.
        - `post_box` string: Post box. New in this version.
        - `room` string: Room. New in this version.
        - `postcode` string: Post Code
        - `town_name` string: Town name
        - `town_location` string: Town location. New in this version.
        - `district_name` string: District name. New in this version.
        - `ctry_sub_division` string: Country Subdivision
        - `country_code` string: Country Code
        - `address_line` string[]: Address Lines: "address_line": ["Melbourne", "2000" ]
      - `organisation_identification` GenericIdentificationV4: Identification group: `{ lei, other: [...] }`, replacing the bare array of identification items used in the current live version.
        - `lei` string
        - `other` GenericIdentification[]
          - `identification` string, required
          - `identification_type_proprietary` string
          - `identification_type_code` string
          - `identification_issuer` string
      - `organisation_bic` string
      - `private_identification` GenericIdentificationV4: Identification group: `{ lei, other: [...] }`, replacing the bare array of identification items used in the current live version.
        - `lei` string
        - `other` GenericIdentification[]
          - `identification` string, required
          - `identification_type_proprietary` string
          - `identification_type_code` string
          - `identification_issuer` string
      - `date_place_of_birth` DateAndPlaceOfBirth
        - `birth_date` string, date, required
        - `place_of_birth` string
        - `city_of_birth` string, required
        - `country_of_birth` string, required
    - `debtor_account` object, required: The debtor's account for the international leg. **New mandatory block.** Either `iban` or `account_identification` must be present.
      - `iban` string
      - `account_identification` string
      - `account_identification_type_code` string
      - `account_identification_issuer` string: 6-digit BSB, when account_identification_type_code identifies a BSB-style account.
    - `debtor_agent_information` object, required: The debtor's bank/agent for the international leg. **New mandatory block.** Either `bic` or `lei` must be present.
      - `bic` string
      - `lei` string
      - `name` string
    - `ultimate_debtor_information` PartyIdentificationV4: Party identification. Unlike the current live version, `organisation_identification` and `private_identification` are single objects shaped `{ lei, other: [...] }` rather than a bare array, and `contact_details` has been removed.
      - `name` string
      - `country_of_residence` string
      - `address` IftiAddressV4: Address, used for creditor_address, party addresses, and related_remittance_information's postal_address. Adds bldg_number, floor, post_box, room, town_location, and district_name compared to the current live version's address schema.
        - `address_type` 'ADDR' | 'BIZZ' | 'DLVY' | 'HOME' | 'MLTO' | 'PBOX': Address Type ADDR - Postal Address is the complete postal address BIZZ - Business Address is the business address DLVY - Delivery To Address is the address to which delivery is to take place HOME - Residential Address is the home address MLTO - Mail To Address is the address to which mail is sent PBOX - POBox Address is a postal office (PO) box
        - `department` string: Department
        - `sub_department` string: Sub Department
        - `street_name` string: Street Name
        - `bldg_number` string: Building number. New in this version.
        - `bldg_name` string: Building name
        - `floor` string: Floor. New in this version.
        - `post_box` string: Post box. New in this version.
        - `room` string: Room. New in this version.
        - `postcode` string: Post Code
        - `town_name` string: Town name
        - `town_location` string: Town location. New in this version.
        - `district_name` string: District name. New in this version.
        - `ctry_sub_division` string: Country Subdivision
        - `country_code` string: Country Code
        - `address_line` string[]: Address Lines: "address_line": ["Melbourne", "2000" ]
      - `organisation_identification` GenericIdentificationV4: Identification group: `{ lei, other: [...] }`, replacing the bare array of identification items used in the current live version.
        - `lei` string
        - `other` GenericIdentification[]
          - `identification` string, required
          - `identification_type_proprietary` string
          - `identification_type_code` string
          - `identification_issuer` string
      - `organisation_bic` string
      - `private_identification` GenericIdentificationV4: Identification group: `{ lei, other: [...] }`, replacing the bare array of identification items used in the current live version.
        - `lei` string
        - `other` GenericIdentification[]
          - `identification` string, required
          - `identification_type_proprietary` string
          - `identification_type_code` string
          - `identification_issuer` string
      - `date_place_of_birth` DateAndPlaceOfBirth
        - `birth_date` string, date, required
        - `place_of_birth` string
        - `city_of_birth` string, required
        - `country_of_birth` string, required
    - `ultimate_creditor_information` PartyIdentificationV4: Party identification. Unlike the current live version, `organisation_identification` and `private_identification` are single objects shaped `{ lei, other: [...] }` rather than a bare array, and `contact_details` has been removed.
      - `name` string
      - `country_of_residence` string
      - `address` IftiAddressV4: Address, used for creditor_address, party addresses, and related_remittance_information's postal_address. Adds bldg_number, floor, post_box, room, town_location, and district_name compared to the current live version's address schema.
        - `address_type` 'ADDR' | 'BIZZ' | 'DLVY' | 'HOME' | 'MLTO' | 'PBOX': Address Type ADDR - Postal Address is the complete postal address BIZZ - Business Address is the business address DLVY - Delivery To Address is the address to which delivery is to take place HOME - Residential Address is the home address MLTO - Mail To Address is the address to which mail is sent PBOX - POBox Address is a postal office (PO) box
        - `department` string: Department
        - `sub_department` string: Sub Department
        - `street_name` string: Street Name
        - `bldg_number` string: Building number. New in this version.
        - `bldg_name` string: Building name
        - `floor` string: Floor. New in this version.
        - `post_box` string: Post box. New in this version.
        - `room` string: Room. New in this version.
        - `postcode` string: Post Code
        - `town_name` string: Town name
        - `town_location` string: Town location. New in this version.
        - `district_name` string: District name. New in this version.
        - `ctry_sub_division` string: Country Subdivision
        - `country_code` string: Country Code
        - `address_line` string[]: Address Lines: "address_line": ["Melbourne", "2000" ]
      - `organisation_identification` GenericIdentificationV4: Identification group: `{ lei, other: [...] }`, replacing the bare array of identification items used in the current live version.
        - `lei` string
        - `other` GenericIdentification[]
          - `identification` string, required
          - `identification_type_proprietary` string
          - `identification_type_code` string
          - `identification_issuer` string
      - `organisation_bic` string
      - `private_identification` GenericIdentificationV4: Identification group: `{ lei, other: [...] }`, replacing the bare array of identification items used in the current live version.
        - `lei` string
        - `other` GenericIdentification[]
          - `identification` string, required
          - `identification_type_proprietary` string
          - `identification_type_code` string
          - `identification_issuer` string
      - `date_place_of_birth` DateAndPlaceOfBirth
        - `birth_date` string, date, required
        - `place_of_birth` string
        - `city_of_birth` string, required
        - `country_of_birth` string, required
    - `initiating_party_information` PartyIdentificationV4Initiating: Party identification for `initiating_party_information` only. `organisation_identification` and `private_identification` are **arrays** of identification groups here, unlike every other party block where they are single objects.
      - `name` string
      - `country_of_residence` string
      - `address` IftiAddressV4: Address, used for creditor_address, party addresses, and related_remittance_information's postal_address. Adds bldg_number, floor, post_box, room, town_location, and district_name compared to the current live version's address schema.
        - `address_type` 'ADDR' | 'BIZZ' | 'DLVY' | 'HOME' | 'MLTO' | 'PBOX': Address Type ADDR - Postal Address is the complete postal address BIZZ - Business Address is the business address DLVY - Delivery To Address is the address to which delivery is to take place HOME - Residential Address is the home address MLTO - Mail To Address is the address to which mail is sent PBOX - POBox Address is a postal office (PO) box
        - `department` string: Department
        - `sub_department` string: Sub Department
        - `street_name` string: Street Name
        - `bldg_number` string: Building number. New in this version.
        - `bldg_name` string: Building name
        - `floor` string: Floor. New in this version.
        - `post_box` string: Post box. New in this version.
        - `room` string: Room. New in this version.
        - `postcode` string: Post Code
        - `town_name` string: Town name
        - `town_location` string: Town location. New in this version.
        - `district_name` string: District name. New in this version.
        - `ctry_sub_division` string: Country Subdivision
        - `country_code` string: Country Code
        - `address_line` string[]: Address Lines: "address_line": ["Melbourne", "2000" ]
      - `organisation_identification` GenericIdentificationV4[]
        - `lei` string
        - `other` GenericIdentification[]
          - `identification` string, required
          - `identification_type_proprietary` string
          - `identification_type_code` string
          - `identification_issuer` string
      - `organisation_bic` string
      - `private_identification` GenericIdentificationV4[]
        - `lei` string
        - `other` GenericIdentification[]
          - `identification` string, required
          - `identification_type_proprietary` string
          - `identification_type_code` string
          - `identification_issuer` string
      - `date_place_of_birth` DateAndPlaceOfBirth
        - `birth_date` string, date, required
        - `place_of_birth` string
        - `city_of_birth` string, required
        - `country_of_birth` string, required
    - `payment_information` object, required: **Mandatory block.** `country_of_origin` is mandatory; `service_level` is deliberately not accepted here (Zai injects the fixed value `sctxbrdr`) - use the top-level `service_level` field to pass through the customer's own service level values.
      - `uetr` string: Mirrored to the top-level `uetr` field if not already provided there.
      - `country_of_origin` string, required: ISO 3166-1 alpha-2 country code of the payment's origin. Mandatory.
      - `remittance_information_unstructured` string: Refers to additional, free-text details provided by the sender about the purpose or context of the payment.
      - `payment_purpose_code` string: This refers to the standardized code that indicates the reason for the payment. It helps to identify the nature of the transaction for regulatory and compliance purposes. Refer to https://www.iso20022.org/catalogue-messages/additional-content-messages/external-code-sets for full list of Payment Purpose code.

## Response `201`

OK

- object
  - `disbursements` NppLastDomesticLegDisbursement
    - `id` string
    - `reference_id` string
    - `amount` integer
    - `currency` string
    - `batch_id` string
    - `cuscal_payment_transaction_id` string
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `state` string
    - `to` string
    - `bank_name` string
    - `bank_account_name` string
    - `bank_account_number` string
    - `bank_routing_number` string
    - `npp_payout_state` string
    - `account_name` string
    - `biller_name` string
    - `biller_code` string
    - `crn` string
    - `links` object
      - `transactions` string
      - `wallet_accounts` string
      - `paypal_accounts` string
      - `bank_accounts` string
      - `bpay_accounts` string
      - `items` string
      - `users` string
    - `end_to_end_id` string
    - `ifti_information` IftiInformationResponse
      - `instruction_identification` string
      - `charge_bearer` string
      - `uetr` string
      - `creditor_lei` string
      - `debtor_lei` string
      - `service_level` string[]
      - `previous_instructing_agent` object[]
        - `agent_bic` string
      - `creditor_agent_instruction` object[]
        - `instruction_information` string
        - `code` string
      - `initiating_party_information` object: Simplified response sample for initiating_party_information, where organisation_identification is an array of objects.
        - `name` string
        - `country_of_residence` string
        - `address` object
          - `country_code` string
          - `address_line` string[]
        - `organisation_identification` object[]
          - `lei` string
          - `other` object[]
            - `identification` string
      - `debtor` object: Simplified response sample for party blocks where organisation_identification is a single object.
        - `name` string
        - `country_of_residence` string
        - `address` object
          - `country_code` string
          - `address_line` string[]
        - `organisation_identification` object
          - `lei` string
          - `other` object[]
            - `identification` string
      - `debtor_account` object
        - `iban` string
      - `debtor_agent_information` object
        - `bic` string
      - `creditor_address` object
        - `country_code` string
        - `address_line` string[]
      - `next_agent_instruction` string[]
      - `instructed_amount` object
        - `currency` string
        - `amount` string
      - `ultimate_creditor_information` object: Simplified response sample for party blocks where organisation_identification is a single object.
        - `name` string
        - `country_of_residence` string
        - `address` object
          - `country_code` string
          - `address_line` string[]
        - `organisation_identification` object
          - `lei` string
          - `other` object[]
            - `identification` string
      - `exchange_rate` string
      - `payment_purpose_proprietary` string
      - `payment_information` object
        - `uetr` string
        - `country_of_origin` string
        - `remittance_information_unstructured` string
        - `payment_purpose_code` string
      - `regulatory_reporting` object[]
        - `authority_name` string
      - `remittance_information_structured` object
        - `referred_document_information` object[]
          - `code` string
          - `proprietary` string
          - `issuer` string
          - `number` string
          - `related_date` string
      - `related_remittance_information` object[]
        - `identification` string

---

[API](https://skmtc.dev/hellozai/apis/upcoming-initiate-last-domestic-leg-payout.md) - [All operations](https://skmtc.dev/hellozai/apis/upcoming-initiate-last-domestic-leg-payout/llms.txt) - [OpenAPI document](https://skmtc.dev/hellozai/apis/upcoming-initiate-last-domestic-leg-payout/revisions/a6d4f15970eb?raw)
