---
updatedAt: 2026-08-14T03:35:48.000Z
agentTools:
  projectIndex: https://developer.moneris.com/moneris-api/llms.txt
---

# Create Payouts

Issue payouts to merchants

# OpenAPI definition

```json
{
  "openapi": "3.0.3",
  "info": {
    "version": "2.15.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": "api@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
    }
  ],
  "paths": {
    "/payouts": {
      "post": {
        "description": "Issue payouts to merchants",
        "summary": "Create Payouts",
        "parameters": [
          {
            "$ref": "#/components/parameters/apiVersion"
          },
          {
            "$ref": "#/components/parameters/correlationId"
          }
        ],
        "tags": [
          "Payouts"
        ],
        "operationId": "createPayouts",
        "security": [
          {
            "OAuth2": [
              "payout.write"
            ]
          },
          {
            "ApiKeyAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/payoutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/createPayoutSuccess"
          },
          "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"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Api-Key",
        "description": "An API key is a token that a client provides when making API calls.\n\nAPI keys are supposed to be a secret that only the client and server know about.\n"
      },
      "OAuth2": {
        "type": "oauth2",
        "description": "OAuth 2.0 is an authorization protocol that gives an API client limited access to user data on a web server.\n\nOAuth relies on authentication scenarios, that allows the resource owner (user) to share the protected content from the server, hosting the resource, without sharing their credentials. For that purpose, an OAuth 2.0 server issues access tokens that the client applications can use to access protected resources on behalf of the resource owner.\n\nMoneris recommends the use of OAuth 2.0 as it provides fine grained authorization levels.\n",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "/oauth2/token",
            "scopes": {
              "payment.read": "Grants read access to payment related APIs",
              "payment.write": "Grants read & write access to payment related APIs",
              "refund.read": "Grants read access to refunds",
              "refund.write": "Grants read & write access to refunds",
              "customer.read": "Grants read access to customer data",
              "customer.write": "Grants read & write access to customer data",
              "kount.read": "Grants read access to Kount inquiries",
              "kount.write": "Grants read & write access to Kount inquiries",
              "onboarding.merchant.read": "Grants read access to merchant onboarding related APIs",
              "onboarding.merchant.write": "Grants read & write access to merchant onboarding related APIs",
              "onboarding.order.read": "Grants read access to onboarding orders related APIs",
              "onboarding.order.write": "Grants read & write access to onboarding orders related APIs",
              "dispute.read": "Grants read access to disputes",
              "dispute.write": "Grants read & write access to disputes",
              "payout.write": "Grants read & write access to payouts",
              "partner.account.write": "Grants read & write access to partner merchant accounts"
            }
          }
        }
      }
    },
    "schemas": {
      "apiVersion": {
        "description": "The endpoint's API Version.  Must be provided through headers.\n",
        "type": "string",
        "example": "2026-08-14",
        "default": "2026-08-14"
      },
      "merchantId": {
        "type": "string",
        "description": "Thirteen character long identification provided to merchants by Moneris. \n",
        "minLength": 13,
        "maxLength": 13,
        "example": "0123456789101"
      },
      "idempotencyKey": {
        "type": "string",
        "description": "A Unique Identifier that is required for handling idempotent requests. \n\nNote: Moneris encourages the use of UUID Version 4 in APIs as an idempotency key.\"    \n",
        "minLength": 1,
        "maxLength": 36,
        "example": "b3e1f8c2-4d2a-4e6b-9c1a-2f3e4d5b6a7c"
      },
      "amount": {
        "type": "integer",
        "format": "int32",
        "minimum": 0,
        "maximum": 999999999,
        "example": 10000,
        "description": "Amount"
      },
      "currency": {
        "type": "string",
        "description": "Provides the three letter currency code according the ISO 4217 standard. \n\nFor a complete list of currency codes, visit: https://en.wikipedia.org/wiki/ISO_4217\n",
        "minLength": 3,
        "maxLength": 4,
        "example": "CAD",
        "format": "iso-4217"
      },
      "money": {
        "type": "object",
        "description": "Monetary amount. \nNote: The value must be in cents. Therefore $10.59 must be sent as 1059.\n",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/amount"
          },
          "currency": {
            "$ref": "#/components/schemas/currency"
          }
        },
        "required": [
          "amount",
          "currency"
        ],
        "example": {
          "amount": 16000,
          "currency": "CAD"
        }
      },
      "transactionType": {
        "description": "* CREDIT – Credit transaction\n* DEBIT – Debit transaction\n",
        "type": "string",
        "example": "CREDIT",
        "enum": [
          "CREDIT",
          "DEBIT"
        ]
      },
      "payoutType": {
        "description": "Payout Types\n* DEPOSIT – Deposits (Merchants Credit/Debit Cards transactions)\n* FEES – Fees (TPA, Moneris & Card Brand Fees)\n* DISPUTES_CREDIT – Disputes Credit\n* DISPUTES_DEBIT – Disputes Debit\n* ADJUSTMENTS – Adjustments\n",
        "type": "string",
        "example": "DEPOSIT",
        "enum": [
          "DEPOSIT",
          "FEES",
          "DISPUTES_CREDIT",
          "DISPUTES_DEBIT",
          "ADJUSTMENTS"
        ]
      },
      "payoutDescription": {
        "nullable": true,
        "description": "Payout Description.",
        "maxLength": 80,
        "type": "string",
        "example": "Payout Description"
      },
      "payoutReference": {
        "nullable": true,
        "description": "Payout Reference.",
        "maxLength": 22,
        "type": "string",
        "example": "fund-10399"
      },
      "payoutRequest": {
        "description": "Payouts request",
        "required": [
          "payoutType",
          "merchantId",
          "amount",
          "transactionType",
          "idempotencyKey"
        ],
        "type": "object",
        "properties": {
          "idempotencyKey": {
            "$ref": "#/components/schemas/idempotencyKey"
          },
          "merchantId": {
            "$ref": "#/components/schemas/merchantId"
          },
          "amount": {
            "$ref": "#/components/schemas/money"
          },
          "transactionType": {
            "$ref": "#/components/schemas/transactionType"
          },
          "payoutType": {
            "$ref": "#/components/schemas/payoutType"
          },
          "payoutDescription": {
            "$ref": "#/components/schemas/payoutDescription"
          },
          "payoutReference": {
            "$ref": "#/components/schemas/payoutReference"
          }
        }
      },
      "modifiedAt": {
        "nullable": true,
        "description": "Time at which the object was modified",
        "type": "string",
        "format": "date-time",
        "example": "2019-07-30T06:43:40.252Z"
      },
      "customData": {
        "description": "Merchant can send custom meta data with the transaction in this object. Moneris will echo these values back in response.",
        "type": "object",
        "additionalProperties": {
          "type": "string",
          "minLength": 1,
          "maxLength": 50
        },
        "maxProperties": 10,
        "nullable": true
      },
      "payout": {
        "description": "Payout object",
        "type": "object",
        "properties": {
          "payoutId": {
            "description": "Payout Id.",
            "example": "pi0105ARZ3NDEKTSV4RRFFQ69G5FAV",
            "type": "string",
            "pattern": "^[A-Za-z]{2}\\d{2}[A-Za-z0-9]{26}$",
            "minLength": 30,
            "maxLength": 30
          },
          "merchantId": {
            "$ref": "#/components/schemas/merchantId"
          },
          "amount": {
            "$ref": "#/components/schemas/money"
          },
          "transactionType": {
            "$ref": "#/components/schemas/transactionType"
          },
          "payoutType": {
            "$ref": "#/components/schemas/payoutType"
          },
          "payoutDescription": {
            "$ref": "#/components/schemas/payoutDescription"
          },
          "payoutReference": {
            "$ref": "#/components/schemas/payoutReference"
          },
          "createdAt": {
            "nullable": true,
            "description": "Time at which the object was created",
            "type": "string",
            "format": "date-time",
            "example": "2019-07-30T06:43:40.252Z"
          },
          "modifiedAt": {
            "$ref": "#/components/schemas/modifiedAt"
          },
          "customData": {
            "$ref": "#/components/schemas/customData"
          }
        },
        "required": [
          "payoutId",
          "merchantId",
          "amount",
          "transactionType",
          "payoutType"
        ]
      },
      "parameterError": {
        "title": "Parameter error",
        "description": "Request property or header related error.",
        "type": "object",
        "properties": {
          "parameterName": {
            "type": "string",
            "description": "Property or header name. Can contain nested path separated by '.'",
            "example": "address.postalCode"
          },
          "parameterValue": {
            "type": "string",
            "nullable": true,
            "description": "Property or header value string representation.",
            "example": "MAP3J8"
          },
          "reasonCode": {
            "type": "string",
            "description": "Reason that triggered the error.",
            "enum": [
              "INVALID_FORMAT",
              "REQUIRED_FIELD",
              "INVALID_VALUE"
            ],
            "example": "INVALID_FORMAT"
          },
          "errorMessage": {
            "type": "string",
            "description": "Human readable description of the error.",
            "nullable": true,
            "example": "String 'MAP3J8' does not match the postal code pattern."
          }
        },
        "required": [
          "parameterName",
          "reasonCode"
        ]
      },
      "error": {
        "description": "Error response details.",
        "properties": {
          "type": {
            "description": "A URI reference that identifies the problem type.  Ideally it should be a stable URL to the documentation of the details about this type of error but it also can be a URN.  If nothing can be provided, a \"about:blank\" value is returned.\n",
            "type": "string",
            "format": "uri",
            "example": "https://api-developer.moneris.com/responsehandling"
          },
          "title": {
            "description": "A short, human-readable summary of the problem type.   It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization\n",
            "type": "string",
            "example": "INSUFFICIENT_FUNDS",
            "nullable": true
          },
          "status": {
            "description": "it conveys the HTTP status code used for the convenience of the consumer.\n",
            "type": "integer",
            "format": "int32",
            "minimum": 100,
            "maximum": 505,
            "nullable": true
          },
          "detail": {
            "description": "A human-readable message providing more details about the error. For card errors, these messages can be shown to your users.\n",
            "type": "string",
            "example": "Funds are insufficient to execute the operation.",
            "nullable": true
          },
          "instance": {
            "description": "A URI reference that identifies the specific occurrence of the problem. Typically, this resolves to a resource that might include more details about the problem.\n",
            "type": "string",
            "example": "/payments/12f3e0a8-1d68-2b86-dd30-4ca51bb66e10",
            "format": "uri-reference",
            "nullable": true
          },
          "category": {
            "description": "The type of error returned. \n - `API_ERROR`: This occurs due to an intermittent issue.  \n - `IDEMPOTENCY_ERROR`: The idempotency key has already been used.\n - `INVALID_REQUEST_ERROR`: The data provided in the request is invalid.\n - `DECLINED_ERROR`: Transaction was declined by the issuer.\n - `UNAUTHORIZED_ERROR`: Caller not authenticated, or not allowed to execute the current operation.\n - `INTERNAL_SERVER_ERROR`: An internal issue with our servers has occured.\n",
            "enum": [
              "API_ERROR",
              "IDEMPOTENCY_ERROR",
              "INVALID_REQUEST_ERROR",
              "DECLINED_ERROR",
              "UNAUTHORIZED_ERROR",
              "INTERNAL_SERVER_ERROR",
              null
            ],
            "type": "string",
            "nullable": true,
            "example": "DECLINED_ERROR"
          },
          "errors": {
            "type": "array",
            "description": "List of validation errors when error category is INVALID_REQUEST_ERROR.",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/parameterError"
            },
            "example": [
              {
                "parameterName": "address.postalCode",
                "parameterValue": "MAP3J8",
                "errorMessage": "address.Postal code does not match regular expression",
                "reasonCode": "INVALID_FORMAT"
              }
            ]
          }
        },
        "title": "API Error",
        "type": "object",
        "required": [
          "type"
        ]
      }
    },
    "parameters": {
      "apiVersion": {
        "in": "header",
        "name": "Api-Version",
        "required": true,
        "example": "2024-09-17",
        "description": "The endpoint's API Version. \n\nMust be provided through the headers section. \n",
        "schema": {
          "$ref": "#/components/schemas/apiVersion"
        }
      },
      "correlationId": {
        "in": "header",
        "name": "X-Correlation-Id",
        "example": "06f1e47b-a1b5-4902-be9c-bccc506127c4",
        "description": "Correlates a series of requests within the same flow.\n\nNote: This ID is generated by Moneris with every request or response, if it doesn't exist. \nMerchants are to echo back the value with every request that is part of the call flow.\"\n",
        "required": false,
        "schema": {
          "type": "string",
          "example": "06f1e47b-a1b5-4902-be9c-bccc506127c4"
        }
      }
    },
    "headers": {
      "apiVersion": {
        "description": "The endpoint's API Version.",
        "example": "2026-08-14",
        "schema": {
          "type": "string"
        }
      },
      "correlationId": {
        "example": "06f1e47b-a1b5-4902-be9c-bccc506127c4",
        "description": "Correlates a series of requests within the same flow. \n\nNote: This ID is generated by Moneris with every request or response, if it doesn't exist, and the Merchant is recommended to echo back the value.\"  \n",
        "schema": {
          "type": "string",
          "example": "06f1e47b-a1b5-4902-be9c-bccc506127c4"
        }
      },
      "sunset": {
        "example": "2025-07-30T06:43:40.252Z",
        "description": "Optional.\n\nIndicates that the resource URI will be decommissioned, and put out of service at the specified point in the future. \nMore details are available at [RFC 8594](https://www.rfc-editor.org/rfc/rfc8594.html)\n",
        "schema": {
          "type": "string",
          "format": "date-time",
          "example": "2025-07-30T06:43:40.252Z"
        }
      },
      "rateLimitCount": {
        "description": "The maximum number of requests that the client can make in this window.",
        "schema": {
          "type": "integer",
          "format": "int64"
        },
        "example": 1000
      },
      "rateLimitRemaining": {
        "description": "The number of requests allowed in the current window.",
        "schema": {
          "type": "integer",
          "format": "int64"
        },
        "example": 0
      },
      "rateLimitReset": {
        "description": "The relative time in seconds when the rate limit window will be reset.",
        "schema": {
          "type": "integer",
          "format": "int32"
        },
        "example": 3600
      },
      "retryAfter": {
        "description": "Indicates how long clients should wait before retrying.",
        "schema": {
          "type": "integer",
          "format": "int32"
        },
        "example": 60
      }
    },
    "responses": {
      "createPayoutSuccess": {
        "description": "Created",
        "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"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/payout"
            }
          }
        }
      },
      "badRequest": {
        "description": "Bad Request.",
        "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"
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            }
          }
        }
      },
      "unauthorized": {
        "description": "Not authorized. The user does not have a valid API Key or Access Token.",
        "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"
          },
          "WWW-Authenticate": {
            "schema": {
              "type": "string",
              "example": "Bearer, error=\"invalid_token\""
            }
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "example": {
              "type": "https://developer.moneris.com/en/More/Testing/Response%20Codes",
              "title": "UNAUTHORIZED_REQUEST",
              "status": 401,
              "detail": null,
              "instance": null,
              "category": "UNAUTHORIZED_ERROR",
              "errors": []
            }
          }
        }
      },
      "forbidden": {
        "description": "Forbidden. The user does not have permission to access the requested resource.",
        "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"
          },
          "WWW-Authenticate": {
            "schema": {
              "type": "string",
              "example": "Bearer, error=\"insufficient_scope\""
            }
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "example": {
              "type": "https://developer.moneris.com/en/More/Testing/Response%20Codes",
              "title": "FORBIDDEN_REQUEST",
              "status": 403,
              "detail": null,
              "instance": null,
              "category": "UNAUTHORIZED_ERROR",
              "errors": []
            }
          }
        }
      },
      "notFound": {
        "description": "Not Found.",
        "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"
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "example": {
              "type": "https://developer.moneris.com/en/More/Testing/Response%20Codes",
              "title": "NOT_FOUND",
              "status": 404,
              "detail": null,
              "instance": "/payments/pi0105ARZ3NDEKTSV4RRFFQ69G5FAV",
              "category": "INVALID_REQUEST_ERROR",
              "errors": []
            }
          }
        }
      },
      "tooManyRequests": {
        "description": "Too Many Requests",
        "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"
          },
          "X-RateLimit-Reset": {
            "$ref": "#/components/headers/rateLimitReset"
          },
          "Retry-After": {
            "$ref": "#/components/headers/rateLimitReset"
          }
        }
      },
      "internalServer": {
        "description": "Unexpected error.",
        "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"
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "example": {
              "type": "https://api-developer.moneris.com/responsehandling/",
              "title": "INTERNAL_SERVER_ERROR",
              "status": 500,
              "detail": null,
              "instance": null,
              "category": "INTERNAL_SERVER_ERROR",
              "errors": []
            }
          }
        }
      },
      "serviceUnavailable": {
        "description": "Service Temporarily Unavailable",
        "headers": {
          "Api-Version": {
            "$ref": "#/components/headers/apiVersion"
          },
          "X-Correlation-Id": {
            "$ref": "#/components/headers/correlationId"
          },
          "Sunset": {
            "$ref": "#/components/headers/sunset"
          },
          "Retry-After": {
            "$ref": "#/components/headers/retryAfter"
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/error"
            },
            "example": {
              "type": "https://api-developer.moneris.com/responsehandling/",
              "title": "SERVICE_UNAVAILABLE",
              "status": 503,
              "detail": null,
              "instance": null,
              "category": "INTERNAL_SERVER_ERROR",
              "errors": []
            }
          }
        }
      }
    }
  }
}
```