Internal Transfer API

Initiate an internal transfer.

# Internal Transfer API

Initiate an internal transfer using your Moolre account.

## Endpoint
- **Method**: POST
- **URL**: https://api.moolre.com/open/transact/internal

## Headers
| Header | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| X-API-USER | string | Yes | Your Moolre username. |
| X-API-KEY | string | Yes | Your Private API Key. |

## Request Body
| Parameter | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| type | integer | Yes | Must be 1. |
| currency | string | Yes | Currency code: GHS (Ghana Cedis) or NGN (Nigerian Naira). |
| amount | string | Yes | Amount to transfer. Must be greater than 0. |
| receiver | string | Yes | Destination Moolre account number. This must not be a mobile phone number. |
| externalref | string | Yes | Unique reference for the transfer. |
| reference | string | No | Optional narration or reference text. |
| accountnumber | string | Yes | Your Moolre Account Number. |

## Response (200 Success)
The internal transfer request was accepted. Confirm the final outcome through the transfer status workflow when your integration needs a terminal state.

```json
{
  "status": 1,
  "code": "TR099",
  "message": "Internal transfer initiated successfully",
  "data": "f25fc80e-791b-495b-8799-dcf87660457d",
  "go": null
}
```

## Response (400 Duplicate Reference)
The external reference must be unique for the transfer request.

```json
{
  "status": "0",
  "code": "TR013",
  "message": "External Reference is required and must be unique.",
  "data": "externalref",
  "go": null
}
```

Back to the Moolre AI documentation index