---
title: Rejected Transactions Report
slug: api/rejected-transactions-report
docTags: 
createdAt: 2026-09-28T06:18:59.720Z
---

{
  "id": "fKO0ewi6zmXYomx9SqdED",
  "type": "api-oas-v2",
  "data": {
    "method": "GET",
    "url": "https://api.mpay.com.au/receivables/v2/rejectedTransactions/{date}",
    "servers": [
      {
        "url": "https://api.mpay.com.au/receivables/v2/rejectedTransactions/{date}",
        "description": "Production URL"
      },
      {
        "url": "https://api.m-pay.com.au/receivables/v2/rejectedTransactions/{date}",
        "description": "Sandbox URL"
      }
    ],
    "name": "Rejected Transactions Report",
    "description": "<p>Returns a report of all rejected transactions for the day with associated details. This includes Direct Entry (DE) and NPP receivables. If requested multiple times on the current date (calendar day, AEDT), the report is cumulative.</p>\n<h3>What this report returns</h3>\n<p>Each row is a receivables payment that was rejected, with the reason for the rejection and its status. For example, a payment from a source account that does not match a whitelist entry for the receiving Automatcher account is rejected with the reason <code>Non Whitelisted Source Account</code>.</p>\n<p>The report is returned as comma-separated values (CSV). The first row holds the column headers, and each following row is one rejected transaction. Every column is described in the 200 response below.</p>\n<p>Source account details (<code>SourceBsb</code>, <code>SourceAccountNumber</code> and <code>SourceAccountName</code>) do not appear by default. Please contact Monoova for further information.</p>\n<h3>Requesting the report</h3>\n<ul>\n<li>Supply <code>date</code> on its own to return the rejected transactions for that day.</li>\n<li>Add <code>endDate</code> to return the rejected transactions for a date range that starts at <code>date</code>.</li>\n<li>Add <code>transactionType</code> to return only <code>DE</code> or only <code>NPP</code> transactions.</li>\n<li>Use <code>pageNumber</code> and <code>pageSize</code> to page through the results. Each page holds 50 transactions unless you set a different <code>pageSize</code>, up to a maximum of 200.</li>\n</ul>\n<h3>Field conventions</h3>\n<p>Request parameters marked <strong>Optional</strong> can be left out of the request. Every report column is always included in the report. Columns marked <strong>Optional</strong> are left blank where no value exists for the transaction, and columns marked <strong>Conditional</strong> are populated only where the stated condition is met, for example for NPP transactions only.</p>\n<h3>Possible transaction codes</h3>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<table><thead><tr><th>Code</th><th>Transaction description</th></tr></thead><tbody><tr><td>13</td><td>Externally initiated debit items</td></tr><tr><td>50</td><td>Externally initiated credit items, with the exception of those bearing transaction codes 51 to 57</td></tr><tr><td>51</td><td>Australian Government Security Interest</td></tr><tr><td>52</td><td>Family Allowance</td></tr><tr><td>53</td><td>Pay</td></tr><tr><td>54</td><td>Pension</td></tr><tr><td>55</td><td>Allotment</td></tr><tr><td>56</td><td>Dividend</td></tr><tr><td>57</td><td>Debenture/Note Interest</td></tr></tbody></table>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [
        {
          "kind": "required",
          "name": "date",
          "type": "string",
          "example": "20200918000000",
          "description": "<p>The start date and time of the report, in <code>yyyyMMddHHmmss</code> format. This becomes the start date of the report if the report is being fetched for a date range. Where <code>endDate</code> is not supplied, the report returns the rejected transactions for the day specified.</p>",
          "default": "20200918000000",
          "pattern": "^\\d{4}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])[0-5]\\d[0-5]\\d$"
        }
      ],
      "headerParameters": [
        {
          "name": "accept",
          "type": "string",
          "kind": "optional",
          "description": "Generated from available response content types",
          "enum": [
            "text/csv",
            "application/json"
          ],
          "default": "text/csv"
        }
      ],
      "queryParameters": [
        {
          "kind": "optional",
          "name": "endDate",
          "type": "string",
          "example": "20200918235959",
          "description": "<p><strong>Optional</strong>. The end date and time of the report, in <code>yyyyMMddHHmmss</code> format. Use this to fetch the report for a date range that starts at <code>date</code>. If not supplied, the report returns the rejected transactions for the day specified in <code>date</code>.</p>",
          "default": "20200918235959",
          "pattern": "^\\d{4}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])[0-5]\\d[0-5]\\d$"
        },
        {
          "kind": "optional",
          "name": "transactionType",
          "type": "string",
          "example": "NPP",
          "description": "<p><strong>Optional</strong>. Filters the report by transaction type. Possible values: <code>DE</code> (Direct Entry) or <code>NPP</code>. If not supplied, both Direct Entry and NPP rejected transactions are returned.</p>",
          "default": "NPP",
          "pattern": "^(DE|NPP)$"
        },
        {
          "kind": "optional",
          "name": "pageNumber",
          "type": "string",
          "example": "1",
          "description": "<p><strong>Optional</strong>. The page of the report to return. If not provided, it is defaulted to 1.</p>",
          "default": "1",
          "pattern": "^[1-9]\\d{0,8}$"
        },
        {
          "kind": "optional",
          "name": "pageSize",
          "type": "string",
          "example": "50",
          "description": "<p><strong>Optional</strong>. The number of rejected transactions to return per page. If not provided, the page size is defaulted to 50. The maximum allowed is 200.</p>",
          "default": "50",
          "pattern": "^([1-9]|[1-9]\\d|1\\d{2}|200)$"
        }
      ],
      "bodyDataParameters": [],
      "formDataParameters": [],
      "oAuthParameters": [
        {
          "id": "basicAuth",
          "name": "basicAuth",
          "kind": "optional",
          "type": "http",
          "description": "<p>To authenticate using basic authentication, generate an API key and pass it as the username. No password is required.</p>",
          "scheme": "basic"
        }
      ],
      "cookieParameters": []
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "<p>Successful validation. The rejected transactions report was generated and is returned as comma-separated values (CSV): a header row followed by one row per rejected transaction. The schema below describes each column, in the order the columns appear.</p>",
        "jsonExample": "",
        "isExpanded": true
      },
      {
        "statusCode": "400",
        "description": "<p>Bad request. One or more parameters failed validation, for example a <code>date</code> or <code>endDate</code> that is not in <code>yyyyMMddHHmmss</code> format.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"durationMs\":4,\"status\":\"Error\",\"statusDescription\":\"The date supplied is invalid. Provide the date in yyyyMMddHHmmss format, for example 20200918000000.\"}",
            "description": "Returned when one or more request parameters failed validation.",
            "customType": "badRequestResponse_V2",
            "schema": [
              {
                "name": "durationMs",
                "kind": "optional",
                "type": "integer<int64>",
                "description": "<p>The total time, in milliseconds, that the Platform took to process the request before the validation failure was returned.</p>",
                "example": 4,
                "default": 4,
                "format": "int64",
                "pattern": "^\\d{1,10}$"
              },
              {
                "name": "status",
                "kind": "optional",
                "type": "string",
                "description": "<p>The status of the request. A code of <code>Error</code> indicates that the request failed validation and no report was generated.</p>",
                "example": "Error",
                "default": "Error",
                "pattern": "^[A-Za-z]{2,50}$"
              },
              {
                "name": "statusDescription",
                "kind": "optional",
                "type": "string",
                "description": "<p>A description of the validation failure, for example a <code>date</code> or <code>endDate</code> that is not in <code>yyyyMMddHHmmss</code> format.</p>",
                "example": "The date supplied is invalid. Provide the date in yyyyMMddHHmmss format, for example 20200918000000.",
                "default": "The date supplied is invalid. Provide the date in yyyyMMddHHmmss format, for example 20200918000000.",
                "pattern": "^.{1,500}$"
              }
            ],
            "modelRef": "#/components/schemas/badRequestResponse_V2",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "401",
        "description": "<p>Unauthorised. The API key supplied as the basic authentication username is missing or invalid. In the live environment, the Sign-In Account is locked for one hour after five failed authentication attempts.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"durationMs\":2,\"status\":\"Unauthorized\",\"statusDescription\":\"Authentication failed. Supply a valid API key as the basic authentication username.\"}",
            "description": "Returned when the request could not be authenticated.",
            "customType": "unauthorisedResponse_V2",
            "schema": [
              {
                "name": "durationMs",
                "kind": "optional",
                "type": "integer<int64>",
                "description": "<p>The total time, in milliseconds, that the Platform took to process the request before the authentication failure was returned.</p>",
                "example": 2,
                "default": 2,
                "format": "int64",
                "pattern": "^\\d{1,10}$"
              },
              {
                "name": "status",
                "kind": "optional",
                "type": "string",
                "description": "<p>The status of the request. A code of <code>Unauthorized</code> indicates that the credentials supplied were not accepted.</p>",
                "example": "Unauthorized",
                "default": "Unauthorized",
                "pattern": "^[A-Za-z]{2,50}$"
              },
              {
                "name": "statusDescription",
                "kind": "optional",
                "type": "string",
                "description": "A description of the authentication failure. Check that a valid API key has been supplied as the basic authentication username and that no password has been set.\n",
                "example": "Authentication failed. Supply a valid API key as the basic authentication username.",
                "default": "Authentication failed. Supply a valid API key as the basic authentication username.",
                "pattern": "^.{1,500}$"
              }
            ],
            "modelRef": "#/components/schemas/unauthorisedResponse_V2",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "500",
        "description": "Internal server error. An unexpected error prevented the Platform from generating the report. Retry the request and contact Monoova support if the error persists.\n",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"durationMs\":118,\"status\":\"Error\",\"statusDescription\":\"An unexpected error occurred while processing the request. Please try again later.\"}",
            "description": "Returned when an unexpected error prevents the Platform from generating the report.",
            "customType": "internalServerErrorResponse_V2",
            "schema": [
              {
                "name": "durationMs",
                "kind": "optional",
                "type": "integer<int64>",
                "description": "<p>The total time, in milliseconds, that the Platform took to process the request before the error was returned.</p>",
                "example": 118,
                "default": 118,
                "format": "int64",
                "pattern": "^\\d{1,10}$"
              },
              {
                "name": "status",
                "kind": "optional",
                "type": "string",
                "description": "<p>The status of the request. A code of <code>Error</code> indicates that the request could not be completed and should be retried.</p>",
                "example": "Error",
                "default": "Error",
                "pattern": "^[A-Za-z]{2,50}$"
              },
              {
                "name": "statusDescription",
                "kind": "optional",
                "type": "string",
                "description": "A description of the error. Retry the request and contact Monoova support if the error persists.\n",
                "example": "An unexpected error occurred while processing the request. Please try again later.",
                "default": "An unexpected error occurred while processing the request. Please try again later.",
                "pattern": "^.{1,500}$"
              }
            ],
            "modelRef": "#/components/schemas/internalServerErrorResponse_V2",
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "iqZDMCu5rpcj7p8H5PYQt",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request GET \\\n     --url 'https://api.mpay.com.au/receivables/v2/rejectedTransactions/{date}?endDate=20200918235959&transactionType=NPP&pageNumber=1&pageSize=50' \\\n     --header 'accept: text/csv'"
        },
        {
          "id": "DT-qI74BxTT6JD8uEF0hi",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"text/csv\");\nmyHeaders.append(\"content-type\", \"application/json\");\n\nvar requestOptions = {\n   method: 'GET',\n   headers: myHeaders,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.mpay.com.au/receivables/v2/rejectedTransactions/{date}?endDate=20200918235959&transactionType=NPP&pageNumber=1&pageSize=50\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "C8f79b1-2xLSQ4lvToaR-",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.mpay.com.au/receivables/v2/rejectedTransactions/{date}?endDate=20200918235959&transactionType=NPP&pageNumber=1&pageSize=50\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"accept\"] = \"text/csv\"\nrequest[\"content-type\"] = \"application/json\"\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "nAu0pyYfUxGVOHxkOYIJ4",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.mpay.com.au/receivables/v2/rejectedTransactions/{date}?endDate=20200918235959&transactionType=NPP&pageNumber=1&pageSize=50\"\n\npayload = {}\nheaders = {\n   'accept': 'text/csv',\n   'content-type': 'application/json'\n}\n\nresponse = requests.request(\"GET\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "iqZDMCu5rpcj7p8H5PYQt"
    },
    "results": {
      "languages": [
        {
          "id": "response-0-200",
          "language": "200",
          "code": "// Successful validation. The rejected transactions report was generated and is returned as comma-separated values (CSV): a header row followed by one row per rejected transaction. The schema below describes each column, in the order the columns appear.\n"
        },
        {
          "id": "response-1-400",
          "language": "400",
          "code": "// Bad request. One or more parameters failed validation, for example a date or endDate that is not in yyyyMMddHHmmss format.\n{\n  \"durationMs\": 4,\n  \"status\": \"Error\",\n  \"statusDescription\": \"The date supplied is invalid. Provide the date in yyyyMMddHHmmss format, for example 20200918000000.\"\n}"
        },
        {
          "id": "response-2-401",
          "language": "401",
          "code": "// Unauthorised. The API key supplied as the basic authentication username is missing or invalid. In the live environment, the Sign-In Account is locked for one hour after five failed authentication attempts.\n{\n  \"durationMs\": 2,\n  \"status\": \"Unauthorized\",\n  \"statusDescription\": \"Authentication failed. Supply a valid API key as the basic authentication username.\"\n}"
        },
        {
          "id": "response-3-500",
          "language": "500",
          "code": "// Internal server error. An unexpected error prevented the Platform from generating the report. Retry the request and contact Monoova support if the error persists.\n{\n  \"durationMs\": 118,\n  \"status\": \"Error\",\n  \"statusDescription\": \"An unexpected error occurred while processing the request. Please try again later.\"\n}"
        }
      ],
      "selectedLanguageId": "response-0-200"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}