Get Account Validation by Filter
GET
https://sand-api.monoova.com/au/cop/payman-v2/AccountValidation
Query Parameters
- createdStartDatestringExampleDescriptionDefault2026-09-01T00:00:00+10:00Pattern^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,7})?(Z|[+-]\d{2}:\d{2})?$
- createdEndDatestringExampleDescriptionDefault2026-09-23T23:59:59+10:00Pattern^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,7})?(Z|[+-]\d{2}:\d{2})?$
- lastModifiedStartDatestringExampleDescriptionDefault2026-09-01T00:00:00+10:00Pattern^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,7})?(Z|[+-]\d{2}:\d{2})?$
- lastModifiedEndDatestringExampleDescriptionDefault2026-09-23T23:59:59+10:00Pattern^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,7})?(Z|[+-]\d{2}:\d{2})?$
- subMerchantIdstringExampleDescriptionDefaultSUBM-0001234Max Length36Pattern^[a-zA-Z0-9_-]{1,36}$
- pageNumberinteger<int32>ExampleDescriptionDefault1Formatint32Minimum1Pattern^[1-9][0-9]{0,8}$
- pageSizeinteger<int32>ExampleDescriptionDefault50Formatint32Minimum1Maximum500Pattern^([1-9]|[1-9][0-9]|[1-4][0-9]{2}|500)$
Responses
200
- AccountValidationByFilterResponseExample
{ "traceId": "0HN7GQ2L4K9AB-00000002", "resultData": [ { "cxResultIconCode": "TICK", "cxResultMessage": "The account name matches the account details provided.", "cxResultDisplayAccountName": "Monoova Payments Pty Ltd", "resultCode": "MTCH", "accountValidationUniqueId": "AV-2026-0923-000185", "subMerchantId": "SUBM-0001234" }, { "cxResultIconCode": "EXCM", "cxResultMessage": "The account name is a close match to the details provided.", "cxResultDisplayAccountName": "Monoova Payments Pty Limited", "resultCode": "CMTC", "accountValidationUniqueId": "AV-2026-0923-000186", "subMerchantId": "SUBM-0001234" } ], "paging": { "currentPage": 1, "pageSize": 50, "totalItems": 2, "totalPages": 1 } }Description- traceIdstringExampleDescriptionDefault0HN7GQ2L4K9AB-00000002Max Length100Pattern^[a-zA-Z0-9_.:-]{1,100}$
- resultDataAccountValidationResultData[]Description
- cxResultIconCodestringExampleDescriptionDefaultTICKMax Length4Pattern^(TICK|EXCM|CROS|DASH)$
- cxResultMessagestringExampleDescriptionDefaultThe account name matches the account details provided.Max Length255Pattern^[ -~]{1,255}$
- cxResultDisplayAccountNamestringExampleDescriptionDefaultMonoova Payments Pty LtdMin Length2Max Length140Pattern^[!-~][ -~]{0,138}[!-~]$
- resultCodestringExampleDescriptionDefaultMTCHMax Length4Pattern^(MTCH|CMTC|NMTC|NFND|CLSD)$
- accountValidationUniqueIdstringExampleDescriptionDefaultAV-2026-0923-000185Max Length40Pattern^[a-zA-Z0-9_-]{1,40}$
- subMerchantIdstringExampleDescriptionDefaultSUBM-0001234Max Length36Pattern^[a-zA-Z0-9_-]{1,36}$
- pagingPagingMetadataDescription
- currentPageinteger<int32>ExampleDescriptionDefault1Formatint32Minimum1Pattern^[1-9][0-9]{0,8}$
- pageSizeinteger<int32>ExampleDescriptionDefault50Formatint32Minimum1Maximum500Pattern^([1-9]|[1-9][0-9]|[1-4][0-9]{2}|500)$
- totalItemsinteger<int32>ExampleDescriptionDefault2Formatint32Minimum0Pattern^[0-9]{1,9}$
- totalPagesinteger<int32>ExampleDescriptionDefault1Formatint32Minimum0Pattern^[0-9]{1,9}$
400
- ErrorResponseExample
{ "traceId": "0HN7GQ2L4K9AB-00000003", "errors": [ { "errorCode": "PAY_BSB_INVALID", "errorMessage": "The field bsb must match the pattern ^[0-9]{3}-[0-9]{3}$." }, { "errorCode": "PAY_ACCOUNT_NAME_REQUIRED", "errorMessage": "The field accountName is required." } ] }Description- traceIdstringExampleDescriptionDefault0HN7GQ2L4K9AB-00000003Max Length100Pattern^[a-zA-Z0-9_.:-]{1,100}$
- errorsErrorDetail[]Description
- errorCodestringExampleDescriptionDefaultPAY_BSB_INVALIDMax Length80Pattern^PAY_[A-Z0-9_]{1,76}$
- errorMessagestringExampleDescriptionDefaultThe field bsb must match the pattern ^[0-9]{3}-[0-9]{3}$.Max Length500Pattern^[ -~]{1,500}$
401
- ErrorResponseExample
{ "traceId": "0HN7GQ2L4K9AB-00000004", "errors": [ { "errorCode": "PAY_UNAUTHORIZED", "errorMessage": "Authorization has been denied for this request." } ] }Description- traceIdstringExampleDescriptionDefault0HN7GQ2L4K9AB-00000003Max Length100Pattern^[a-zA-Z0-9_.:-]{1,100}$
- errorsErrorDetail[]Description
- errorCodestringExampleDescriptionDefaultPAY_BSB_INVALIDMax Length80Pattern^PAY_[A-Z0-9_]{1,76}$
- errorMessagestringExampleDescriptionDefaultThe field bsb must match the pattern ^[0-9]{3}-[0-9]{3}$.Max Length500Pattern^[ -~]{1,500}$
403
- ErrorResponseExample
{ "traceId": "0HN7GQ2L4K9AB-00000006", "errors": [ { "errorCode": "PAY_ACCOUNT_VALIDATION_NOT_ENABLED", "errorMessage": "Account validation is not enabled for this account." } ] }Description- traceIdstringExampleDescriptionDefault0HN7GQ2L4K9AB-00000003Max Length100Pattern^[a-zA-Z0-9_.:-]{1,100}$
- errorsErrorDetail[]Description
- errorCodestringExampleDescriptionDefaultPAY_BSB_INVALIDMax Length80Pattern^PAY_[A-Z0-9_]{1,76}$
- errorMessagestringExampleDescriptionDefaultThe field bsb must match the pattern ^[0-9]{3}-[0-9]{3}$.Max Length500Pattern^[ -~]{1,500}$
404
- ErrorResponseExample
{ "traceId": "0HN7GQ2L4K9AB-00000007", "errors": [ { "errorCode": "PAY_ACCOUNT_VALIDATION_NOT_FOUND_ERROR", "errorMessage": "No account validation was found for the supplied id." } ] }Description- traceIdstringExampleDescriptionDefault0HN7GQ2L4K9AB-00000003Max Length100Pattern^[a-zA-Z0-9_.:-]{1,100}$
- errorsErrorDetail[]Description
- errorCodestringExampleDescriptionDefaultPAY_BSB_INVALIDMax Length80Pattern^PAY_[A-Z0-9_]{1,76}$
- errorMessagestringExampleDescriptionDefaultThe field bsb must match the pattern ^[0-9]{3}-[0-9]{3}$.Max Length500Pattern^[ -~]{1,500}$
500
- ErrorResponseExample
{ "traceId": "0HN7GQ2L4K9AB-00000005", "errors": [ { "errorCode": "PAY_UNEXPECTED_ERROR", "errorMessage": "An unexpected error occurred while processing the request." } ] }Description- traceIdstringExampleDescriptionDefault0HN7GQ2L4K9AB-00000003Max Length100Pattern^[a-zA-Z0-9_.:-]{1,100}$
- errorsErrorDetail[]Description
- errorCodestringExampleDescriptionDefaultPAY_BSB_INVALIDMax Length80Pattern^PAY_[A-Z0-9_]{1,76}$
- errorMessagestringExampleDescriptionDefaultThe field bsb must match the pattern ^[0-9]{3}-[0-9]{3}$.Max Length500Pattern^[ -~]{1,500}$
502
- ErrorResponseExample
{ "traceId": "0HN7GQ2L4K9AB-00000008", "errors": [ { "errorCode": "PAY_NPP_GATEWAY_ERROR", "errorMessage": "The upstream gateway returned an error while processing the validation." } ] }Description- traceIdstringExampleDescriptionDefault0HN7GQ2L4K9AB-00000003Max Length100Pattern^[a-zA-Z0-9_.:-]{1,100}$
- errorsErrorDetail[]Description
- errorCodestringExampleDescriptionDefaultPAY_BSB_INVALIDMax Length80Pattern^PAY_[A-Z0-9_]{1,76}$
- errorMessagestringExampleDescriptionDefaultThe field bsb must match the pattern ^[0-9]{3}-[0-9]{3}$.Max Length500Pattern^[ -~]{1,500}$
504
- ErrorResponseExample
{ "traceId": "0HN7GQ2L4K9AB-00000009", "errors": [ { "errorCode": "PAY_NPP_GATEWAY_TIMEOUT", "errorMessage": "The upstream gateway did not respond within the expected time." } ] }Description- traceIdstringExampleDescriptionDefault0HN7GQ2L4K9AB-00000003Max Length100Pattern^[a-zA-Z0-9_.:-]{1,100}$
- errorsErrorDetail[]Description
- errorCodestringExampleDescriptionDefaultPAY_BSB_INVALIDMax Length80Pattern^PAY_[A-Z0-9_]{1,76}$
- errorMessagestringExampleDescriptionDefaultThe field bsb must match the pattern ^[0-9]{3}-[0-9]{3}$.Max Length500Pattern^[ -~]{1,500}$
curl
curl --request GET \
--url 'https://sand-api.monoova.com/au/cop/payman-v2/AccountValidation?createdStartDate=2026-09-01T00%3A00%3A00%2B10%3A00&createdEndDate=2026-09-23T23%3A59%3A59%2B10%3A00&lastModifiedStartDate=2026-09-01T00%3A00%3A00%2B10%3A00&lastModifiedEndDate=2026-09-23T23%3A59%3A59%2B10%3A00&subMerchantId=SUBM-0001234&pageNumber=1&pageSize=50' \
--header 'accept: application/json'javascript
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://sand-api.monoova.com/au/cop/payman-v2/AccountValidation?createdStartDate=2026-09-01T00:00:00+10:00&createdEndDate=2026-09-23T23:59:59+10:00&lastModifiedStartDate=2026-09-01T00:00:00+10:00&lastModifiedEndDate=2026-09-23T23:59:59+10:00&subMerchantId=SUBM-0001234&pageNumber=1&pageSize=50", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));ruby
require "uri"
require "json"
require "net/http"
url = URI("https://sand-api.monoova.com/au/cop/payman-v2/AccountValidation?createdStartDate=2026-09-01T00:00:00+10:00&createdEndDate=2026-09-23T23:59:59+10:00&lastModifiedStartDate=2026-09-01T00:00:00+10:00&lastModifiedEndDate=2026-09-23T23:59:59+10:00&subMerchantId=SUBM-0001234&pageNumber=1&pageSize=50")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
response = https.request(request)
puts response.read_body
python
import requests
import json
url = "https://sand-api.monoova.com/au/cop/payman-v2/AccountValidation?createdStartDate=2026-09-01T00:00:00+10:00&createdEndDate=2026-09-23T23:59:59+10:00&lastModifiedStartDate=2026-09-01T00:00:00+10:00&lastModifiedEndDate=2026-09-23T23:59:59+10:00&subMerchantId=SUBM-0001234&pageNumber=1&pageSize=50"
payload = {}
headers = {
'accept': 'application/json',
'content-type': 'application/json'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
200
// 200 OK. A page of validations matching the filters, plus a paging object describing the position in the result set. An empty resultData array means no validation matched the filters — it is not an error.
{
"traceId": "0HN7GQ2L4K9AB-00000002",
"resultData": [
{
"cxResultIconCode": "TICK",
"cxResultMessage": "The account name matches the account details provided.",
"cxResultDisplayAccountName": "Monoova Payments Pty Ltd",
"resultCode": "MTCH",
"accountValidationUniqueId": "AV-2026-0923-000185",
"subMerchantId": "SUBM-0001234"
}
],
"paging": {
"currentPage": 1,
"pageSize": 50,
"totalItems": 2,
"totalPages": 1
}
}400
// 400 Bad Request. The request failed validation before it reached the name-matching service. The errors array names each failing field through errorCode, with a human-readable errorMessage. Correct the values and resend — retrying the identical request returns the same 400.
{
"traceId": "0HN7GQ2L4K9AB-00000003",
"errors": [
{
"errorCode": "PAY_BSB_INVALID",
"errorMessage": "The field bsb must match the pattern ^[0-9]{3}-[0-9]{3}$."
}
]
}401
// 401 Unauthorized. The bearer token is missing, malformed, or has expired. Generate a new token from the Monoova developer portal and send it in the Authorization header as Bearer <token>. Do not retry with the same token.
{
"traceId": "0HN7GQ2L4K9AB-00000003",
"errors": [
{
"errorCode": "PAY_BSB_INVALID",
"errorMessage": "The field bsb must match the pattern ^[0-9]{3}-[0-9]{3}$."
}
]
}403
// 403 Forbidden. The token was accepted, but the account behind it is not permitted to perform this call — Confirmation of Payee is not enabled on the account, is not yet configured, or the subMerchantId supplied is not associated with it. This is an entitlement problem, not a data problem: the same request will keep returning 403 until Monoova updates the account configuration. Do not retry automatically.
{
"traceId": "0HN7GQ2L4K9AB-00000003",
"errors": [
{
"errorCode": "PAY_BSB_INVALID",
"errorMessage": "The field bsb must match the pattern ^[0-9]{3}-[0-9]{3}$."
}
]
}404
// 404 Not Found. No validation matches the id in the path — either it was never created, or it belongs to a different account. Check the value against the accountValidationUniqueId sent on the create request. A filter search that matches nothing returns 200 with an empty resultData array instead of a 404.
{
"traceId": "0HN7GQ2L4K9AB-00000003",
"errors": [
{
"errorCode": "PAY_BSB_INVALID",
"errorMessage": "The field bsb must match the pattern ^[0-9]{3}-[0-9]{3}$."
}
]
}500
// 500 Internal Server Error. An unexpected error occurred while processing an otherwise valid request. The request may or may not have been recorded, so re-send it with the same accountValidationUniqueId rather than a new one. Quote the traceId when contacting Monoova support.
{
"traceId": "0HN7GQ2L4K9AB-00000003",
"errors": [
{
"errorCode": "PAY_BSB_INVALID",
"errorMessage": "The field bsb must match the pattern ^[0-9]{3}-[0-9]{3}$."
}
]
}502
// 502 Bad Gateway. The request was valid, but an upstream service — the NPP gateway that performs the name match — returned an error, so no result could be produced. The validation was not completed. Retry with the same accountValidationUniqueId after a short delay, and escalate with the traceId if it persists.
{
"traceId": "0HN7GQ2L4K9AB-00000003",
"errors": [
{
"errorCode": "PAY_BSB_INVALID",
"errorMessage": "The field bsb must match the pattern ^[0-9]{3}-[0-9]{3}$."
}
]
}504
// 504 Gateway Timeout. An upstream service did not respond in time. Unlike a 502, the outcome is genuinely unknown — the validation may still have been recorded. Re-send with the same accountValidationUniqueId rather than a new one so the original record is reused, or call Get Account Validation by Id first to see whether a result already exists.
{
"traceId": "0HN7GQ2L4K9AB-00000003",
"errors": [
{
"errorCode": "PAY_BSB_INVALID",
"errorMessage": "The field bsb must match the pattern ^[0-9]{3}-[0-9]{3}$."
}
]
}