Fileactive PayTo API Fileactive PayTo API

Fileactive PayTo API (1.1.1)

Download OpenAPI specification:Download

Fileactive PayTo API provides consumers the ability to

  • Create a Mandate
  • Amend a Mandate
  • Change a Mandate Status
  • Get Mandate Details
  • Create a Mandated Payment Initiation Request (MPIR)
  • Create a PayTo Query Resolution

Payloads are to be encrypted and signed prior to transmitting.

PayTo API Event Codes

Release 1.1.1 changes:

  • Updated hyper-links between schema models and PayTo Webhook API

Release 1.1.0 changes:

  • Updated PayTo endpoints to v1 instead of v1.0
  • Added account_identification_type_code to Amend Mandate request
  • Updated clearing value for attribute payment_execute_not_before_time on Amend Mandate request
  • Updated Amend Mandate attribute descriptions to indicate more clearly which attributes can be cleared and which ones cannot
  • Added hyper-links between schema models and PayTo Webhook API

Release 1.0.4 changes:

  • Updated Amend Mandate examples
  • Removed payment_initiator_information from Create Mandate request

Release 1.0.3 changes:

  • Updated Amend Mandate examples
  • Updated REGEX for uetr must be UUID v4
  • Updated REGEX for request_id must be 36 characters

Release 1.0.2 changes:

  • Added Amend Mandate operation.

Release 1.0.1 changes:

  • Updated the conditional rules which apply to the creation of mandates specifically new DDRs and migrated DDRs.
  • Added Create Mandate example payloads.
  • Added link to PayID information page.
  • Updated descriptions from "Payee" to "Biller".
  • Added required scope for each API operation.

Authorisation

Operations related to authentication & authorisation.

Obtain authorisation token

ANZ use OAuth 2.0 to authenticate inbound token requests, a bearer token is returned as a response which is then used to authorise against ANZ resources

Authorizations:
(apiKeyAuthOAuth2)
Request Body schema: application/x-www-form-urlencoded
required

Information and examples of Auth request body

grant_type
required
string

Specify the type credential requested

client_assertion_type
required
string

Describes the type of client assertion provided in the message request

scope
required
any
required
object (ClientAssertion)

Responses

Response samples

Content type
application/json
{
  • "expires_in": 3600,
  • "token_type": "Bearer",
  • "access_token": "eaaa13ee-b596-a8cc-b9d4-f778f8bb9377"
}

Mandate

Operations related to mandates.

Create a new mandate.

The purpose of this operation is to create a new mandate in the MMS. A mandate is always created by the Payment Initiator. If the Establishment Scheme for the mandate is 'AUPM' then the mandate will be created bilaterally, otherwise it will be created unilaterally. A unilaterally created mandate will have initial status 'Active' and version '1' whereas a bilaterally created mandate will have initial status 'Created' and version '0'. A bilaterally created mandate can only become 'Active' when the Debtor confirms the creation of the mandate, at which moment its' version will also increase to '1'.

A bilateral mandate creation will automatically expire after a fixed time period if the creation action is not completed, declined or recalled. Expiry of a mandate creation will result in the mandate status being set to 'Cancelled'.

The initial API response indicates if ANZ has accepted or rejected the request, not the processing outcome of the request. The processing outcome of the request will be delivered via the PayTo Webhook API - Mandate Processing Outcomes.

The following rules apply to this API:

  • EstablishmentSchemeRule1: If establishment_scheme is equal to 'MGCR' then creditor_information must be present.

  • EstablishmentSchemeRule2: If establishment_scheme is equal to 'MGCR' then additional_information must be populated with the BECS User Id of the Initiating Party.

  • EstablishmentSchemeRule3: If establishment_scheme is equal to 'MGCR' then resolution_requested_by must be absent.

  • ValidityEndDateRule1: If validity_end_date is present then automatic_extension_indicator must be 'false'.

  • ValidityEndDateRule2: If validity_end_date is not present then automatic_extension_indicator must be 'true'.

Authorizations:
(apiKeyAuthbearerAuth)
header Parameters
X-Correlation-Id
string (UUID) [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{...
Example: 71d6fb19-7515-40dc-b045-e17550b67600

Optional correlation ID provided by the data consumer that should be reflected back in the response headers. Can be used for reporting and logging.

X-Message-Id
required
string (UUID) [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{...
Example: 71d6fb19-7515-40dc-b045-e17550b67600

Duplicate check using point to point reference, as assigned by the instructing party, and sent to the next party in the chain to unambiguously identify the message

priority
required
string (NotificationPriority1Code)
Enum: "ATTENDED" "UNATTENDED"

Priority (attended/unattended) to be included in any generated notification. This value does not affect the priority for processing within the MMS. It may, depending on topic configuration, influence which topic any generated notification is sent to.

Request Body schema: application/json
required

Secured resource to create a mandate in the MMS.

Refer to Model/Schema MandateCreationRequest for unencrypted payload object.

Examples are reflective of unencrypted payload.

secured_payload
required
string

Encrypted and secured payload

Responses

Request samples

Content type
application/json
Example
{
  • "secured_payload": {
    }
}

Response samples

Content type
application/json
{
  • "status": {
    }
}

Change the status of a mandate.

The purpose of this operation is to change the status of a mandate. A status change is always performed as a unilateral operation. The status can only be changed when the mandate is currently active or suspended. Releasing a suspended mandate can only be performed by the party that suspended the mandate. A status change can be applied when there is a pending amendment and also when porting is in progress.

Upon successful status change the mandate version number will be incremented.

Any notification triggered by this operation will have priority UNATTENDED.

The initial API response indicates if ANZ has accepted or rejected the request, not the processing outcome of the request. The processing outcome of the request will be delivered via the PayTo Webhook API - Mandate Processing Outcomes.

The following rules apply to this API:

  • ChangeAndReasonCodeRule1: When change is equal to value 'CNCL' or 'SUSP' then reason_code must be present.
Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
mandateId
required
string^[a-f0-9]{12}1[a-f0-9]{3}[89ab][a-f0-9]{15}$

ID of mandate whose status is to be updated.

header Parameters
X-Correlation-Id
string (UUID) [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{...
Example: 71d6fb19-7515-40dc-b045-e17550b67600

Optional correlation ID provided by the data consumer that should be reflected back in the response headers. Can be used for reporting and logging.

X-Message-Id
required
string (UUID) [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{...
Example: 71d6fb19-7515-40dc-b045-e17550b67600

Duplicate check using point to point reference, as assigned by the instructing party, and sent to the next party in the chain to unambiguously identify the message

priority
required
string (NotificationPriority2Code)
Value: "UNATTENDED"

Priority (attended/unattended) to be included in any generated notification. This value does not affect the priority for processing within the MMS. It may, depending on topic configuration, influence which topic any generated notification is sent to.

Only UNATTENDED is supported for this request type.

Request Body schema: application/json
required

Secured resource to change the status of a mandate in the MMS.

Refer to Model/Schema MandateStatusChangeRequest for unencrypted payload object.

secured_payload
required
string

Encrypted and secured payload

Responses

Request samples

Content type
application/json
{
  • "secured_payload": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpbnN0cnVjdGlvbl9pZGVudGlmaWNhdGlvbiI6IlRDMTIxLzE0NzE4NzM4MjMiLCJlbmRfdG9fZW5kX2lkZW50aWZpY2F0aW9uIjoiTk9UUFJPVklERUQiLCJjcmVhdGlvbl9kYXRlX3RpbWUiOiIyMDE4LTA5LTE3VDA5OjQ1OjQ3WiIsImluaXRpYXRpbmdfcGFydHlfbmFtZSI6IkN1c3RvbWVyQSIsInJlcXVlc3RlZF9leGVjdXRpb25fZGF0ZSI6IjIwMTgtMDktMTciLCJkZWJ0b3JfbmFtZSI6IkJJTEJPIEJBR0dJTlMiLCJkZWJ0b3JfYWNjb3VudF9pZGVudGlmaWNhdGlvbiI6IjAxMzQyMTIzNDU2NyIsImRlYnRvcl9hY2NvdW50X3R5cGUiOiJCQkFOIiwiaW5zdHJ1Y3RlZF9hbW91bnQiOnsiY3VycmVuY3kiOiJBVUQiLCJhbW91bnQiOiI1NjIuODkifSwiY3JlZGl0b3JfbmFtZSI6IlNBTVdJU0UgR0FNR0VFIiwiY3JlZGl0b3JfYWNjb3VudF9pZGVudGlmaWNhdGlvbiI6IjAxMDE2OTg3NjU0MzIxIiwiY3JlZGl0b3JfYWNjb3VudF90eXBlIjoiQkJBTiIsImNyZWRpdG9yX2FnZW50X2JpYyI6Ik5PVFBST1ZJREVEIiwicmVtaXR0YW5jZV9pbmZvcm1hdGlvbl91bnN0cnVjdHVyZWQiOlsiRklSU1QgTElORSIsIlNFQ09ORCBMSU5FIl19.aR2RMEVTuOOI1YuUCf2Ppo3Bwtf2_91WMvLd3IIA0ToHBDn0II36FumIz2RrwiUNHBMZo41Qmjv_zt9TQbq61csx2lRZcQNNsstAXKZWI4oZjlBaenj3HvY2_ztxS2IPNZNlVUQrw8A51-1dm-EeVTsqwhxs-Ir6d1FCee5SaNBrhtfaDBGAwjtXolPJuyYve0J3F8X-JwKPLBUaQH5LgGlTOSasC0vsKqhfpZOc-3rS39UA7q0jHQyqcJKrhinEyWlTFU9PcOh2W4-0hXiPaLJ_PA-_EkY5kYBnBvUWofVy35ZnB_u0wv0gxvVVDYKLGUpOGblaWRUY09SHx52Njw"
}

Response samples

Content type
application/json
{
  • "status": {
    }
}

Amend mandate

The purpose of this operation is to amend an existing mandate.

The MMS will determine if the amendment is to be performed unilaterally or bilaterally based on the party role of the caller and the fields being amended.

  • When applied unilaterally then the amendment will be applied immediately.
  • When applied bilaterally, the amendment will remain pending until it is completed or declined by the Payer, or until it is recalled by the Biller, or until it expires.

Only a single bilateral amendment can be pending per mandate at any time.

Any attempt to amend a mandate that must be performed bilaterally where there is already a pending amendment will fail. However, unilateral amendments may still be performed where a pending amendment exists.

  • For a unilateral amendment the changes will only be applied to the mandate if the amendment does not invalidate the mandate integrity.
  • For a bilateral amendment, the integrity of the changes will be verified when the amendment request is received and again at the moment that the action is confirmed.
  • The rules determining the integrity of the mandate are defined in the PayTo API - Create Mandate.

A mandate amendment will automatically expire after a fixed time period if the amendment is not completed, declined or recalled.

For a bilateral amendment the mandate version number will only be incremented when the amendment action is successfully completed.

The initial API response indicates if ANZ has accepted or rejected the request, not the processing outcome of the request. The processing outcome of the request will be delivered via the PayTo Webhook API - Mandate Processing Outcomes.

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
mandateId
required
string^[a-f0-9]{12}1[a-f0-9]{3}[89ab][a-f0-9]{15}$

ID of mandate to be amended.

header Parameters
X-Correlation-Id
string (UUID) [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{...
Example: 71d6fb19-7515-40dc-b045-e17550b67600

Optional correlation ID provided by the data consumer that should be reflected back in the response headers. Can be used for reporting and logging.

X-Message-Id
required
string (UUID) [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{...
Example: 71d6fb19-7515-40dc-b045-e17550b67600

Duplicate check using point to point reference, as assigned by the instructing party, and sent to the next party in the chain to unambiguously identify the message

priority
required
string (NotificationPriority1Code)
Enum: "ATTENDED" "UNATTENDED"

Priority (attended/unattended) to be included in any generated notification. This value does not affect the priority for processing within the MMS. It may, depending on topic configuration, influence which topic any generated notification is sent to.

Request Body schema: application/json
required

Secured resource to amend a mandate in the MMS.

Refer to Model/Schema MandateAmendmentRequest for unencrypted payload object.

Examples are reflective of unencrypted payload.

secured_payload
required
string

Encrypted and secured payload

Responses

Request samples

Content type
application/json
Example
{
  • "secured_payload": {
    }
}

Response samples

Content type
application/json
{
  • "status": {
    }
}

Get details of a mandate.

The purpose of this operation is to retrieve the details of a specific mandate in its current state. The response may optionally include the details of any pending actions for the mandate.

Authorizations:
(apiKeyAuthbearerAuth)
path Parameters
mandateId
required
string^[a-f0-9]{12}1[a-f0-9]{3}[89ab][a-f0-9]{15}$
Example: 9ff40f2bf6af193ebe1d70572c85f1d1

ID of mandate whose details are to be retrieved.

query Parameters
pendingActions
boolean
Default: false
Example: pendingActions=true

Flag indicating if the details of any pending actions on the mandate should also be retrieved.

header Parameters
X-Correlation-Id
string (UUID) [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{...
Example: 71d6fb19-7515-40dc-b045-e17550b67600

Optional correlation ID provided by the data consumer that should be reflected back in the response headers. Can be used for reporting and logging.

X-Message-Id
required
string (UUID) [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{...
Example: 71d6fb19-7515-40dc-b045-e17550b67600

Duplicate check using point to point reference, as assigned by the instructing party, and sent to the next party in the chain to unambiguously identify the message

mpsUserId
required
string [ 1 .. 10 ] characters
Example: 10002005

MPS User Id associated with this mandate request

Responses

Response samples

Content type
application/json
{
  • "mandate": {
    },
  • "pending_actions": [
    ]
}

MPIR

Create a new MPIR.

The purpose of this operation is to create a new mandated payment initiation request (MPIR). The underlying mandate must be in an 'Active' state.

The initial API response indicates if ANZ has accepted or rejected the request, not the MPIR processing outcome of the request. The MPIR processing outcome will be delivered via the PayTo Webhook API - MPIR Processing Outcomes.

The following rules apply to this API:

  • MPSUserSchemeRule1: mps_user_id must be the owner of the provided mandate_identification

  • InstructedAmountSchemeRule1: instructed_amount must not exceed the maximum amount specified in the associated mandate mandate_identification

  • CreditorDetailsSchemeRule1: creditor_information must be present where not provided on the mandate.

  • CreditorDetailsSchemeRule2: creditor_information should not be present where provided on the mandate.

  • CreditorDetailsSchemeRule3: If creditor_information is provided and is also available on the mandate then details must be exactly the same.

Authorizations:
(apiKeyAuthbearerAuth)
header Parameters
X-Correlation-Id
string (UUID) [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{...
Example: 71d6fb19-7515-40dc-b045-e17550b67600

Optional correlation ID provided by the data consumer that should be reflected back in the response headers. Can be used for reporting and logging.

X-Message-Id
required
string (UUID) [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{...
Example: 71d6fb19-7515-40dc-b045-e17550b67600

Duplicate check using point to point reference, as assigned by the instructing party, and sent to the next party in the chain to unambiguously identify the message

priority
required
string (NotificationPriority1Code)
Enum: "ATTENDED" "UNATTENDED"

MPIR Priority (attended/unattended). Urgency or order of importance that the originator would like the recipient of the payment instruction to apply to the processing of the payment instruction. Will be included in any generated notification.

Request Body schema: application/json
required

Secured resource to create a MPIR.

Refer to Model/Schema MPIRCreationRequest for unencrypted payload object

secured_payload
required
string

Encrypted and secured payload

Responses

Request samples

Content type
application/json
{
  • "secured_payload": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpbnN0cnVjdGlvbl9pZGVudGlmaWNhdGlvbiI6IlRDMTIxLzE0NzE4NzM4MjMiLCJlbmRfdG9fZW5kX2lkZW50aWZpY2F0aW9uIjoiTk9UUFJPVklERUQiLCJjcmVhdGlvbl9kYXRlX3RpbWUiOiIyMDE4LTA5LTE3VDA5OjQ1OjQ3WiIsImluaXRpYXRpbmdfcGFydHlfbmFtZSI6IkN1c3RvbWVyQSIsInJlcXVlc3RlZF9leGVjdXRpb25fZGF0ZSI6IjIwMTgtMDktMTciLCJkZWJ0b3JfbmFtZSI6IkJJTEJPIEJBR0dJTlMiLCJkZWJ0b3JfYWNjb3VudF9pZGVudGlmaWNhdGlvbiI6IjAxMzQyMTIzNDU2NyIsImRlYnRvcl9hY2NvdW50X3R5cGUiOiJCQkFOIiwiaW5zdHJ1Y3RlZF9hbW91bnQiOnsiY3VycmVuY3kiOiJBVUQiLCJhbW91bnQiOiI1NjIuODkifSwiY3JlZGl0b3JfbmFtZSI6IlNBTVdJU0UgR0FNR0VFIiwiY3JlZGl0b3JfYWNjb3VudF9pZGVudGlmaWNhdGlvbiI6IjAxMDE2OTg3NjU0MzIxIiwiY3JlZGl0b3JfYWNjb3VudF90eXBlIjoiQkJBTiIsImNyZWRpdG9yX2FnZW50X2JpYyI6Ik5PVFBST1ZJREVEIiwicmVtaXR0YW5jZV9pbmZvcm1hdGlvbl91bnN0cnVjdHVyZWQiOlsiRklSU1QgTElORSIsIlNFQ09ORCBMSU5FIl19.aR2RMEVTuOOI1YuUCf2Ppo3Bwtf2_91WMvLd3IIA0ToHBDn0II36FumIz2RrwiUNHBMZo41Qmjv_zt9TQbq61csx2lRZcQNNsstAXKZWI4oZjlBaenj3HvY2_ztxS2IPNZNlVUQrw8A51-1dm-EeVTsqwhxs-Ir6d1FCee5SaNBrhtfaDBGAwjtXolPJuyYve0J3F8X-JwKPLBUaQH5LgGlTOSasC0vsKqhfpZOc-3rS39UA7q0jHQyqcJKrhinEyWlTFU9PcOh2W4-0hXiPaLJ_PA-_EkY5kYBnBvUWofVy35ZnB_u0wv0gxvVVDYKLGUpOGblaWRUY09SHx52Njw"
}

Response samples

Content type
application/json
{
  • "status": {
    }
}

Query

PayTo query resolution.

The purpose of this operation is to provide a resolution to a PayTo query raised by the Payer's Financial Institution. Queries are delivered via the PayTo Webhook API - PayTo Queries.

The following rules apply to this API:

  • CaseDecisionSchemeRule1: case_decision = ACPT then reject_reason_code and return_transaction_identification should not be provided.

  • CaseDecisionSchemeRule2: case_decision = FINO then reject_reason_code and return_transaction_identification should not be provided.

  • CaseDecisionSchemeRule3: case_decision = PEND then reject_reason_code, return_transaction_identification should not be provided.

  • CaseDecisionSchemeRule4: case_decision = RJCT then reject_reason_code must be provided.

  • RejectReasonSchemeRule1: reject_reason_code = ARDT then return_transaction_identification must be provided.

  • RejectReasonSchemeRule2: reject_reason_code = CUST then return_transaction_identification must not be provided.

Authorizations:
(apiKeyAuthbearerAuth)
header Parameters
X-Correlation-Id
string (UUID) [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{...
Example: 71d6fb19-7515-40dc-b045-e17550b67600

Optional correlation ID provided by the data consumer that should be reflected back in the response headers. Can be used for reporting and logging.

X-Message-Id
required
string (UUID) [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{...
Example: 71d6fb19-7515-40dc-b045-e17550b67600

Duplicate check using point to point reference, as assigned by the instructing party, and sent to the next party in the chain to unambiguously identify the message

priority
required
string (NotificationPriority2Code)
Value: "UNATTENDED"

Priority (attended/unattended) to be included in any generated notification. Urgency or order of importance that the originator would like the recipient of the PayTo query resolution to apply to the processing of the query resoluton.

Only UNATTENDED is supported for this request type.

Request Body schema: application/json
required

Secured resource to create a PayTo query resolution.

Refer to Model/Schema QueryResolutionRequest for unencrypted payload object.

secured_payload
required
string

Encrypted and secured payload

Responses

Request samples

Content type
application/json
{
  • "secured_payload": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpbnN0cnVjdGlvbl9pZGVudGlmaWNhdGlvbiI6IlRDMTIxLzE0NzE4NzM4MjMiLCJlbmRfdG9fZW5kX2lkZW50aWZpY2F0aW9uIjoiTk9UUFJPVklERUQiLCJjcmVhdGlvbl9kYXRlX3RpbWUiOiIyMDE4LTA5LTE3VDA5OjQ1OjQ3WiIsImluaXRpYXRpbmdfcGFydHlfbmFtZSI6IkN1c3RvbWVyQSIsInJlcXVlc3RlZF9leGVjdXRpb25fZGF0ZSI6IjIwMTgtMDktMTciLCJkZWJ0b3JfbmFtZSI6IkJJTEJPIEJBR0dJTlMiLCJkZWJ0b3JfYWNjb3VudF9pZGVudGlmaWNhdGlvbiI6IjAxMzQyMTIzNDU2NyIsImRlYnRvcl9hY2NvdW50X3R5cGUiOiJCQkFOIiwiaW5zdHJ1Y3RlZF9hbW91bnQiOnsiY3VycmVuY3kiOiJBVUQiLCJhbW91bnQiOiI1NjIuODkifSwiY3JlZGl0b3JfbmFtZSI6IlNBTVdJU0UgR0FNR0VFIiwiY3JlZGl0b3JfYWNjb3VudF9pZGVudGlmaWNhdGlvbiI6IjAxMDE2OTg3NjU0MzIxIiwiY3JlZGl0b3JfYWNjb3VudF90eXBlIjoiQkJBTiIsImNyZWRpdG9yX2FnZW50X2JpYyI6Ik5PVFBST1ZJREVEIiwicmVtaXR0YW5jZV9pbmZvcm1hdGlvbl91bnN0cnVjdHVyZWQiOlsiRklSU1QgTElORSIsIlNFQ09ORCBMSU5FIl19.aR2RMEVTuOOI1YuUCf2Ppo3Bwtf2_91WMvLd3IIA0ToHBDn0II36FumIz2RrwiUNHBMZo41Qmjv_zt9TQbq61csx2lRZcQNNsstAXKZWI4oZjlBaenj3HvY2_ztxS2IPNZNlVUQrw8A51-1dm-EeVTsqwhxs-Ir6d1FCee5SaNBrhtfaDBGAwjtXolPJuyYve0J3F8X-JwKPLBUaQH5LgGlTOSasC0vsKqhfpZOc-3rS39UA7q0jHQyqcJKrhinEyWlTFU9PcOh2W4-0hXiPaLJ_PA-_EkY5kYBnBvUWofVy35ZnB_u0wv0gxvVVDYKLGUpOGblaWRUY09SHx52Njw"
}

Response samples

Content type
application/json
{
  • "status": {
    }
}

AuthTokenRequest

grant_type
required
string

Specify the type credential requested

client_assertion_type
required
string

Describes the type of client assertion provided in the message request

scope
required
any
required
object (ClientAssertion)
{
  • "grant_type": "client_credentials",
  • "client_assertion_type": "urn:ietf:params:oauth:client-assertion-type:jwt-bearer",
  • "scope": null,
  • "client_assertion": {}
}

MandateAmendmentRequest

mps_user_id
required
string [ 1 .. 10 ] characters

MPS User Id associated with this amend mandate request

request_id
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Request UUID that identifies the mandate amendment operation to be performed. This must be a Universally Unique IDentifier (UUID). This UUID must be unique amongst all request_ids passed to this end-point by the same MPS User. If a request is encountered with a request ID that has previously been used then a duplicate check will be performed by comparing the digest of the current request with the digest of the previous request. If the digests match then the details of the previous mandate amendment will be returned. If the digests do not match then an HTTP 409 will be returned.

bilateral
required
boolean

Boolean flag indicating if the amendment action is bilateral or unilateral.

required
MandateAmendmentRequestBilat (object) or MandateAmendmentRequestUnilat (object)

Details of the mandate amendment, either Bilateral amendment or Unilateral amendment but not both.

{
  • "mps_user_id": "10002005",
  • "request_id": "055c7f30-99f8-4ff9-a561-6b2b4346ed38",
  • "bilateral": true,
  • "details": {
    }
}

MandateCreationRequest

mps_user_id
required
string [ 1 .. 10 ] characters

MPS User Id associated with this create mandate request

request_id
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Request UUID that identifies the mandate creation operation to be performed. This must be a Universally Unique IDentifier (UUID). This UUID must be unique amongst all request_ids passed to this end-point by the same MPS User. If a request is encountered with a request ID that has previously been used then a duplicate check will be performed by comparing the digest of the current request with the digest of the previous request. If the digests match then the details of the previous mandate creation will be returned. If the digests do not match then an HTTP 409 will be returned.

resolution_requested_by
string^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]...

Optional time used to indicate by when resolution of a bilateral action is requested from the other party to the mandate. It will be provided in any notification sent to the counterparty. This time is for informational purposes only and does not affect the expiry time imposed by the MMS.

An ISODateTime whereby all timezoned dateTime values are UTC.

For an ATTENDED request resolution_requested_by should be within 5 minutes, ANZ will default to 5 minutes where not provided or override to 5 minutes where exceeds 5 minutes.

For an UNATTENDED request resolution_requested_by should be within 5 calendar days, ANZ will default to 5 calendar days where not provided or override to 5 calendar days where exceeds 5 calendar days.

initiation_request_identification
required
string^[ -~]{1,35}$

Identification for the mandate request, as originally assigned by the initiating party. Specifies a character string with a maximum length of 35 ASCII printable characters.

mandate_type
required
string (MandateType1Code)
Value: "DDTP"

Identifies the type of mandate.

CodeNameDescription
DDTPDirectDebitMandate type relates to Direct Debit payment instrument.
establishment_scheme
required
string (MandateEstablishmentScheme1Code)
Enum: "AUPM" "MGCR"

Identifies the arrangement (unilateral or bilateral) and party that established the mandate.

CodeNameDescription
AUPMAuthorisedPaymentMandateEstablished bilaterally as Authorised Payment Mandate.
MGCRMigratedByCreditorEstablished by migration from legacy service by Creditor.
mandate_purpose_code
required
string^[a-zA-Z0-9]{4}$
Enum: "DEPD" "GAMP" "GOVT" "LOAN" "MORT" "OTHR" "PENS" "PERS" "RETL" "SALA" "TAXS" "UTIL"

Specifies the high level purpose of the mandate based on a set of pre-defined categories. Specifies an alphanumeric string with a length of 4 characters.

CodeDescription
DEPDDependant Support Payments
GAMPGambling Payments
GOVTGovernment Payments
LOANLoan Payments
MORTMortgage Payments
OTHROther Service Payments
PENSPension Payments
PERSPersonal Payment
RETLRetail Payments
SALASalary Payments
TAXSTax Payments
UTILUtility Payments
description
required
string^[ -~]{1,140}$

Reason for the mandate setup as narrative text. Specifies a character string with a maximum length of 140 ASCII printable characters.

validity_start_date
required
string^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]...

Start date of the validity of the mandate. The mandate is valid as of 00:00:00.000 Australia Sydney time on this date. A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in "XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004" which is aligned with ISO 8601.

validity_end_date
string^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]...

End date of the validity of the mandate. If specified, the mandate is valid until 23:59:59.999 Australia Sydney time on this date. A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in "XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004" which is aligned with ISO 8601.

transfer_arrangement
string [ 1 .. 140 ] characters

Indication of future transfer date, conditions of sale and requirement to hold funds. Specifies a character string with a maximum length of 140 characters.

automatic_extension_indicator
required
boolean

Automatic renewal of a mandate arrangement at the end of the defined period (period start through period end).

required
object (MandatePartyInformation1Debtor)

Information concerning the debtor party identified in the mandate.

The following rules apply to this structure:

  • AccountIdentificationRule1: If account_identification_type_code is equal to value 'ALIA' then account_alias_type_code and account_alias_identification must be present, and account_identification must be absent.

  • AccountIdentificationRule2: If account_identification_type_code is equal to value 'BBAN' then account_identification must be present and start with BSB (bank-state-branch), and account_alias_type_code and account_alias_identification must be absent.

  • AccountIdentificationRule3: If establishment_scheme is equal to value 'MGCR' then account_identification_type_code must be equal to value 'BBAN'.

object (MandatePartyInformation1Creditor)

Information concerning the creditor party identified in the mandate.

The following rules apply to this structure:

  • CreditorPartyTypeRule1: If establishment_scheme is equal to 'MGCR' then party_type must be present.
required
object (MandatePaymentInformation1)

Set of characteristics detailing mandate payment information.

Property descriptions:

  • payment_frequency - Regularity with which instructions are to be created and processed.
  • payment_amount_type - Identifies the mandate payment arrangement.
  • first_payment_amount - Amount different from the payment amount, as it includes the costs associated with the first debited amount.
  • last_payment_amount - Last payment amount different to the payment amount.
  • amount - Fixed amount to be debited from the debtor's account.
  • maximum_amount - Maximum amount that may be paid from the debtor's account, per instruction.

The following rules apply to this structure:

  • PaymentAmountTypeRule1: If payment_amount_type code is equal to value 'FIXE' then amount must be present.

  • PaymentAmountTypeRule2: If payment_amount_type code is equal to value 'BALN' then amount must be present AND (first_payment amount OR last_payment amount) must be present.

  • PaymentAmountTypeRule3: If payment_amount_type code is equal to value 'USGB' then maximum_amount must be present.

  • PaymentAmountTypeRule4: If payment_amount_type code is equal to value 'VARI' then maximum_amount must be present.

  • FirstPaymentDateRule1: first_payment_date cannot be before validity_start_date.

  • FirstPaymentDateRule2: first_payment_date cannot be after validity_end_date.

  • FirstPaymentDateRule3: If establishment_scheme is equal to 'MGCR' then first_payment_date cannot be present.

  • LastPaymentDateRule1: last_payment_date cannot be before validity_start_date.

  • LastPaymentDateRule2: last_payment_date cannot be after validity_end_date.

  • FrequencyInTermsRule1: Both count_per_period AND point_in_time cannot be present.

  • PaymentAmountRule1: amount cannot exceed maximum_amount.

  • PaymentAmountRule2: first_payment_amount cannot exceed maximum_amount.

  • PaymentAmountRule3: last_payment_amount cannot exceed maximum_amount.

  • PaymentAmountRule4: If establishment_scheme is equal to 'MGCR' then first_payment_amount cannot be present.

additional_information
string [ 1 .. 140 ] characters

Additional information, in free text form, to complement the mandate information. Specifies a character string with a maximum length of 140 characters.

Where the Mandate is a Migrated DDR (establishment_scheme is equal to value 'MGCR'), this field is used to denote the existing BECS User ID of the Initiating Party. The format is //BECSID/xxxxxx where xxxxxx is the BECS DD User ID used by the Initiating Party in an existing DDR arrangement.

{
  • "mps_user_id": "10002005",
  • "request_id": "055c7f30-99f8-4ff9-a561-6b2b4346ed38",
  • "resolution_requested_by": "2023-06-10T05:13:03.255Z",
  • "initiation_request_identification": "abc-123",
  • "mandate_type": "DDTP",
  • "establishment_scheme": "AUPM",
  • "mandate_purpose_code": "RETL",
  • "description": "Car purchase",
  • "validity_start_date": "2023-06-10",
  • "validity_end_date": "2024-05-01",
  • "transfer_arrangement": "Transfer arrangement details",
  • "automatic_extension_indicator": true,
  • "debtor_information": {
    },
  • "creditor_information": {
    },
  • "payment_information": {
    },
  • "additional_information": "Addtional mandate information"
}

MandateStatusChangeRequest

mps_user_id
required
string [ 1 .. 10 ] characters

MPS User Id associated with this change mandate status request

request_id
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Request UUID that identifies the mandate status change operation to be performed. This must be a Universally Unique IDentifier (UUID). This UUID must be unique amongst all request_ids passed to this end-point by the same MPS User.

change
required
string (MandateStatusChange1Code)
Enum: "CNCL" "RELS" "SUSP"

Enumeration of possible status changes.

CodeNameDescription
CNCLCancelCancel a mandate.
RELSReleaseUnsuspend a suspended mandate.
SUSPSuspendSuspend an active mandate.
reason_code
string^[a-zA-Z0-9]{4}$
Value: "MD17"

Code defining the reason for the status change to the mandate. Specifies an alphanumeric string with a length of 4 characters.

CodeNameDescription
MD17RequestedByInitiatingPartyRequested By Initiating Party.
reason_description
string [ 1 .. 256 ] characters

Description of the change reason. Specifies a character string with a maximum length of 256 characters.

{
  • "mps_user_id": "10002005",
  • "request_id": "055c7f30-99f8-4ff9-a561-6b2b4346ed38",
  • "change": "CNCL",
  • "reason_code": "MD17",
  • "reason_description": "Requested By Initiating Party"
}

MPIRCreationRequest

creation_date_time
required
string^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]...

Date and time when MPIR was created. UTC expressed without offset, i.e. YYYY-MM-DDThh:mm:ss.sssZ An ISODateTime whereby all timezoned dateTime values are UTC.

requested_execution_date
required
string^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]...

Date instruction to be processed. Can be future dated, up to 60 calendar days.

mps_user_id
required
string [ 1 .. 10 ] characters

MPS User Id associated with this MPIR

required
object

Instruction details specific to MPIR

{
  • "creation_date_time": "2023-06-13T15:01:20.246Z",
  • "requested_execution_date": "2023-06-13",
  • "mps_user_id": "10002005",
  • "instruction_details": {
    }
}

QueryResolutionRequest

mps_user_id
required
string [ 1 .. 10 ] characters

MPS User Id associated with this query resolution request

request_id
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Request UUID that identifies the query resolution operation to be performed. This must be a Universally Unique IDentifier (UUID). This UUID must be unique amongst all request_ids passed to this end-point by the same MPS User.

case_id
required
string [ 1 .. 20 ] characters

Case Identifier. A unique case reference as assigned by ANZ. To be referenced when providing a Query Resolution.

case_decision
required
string
Enum: "ACPT" "FINO" "PEND" "RJCT"

Case Decision.

CodeNameCase Type
ACPTAccept Payment ReturnMandate Query Payments
FINOFinal OutcomeMandate Query Case
PENDPending DecisionANY
RJCTReject Payment ReturnMandate Query Payments
mandate_identification
required
string^[a-f0-9]{12}1[a-f0-9]{3}[89ab][a-f0-9]{15}$

Unique ID, as assigned by the MMS, to unambiguously identify the mandate. This ID must be used to identify the mandate for all further operations on the mandate. Universally Unique IDentifier (UUID) version 1, as described in IETC RFC 4122 "Universally Unique IDentifier (UUID) URN Namespace" without the 4 hyphen separators. For example: '00000000000010008000000000000000' instead of '00000000-0000-1000-8000-000000000000' (without quotes)

reject_reason_code
string
Enum: "ARDT" "CUST"

Rejection Reason Code.

CodeName
ARDTAlready Returned
CUSTCustomer Decision

To be provided when case_decision = RJCT.
return_transaction_identification
string [ 1 .. 35 ] characters

Unique reference, as assigned by the Biller, to unambiguously identify the return transaction.

To be provided when reject_reason_code = ARDT.

narrative
required
string [ 1 .. 1500 ] characters ^[ -~]{1,1500}$

Narrative as sent by the Biller.

When case_decision = ACPT then provide "Accepted", otherwise provide relevant details

Specifies a character string with a maximum length of 1500 ASCII printable characters.

{
  • "mps_user_id": "10002005",
  • "request_id": "055c7f30-99f8-4ff9-a561-6b2b4346ed38",
  • "case_id": "ANZAU230821-00002",
  • "case_decision": "ACPT",
  • "mandate_identification": "247de1c0c3a911edafa10242ac120002",
  • "reject_reason_code": "ARDT",
  • "return_transaction_identification": "RETURN/123",
  • "narrative": "Some text"
}

SecuredSubmissionResource

secured_payload
required
string

Encrypted and secured payload

{
  • "secured_payload": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpbnN0cnVjdGlvbl9pZGVudGlmaWNhdGlvbiI6IlRDMTIxLzE0NzE4NzM4MjMiLCJlbmRfdG9fZW5kX2lkZW50aWZpY2F0aW9uIjoiTk9UUFJPVklERUQiLCJjcmVhdGlvbl9kYXRlX3RpbWUiOiIyMDE4LTA5LTE3VDA5OjQ1OjQ3WiIsImluaXRpYXRpbmdfcGFydHlfbmFtZSI6IkN1c3RvbWVyQSIsInJlcXVlc3RlZF9leGVjdXRpb25fZGF0ZSI6IjIwMTgtMDktMTciLCJkZWJ0b3JfbmFtZSI6IkJJTEJPIEJBR0dJTlMiLCJkZWJ0b3JfYWNjb3VudF9pZGVudGlmaWNhdGlvbiI6IjAxMzQyMTIzNDU2NyIsImRlYnRvcl9hY2NvdW50X3R5cGUiOiJCQkFOIiwiaW5zdHJ1Y3RlZF9hbW91bnQiOnsiY3VycmVuY3kiOiJBVUQiLCJhbW91bnQiOiI1NjIuODkifSwiY3JlZGl0b3JfbmFtZSI6IlNBTVdJU0UgR0FNR0VFIiwiY3JlZGl0b3JfYWNjb3VudF9pZGVudGlmaWNhdGlvbiI6IjAxMDE2OTg3NjU0MzIxIiwiY3JlZGl0b3JfYWNjb3VudF90eXBlIjoiQkJBTiIsImNyZWRpdG9yX2FnZW50X2JpYyI6Ik5PVFBST1ZJREVEIiwicmVtaXR0YW5jZV9pbmZvcm1hdGlvbl91bnN0cnVjdHVyZWQiOlsiRklSU1QgTElORSIsIlNFQ09ORCBMSU5FIl19.aR2RMEVTuOOI1YuUCf2Ppo3Bwtf2_91WMvLd3IIA0ToHBDn0II36FumIz2RrwiUNHBMZo41Qmjv_zt9TQbq61csx2lRZcQNNsstAXKZWI4oZjlBaenj3HvY2_ztxS2IPNZNlVUQrw8A51-1dm-EeVTsqwhxs-Ir6d1FCee5SaNBrhtfaDBGAwjtXolPJuyYve0J3F8X-JwKPLBUaQH5LgGlTOSasC0vsKqhfpZOc-3rS39UA7q0jHQyqcJKrhinEyWlTFU9PcOh2W4-0hXiPaLJ_PA-_EkY5kYBnBvUWofVy35ZnB_u0wv0gxvVVDYKLGUpOGblaWRUY09SHx52Njw"
}