---
title: PayID Resolution
slug: api/payid-resolution
createdAt: 2026-09-28T23:49:19.201Z
---

{
  "id": "9Gi5EZc6yG0VORENxLGe2",
  "type": "api-oas-v2",
  "data": {
    "method": "POST",
    "url": "https://sand-api.monoova.com/au/core/payman-v1/PayId/PayIdResolution",
    "servers": [
      {
        "url": "https://sand-api.monoova.com/au/core/payman-v1/PayId/PayIdResolution",
        "description": "Sandbox URL"
      },
      {
        "url": "https://api.monoova.com/au/core/payman-v1/PayId/PayIdResolution",
        "description": "Production URL"
      }
    ],
    "name": "PayID Resolution",
    "description": "<p>Endpoint to return the PayID and account details for the provided PayID value.</p>\n<p>Use this API to resolve a PayID to its alias name and linked bank account details before initiating a payment. The PayID resolution API searches the NPP Addressing Service for a PayID and returns the associated PayID and linked bank account details.</p>\n<p>Don't expose any of the account details on the facing UI at any point and this information must be treated as strictly confidential. Only the PayID and name should be visible in the confirmation step before attempting payment.</p>\n<p>Follow the below formatting for PayID:</p>\n<p><strong>Phone number</strong>\nConsists of a “+” followed by the country code (from 1 to 3 characters), then a “-“ then a number between 1 and 9, and then any combination of numbers.\n<em>Example: +61-423765879</em></p>\n<p><strong>Email</strong>\nConsists of a character string with a maximum length of 256 characters in lower case. This must include the “@” symbol with leading and trailing characters, and no whitespace.\n<em>Example: <a href=\"mailto:test@email.com\" target=\"_blank\">test@email.com</a></em></p>\n<p><strong>ABN or ACN</strong>\nConsists of a nine- to eleven-digit number. This can be either the ABN or the ACN, depending on the type of legal entity the customer operates under.\n<em>Example: 601428737</em></p>\n<p><strong>Organisation Identifier</strong>\nThe Identifier must include the company/organisation name and either the description of the business/trade/product/campaign.\n<em>Example: gold plumbing syndey</em></p>",
    "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": [
        {
          "kind": "required",
          "name": "body",
          "type": "object",
          "example": "{\"payId\":\"test@monoova.com\",\"payIdType\":\"email\"}",
          "description": "The PayID to resolve and its type.",
          "customType": "PayIdResolutionRequestDto",
          "schema": [
            {
              "name": "payId",
              "kind": "required",
              "type": "string",
              "description": "<p>The PayID to resolve. The value must be consistent with <code>payIdType</code> and use the matching format:</p>\n<ul>\n<li><code>abn</code>: an ABN of 11 digits with no spaces. Pattern: <code>^\\d{11}$</code>. Example: <code>77106249852</code>.</li>\n<li><code>email</code>: an email address in lower case with no whitespace, up to 256 characters. Pattern: <code>^(?:[a-z0-9!#$%&#x26;'*+/=?^_</code>{|}~-]+(?:\\.[a-z0-9!#$%&#x26;'*+/=?^_<code>{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)$</code>. Example: <code>test@monoova.com</code>.</li>\n<li><code>phonenumber</code>: an Australian mobile number, written as <code>+</code>, the country code, <code>-</code>, then the number without its leading 0. Pattern: <code>^\\+[0-9]{1,3}-[1-9]{1,1}[0-9]{1,29}$</code>. Example: <code>+61-491570156</code>.</li>\n<li><code>acn</code>: an ACN of 9 digits with no spaces. Pattern: <code>^\\d{9}$</code>. Example: <code>106249852</code>.</li>\n<li><code>organisationid</code>: an organisation identifier of 2 to 256 characters in lower case, with no leading or trailing spaces. Pattern: <code>^[!-@\\[-~][ -@\\[-~]{0,254}[!-@\\[-~]$</code>. Example: <code>gold plumbing sydney</code>.</li>\n</ul>",
              "example": "test@monoova.com",
              "default": "test@monoova.com",
              "minLength": 2,
              "maxLength": 256
            },
            {
              "name": "payIdType",
              "kind": "required",
              "type": "string",
              "description": "<p>The type of PayID supplied in <code>payId</code>. Use one of these values, in lower case: <code>abn</code>, <code>email</code>, <code>phonenumber</code>, <code>organisationid</code> or <code>acn</code>. The value must match the format of <code>payId</code>.</p>",
              "example": "email",
              "default": "email",
              "minLength": 3,
              "maxLength": 14,
              "pattern": "^(abn|email|phonenumber|organisationid|acn)$"
            }
          ],
          "modelRef": "#/components/schemas/PayIdResolutionRequestDto",
          "isExpanded": true
        }
      ],
      "formDataParameters": [],
      "oAuthParameters": [
        {
          "id": "BearerAuth",
          "name": "BearerAuth",
          "kind": "optional",
          "type": "http",
          "description": "<p>Bearer token authentication for API endpoints. To generate a token, see <a href=\"https://developer.monoova.com/api/generate-a-bearer-token\" target=\"_blank\">https://developer.monoova.com/api/generate-a-bearer-token</a>.</p>",
          "scheme": "bearer"
        }
      ],
      "cookieParameters": []
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "OK. The request was processed successfully and the PayID resolution result is returned.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"traceId\":\"0HMV9K2P4N7QT:00000001\",\"payIdName\":\"JOHN SMITH\",\"payIdRegistered\":\"2024-03-18T09:15:00Z\",\"bankAccountNumber\":\"123456789\"}",
            "description": "Result returned when the PayID resolves successfully.",
            "customType": "PayIdResolutionResponse",
            "schema": [
              {
                "name": "traceId",
                "kind": "optional",
                "type": "string",
                "nullable": true,
                "description": "Unique identifier Monoova assigns to the request for logging. Quote it when you contact Monoova support.",
                "example": "0HMV9K2P4N7QT:00000001",
                "default": "0HMV9K2P4N7QT:00000001",
                "minLength": 8,
                "maxLength": 64,
                "pattern": "^[A-Za-z0-9:_\\-]{8,64}$"
              },
              {
                "name": "payIdName",
                "kind": "optional",
                "type": "string",
                "nullable": true,
                "description": "Registered account name associated with the PayID. Show it with the PayID at the confirmation step so the payer can check who they're paying.",
                "example": "JOHN SMITH",
                "default": "JOHN SMITH",
                "minLength": 1,
                "maxLength": 140,
                "pattern": "^.{1,140}$"
              },
              {
                "name": "payIdRegistered",
                "kind": "optional",
                "type": "string<date-time>",
                "nullable": true,
                "description": "<p>UTC date and time when the PayID was registered, in ISO 8601 format.</p>",
                "example": "2024-03-18T09:15:00Z",
                "default": "2024-03-18T09:15:00Z",
                "format": "date-time",
                "minLength": 20,
                "maxLength": 33,
                "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?(Z|[+\\-]\\d{2}:\\d{2})$"
              },
              {
                "name": "bankAccountNumber",
                "kind": "optional",
                "type": "string",
                "nullable": true,
                "description": "<p><strong>Conditional.</strong> Bank account number linked to the PayID, returned in full or masked depending on your account permissions. Treat it as strictly confidential and never show it in a customer-facing UI.</p>",
                "example": "123456789",
                "default": "123456789",
                "minLength": 5,
                "maxLength": 10,
                "pattern": "^[0-9Xx*]{5,10}$"
              }
            ],
            "modelRef": "#/components/schemas/PayIdResolutionResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "400",
        "description": "<p>Bad Request. The request failed validation, for example <code>payId</code> doesn't match the format for the supplied <code>payIdType</code>. The <code>errors</code> array names each failure through <code>errorCode</code>, with a readable <code>errorMessage</code>. Correct the request before you send it again; resending the identical request returns the same 400.</p>\n<p>Error codes returned with this status:</p>\n<ul>\n<li><code>PAY_PAYID_VALUE_REQUIRED</code>: <code>payId</code> is missing.</li>\n<li><code>PAY_PAYID_VALUE_INVALID</code>: <code>payId</code> doesn't match the format for the supplied <code>payIdType</code>.</li>\n<li><code>PAY_PAYID_TYPE_REQUIRED</code>: <code>payIdType</code> is missing.</li>\n<li><code>PAY_PAYID_TYPE_INVALID</code>: <code>payIdType</code> isn't one of the accepted values.</li>\n<li><code>PAY_REQUEST_EMPTY</code>: the request body is empty.</li>\n<li><code>PAY_REQ_BODY_INVALID</code>: the request body is badly formed and can't be parsed.</li>\n<li><code>PAY_VALIDATION_ERROR</code>: the request failed validation; <code>errorMessage</code> gives the detail.</li>\n<li><code>PAY_INPUT_INJECTION_DETECTED</code>: the request contains potentially malicious content.</li>\n<li><code>PAY_VERSION_INVALID</code>: the request version is invalid.</li>\n<li><code>PAY_VERSION_UNSUPPORTED</code>: the request version isn't supported.</li>\n</ul>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"traceId\":\"0HMV9K2P4N7QT:00000002\",\"errors\":[{\"errorCode\":\"PAY_PAYID_VALUE_INVALID\",\"errorMessage\":\"Invalid PayId value. Please provide a valid value based on the PayId type.\"}]}",
            "description": "Error body returned with a 400 Bad Request response.",
            "customType": "BadRequestResponse",
            "schema": [
              {
                "name": "traceId",
                "kind": "optional",
                "type": "string",
                "nullable": true,
                "description": "Unique identifier Monoova assigns to the request for logging. Quote it when you contact Monoova support.",
                "example": "0HMV9K2P4N7QT:00000002",
                "default": "0HMV9K2P4N7QT:00000002",
                "minLength": 8,
                "maxLength": 64,
                "pattern": "^[A-Za-z0-9:_\\-]{8,64}$"
              },
              {
                "name": "errors",
                "kind": "optional",
                "type": "array",
                "nullable": true,
                "description": "<p>List of validation errors. Each item names the failure through <code>errorCode</code>, with a readable <code>errorMessage</code>.</p>",
                "modelRef": "#/components/schemas/BadRequestError",
                "customType": "BadRequestError[]",
                "schema": [
                  {
                    "name": "errorCode",
                    "kind": "optional",
                    "type": "string",
                    "nullable": true,
                    "description": "<p>Monoova error code identifying the failure, in upper case with underscores. The codes returned with a 400 response are listed in its description.</p>",
                    "example": "PAY_PAYID_VALUE_INVALID",
                    "default": "PAY_PAYID_VALUE_INVALID",
                    "minLength": 3,
                    "maxLength": 50,
                    "pattern": "^[A-Z0-9_]{3,50}$"
                  },
                  {
                    "name": "errorMessage",
                    "kind": "optional",
                    "type": "string",
                    "nullable": true,
                    "description": "<p>More detailed description of the error, which may include information from the request.</p>",
                    "example": "Invalid PayId value. Please provide a valid value based on the PayId type.",
                    "default": "Invalid PayId value. Please provide a valid value based on the PayId type.",
                    "minLength": 1,
                    "maxLength": 500,
                    "pattern": "^.{1,500}$"
                  }
                ]
              }
            ],
            "modelRef": "#/components/schemas/BadRequestResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "401",
        "description": "<p>Unauthorized. The bearer token is missing, malformed or has expired. Generate a new token and send it in the <code>Authorization</code> header as <code>Bearer &#x3C;token></code>. Don't retry with the same token. To generate a token, see <a href=\"https://developer.monoova.com/api/generate-a-bearer-token\" target=\"_blank\">https://developer.monoova.com/api/generate-a-bearer-token</a>.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"traceId\":\"0HMV9K2P4N7QT:00000003\",\"errors\":[{\"errorCode\":\"TBC_401_ERROR_CODE\",\"errorMessage\":\"TBC - confirm the 401 error message before publishing.\"}]}",
            "description": "Error body returned with a 401 Unauthorized response.",
            "customType": "UnauthorizedResponse",
            "schema": [
              {
                "name": "traceId",
                "kind": "optional",
                "type": "string",
                "nullable": true,
                "description": "Unique identifier Monoova assigns to the request for logging. Quote it when you contact Monoova support.",
                "example": "0HMV9K2P4N7QT:00000003",
                "default": "0HMV9K2P4N7QT:00000003",
                "minLength": 8,
                "maxLength": 64,
                "pattern": "^[A-Za-z0-9:_\\-]{8,64}$"
              },
              {
                "name": "errors",
                "kind": "optional",
                "type": "array",
                "nullable": true,
                "description": "<p>List of errors explaining why the request failed. Each item gives an <code>errorCode</code> and an <code>errorMessage</code>.</p>",
                "modelRef": "#/components/schemas/UnauthorizedError",
                "customType": "UnauthorizedError[]",
                "schema": [
                  {
                    "name": "errorCode",
                    "kind": "optional",
                    "type": "string",
                    "nullable": true,
                    "description": "<p>Monoova error code identifying the failure, in upper case with underscores.</p>",
                    "example": "TBC_401_ERROR_CODE",
                    "default": "TBC_401_ERROR_CODE",
                    "minLength": 3,
                    "maxLength": 50,
                    "pattern": "^[A-Z0-9_]{3,50}$"
                  },
                  {
                    "name": "errorMessage",
                    "kind": "optional",
                    "type": "string",
                    "nullable": true,
                    "description": "<p>More detailed description of the error, which may include information from the request.</p>",
                    "example": "TBC - confirm the 401 error message before publishing.",
                    "default": "TBC - confirm the 401 error message before publishing.",
                    "minLength": 1,
                    "maxLength": 500,
                    "pattern": "^.{1,500}$"
                  }
                ]
              }
            ],
            "modelRef": "#/components/schemas/UnauthorizedResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "403",
        "description": "<p>Forbidden. The bearer token was accepted, but your account isn't permitted to use PayID Resolution. This is an access problem, not a data problem: the same request keeps returning 403 until Monoova updates your account's access. Contact Monoova support and don't retry automatically.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"traceId\":\"0HMV9K2P4N7QT:00000004\",\"errors\":[{\"errorCode\":\"TBC_403_ERROR_CODE\",\"errorMessage\":\"TBC - confirm the 403 error message before publishing.\"}]}",
            "description": "Error body returned with a 403 Forbidden response.",
            "customType": "ForbiddenResponse",
            "schema": [
              {
                "name": "traceId",
                "kind": "optional",
                "type": "string",
                "nullable": true,
                "description": "Unique identifier Monoova assigns to the request for logging. Quote it when you contact Monoova support.",
                "example": "0HMV9K2P4N7QT:00000004",
                "default": "0HMV9K2P4N7QT:00000004",
                "minLength": 8,
                "maxLength": 64,
                "pattern": "^[A-Za-z0-9:_\\-]{8,64}$"
              },
              {
                "name": "errors",
                "kind": "optional",
                "type": "array",
                "nullable": true,
                "description": "<p>List of errors explaining why the request failed. Each item gives an <code>errorCode</code> and an <code>errorMessage</code>.</p>",
                "modelRef": "#/components/schemas/ForbiddenError",
                "customType": "ForbiddenError[]",
                "schema": [
                  {
                    "name": "errorCode",
                    "kind": "optional",
                    "type": "string",
                    "nullable": true,
                    "description": "<p>Monoova error code identifying the failure, in upper case with underscores.</p>",
                    "example": "TBC_403_ERROR_CODE",
                    "default": "TBC_403_ERROR_CODE",
                    "minLength": 3,
                    "maxLength": 50,
                    "pattern": "^[A-Z0-9_]{3,50}$"
                  },
                  {
                    "name": "errorMessage",
                    "kind": "optional",
                    "type": "string",
                    "nullable": true,
                    "description": "<p>More detailed description of the error, which may include information from the request.</p>",
                    "example": "TBC - confirm the 403 error message before publishing.",
                    "default": "TBC - confirm the 403 error message before publishing.",
                    "minLength": 1,
                    "maxLength": 500,
                    "pattern": "^.{1,500}$"
                  }
                ]
              }
            ],
            "modelRef": "#/components/schemas/ForbiddenResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "404",
        "description": "<p>Not Found. No PayID matching the supplied <code>payId</code> was found. Check the <code>payId</code> and <code>payIdType</code> values before you try again.</p>\n<p>Error codes returned with this status:</p>\n<ul>\n<li><code>PAY_PAYID_NOT_FOUND</code>: the PayID wasn't found.</li>\n</ul>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"traceId\":\"0HMV9K2P4N7QT:00000005\",\"errors\":[{\"errorCode\":\"PAY_PAYID_NOT_FOUND\",\"errorMessage\":\"PayId unknown@example.com not found.\"}]}",
            "description": "Error body returned with a 404 Not Found response.",
            "customType": "NotFoundResponse",
            "schema": [
              {
                "name": "traceId",
                "kind": "optional",
                "type": "string",
                "nullable": true,
                "description": "Unique identifier Monoova assigns to the request for logging. Quote it when you contact Monoova support.",
                "example": "0HMV9K2P4N7QT:00000005",
                "default": "0HMV9K2P4N7QT:00000005",
                "minLength": 8,
                "maxLength": 64,
                "pattern": "^[A-Za-z0-9:_\\-]{8,64}$"
              },
              {
                "name": "errors",
                "kind": "optional",
                "type": "array",
                "nullable": true,
                "description": "<p>List of errors explaining why the request failed. Each item gives an <code>errorCode</code> and an <code>errorMessage</code>.</p>",
                "modelRef": "#/components/schemas/NotFoundError",
                "customType": "NotFoundError[]",
                "schema": [
                  {
                    "name": "errorCode",
                    "kind": "optional",
                    "type": "string",
                    "nullable": true,
                    "description": "<p>Monoova error code identifying the failure, in upper case with underscores. The codes returned with a 404 response are listed in its description.</p>",
                    "example": "PAY_PAYID_NOT_FOUND",
                    "default": "PAY_PAYID_NOT_FOUND",
                    "minLength": 3,
                    "maxLength": 50,
                    "pattern": "^[A-Z0-9_]{3,50}$"
                  },
                  {
                    "name": "errorMessage",
                    "kind": "optional",
                    "type": "string",
                    "nullable": true,
                    "description": "<p>More detailed description of the error, which may include information from the request.</p>",
                    "example": "PayId unknown@example.com not found.",
                    "default": "PayId unknown@example.com not found.",
                    "minLength": 1,
                    "maxLength": 500,
                    "pattern": "^.{1,500}$"
                  }
                ]
              }
            ],
            "modelRef": "#/components/schemas/NotFoundResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "500",
        "description": "<p>Internal Server Error. An unexpected error occurred while processing the request. Quote the <code>traceId</code> when you contact Monoova support.</p>\n<p>Error codes returned with this status:</p>\n<ul>\n<li><code>PAY_UNEXPECTED_ERROR</code>: an unexpected internal error occurred.</li>\n<li><code>PAY_OBJ_CREATE_ERROR</code>: an internal record couldn't be created.</li>\n</ul>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"traceId\":\"0HMV9K2P4N7QT:00000006\",\"errors\":[{\"errorCode\":\"PAY_UNEXPECTED_ERROR\",\"errorMessage\":\"Internal server error. Please contact Monoova support.\"}]}",
            "description": "Error body returned with a 500 Internal Server Error response.",
            "customType": "InternalServerErrorResponse",
            "schema": [
              {
                "name": "traceId",
                "kind": "optional",
                "type": "string",
                "nullable": true,
                "description": "Unique identifier Monoova assigns to the request for logging. Quote it when you contact Monoova support.",
                "example": "0HMV9K2P4N7QT:00000006",
                "default": "0HMV9K2P4N7QT:00000006",
                "minLength": 8,
                "maxLength": 64,
                "pattern": "^[A-Za-z0-9:_\\-]{8,64}$"
              },
              {
                "name": "errors",
                "kind": "optional",
                "type": "array",
                "nullable": true,
                "description": "<p>List of errors explaining why the request failed. Each item gives an <code>errorCode</code> and an <code>errorMessage</code>.</p>",
                "modelRef": "#/components/schemas/InternalServerError",
                "customType": "InternalServerError[]",
                "schema": [
                  {
                    "name": "errorCode",
                    "kind": "optional",
                    "type": "string",
                    "nullable": true,
                    "description": "<p>Monoova error code identifying the failure, in upper case with underscores. The codes returned with a 500 response are listed in its description.</p>",
                    "example": "PAY_UNEXPECTED_ERROR",
                    "default": "PAY_UNEXPECTED_ERROR",
                    "minLength": 3,
                    "maxLength": 50,
                    "pattern": "^[A-Z0-9_]{3,50}$"
                  },
                  {
                    "name": "errorMessage",
                    "kind": "optional",
                    "type": "string",
                    "nullable": true,
                    "description": "<p>More detailed description of the error, which may include information from the request.</p>",
                    "example": "Internal server error. Please contact Monoova support.",
                    "default": "Internal server error. Please contact Monoova support.",
                    "minLength": 1,
                    "maxLength": 500,
                    "pattern": "^.{1,500}$"
                  }
                ]
              }
            ],
            "modelRef": "#/components/schemas/InternalServerErrorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "502",
        "description": "<p>Bad Gateway. The NPP gateway returned an error while resolving the PayID, and <code>errorMessage</code> includes the detail returned by the gateway. Try again later, and quote the <code>traceId</code> if you contact Monoova support.</p>\n<p>Error codes returned with this status:</p>\n<ul>\n<li><code>PAY_NPP_GATEWAY_ERROR</code>: the NPP gateway returned an error.</li>\n</ul>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"traceId\":\"0HMV9K2P4N7QT:00000007\",\"errors\":[{\"errorCode\":\"PAY_NPP_GATEWAY_ERROR\",\"errorMessage\":\"Error returned from NPP gateway - <error detail from the NPP gateway>\"}]}",
            "description": "Error body returned with a 502 Bad Gateway response.",
            "customType": "BadGatewayResponse",
            "schema": [
              {
                "name": "traceId",
                "kind": "optional",
                "type": "string",
                "nullable": true,
                "description": "Unique identifier Monoova assigns to the request for logging. Quote it when you contact Monoova support.",
                "example": "0HMV9K2P4N7QT:00000007",
                "default": "0HMV9K2P4N7QT:00000007",
                "minLength": 8,
                "maxLength": 64,
                "pattern": "^[A-Za-z0-9:_\\-]{8,64}$"
              },
              {
                "name": "errors",
                "kind": "optional",
                "type": "array",
                "nullable": true,
                "description": "<p>List of errors explaining why the request failed. Each item gives an <code>errorCode</code> and an <code>errorMessage</code>.</p>",
                "modelRef": "#/components/schemas/BadGatewayError",
                "customType": "BadGatewayError[]",
                "schema": [
                  {
                    "name": "errorCode",
                    "kind": "optional",
                    "type": "string",
                    "nullable": true,
                    "description": "<p>Monoova error code identifying the failure, in upper case with underscores. The codes returned with a 502 response are listed in its description.</p>",
                    "example": "PAY_NPP_GATEWAY_ERROR",
                    "default": "PAY_NPP_GATEWAY_ERROR",
                    "minLength": 3,
                    "maxLength": 50,
                    "pattern": "^[A-Z0-9_]{3,50}$"
                  },
                  {
                    "name": "errorMessage",
                    "kind": "optional",
                    "type": "string",
                    "nullable": true,
                    "description": "<p>More detailed description of the error, which may include information from the request.</p>",
                    "example": "Error returned from NPP gateway - <error detail from the NPP gateway>",
                    "default": "Error returned from NPP gateway - <error detail from the NPP gateway>",
                    "minLength": 1,
                    "maxLength": 500,
                    "pattern": "^.{1,500}$"
                  }
                ]
              }
            ],
            "modelRef": "#/components/schemas/BadGatewayResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "504",
        "description": "<p>Gateway Timeout. An upstream gateway didn't respond in time. Try again later, and quote the <code>traceId</code> if you contact Monoova support.</p>\n<p>Error codes returned with this status:</p>\n<ul>\n<li><code>PAY_NPP_GATEWAY_TIMEOUT</code>: the NPP gateway timed out.</li>\n<li><code>PAY_CPL_GATEWAY_TIMEOUT</code>: the CPL gateway timed out.</li>\n</ul>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"traceId\":\"0HMV9K2P4N7QT:00000008\",\"errors\":[{\"errorCode\":\"PAY_NPP_GATEWAY_TIMEOUT\",\"errorMessage\":\"Timeout from NPP gateway\"}]}",
            "description": "Error body returned with a 504 Gateway Timeout response.",
            "customType": "GatewayTimeoutResponse",
            "schema": [
              {
                "name": "traceId",
                "kind": "optional",
                "type": "string",
                "nullable": true,
                "description": "Unique identifier Monoova assigns to the request for logging. Quote it when you contact Monoova support.",
                "example": "0HMV9K2P4N7QT:00000008",
                "default": "0HMV9K2P4N7QT:00000008",
                "minLength": 8,
                "maxLength": 64,
                "pattern": "^[A-Za-z0-9:_\\-]{8,64}$"
              },
              {
                "name": "errors",
                "kind": "optional",
                "type": "array",
                "nullable": true,
                "description": "<p>List of errors explaining why the request failed. Each item gives an <code>errorCode</code> and an <code>errorMessage</code>.</p>",
                "modelRef": "#/components/schemas/GatewayTimeoutError",
                "customType": "GatewayTimeoutError[]",
                "schema": [
                  {
                    "name": "errorCode",
                    "kind": "optional",
                    "type": "string",
                    "nullable": true,
                    "description": "<p>Monoova error code identifying the failure, in upper case with underscores. The codes returned with a 504 response are listed in its description.</p>",
                    "example": "PAY_NPP_GATEWAY_TIMEOUT",
                    "default": "PAY_NPP_GATEWAY_TIMEOUT",
                    "minLength": 3,
                    "maxLength": 50,
                    "pattern": "^[A-Z0-9_]{3,50}$"
                  },
                  {
                    "name": "errorMessage",
                    "kind": "optional",
                    "type": "string",
                    "nullable": true,
                    "description": "<p>More detailed description of the error, which may include information from the request.</p>",
                    "example": "Timeout from NPP gateway",
                    "default": "Timeout from NPP gateway",
                    "minLength": 1,
                    "maxLength": 500,
                    "pattern": "^.{1,500}$"
                  }
                ]
              }
            ],
            "modelRef": "#/components/schemas/GatewayTimeoutResponse",
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "example-0-curl",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request POST \\\n     --url https://sand-api.monoova.com/au/core/payman-v1/PayId/PayIdResolution \\\n     --header 'accept: application/json' \\\n     --header 'content-type: application/json' \\\n     --data-raw '{\n     \"payId\": \"test@monoova.com\",\n     \"payIdType\": \"email\"\n     }'"
        },
        {
          "id": "example-1-javascript",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\nmyHeaders.append(\"content-type\", \"application/json\");\n\nvar raw = JSON.stringify({\n   \"payId\": \"test@monoova.com\",\n   \"payIdType\": \"email\"\n});\n\nvar requestOptions = {\n   method: 'POST',\n   headers: myHeaders,\n   body: raw,\n   redirect: 'follow'\n};\n\nfetch(\"https://sand-api.monoova.com/au/core/payman-v1/PayId/PayIdResolution\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "example-2-ruby",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://sand-api.monoova.com/au/core/payman-v1/PayId/PayIdResolution\")\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\"\nrequest.body = JSON.dump({\n   \"payId\": \"test@monoova.com\",\n   \"payIdType\": \"email\"\n})\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "example-3-python",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://sand-api.monoova.com/au/core/payman-v1/PayId/PayIdResolution\"\n\npayload = json.dumps({\n   \"payId\": \"test@monoova.com\",\n   \"payIdType\": \"email\"\n})\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": "example-0-curl"
    },
    "results": {
      "languages": [
        {
          "id": "response-0-200",
          "language": "200",
          "code": "// OK. The request was processed successfully and the PayID resolution result is returned.\n{\n  \"traceId\": \"0HMV9K2P4N7QT:00000001\",\n  \"payIdName\": \"JOHN SMITH\",\n  \"payIdRegistered\": \"2024-03-18T09:15:00Z\",\n  \"bankAccountNumber\": \"123456789\"\n}"
        },
        {
          "id": "response-1-400",
          "language": "400",
          "code": "// Bad Request. The request failed validation, for example payId doesn't match the format for the supplied payIdType. The errors array names each failure through errorCode, with a readable errorMessage. Correct the request before you send it again; resending the identical request returns the same 400.\nError codes returned with this status:\n\nPAY_PAYID_VALUE_REQUIRED: payId is missing.\nPAY_PAYID_VALUE_INVALID: payId doesn't match the format for the supplied payIdType.\nPAY_PAYID_TYPE_REQUIRED: payIdType is missing.\nPAY_PAYID_TYPE_INVALID: payIdType isn't one of the accepted values.\nPAY_REQUEST_EMPTY: the request body is empty.\nPAY_REQ_BODY_INVALID: the request body is badly formed and can't be parsed.\nPAY_VALIDATION_ERROR: the request failed validation; errorMessage gives the detail.\nPAY_INPUT_INJECTION_DETECTED: the request contains potentially malicious content.\nPAY_VERSION_INVALID: the request version is invalid.\nPAY_VERSION_UNSUPPORTED: the request version isn't supported.\n{\n  \"traceId\": \"0HMV9K2P4N7QT:00000002\",\n  \"errors\": [\n    {\n      \"errorCode\": \"PAY_PAYID_VALUE_INVALID\",\n      \"errorMessage\": \"Invalid PayId value. Please provide a valid value based on the PayId type.\"\n    }\n  ]\n}"
        },
        {
          "id": "response-2-401",
          "language": "401",
          "code": "// Unauthorized. The bearer token is missing, malformed or has expired. Generate a new token and send it in the Authorization header as Bearer &#x3C;token>. Don't retry with the same token. To generate a token, see https://developer.monoova.com/api/generate-a-bearer-token.\n{\n  \"traceId\": \"0HMV9K2P4N7QT:00000003\",\n  \"errors\": [\n    {\n      \"errorCode\": \"TBC_401_ERROR_CODE\",\n      \"errorMessage\": \"TBC - confirm the 401 error message before publishing.\"\n    }\n  ]\n}"
        },
        {
          "id": "response-3-403",
          "language": "403",
          "code": "// Forbidden. The bearer token was accepted, but your account isn't permitted to use PayID Resolution. This is an access problem, not a data problem: the same request keeps returning 403 until Monoova updates your account's access. Contact Monoova support and don't retry automatically.\n{\n  \"traceId\": \"0HMV9K2P4N7QT:00000004\",\n  \"errors\": [\n    {\n      \"errorCode\": \"TBC_403_ERROR_CODE\",\n      \"errorMessage\": \"TBC - confirm the 403 error message before publishing.\"\n    }\n  ]\n}"
        },
        {
          "id": "response-4-404",
          "language": "404",
          "code": "// Not Found. No PayID matching the supplied payId was found. Check the payId and payIdType values before you try again.\nError codes returned with this status:\n\nPAY_PAYID_NOT_FOUND: the PayID wasn't found.\n{\n  \"traceId\": \"0HMV9K2P4N7QT:00000005\",\n  \"errors\": [\n    {\n      \"errorCode\": \"PAY_PAYID_NOT_FOUND\",\n      \"errorMessage\": \"PayId unknown@example.com not found.\"\n    }\n  ]\n}"
        },
        {
          "id": "response-5-500",
          "language": "500",
          "code": "// Internal Server Error. An unexpected error occurred while processing the request. Quote the traceId when you contact Monoova support.\nError codes returned with this status:\n\nPAY_UNEXPECTED_ERROR: an unexpected internal error occurred.\nPAY_OBJ_CREATE_ERROR: an internal record couldn't be created.\n{\n  \"traceId\": \"0HMV9K2P4N7QT:00000006\",\n  \"errors\": [\n    {\n      \"errorCode\": \"PAY_UNEXPECTED_ERROR\",\n      \"errorMessage\": \"Internal server error. Please contact Monoova support.\"\n    }\n  ]\n}"
        },
        {
          "id": "response-6-502",
          "language": "502",
          "code": "// Bad Gateway. The NPP gateway returned an error while resolving the PayID, and errorMessage includes the detail returned by the gateway. Try again later, and quote the traceId if you contact Monoova support.\nError codes returned with this status:\n\nPAY_NPP_GATEWAY_ERROR: the NPP gateway returned an error.\n{\n  \"traceId\": \"0HMV9K2P4N7QT:00000007\",\n  \"errors\": [\n    {\n      \"errorCode\": \"PAY_NPP_GATEWAY_ERROR\",\n      \"errorMessage\": \"Error returned from NPP gateway - <error detail from the NPP gateway>\"\n    }\n  ]\n}"
        },
        {
          "id": "response-7-504",
          "language": "504",
          "code": "// Gateway Timeout. An upstream gateway didn't respond in time. Try again later, and quote the traceId if you contact Monoova support.\nError codes returned with this status:\n\nPAY_NPP_GATEWAY_TIMEOUT: the NPP gateway timed out.\nPAY_CPL_GATEWAY_TIMEOUT: the CPL gateway timed out.\n{\n  \"traceId\": \"0HMV9K2P4N7QT:00000008\",\n  \"errors\": [\n    {\n      \"errorCode\": \"PAY_NPP_GATEWAY_TIMEOUT\",\n      \"errorMessage\": \"Timeout from NPP gateway\"\n    }\n  ]\n}"
        }
      ],
      "selectedLanguageId": "response-0-200"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}