---
title: List all existing Webhooks
slug: api/list-all-existing-webhooks
docTags: 
createdAt: 2026-09-20T23:41:11.143Z
---

{
  "id": "YJGsl2Am7XUOnkUCzA8DX",
  "type": "api-oas-v2",
  "data": {
    "method": "GET",
    "url": "https://api.mpay.com.au/subscriptions/v1/list",
    "servers": [
      {
        "url": "https://api.mpay.com.au/subscriptions/v1/list",
        "description": "Production URL"
      },
      {
        "url": "https://api.m-pay.com.au/subscriptions/v1/list",
        "description": "Sandbox URL"
      }
    ],
    "name": "List all existing Webhooks",
    "description": "Returns a list of all webhooks registered.",
    "contentType": "application/json",
    "request": {
      "pathParameters": [],
      "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. An array of every webhook subscription registered against your account is returned.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "subscriptionListResponse_V1",
            "schema": [
              {
                "name": "eventName",
                "kind": "optional",
                "type": "array",
                "description": "An array containing every webhook subscription registered against your account. Empty when no subscriptions exist.",
                "modelRef": "#/components/schemas/subscriptionListItemClass",
                "customType": "subscriptionListItemClass[]",
                "schema": [
                  {
                    "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": "id",
                    "kind": "optional",
                    "type": "integer",
                    "description": "Unique id for the subscription. Quote this value when calling the update or delete endpoints.",
                    "example": 10241,
                    "default": 10241,
                    "pattern": "^[0-9]{1,10}$"
                  },
                  {
                    "name": "targetUrl",
                    "kind": "optional",
                    "type": "string<uri>",
                    "description": "This is the API endpoint where the call back notification will be sent.",
                    "example": "https://api.yourcompany.com/monoova/callbacks",
                    "default": "https://api.yourcompany.com/monoova/callbacks",
                    "format": "uri",
                    "pattern": "^https?://[^\\s]+$"
                  },
                  {
                    "name": "status",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>This is a plain English description of the status, indicating whether callbacks are currently being sent to this subscription.</p>",
                    "example": "On",
                    "default": "On",
                    "pattern": "^[A-Za-z0-9 ,.'-]{1,50}$"
                  },
                  {
                    "name": "createdDate",
                    "kind": "optional",
                    "type": "string",
                    "description": "Datetime the subscription was created.",
                    "example": "2026-08-02T09:15:44.000",
                    "default": "2026-08-02T09:15:44.000",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$"
                  },
                  {
                    "name": "lastUpdated",
                    "kind": "optional",
                    "type": "string",
                    "description": "Datetime the subscription was last updated.",
                    "example": "2026-09-18T15:43:18.123",
                    "default": "2026-09-18T15:43:18.123",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$"
                  }
                ]
              },
              {
                "name": "durationMs",
                "kind": "optional",
                "type": "integer",
                "description": "This value represents the total time in milliseconds that the Platform took to process the request.",
                "example": 74,
                "default": 74,
                "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/subscriptionListResponse_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": "gijnW-pehXBx9nDBQrJMd",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request GET \\\n     --url https://api.mpay.com.au/subscriptions/v1/list \\\n     --header 'accept: application/json'"
        },
        {
          "id": "9U7Yr68uKxyN5ZMBcu5Q6",
          "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/list\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "0uJ_JITA86YpNV5SiQFL1",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.mpay.com.au/subscriptions/v1/list\")\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": "wqXnm05oSdVGN5w_v_CBg",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.mpay.com.au/subscriptions/v1/list\"\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": "gijnW-pehXBx9nDBQrJMd"
    },
    "results": {
      "languages": [
        {
          "id": "EeZpkbCAusWVBjF5eqYBy",
          "language": "200",
          "code": "// Success. An array of every webhook subscription registered against your account is returned.\n{\n  \"eventName\": [\n    {\n      \"eventName\": \"NPPReceivePayment\",\n      \"id\": 10241,\n      \"targetUrl\": \"https://api.yourcompany.com/monoova/callbacks\",\n      \"status\": \"On\",\n      \"createdDate\": \"2026-08-02T09:15:44.000\",\n      \"lastUpdated\": \"2026-09-18T15:43:18.123\"\n    }\n  ],\n  \"durationMs\": 74,\n  \"status\": \"Ok\",\n  \"statusDescription\": \"Operation completed successfully\"\n}"
        },
        {
          "id": "44hoPJTKTqbliZ_7YJUC9",
          "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": "iLP3podWA7ShLM3UUkCJ2",
          "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": "PrEGAZP8Qh4gFpkhJ_W3m",
          "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": "EeZpkbCAusWVBjF5eqYBy"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}