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

# Create Transfers in Bulk

This API will create bulk transfers. You can submit array of transfers in one API call.We suggest not to use more than 1000 transfers in one API call. With this API, all records in the API will not be failed if one transfer record is failed. API response will show what records were failed so that you can only resubmit the failed records instead of all records in the API.

# 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/transfers/batch": {
      "post": {
        "tags": [
          "Transfer"
        ],
        "summary": "Create Transfers in Bulk",
        "description": "This API will create bulk transfers. You can submit array of transfers in one API call.We suggest not to use more than 1000 transfers in one API call. With this API, all records in the API will not be failed if one transfer record is failed. API response will show what records were failed so that you can only resubmit the failed records instead of all records in the API.",
        "operationId": "create-batch-transfers",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkTransferArrayViewModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponseCreateBulkTransferServiceResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponseCreateBulkTransfer"
                }
              }
            }
          },
          "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."
      },
      "ApiResponseCreateBulkTransfer": {
        "type": "object",
        "properties": {
          "isSuccess": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "beneficiaryToken": {
            "type": "string",
            "nullable": true
          },
          "merchantTransactionId": {
            "type": "string",
            "nullable": true
          },
          "destinationToken": {
            "type": "string",
            "nullable": true
          },
          "token": {
            "type": "string",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "statusId": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "statusCode": {
            "$ref": "#/components/schemas/StatusConstants"
          }
        },
        "additionalProperties": false,
        "description": "Create Bulk Transfer APIs Response Object"
      },
      "ApiResponseCreateBulkTransferServiceResponse": {
        "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": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApiResponseCreateBulkTransfer"
            },
            "description": "Create bulk transfer response model",
            "nullable": true
          },
          "successTransferCount": {
            "type": "integer",
            "format": "int32"
          },
          "failedTransferCount": {
            "type": "integer",
            "format": "int32"
          },
          "totalTransferCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Create Bulk Transfer APIs Response Object"
      },
      "BulkTransferArrayViewModel": {
        "required": [
          "arrTransfers"
        ],
        "type": "object",
        "properties": {
          "arrTransfers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BulkTransferViewModel"
            }
          }
        },
        "additionalProperties": false,
        "description": "Bulk Transfer API Request Model"
      },
      "BulkTransferViewModel": {
        "required": [
          "autoApprove",
          "beneficiaryToken",
          "dateExpire",
          "merchantTransactionId"
        ],
        "type": "object",
        "properties": {
          "merchantTransactionId": {
            "maxLength": 50,
            "type": "string",
            "description": "A unique identifier for the transaction."
          },
          "beneficiaryToken": {
            "maxLength": 36,
            "type": "string",
            "description": "The Beneficiary's Token"
          },
          "destinationToken": {
            "maxLength": 36,
            "type": "string",
            "description": "The destination token for the transfer.",
            "nullable": true
          },
          "senderToken": {
            "maxLength": 36,
            "type": "string",
            "description": "The sender token for the transfer.",
            "nullable": true
          },
          "autoApprove": {
            "type": "boolean",
            "description": "Whether the transfer should be automatically approved."
          },
          "comments": {
            "maxLength": 500,
            "type": "string",
            "description": "Comments for the transfer.",
            "nullable": true
          },
          "dateExpire": {
            "type": "string",
            "description": "The expiration date of the transfer. ISO 8601 represents date and time by starting with the year, followed by the month, the day, the hour, the minutes, seconds and milliseconds. YYYY -MM-DD",
            "format": "date-time"
          },
          "sourceAmount": {
            "type": "number",
            "description": "The amount of money to be transferred from the source.",
            "format": "double",
            "nullable": true
          },
          "sourceCurrency": {
            "maxLength": 3,
            "type": "string",
            "description": "The currency of the source amount.",
            "nullable": true
          },
          "destinationAmount": {
            "type": "number",
            "description": "The amount of money to be transferred to the destination. If null, it will be calculated based on the source amount and the exchange rate.",
            "format": "double",
            "nullable": true
          },
          "destinationCurrency": {
            "maxLength": 3,
            "type": "string",
            "description": "The currency of the destination amount.",
            "nullable": true
          },
          "destinationType": {
            "type": "string",
            "description": "Destination Type - Available options are Bank, Wire, CreditCard, Check, Crypto, Interac, RegularACH, \r\nSameDayACH, RealtimeACH",
            "nullable": true
          },
          "purposeOfPayment": {
            "type": "string",
            "description": "Purpose of Payment",
            "nullable": true
          },
          "fxQuoteId": {
            "type": "string",
            "description": "Id of relevant Fx Quote",
            "nullable": true
          },
          "paymentDescription": {
            "maxLength": 140,
            "type": "string",
            "description": "Message to send receiver",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Bulk Transfer API Request Model"
      },
      "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": []
    }
  ]
}
```