---
updatedAt: 2026-07-09T19:39:10.000Z
agentTools:
  projectIndex: https://developer.i-payout.com/llms.txt
---

# Make a payout

This API loads funds into beneficiary accounts using the Hosted Solution. For Full API integration, use the Transfer endpoints. You can submit an array of accounts in one API call. We suggest not to use more than 1000 accounts in one API call. With this API, if one record fails to load, then all the records in the API also will fail. You will need to resubmit all records in the API again once you fixed the failed record.

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "IPS Portal Rest API - V1",
    "description": "i-payout API",
    "contact": {
      "name": "i-payout tech support",
      "email": "techsupport@i-payout.com"
    },
    "license": {
      "name": "i-payout API",
      "url": "http://www.i-payout.com"
    },
    "version": "v1"
  },
  "paths": {
    "/api/v1/payouts": {
      "post": {
        "tags": [
          "Payout"
        ],
        "summary": "Make a payout",
        "description": "This API loads funds into beneficiary accounts using the Hosted Solution. For Full API integration, use the Transfer endpoints. You can submit an array of accounts in one API call. We suggest not to use more than 1000 accounts in one API call. With this API, if one record fails to load, then all the records in the API also will fail. You will need to resubmit all records in the API again once you fixed the failed record.",
        "operationId": "make-payout",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EWalletLoadViewModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponseeWalletLoad"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponseeWalletLoad"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": [],
            "X-MerchantId": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "ApiResponse": {
        "type": "object",
        "properties": {
          "isSuccess": {
            "type": "boolean",
            "description": "Indicates if the API call was successful or not."
          },
          "message": {
            "type": "string",
            "description": "A human readable status message that may be used for debugging.",
            "nullable": true
          },
          "statusCode": {
            "$ref": "#/components/schemas/StatusConstants"
          },
          "logIdentifier": {
            "type": "string",
            "description": "Utilized for support, a log identifier to provide to i-payout when requesting technical support.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Standard API Response object."
      },
      "ApiResponseeWalletLoad": {
        "type": "object",
        "properties": {
          "isSuccess": {
            "type": "boolean",
            "description": "Indicates if the API call was successful or not."
          },
          "message": {
            "type": "string",
            "description": "A human readable status message that may be used for debugging.",
            "nullable": true
          },
          "statusCode": {
            "$ref": "#/components/schemas/StatusConstants"
          },
          "logIdentifier": {
            "type": "string",
            "description": "Utilized for support, a log identifier to provide to i-payout when requesting technical support.",
            "nullable": true
          },
          "data": {
            "$ref": "#/components/schemas/EWalletLoadServiceDTO"
          }
        },
        "additionalProperties": false,
        "description": "eWallet Load Response Data"
      },
      "EWalletLoadAccountsViewModel": {
        "required": [
          "amount",
          "merchantReferenceId",
          "username"
        ],
        "type": "object",
        "properties": {
          "username": {
            "maxLength": 300,
            "type": "string",
            "description": "The username of the customer for which funds will be loaded."
          },
          "amount": {
            "type": "number",
            "description": "Payout amount.",
            "format": "double"
          },
          "comments": {
            "maxLength": 500,
            "type": "string",
            "description": "Comments associated with this payout transaction.",
            "nullable": true
          },
          "merchantReferenceId": {
            "maxLength": 50,
            "type": "string",
            "description": "Unique merchant reference id for this payout transaction."
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EWalletLoadLineItemViewModel"
            },
            "description": "A list of line items for this load transaction.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EWalletLoadLineItemViewModel": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "The amount for this line item.",
            "format": "double"
          },
          "description": {
            "maxLength": 500,
            "type": "string",
            "description": "The description for this line item.",
            "nullable": true
          },
          "referenceId": {
            "maxLength": 50,
            "type": "string",
            "description": "Merchant specified reference id for this line item.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EWalletLoadServiceDTO": {
        "type": "object",
        "properties": {
          "batchId": {
            "type": "string",
            "description": "The unique iPayout batch identifier for this eWallet load.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EWalletLoadViewModel": {
        "required": [
          "allowDuplicates",
          "arrAccounts",
          "autoLoad",
          "currencyCode",
          "partnerBatchId"
        ],
        "type": "object",
        "properties": {
          "partnerBatchId": {
            "maxLength": 100,
            "type": "string",
            "description": "It is a parameter that is used to group all loads into one batch. You may call this endpoint multiple times, and as long as the PartnerBatchID is the same the payouts will be added to the same batch. Please note that PartnerBatchID is used as a batch name in the management console."
          },
          "poolId": {
            "maxLength": 50,
            "type": "string",
            "description": "Payout pool/level/tier. If you do not use pools, just leave it blank. This field is just for reference.",
            "nullable": true
          },
          "allowDuplicates": {
            "type": "boolean",
            "description": "Specifies whether to allow duplicate transactions in this batch. Duplicates are identified by username. Thus, if true, multiple payouts can be made to the same username within this batch."
          },
          "autoLoad": {
            "type": "boolean",
            "description": "If set to TRUE - automatically approve and load payout into eWallets. A batch will be automatically closed, and no other loads can be added into this batch."
          },
          "currencyCode": {
            "maxLength": 3,
            "type": "string",
            "description": "Payout currency code"
          },
          "arrAccounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EWalletLoadAccountsViewModel"
            },
            "description": "An array of load transactions."
          }
        },
        "additionalProperties": false,
        "description": "Request model for e-wallet load api"
      },
      "StatusConstants": {
        "enum": [
          "NO_ERROR",
          "EMAIL_ADDRESS_EXISTS",
          "CAPTCHA_FAILED",
          "INVALID_REFERENCEID",
          "INVALID_OPERATION",
          "INVALID_TIN_VALIDATION_STATUS",
          "RECORD_NOT_FOUND",
          "Already_Exist",
          "Batch_Closed",
          "IP_BLACKLISTED",
          "CREDIT_CARD_PROCESSOR_ISSUE",
          "FEES_NOT_ACCEPTED",
          "PAYOUT_CAPABILITIES_DISABLED",
          "INVALID_RECURRING_PAYMENT_STATUS",
          "INVOICE_CAPABILITIES_DISABLED",
          "INVALID_EWALLET_REGISTRATION",
          "PRIVATE_KEY_ISSUE",
          "FILE_NOT_EXISTS",
          "OLDUSER_NEWUSER_MISMATCH",
          "USER_CANNOT_CREATED",
          "CANNOT_CREATE_NEW_BATCH",
          "REFERENCEID_ALREADY_EXISTS",
          "DELETE_RECORD_ERROR",
          "FX_ConversionRate_Issue",
          "RATE_LIMIT_EXCEEDED",
          "IP_NOT_ALLOWED",
          "COUNTRY_NOT_ALLOWED",
          "INVALID_FIELD_VALUE_LENGTH",
          "UNAUTHORIZED_API_CALL",
          "FEE_VALUE_NOT_FOUND_FOR_CUSTOMER",
          "IPADDRESS_GENERATION_ISSUE",
          "MERCHANT_NOT_FOUND",
          "INVALID_PARAMS",
          "Missing_HEADER_PARAMS",
          "INVALID_URL",
          "INVALID_AMOUNT",
          "INVALID_CURRENCY",
          "REQUIRED_PARAMETER",
          "INVALID_REQUEST_PARAM",
          "INVALID_REQUEST_RESPONSE_PARAM",
          "INVALID_SERVER_CONFIG",
          "ACCESS_DENIED",
          "INVALID_COUNTRY_CODE",
          "PROCESSING",
          "PENDING",
          "NO_RECORDS_FOUND",
          "INVALID_MERCHANT",
          "PAL_INVALID_EMAIL",
          "INVALID_CARD_NUMBER",
          "INSUFFICIENT_FUNDS",
          "USERNAME_EXISTS",
          "USER_NOT_LOGGED_IN",
          "INVALID_CLIENT_CREDENTIALS",
          "ACCOUNT_NOT_FOUND",
          "GENERAL_ERROR",
          "CUSTOMER_NOT_FOUND",
          "INTERNAL_ERROR"
        ],
        "type": "string",
        "description": "Api response status code. For possible values, see <a target='_blank' href='https://i-payout.readme.io/reference/status-code-values' />Status Code Values </a>."
      }
    },
    "securitySchemes": {
      "basic": {
        "type": "http",
        "description": "Use API username and password to get the dynamic bearer token which can be used to access all other API, Example: 'Basic 12345adfad'",
        "scheme": "basic"
      },
      "Bearer": {
        "type": "apiKey",
        "description": "JWT Authorization header using the Bearer scheme.Enter 'Bearer' [space] and then your token in the text input below. Example: 'Bearer 12345abcdef'",
        "name": "Authorization",
        "in": "header"
      },
      "X-MerchantId": {
        "type": "apiKey",
        "description": "Merchant Identifier (GUID)",
        "name": "X-MerchantId",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "Bearer": [],
      "basic": [],
      "X-MerchantId": []
    }
  ]
}
```