# API create withdraw request

* This is the API used to create withdraw request.
* API:
  * Path: *v2/col/withdraw-requests*
  * Method: *POST*
  * Request: Content-Type: *application/json*

### **Request Parameter**

<table><thead><tr><th width="180">Parameter</th><th width="140">Data Type</th><th width="80">Required</th><th>Description</th></tr></thead><tbody><tr><td>requestId</td><td>String</td><td>Y</td><td>Withdraw config request id from merchant</td></tr><tr><td>bankConfigId</td><td>String</td><td>Y</td><td>The ID of withdraw bank config get from API Get List Withdraw Bank Configs</td></tr><tr><td>amount</td><td>String</td><td>N</td><td><p>Total Withdraw amount.</p><p>Used for DOMESTIC withdraw request</p></td></tr><tr><td>requestToCurrency</td><td>String (ISO 4217)</td><td>N</td><td><p>Request withdraw to currency. Default value: "VND"</p><p>Used for INTERNATIONAL withdraw/remitout request</p></td></tr><tr><td>virtualAccountIds</td><td>String Array</td><td>N</td><td><p>List of Virtual Account Number. To create remitout request for all collection transactions of list virtual accounts</p><p>Used for INTERNATIONAL withdraw/remitout request</p></td></tr><tr><td>reconcileCodes</td><td>String Array</td><td>N</td><td><p>List of reconciliations code. To create remitout request for all collection transactions for settled reconciliations</p><p>Used for INTERNATIONAL withdraw/remitout request</p></td></tr><tr><td>collectionTransIds</td><td>String Array</td><td>N</td><td><p>List of collection transaction. To create a remitout request for list of Collection Transaction</p><p>Used for INTERNATIONAL withdraw/remitout request</p></td></tr></tbody></table>

*Note: For Remitout/International withdraw request, merchant only need to use 1 in these optional params: virtualAccountIds, reconcileCodes, collectionTransIds. If those params were not used, NeoX System will automatically select all collection transactions that has payoutStatus of "READY" to create withdraw request.*

### **Response Data**

| Parameter     | Data Type | Description                                                                                                 |
| ------------- | --------- | ----------------------------------------------------------------------------------------------------------- |
| code          | Number    | Error code, refer to [table of error codes](https://docs.neox.vn/docs/collections/integration/error-codes). |
| message       | String    | Error description.                                                                                          |
| data          | Object    | Refer to [CreateWithdrawRequestResponse](#createwithdrawrequestresponse).                                   |
| neoResponseId | String    | The ID of NeoX response.                                                                                    |

#### CreateWithdrawRequestResponse

<table><thead><tr><th width="187.33333333333331">Parameter</th><th width="127">Data Type</th><th>Description</th></tr></thead><tbody><tr><td>merchantCode</td><td>String</td><td>Merchant Code</td></tr><tr><td>requestId</td><td>String</td><td>The requestId when creating withdraw request.</td></tr><tr><td>transId</td><td>String</td><td>ID of withdraw transaction from NeoX.</td></tr><tr><td>amount</td><td>Number</td><td>Amount of withdraw request in VND.</td></tr><tr><td>requestToCurrency</td><td>String</td><td>(Optional) Remitout request currency.</td></tr><tr><td>bankSwiftCode</td><td>String</td><td>Withdraw request to bank swiftcode.</td></tr><tr><td>bankAccountNumber</td><td>String</td><td>Withdraw request to bank account number.</td></tr><tr><td>bankAccountName</td><td>String</td><td>Withdraw request to bank account name.</td></tr><tr><td>bankBranch</td><td>String</td><td>Withdraw request to bank branch.</td></tr><tr><td>approvalStatus</td><td>String</td><td>Withdraw/Remitout request status, Include:<br>PENDING: Withdraw request is waiting for approval.<br>APPROVED: Withdraw request was approved.<br>REJECTED: Withdraw request was rejected.</td></tr><tr><td>status</td><td>String</td><td>Withdraw/Remitout transaction status, Include:<br>PROCESSING: Withdraw transaction is being processed.<br>SUCCESS: Withdraw transaction was successful.<br>FAILED: Withdraw request was failed.</td></tr><tr><td>collectionTransactions</td><td>Array Object</td><td><p>(Optional) List of Collection transactions envolved to withdraw request.<br>Object data:</p><pre class="language-postman_json"><code class="lang-postman_json">{
  "virtualAccountId": String,
  "reconcileCode": String,
  "transId": String,
  "amount": Number,
  "transDate": String
}
</code></pre></td></tr></tbody></table>
