Moneris 3-D Secure Authentication API

3-D Secure cardholder authentication (browser and requestor-initiated channels), including authentication value lookup for the challenge flow.

OpenAPI Specification

moneris-unified-api-openapi.json Raw ↑
{
  "openapi": "3.0.3",
  "info": {
    "version": "2.6.1",
    "title": "Moneris API",
    "description": "Moneris API Platform\n\n\n[<img src=\"https://run.pstmn.io/button.svg\" alt=\"Run In Postman\" style=\"width: 128px; height:32px;\">](https://god.gw.postman.com/run-collection/25575461-f04750a0-88e9-4c83-8b58-a3aff15eeea8?action=collection%2Ffork&collection-url=entityId%3D25575461-f04750a0-88e9-4c83-8b58-a3aff15eeea8%26entityType%3Dcollection%26workspaceId%3D5d2a9a0f-57a7-441c-b2af-fe6315e80a08)",
    "termsOfService": "https://www.moneris.com/en/legal/terms-of-use",
    "contact": {
      "url": "https://api-developer.moneris.com",
      "email": "UnifiedAPI@moneris.com"
    },
    "license": {
      "name": "Moneris",
      "url": "https://developer.moneris.com/Agreements/Terms%20of%20Use"
    },
    "x-audience": "external-public"
  },
  "servers": [
    {
      "url": "https://api.sb.moneris.io",
      "description": "Sandbox server (uses test data)",
      "x-internal": false
    },
    {
      "url": "https://api.moneris.io",
      "description": "Production server (uses live data)",
      "x-internal": false
    }
  ],
  "tags": [
    {
      "name": "Disputes",
      "description": "Perform and Manage Disputes"
    },
    {
      "name": "3D Secure",
      "description": "Perform 3D Secure authentications against payment methods"
    },
    {
      "name": "Payments",
      "description": "Perform and Manage payments"
    },
    {
      "name": "Subscriptions",
      "description": "Perform and Manage Subscriptions"
    },
    {
      "name": "Customers",
      "description": "Perform and Manage customers"
    },
    {
      "name": "Kount",
      "description": "Perform and Manage Kount risk assessment inquiries"
    },
    {
      "name": "Merchant Onboarding",
      "description": "Manage Merchants onboarding"
    },
    {
      "name": "Terminal & Service Orders",
      "description": "Manage Moneris Terminal & Service Orders"
    },
    {
      "name": "Payment Methods",
      "description": "Create and Manage payment methods"
    },
    {
      "name": "Refunds",
      "description": "Perform and Manage payment refunds"
    },
    {
      "name": "Validations",
      "description": "Perform and Manage card validations"
    },
    {
      "name": "Multi-Currency Pricing Rate Lookup",
      "description": "Retrieve Multi-Currency Pricing Rate Lookups"
    },
    {
      "name": "Products",
      "description": "Product recommendations"
    },
    {
      "name": "Installments",
      "description": "Perform and Manage Installments"
    }
  ],
  "paths": {
    "/customers": {
      "description": "This API allows to manage past and recurring customers.\nVery useful when tracking and managing charges belonging to the same customer.\n",
      "parameters": [
        {
          "$ref": "#/components/parameters/apiVersion"
        },
        {
          "$ref": "#/components/parameters/correlationId"
        },
        {
          "$ref": "#/components/parameters/merchantId"
        }
      ],
      "post": {
        "summary": "Create Customer",
        "description": "This operation is used to created a new customer.",
        "operationId": "createCustomers",
        "security": [
          {
            "OAuth2": [
              "customer.write"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Customers"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createCustomerRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/createCustomerSuccessResponse"
          },
          "400": {
            "$ref": "#/components/responses/badRequest"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "409": {
            "$ref": "#/components/responses/conflict"
          },
          "422": {
            "$ref": "#/components/responses/unprocessableContent"
          },
          "429": {
            "$ref": "#/components/responses/tooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/internalServer"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      },
      "get": {
        "summary": "List Customers",
        "description": "Returns a paginated list of customers.",
        "operationId": "getCustomers",
        "security": [
          {
            "OAuth2": [
              "customer.read"
            ]
          },
          {
            "OAuth2": [
              "customer.write"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Customers"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/pageBeforeCursor"
          },
          {
            "$ref": "#/components/parameters/pageLimit"
          },
          {
            "$ref": "#/components/parameters/createdFrom"
          },
          {
            "$ref": "#/components/parameters/createdTo"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/listCustomersSuccessResponse"
          },
          "400": {
            "$ref": "#/components/responses/invalidListbadRequest"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "429": {
            "$ref": "#/components/responses/tooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/internalServer"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      }
    },
    "/customers/{customer-id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/apiVersion"
        },
        {
          "$ref": "#/components/parameters/correlationId"
        },
        {
          "$ref": "#/components/parameters/customerId"
        },
        {
          "$ref": "#/components/parameters/merchantId"
        }
      ],
      "delete": {
        "summary": "Delete Customer",
        "description": "Delete a customer by their Id",
        "operationId": "deleteCustomer",
        "security": [
          {
            "OAuth2": [
              "customer.write"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Customers"
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/customerDeleteSuccessResponse"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/customerNotFoundResponse"
          },
          "429": {
            "$ref": "#/components/responses/tooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/internalServer"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      },
      "get": {
        "summary": "Retrieve Customer",
        "description": "Retrieve a customer by their Id.",
        "operationId": "getCustomer",
        "security": [
          {
            "OAuth2": [
              "customer.read"
            ]
          },
          {
            "OAuth2": [
              "customer.write"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Customers"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/retrieveCustomerSuccessResponse"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/customerNotFoundResponse"
          },
          "429": {
            "$ref": "#/components/responses/tooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/internalServer"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      },
      "put": {
        "summary": "Update Customer",
        "description": "Updates customer's details such as name, address etc...",
        "operationId": "updateCustomer",
        "security": [
          {
            "OAuth2": [
              "customer.write"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Customers"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/customerRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/customerUpdateSuccessResponse"
          },
          "400": {
            "$ref": "#/components/responses/badRequest"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/customerNotFoundResponse"
          },
          "409": {
            "$ref": "#/components/responses/concurrencyConflict"
          },
          "422": {
            "$ref": "#/components/responses/unprocessableContent"
          },
          "429": {
            "$ref": "#/components/responses/tooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/internalServer"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      }
    },
    "/disputes/{case-id}/{case-record-number}": {
      "get": {
        "tags": [
          "Disputes"
        ],
        "summary": "Dispute Details",
        "description": "To determine whether you can upload documents for a specific case.",
        "parameters": [
          {
            "$ref": "#/components/parameters/apiVersion"
          },
          {
            "$ref": "#/components/parameters/merchantId"
          },
          {
            "$ref": "#/components/parameters/correlationId"
          },
          {
            "$ref": "#/components/parameters/caseId"
          },
          {
            "$ref": "#/components/parameters/caseRecNo"
          }
        ],
        "operationId": "getDisputeByCaseIdAndRecordNumber",
        "security": [
          {
            "OAuth2": [
              "dispute.read"
            ]
          },
          {
            "OAuth2": [
              "dispute.write"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/getDisputeSuccess"
          },
          "400": {
            "$ref": "#/components/responses/badRequest"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "429": {
            "$ref": "#/components/responses/tooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/internalServer"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      }
    },
    "/disputes/{case-id}/{case-record-number}/accept": {
      "post": {
        "tags": [
          "Disputes"
        ],
        "summary": "Accept Dispute",
        "description": "If no longer want to dispute a chargeback or copy request.",
        "parameters": [
          {
            "$ref": "#/components/parameters/apiVersion"
          },
          {
            "$ref": "#/components/parameters/merchantId"
          },
          {
            "$ref": "#/components/parameters/correlationId"
          },
          {
            "$ref": "#/components/parameters/caseId"
          },
          {
            "$ref": "#/components/parameters/caseRecNo"
          }
        ],
        "operationId": "acceptDispute",
        "security": [
          {
            "OAuth2": [
              "dispute.write"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/disputeAcceptSuccess"
          },
          "400": {
            "$ref": "#/components/responses/badRequest"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "409": {
            "$ref": "#/components/responses/conflict"
          },
          "429": {
            "$ref": "#/components/responses/tooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/internalServer"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      }
    },
    "/disputes/{case-id}/{case-record-number}/uploads": {
      "post": {
        "tags": [
          "Disputes"
        ],
        "summary": "Upload Images",
        "description": "To upload response documents associated with a disputed transaction.",
        "parameters": [
          {
            "$ref": "#/components/parameters/apiVersion"
          },
          {
            "$ref": "#/components/parameters/merchantId"
          },
          {
            "$ref": "#/components/parameters/correlationId"
          },
          {
            "$ref": "#/components/parameters/caseId"
          },
          {
            "$ref": "#/components/parameters/caseRecNo"
          }
        ],
        "operationId": "uploadDisputeImage",
        "security": [
          {
            "OAuth2": [
              "dispute.write"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/uploadImagesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/uploadDisputeImagesSuccess"
          },
          "400": {
            "$ref": "#/components/responses/badRequest"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "429": {
            "$ref": "#/components/responses/tooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/internalServer"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      }
    },
    "/disputes/{case-id}/{case-record-number}/uploads/{upload-reference-id}": {
      "get": {
        "tags": [
          "Disputes"
        ],
        "summary": "Check image upload status",
        "description": "This endpoint can be used to check image upload status",
        "parameters": [
          {
            "$ref": "#/components/parameters/apiVersion"
          },
          {
            "$ref": "#/components/parameters/merchantId"
          },
          {
            "$ref": "#/components/parameters/correlationId"
          },
          {
            "$ref": "#/components/parameters/caseId"
          },
          {
            "$ref": "#/components/parameters/caseRecNo"
          },
          {
            "$ref": "#/components/parameters/uploadReferenceId"
          }
        ],
        "operationId": "getDisputeUploadStatus",
        "security": [
          {
            "OAuth2": [
              "dispute.read"
            ]
          },
          {
            "OAuth2": [
              "dispute.write"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/getUploadStatusSuccess"
          },
          "400": {
            "$ref": "#/components/responses/badRequest"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/notFound"
          },
          "429": {
            "$ref": "#/components/responses/tooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/internalServer"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      }
    },
    "/installments/plans": {
      "parameters": [
        {
          "$ref": "#/components/parameters/apiVersion"
        },
        {
          "$ref": "#/components/parameters/correlationId"
        },
        {
          "$ref": "#/components/parameters/merchantId"
        }
      ],
      "post": {
        "summary": "Installment Plan Lookup",
        "description": "Returns list of installment plans the cardholder is eligible for.",
        "operationId": "installmentLookup",
        "tags": [
          "Installments"
        ],
        "security": [
          {
            "OAuth2": [
              "payment.write"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "requestBody": {
          "description": "Installment Plan Lookup request\"",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/installmentEligibilityRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/installmentLookupResponse"
          },
          "400": {
            "$ref": "#/components/responses/badRequest"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "409": {
            "$ref": "#/components/responses/conflict"
          },
          "422": {
            "$ref": "#/components/responses/unprocessableContent"
          },
          "429": {
            "$ref": "#/components/responses/tooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/internalServer"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      }
    },
    "/kount-inquiries": {
      "parameters": [
        {
          "$ref": "#/components/parameters/merchantId"
        },
        {
          "$ref": "#/components/parameters/apiVersion"
        },
        {
          "$ref": "#/components/parameters/correlationId"
        }
      ],
      "post": {
        "summary": "Create Kount Inquiry",
        "operationId": "createKountInquiry",
        "security": [
          {
            "OAuth2": [
              "kount.write"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Kount"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/kountInquiryRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/createKountInquirySuccessResponse"
          },
          "202": {
            "$ref": "#/components/responses/createKountInquiryAcceptedResponse"
          },
          "400": {
            "$ref": "#/components/responses/badRequest"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "409": {
            "$ref": "#/components/responses/conflict"
          },
          "422": {
            "$ref": "#/components/responses/unprocessableContent"
          },
          "429": {
            "$ref": "#/components/responses/tooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/internalServer"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      },
      "get": {
        "summary": "List Kount Inquiries",
        "operationId": "getKountInquiries",
        "security": [
          {
            "OAuth2": [
              "kount.read"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Kount"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/pageBeforeCursor"
          },
          {
            "$ref": "#/components/parameters/pageLimit"
          },
          {
            "$ref": "#/components/parameters/createdFrom"
          },
          {
            "$ref": "#/components/parameters/createdTo"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/listKountInquiriesSuccessResponse"
          },
          "400": {
            "$ref": "#/components/responses/badRequest"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "429": {
            "$ref": "#/components/responses/tooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/internalServer"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      }
    },
    "/kount-inquiries/{kount-inquiry-id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/merchantId"
        },
        {
          "$ref": "#/components/parameters/apiVersion"
        },
        {
          "$ref": "#/components/parameters/correlationId"
        },
        {
          "$ref": "#/components/parameters/kountInquiryId"
        }
      ],
      "get": {
        "summary": "Get Kount Inquiry by Id",
        "operationId": "getKountInquiryById",
        "security": [
          {
            "OAuth2": [
              "kount.read"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Kount"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/retrieveKountInquiryResponse"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/notFound"
          },
          "429": {
            "$ref": "#/components/responses/tooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/internalServer"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      }
    },
    "/kount-inquiries/{kount-inquiry-id}/assert": {
      "parameters": [
        {
          "$ref": "#/components/parameters/merchantId"
        },
        {
          "$ref": "#/components/parameters/apiVersion"
        },
        {
          "$ref": "#/components/parameters/correlationId"
        },
        {
          "$ref": "#/components/parameters/kountInquiryId"
        }
      ],
      "post": {
        "summary": "Kount Inquiry Assert",
        "operationId": "kountInquiryAssert",
        "security": [
          {
            "OAuth2": [
              "kount.write"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Kount"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/kountAssertRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/assertKountInquirySuccessResponse"
          },
          "202": {
            "$ref": "#/components/responses/assertKountInquiryAcceptedResponse"
          },
          "400": {
            "$ref": "#/components/responses/badRequest"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/notFound"
          },
          "409": {
            "$ref": "#/components/responses/conflict"
          },
          "422": {
            "$ref": "#/components/responses/unprocessableContent"
          },
          "429": {
            "$ref": "#/components/responses/tooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/internalServer"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      }
    },
    "/multi-currency-pricing-rates": {
      "parameters": [
        {
          "$ref": "#/components/parameters/apiVersion"
        },
        {
          "$ref": "#/components/parameters/correlationId"
        },
        {
          "$ref": "#/components/parameters/merchantId"
        }
      ],
      "post": {
        "summary": "Multi-Currency Pricing Rate Lookup",
        "description": "Performs a foreign currency exchange rate look-up, and secures that exchange rate for use in a subsequent Multi-Currency Pricing financial transaction. \nThe exchange rate retrieved by this transaction request is represented in the response as the multiCurrencyPricingRateLookupId, and the underlying exchange rate is locked in for a limited time period.\n",
        "operationId": "mcpRate",
        "security": [
          {
            "OAuth2": [
              "payment.write"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Multi-Currency Pricing Rate Lookup"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/multiCurrencyPricingRateLookupRequest"
              }
            }
          }
        },
        "responses": {
          "207": {
            "$ref": "#/components/responses/multiCurrencyPricingRateLookup"
          },
          "400": {
            "$ref": "#/components/responses/badRequest"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "422": {
            "$ref": "#/components/responses/unprocessableContent"
          },
          "429": {
            "$ref": "#/components/responses/tooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/internalServer"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      }
    },
    "/multi-currency-pricing-rates/{multi-currency-pricing-rate-lookup-id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/apiVersion"
        },
        {
          "$ref": "#/components/parameters/correlationId"
        },
        {
          "$ref": "#/components/parameters/multiCurrencyPricingRateLookupId"
        },
        {
          "$ref": "#/components/parameters/merchantId"
        }
      ],
      "get": {
        "summary": "Retrieve Multi-Currency Pricing Rate by Id.",
        "description": "Retrieve Multi-Currency Pricing Rate results by Id.",
        "operationId": "getMultiCurrencyPricingRateById",
        "security": [
          {
            "OAuth2": [
              "payment.read"
            ]
          },
          {
            "OAuth2": [
              "payment.write"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Multi-Currency Pricing Rate Lookup"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/multiCurrencyPricingRateLookup"
          },
          "400": {
            "$ref": "#/components/responses/badRequest"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "429": {
            "$ref": "#/components/responses/tooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/internalServer"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          }
        }
      }
    },
    "/onboarding/merchants": {
      "parameters": [
        {
          "$ref": "#/components/parameters/apiVersion"
        },
        {
          "$ref": "#/components/parameters/correlationId"
        }
      ],
      "post": {
        "summary": "Create Merchant",
        "description": "Submit a merchant payload to create a merchant",
        "operationId": "createMerchant",
        "security": [
          {
            "OAuth2": [
              "onboarding.merchant.write"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "tags": [
          "Merchant Onboarding"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createMerchantRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "headers": {
              "Api-Version": {
                "$ref": "#/components/headers/apiVersion"
              },
              "X-Correlation-Id": {
                "$ref": "#/components/headers/correlationId"
              },
              "Sunset": {
                "$ref": "#/components/headers/sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/rateLimitCount"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/rateLimitRemaining"
              },
              "Location": {
                "$ref": "#/components/headers/location"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/merchant"
                },
                "example": {
                  "merchantId": "0030211900875",
                  "businessDetails": {
                    "isSeasonalMerchant": false,
                    "merchantCategoryCode": "0742",
                    "averageTicketSize": 3,
                    "directSellingPercentage": 86,
                    "motoTransactionPercentage": 14,
                    "ecommerceTransactionPercentage": 0,
                    "businessUrl": "https://www.test.io",
                    "serviceProvider": "moneris.com",
                    "serviceDeliverToCanadaAvailable": true,
                    "serviceDeliverToUSAvailable": true,
                    "creditTransactionVolume": 250000,
                    "masterCardTransactionVolume": 100000,
                    "visaTransactionVolume": 100000,
                    "visaDebitTransactionVolume": 0,
         

# --- truncated at 32 KB (1004 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/moneris/refs/heads/main/openapi/moneris-unified-api-openapi.json