--- title: "Create transfers" slug: "create-transfers" updated: 2026-07-09T07:00:03Z published: 2026-07-09T07:00:03Z canonical: "docs.xendit.co/create-transfers" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.xendit.co/llms.txt > Use this file to discover all available pages before exploring further. # Create transfers Post/transfers The Transfers API allows you to transfer balances: i) from your sub-accounts to your master account and vice versa, ii) between your sub-accounts. Use this to manage, or split payments between your platform and your sub accounts within the Xendit ecosystem. > You can only create transfers using the Platform's API key. Sub-accounts that you manage through xenPlatform have no ability to create transfers through this endpoint SecurityHTTPType basic Body parametersobject referencestring Required A unique reference for this Transfer that you set when making the request amountnumber Required source_user_idstring Required The source of the transfer. This is the user_id of either your master or sub account destination_user_idstring Required The destination of the transfer. This is the `user_id` of either your master or sub account Responses200Transfer ```json { "created": "2020-11-30T02:47:53.061Z", "transfer_id": "bd1cc56b-ce7f-4ad7-8901-3eaa689e90eb", "source_user_id": "`5cafeb170a2b18519b1b8768", "destination_user_id": "5f8d0c0603ffe06b7d4d9fcf", "status": "SUCCESSFUL", "amount": "90000", "reference": "Monthly_Transfers_1234" } ``` object Object that would be generated upon creation of a Transfer createdstring (date-time) Timestamp of when the object was created transfer_idstring A unique reference for this Transfer set by Xendit systems referencestring A unique reference for this Transfer that you set when making the request source_user_idstring The source of the transfer. This is the user_id of either your master or sub account destination_user_idstring The destination of the transfer. This is the `user_id` of either your master or sub account statusstring The status of the Transfer. Available values `SUCCESSFUL`,`PENDING`, `FAILED` amountnumber The amount that was transferred 400API_VALIDATION_ERROR ```json { "error_code": "API_VALIDATION_ERROR", "message": "Inputs are failing validation. The errors field contains details about which fields are violating validation.", "errors": [ "Detailed description here" ] } ``` INVALID_JSON_FORMAT ```json { "error_code": "INVALID_JSON_FORMAT", "message": "The request body is not a valid JSON format.", "errors": [ "Detailed description here" ] } ``` INVALID_SOURCE_OR_DESTINATION_ERROR ```json { "error_code": "INVALID_SOURCE_OR_DESTINATION_ERROR", "message": "Source or destination account does not exist. Please input a valid business ID within your xenPlatform account.", "errors": [ "Detailed description here" ] } ``` INSUFFICIENT_BALANCE ```json { "error_code": "INSUFFICIENT_BALANCE", "message": "The cash balance of your source account is insufficient.", "errors": [ "Detailed description here" ] } ``` MISMATCH_PAYLOAD_FOR_REFERENCE ```json { "error_code": "MISMATCH_PAYLOAD_FOR_REFERENCE", "message": "Reference has been used before. If you'd like to retry this transfer, please use the same payload as your previous request.", "errors": [ "Detailed description here" ] } ``` INVALID_AMOUNT ```json { "error_code": "INVALID_AMOUNT", "message": "Transfer amount has to be greater than 0, Transfer amount of IDR currency should not have decimal point, Transfer amount of PHP currency can only have max 2 decimal point.", "errors": [ "Detailed description here" ] } ``` object Inputs are failing validation. The errors field contains details about which fields are violating validation. error_codestring Valid values[ "API_VALIDATION_ERROR", "INVALID_CONFIGURATION", "INVALID_JSON_FORMAT", "TYPE_AND_CONFIGURATION_CONFLICT", "INVALID_SOURCE_OR_DESTINATION_ERROR", "INSUFFICIENT_BALANCE", "INVALID_FEE_AMOUNT", "DUPLICATE_ERROR", "INVALID_AMOUNT", "INSUFFICIENT_ACCOUNT_HOLDER_DATA", "MISMATCH_PAYLOAD_FOR_REFERENCE", "INVALID_URL_FORMAT" ] messagestring errors Array OneOfstringstring objectobject 401 Validation error INVALID_API_KEY ```json { "error_code": "INVALID_API_KEY", "message": "The API key format is invalid", "errors": [ "Detailed description here" ] } ``` object Invalid API key error_codestring Valid values[ "INVALID_API_KEY" ] messagestring errors Array OneOfstringstring objectobject 403REQUEST_FORBIDDEN_ERROR ```json { "error_code": "REQUEST_FORBIDDEN_ERROR", "message": "API key in use does not have necessary permissions to perform the request. Please assign proper permissions for the key", "errors": [ "Detailed description here" ] } ``` DUPLICATE_REFERENCE ```json { "error_code": "DUPLICATE_REFERENCE", "message": "The reference parameter should be unique.", "errors": [ "Detailed description here" ] } ``` XEN_PLATFORM_SUB_ACCOUNT_NOT_LIVE ```json { "error_code": "XEN_PLATFORM_SUB_ACCOUNT_NOT_LIVE", "message": "Your source or destination account is not live yet. Please specify live accounts for live transfers.", "errors": [ "Detailed description here" ] } ``` API_KEY_ENVIRONMENT_NOT_MATCH ```json { "error_code": "API_KEY_ENVIRONMENT_NOT_MATCH", "message": "Use your LIVE API key to transfer between LIVE accounts, or use TEST API key to transfer between TEST accounts.", "errors": [ "Detailed description here" ] } ``` object Forbidden request error_codestring Valid values[ "REQUEST_FORBIDDEN_ERROR", "FEATURE_NOT_ACTIVATED", "DUPLICATE_REFERENCE", "XEN_PLATFORM_SUB_ACCOUNT_NOT_LIVE", "API_KEY_ENVIRONMENT_NOT_MATCH", "CHANNEL_ACTIVATION_IN_PROGRESS", "CHANNEL_HAS_BEEN_ACTIVATED", "KYC_VERIFICATION_IN_PROGRESS" ] messagestring errors Array OneOfstringstring objectobject 425TRANSFER_IN_PROGRESS ```json { "error_code": "TRANSFER_IN_PROGRESS", "message": "Transfer is currently being processed. Use `GET Transfer By Reference` to check its latest status", "errors": [ "Detailed description here" ] } ``` object Transfer is currently being processed. Use GET Transfer By Reference to check its latest status error_codestring Valid values[ "TRANSFER_IN_PROGRESS" ] messagestring errors Array OneOfstringstring objectobject