# 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](#../error-codes.md).          |
| 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>amount</td><td>Number</td><td>Amount of withdraw request in VND.</td></tr><tr><td>currency</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>status</td><td>String</td><td>Withdraw request status, include:<br>PENDING: Withdraw request has been created and waiting for approval.<br>APPROVED: Withdraw request has been approved.<br>REJECTED: Withdraw request has been rejected, view note for reject reasons.</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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.neox.vn/docs/global/collections/integration/apis-for-withdraw-requests-management/create-withdraw-request.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
