---
title: Resend an Existing Webhook Notification
slug: api/resend-an-existing-webhook-notification
docTags: 
createdAt: 2026-09-20T23:41:11.143Z
---

{
  "id": "p3w82sObZQVj8kn-fKpl-",
  "type": "api-oas-v2",
  "data": {
    "method": "POST",
    "url": "https://api.mpay.com.au/subscriptions/v2/resend/{id}",
    "servers": [
      {
        "url": "https://api.mpay.com.au/subscriptions/v2/resend/{id}",
        "description": "Production URL"
      },
      {
        "url": "https://api.m-pay.com.au/subscriptions/v2/resend/{id}",
        "description": "Sandbox URL"
      }
    ],
    "name": "Resend an Existing Webhook Notification",
    "description": "<p>Resends a webhook notification that was previously generated, for example after your endpoint returned an error.</p>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [
        {
          "kind": "required",
          "name": "id",
          "type": "string",
          "example": "885321",
          "description": "<p><strong>Required.</strong> The Id of the webhook notification you want to resend. Use the <code>webhookId</code> returned by the Webhook Notifications Report endpoint.</p>",
          "default": "885321",
          "pattern": "^[0-9]{1,12}$"
        }
      ],
      "headerParameters": [
        {
          "name": "accept",
          "type": "string",
          "kind": "optional",
          "description": "Generated from available response content types",
          "enum": [
            "application/json"
          ],
          "default": "application/json"
        }
      ],
      "queryParameters": [],
      "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. The notification was queued for resending and the processing result is returned.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "subscriptionListResponse_V2",
            "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": 213,
                "default": 213,
                "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}$"
              },
              {
                "name": "debug",
                "kind": "optional",
                "type": "object",
                "description": "Diagnostic detail about how the request was processed. These fields are intended for troubleshooting and support enquiries only.",
                "example": "",
                "schema": [
                  {
                    "name": "signInMAccountDetails",
                    "kind": "optional",
                    "type": "string",
                    "nullable": true,
                    "description": "<p><strong>Conditional.</strong> Diagnostic detail about the signed-in mAccount used to authenticate the request. Returned for troubleshooting only.</p>",
                    "example": "mAccount: 4210000000 (Active)",
                    "default": "mAccount: 4210000000 (Active)",
                    "pattern": "^.{0,500}$"
                  },
                  {
                    "name": "finalSignInMAccountFinancials",
                    "kind": "optional",
                    "type": "string",
                    "nullable": true,
                    "description": "<p><strong>Conditional.</strong> Snapshot of the signed-in mAccount financial position after the request was processed. Returned for troubleshooting only.</p>",
                    "example": "Balance: 15000.00, Available: 15000.00",
                    "default": "Balance: 15000.00, Available: 15000.00",
                    "pattern": "^.{0,500}$"
                  },
                  {
                    "name": "initialSignInMAccountFinancials",
                    "kind": "optional",
                    "type": "string",
                    "nullable": true,
                    "description": "<p><strong>Conditional.</strong> Snapshot of the signed-in mAccount financial position before the request was processed. Returned for troubleshooting only.</p>",
                    "example": "Balance: 15000.00, Available: 15000.00",
                    "default": "Balance: 15000.00, Available: 15000.00",
                    "pattern": "^.{0,500}$"
                  },
                  {
                    "name": "traceLogId",
                    "kind": "optional",
                    "type": "string",
                    "description": "Unique trace identifier for this request. Quote this value when raising a support enquiry with Monoova.",
                    "example": "8f3c1d92-5b47-4a10-9f2e-6c7d81ab0e55",
                    "default": "8f3c1d92-5b47-4a10-9f2e-6c7d81ab0e55",
                    "pattern": "^[A-Za-z0-9-]{1,64}$"
                  },
                  {
                    "name": "exceptionId",
                    "kind": "optional",
                    "type": "integer",
                    "nullable": true,
                    "description": "<p><strong>Conditional.</strong> Identifier of the exception raised while processing the request. Null when the request completed without error.</p>",
                    "example": 40312,
                    "default": 40312,
                    "pattern": "^[0-9]{1,10}$"
                  },
                  {
                    "name": "exceptionMsg",
                    "kind": "optional",
                    "type": "string",
                    "nullable": true,
                    "description": "<p><strong>Conditional.</strong> Description of the exception raised while processing the request. Empty when the request completed without error.</p>",
                    "example": "Notification could not be resent because the subscription is inactive.",
                    "default": "Notification could not be resent because the subscription is inactive.",
                    "pattern": "^.{0,500}$"
                  }
                ]
              }
            ],
            "modelRef": "#/components/schemas/subscriptionListResponse_V2",
            "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": "kETR6sCnQoC3Ans-R7Jad",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request POST \\\n     --url https://api.mpay.com.au/subscriptions/v2/resend/{id} \\\n     --header 'accept: application/json'"
        },
        {
          "id": "4vNrJ2_9AO_znWD3qH7Av",
          "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: 'POST',\n   headers: myHeaders,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.mpay.com.au/subscriptions/v2/resend/{id}\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "gcTdLj0UAO7C1aKbMMZix",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.mpay.com.au/subscriptions/v2/resend/{id}\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"accept\"] = \"application/json\"\nrequest[\"content-type\"] = \"application/json\"\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "l9q8KqGZR6OBRBC7Dx8kd",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.mpay.com.au/subscriptions/v2/resend/{id}\"\n\npayload = {}\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json'\n}\n\nresponse = requests.request(\"POST\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "kETR6sCnQoC3Ans-R7Jad"
    },
    "results": {
      "languages": [
        {
          "id": "response-0-200",
          "language": "200",
          "code": "// Success. The notification was queued for resending and the processing result is returned.\n{\n  \"durationMs\": 213,\n  \"status\": \"Ok\",\n  \"statusDescription\": \"Operation completed successfully\",\n  \"debug\": {\n    \"signInMAccountDetails\": \"mAccount: 4210000000 (Active)\",\n    \"finalSignInMAccountFinancials\": \"Balance: 15000.00, Available: 15000.00\",\n    \"initialSignInMAccountFinancials\": \"Balance: 15000.00, Available: 15000.00\",\n    \"traceLogId\": \"8f3c1d92-5b47-4a10-9f2e-6c7d81ab0e55\",\n    \"exceptionId\": 40312,\n    \"exceptionMsg\": \"Notification could not be resent because the subscription is inactive.\"\n  }\n}"
        },
        {
          "id": "response-1-400",
          "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": "response-2-401",
          "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": "response-3-500",
          "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": "response-0-200"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}