---
title: Webhook Notifications Report
slug: api/webhook-notifications-report
docTags: 
createdAt: 2026-09-20T23:41:11.143Z
---

{
  "id": "eypugNmF-d70NeoI0RNCh",
  "type": "api-oas-v2",
  "data": {
    "method": "GET",
    "url": "https://api.mpay.com.au/subscriptions/v1/report/{date}",
    "servers": [
      {
        "url": "https://api.mpay.com.au/subscriptions/v1/report/{date}",
        "description": "Production URL"
      },
      {
        "url": "https://api.m-pay.com.au/subscriptions/v1/report/{date}",
        "description": "Sandbox URL"
      }
    ],
    "name": "Webhook Notifications Report",
    "description": "Provides a historical array of previously sent webhooks.",
    "contentType": "application/json",
    "request": {
      "pathParameters": [
        {
          "kind": "required",
          "name": "date",
          "type": "string",
          "example": "2026-09-17",
          "description": "<p><strong>Required.</strong> The date to report on. Date format should be 'yyyy-MM-dd' format.</p>",
          "default": "2026-09-17",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        }
      ],
      "headerParameters": [
        {
          "name": "accept",
          "type": "string",
          "kind": "optional",
          "description": "Generated from available response content types",
          "enum": [
            "application/json"
          ],
          "default": "application/json"
        }
      ],
      "queryParameters": [
        {
          "kind": "optional",
          "name": "skip",
          "type": "string",
          "example": "0",
          "description": "<p><strong>Optional.</strong> Number of records to skip. 0 is the first record. Use with <code>take</code> to page through large result sets.</p>",
          "default": "0",
          "pattern": "^[0-9]{1,6}$"
        },
        {
          "kind": "optional",
          "name": "take",
          "type": "string",
          "example": "100",
          "description": "<p><strong>Optional.</strong> Number of records to take. If endDate is provided maximum take is 10000.</p>",
          "default": "100",
          "pattern": "^[0-9]{1,5}$"
        }
      ],
      "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": "Success. An array of the webhook notifications sent on the requested date is returned.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "subscriptionReportResponse_V1",
            "schema": [
              {
                "name": "notifications",
                "kind": "optional",
                "type": "array",
                "description": "<p>An array of the webhook notifications sent on the requested date, subject to the <code>skip</code> and <code>take</code> paging parameters.</p>",
                "modelRef": "#/components/schemas/subscriptionReportNotification",
                "customType": "subscriptionReportNotification[]",
                "schema": [
                  {
                    "name": "webhookId",
                    "kind": "optional",
                    "type": "integer",
                    "description": "Unique Id to identify this webhook notification. Quote this value when calling the resend endpoint.",
                    "example": 885321,
                    "default": 885321,
                    "pattern": "^[0-9]{1,12}$"
                  },
                  {
                    "name": "url",
                    "kind": "optional",
                    "type": "string<uri>",
                    "description": "Callback URL the notification was delivered to.",
                    "example": "https://api.yourcompany.com/monoova/callbacks",
                    "default": "https://api.yourcompany.com/monoova/callbacks",
                    "format": "uri",
                    "pattern": "^https?://[^\\s]+$"
                  },
                  {
                    "name": "eventName",
                    "kind": "optional",
                    "type": "string",
                    "description": "The type of event to be sent to this URL via callback.",
                    "example": "NPPReceivePayment",
                    "default": "NPPReceivePayment",
                    "pattern": "^(DirectDebitClearance|DirectEntryDishonour|InboundDirectCredit|InboundDirectCreditRejections|InboundDirectDebit|InboundRtgsImtStatus|InternationalNPPReceivePayment|InternationalNppPaymentReturn|InternationalNppPaymentStatus|MTPTransactionNotification|NPPCreditRejections|NPPReceivePayment|NppPaymentStatus|NppReturn|PayToReceivePayment|PendingInboundRtgsImt)$"
                  },
                  {
                    "name": "dateTime",
                    "kind": "optional",
                    "type": "string",
                    "description": "Date time the notification was generated.",
                    "example": "2026-09-17T11:24:07.450",
                    "default": "2026-09-17T11:24:07.450",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$"
                  },
                  {
                    "name": "lastResponseCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "Last response code received from your endpoint. A 2xx code confirms your endpoint accepted the notification.",
                    "example": "200",
                    "default": "200",
                    "pattern": "^[0-9]{3}$"
                  },
                  {
                    "name": "retryCount",
                    "kind": "optional",
                    "type": "integer",
                    "description": "Number of retries attempted after the first delivery attempt failed. 0 means the notification was delivered on the first attempt.",
                    "example": 0,
                    "default": 0,
                    "pattern": "^[0-9]{1,3}$"
                  },
                  {
                    "name": "lastRetryDateTime",
                    "kind": "optional",
                    "type": "string",
                    "nullable": true,
                    "description": "<p><strong>Conditional.</strong> Datetime of the last retry attempt. Null when no retry was required.</p>",
                    "example": "2026-09-17T11:29:07.450",
                    "default": "2026-09-17T11:29:07.450",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$"
                  },
                  {
                    "name": "status",
                    "kind": "optional",
                    "type": "string<Sent | Error>",
                    "description": "<p>Whether the callback was successful or not. Possible values: Error or Sent</p>",
                    "example": "Sent",
                    "default": "Sent",
                    "enum": [
                      "Sent",
                      "Error"
                    ],
                    "pattern": "^(Sent|Error)$"
                  }
                ]
              },
              {
                "name": "durationMs",
                "kind": "optional",
                "type": "integer",
                "description": "This value represents the total time in milliseconds that the Platform took to process the request.",
                "example": 412,
                "default": 412,
                "pattern": "^[0-9]{1,7}$"
              },
              {
                "name": "status",
                "kind": "optional",
                "type": "string",
                "description": "This is the status of the request. A code of 'Ok' indicates no errors.",
                "example": "Ok",
                "default": "Ok",
                "pattern": "^[A-Za-z]{2,30}$"
              },
              {
                "name": "statusDescription",
                "kind": "optional",
                "type": "string",
                "description": "<p>This is a description of the status. If an 'Ok' status is returned, then this will be 'Operation completed successfully'.</p>",
                "example": "Operation completed successfully",
                "default": "Operation completed successfully",
                "pattern": "^.{1,500}$"
              }
            ],
            "modelRef": "#/components/schemas/subscriptionReportResponse_V1",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "400",
        "description": "<p>Bad request. The request could not be processed because one or more fields are missing, malformed, or failed validation. Check the <code>statusDescription</code> for the field at fault, correct it and retry.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"durationMs\":12,\"status\":\"Error\",\"statusDescription\":\"Validation failed: targetUrl is required and must be a valid URL.\"}",
            "description": "<p>Standard error envelope returned for 400, 401 and 500 responses.</p>",
            "customType": "errorResponse",
            "schema": [
              {
                "name": "durationMs",
                "kind": "optional",
                "type": "integer",
                "description": "This value represents the total time in milliseconds that the Platform took to process the request.",
                "example": 12,
                "default": 12,
                "pattern": "^[0-9]{1,7}$"
              },
              {
                "name": "status",
                "kind": "optional",
                "type": "string",
                "description": "<p>This is the status of the request. A code of 'Ok' indicates no errors. For an error response this will be a failure code such as 'Error', 'Unauthorized' or 'Exception'.</p>",
                "example": "Error",
                "default": "Error",
                "pattern": "^[A-Za-z]{2,30}$"
              },
              {
                "name": "statusDescription",
                "kind": "optional",
                "type": "string",
                "description": "<p>This is a description of the status. For an error response this explains what failed and, where possible, names the field at fault.</p>",
                "example": "Validation failed: targetUrl is required and must be a valid URL.",
                "default": "Validation failed: targetUrl is required and must be a valid URL.",
                "pattern": "^.{1,500}$"
              }
            ],
            "modelRef": "#/components/schemas/errorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "401",
        "description": "<p>Unauthorized. The request did not include valid basic authentication credentials, or the API key supplied is inactive or not permitted to use this endpoint. Confirm the API key is passed as the basic authentication username and retry.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"durationMs\":4,\"status\":\"Unauthorized\",\"statusDescription\":\"Authentication failed. Check the API key supplied as the username.\"}",
            "description": "<p>Standard error envelope returned for 400, 401 and 500 responses.</p>",
            "customType": "errorResponse",
            "schema": [
              {
                "name": "durationMs",
                "kind": "optional",
                "type": "integer",
                "description": "This value represents the total time in milliseconds that the Platform took to process the request.",
                "example": 12,
                "default": 12,
                "pattern": "^[0-9]{1,7}$"
              },
              {
                "name": "status",
                "kind": "optional",
                "type": "string",
                "description": "<p>This is the status of the request. A code of 'Ok' indicates no errors. For an error response this will be a failure code such as 'Error', 'Unauthorized' or 'Exception'.</p>",
                "example": "Error",
                "default": "Error",
                "pattern": "^[A-Za-z]{2,30}$"
              },
              {
                "name": "statusDescription",
                "kind": "optional",
                "type": "string",
                "description": "<p>This is a description of the status. For an error response this explains what failed and, where possible, names the field at fault.</p>",
                "example": "Validation failed: targetUrl is required and must be a valid URL.",
                "default": "Validation failed: targetUrl is required and must be a valid URL.",
                "pattern": "^.{1,500}$"
              }
            ],
            "modelRef": "#/components/schemas/errorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "500",
        "description": "<p>Internal server error. An unexpected error occurred while processing the request. The request may not have been completed — do not assume the subscription changed. Retry the request and, if the error persists, contact Monoova support quoting the <code>statusDescription</code>.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"durationMs\":5312,\"status\":\"Exception\",\"statusDescription\":\"An unexpected error occurred while processing the request. Please contact Monoova support.\"}",
            "description": "<p>Standard error envelope returned for 400, 401 and 500 responses.</p>",
            "customType": "errorResponse",
            "schema": [
              {
                "name": "durationMs",
                "kind": "optional",
                "type": "integer",
                "description": "This value represents the total time in milliseconds that the Platform took to process the request.",
                "example": 12,
                "default": 12,
                "pattern": "^[0-9]{1,7}$"
              },
              {
                "name": "status",
                "kind": "optional",
                "type": "string",
                "description": "<p>This is the status of the request. A code of 'Ok' indicates no errors. For an error response this will be a failure code such as 'Error', 'Unauthorized' or 'Exception'.</p>",
                "example": "Error",
                "default": "Error",
                "pattern": "^[A-Za-z]{2,30}$"
              },
              {
                "name": "statusDescription",
                "kind": "optional",
                "type": "string",
                "description": "<p>This is a description of the status. For an error response this explains what failed and, where possible, names the field at fault.</p>",
                "example": "Validation failed: targetUrl is required and must be a valid URL.",
                "default": "Validation failed: targetUrl is required and must be a valid URL.",
                "pattern": "^.{1,500}$"
              }
            ],
            "modelRef": "#/components/schemas/errorResponse",
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "6_8I3c77rE3LZHGcNL7uw",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request GET \\\n     --url 'https://api.mpay.com.au/subscriptions/v1/report/{date}?skip=0&take=100' \\\n     --header 'accept: application/json'"
        },
        {
          "id": "OUH4qW5KnLRT_tUEFCl8A",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\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/subscriptions/v1/report/{date}?skip=0&take=100\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "1cdS2JItRvbcUHsaBCGMp",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.mpay.com.au/subscriptions/v1/report/{date}?skip=0&take=100\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"accept\"] = \"application/json\"\nrequest[\"content-type\"] = \"application/json\"\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "vjg_tHNCeDhwtVzDboy-L",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.mpay.com.au/subscriptions/v1/report/{date}?skip=0&take=100\"\n\npayload = {}\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json'\n}\n\nresponse = requests.request(\"GET\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "6_8I3c77rE3LZHGcNL7uw"
    },
    "results": {
      "languages": [
        {
          "id": "pugjAqADTM_HgjORpKIv_",
          "language": "200",
          "code": "// Success. An array of the webhook notifications sent on the requested date is returned.\n{\n  \"notifications\": [\n    {\n      \"webhookId\": 885321,\n      \"url\": \"https://api.yourcompany.com/monoova/callbacks\",\n      \"eventName\": \"NPPReceivePayment\",\n      \"dateTime\": \"2026-09-17T11:24:07.450\",\n      \"lastResponseCode\": \"200\",\n      \"retryCount\": 0,\n      \"lastRetryDateTime\": \"2026-09-17T11:29:07.450\",\n      \"status\": \"Sent\"\n    }\n  ],\n  \"durationMs\": 412,\n  \"status\": \"Ok\",\n  \"statusDescription\": \"Operation completed successfully\"\n}"
        },
        {
          "id": "ZGm2SZuxTznu8r53UBhWg",
          "language": "400",
          "code": "// Bad request. The request could not be processed because one or more fields are missing, malformed, or failed validation. Check the statusDescription for the field at fault, correct it and retry.\n{\n  \"durationMs\": 12,\n  \"status\": \"Error\",\n  \"statusDescription\": \"Validation failed: targetUrl is required and must be a valid URL.\"\n}"
        },
        {
          "id": "Fot95vXDy-e4G35YgUc3v",
          "language": "401",
          "code": "// Unauthorized. The request did not include valid basic authentication credentials, or the API key supplied is inactive or not permitted to use this endpoint. Confirm the API key is passed as the basic authentication username and retry.\n{\n  \"durationMs\": 12,\n  \"status\": \"Error\",\n  \"statusDescription\": \"Validation failed: targetUrl is required and must be a valid URL.\"\n}"
        },
        {
          "id": "AG7L74tbcEK65US6dRml5",
          "language": "500",
          "code": "// Internal server error. An unexpected error occurred while processing the request. The request may not have been completed — do not assume the subscription changed. Retry the request and, if the error persists, contact Monoova support quoting the statusDescription.\n{\n  \"durationMs\": 12,\n  \"status\": \"Error\",\n  \"statusDescription\": \"Validation failed: targetUrl is required and must be a valid URL.\"\n}"
        }
      ],
      "selectedLanguageId": "pugjAqADTM_HgjORpKIv_"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}