Moneris Subscriptions API
Recurring-billing subscriptions - create, update, pause, resume, extend, and cancel - with recurring-payment webhook events.
Recurring-billing subscriptions - create, update, pause, resume, extend, and cancel - with recurring-payment webhook events.
{
"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