> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usebila.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Transfer Recipients

> Save and manage transfer recipients for faster payouts

Save bank account and mobile money recipients for faster, recurring payouts.

## Endpoints

| Endpoint                                 | Method | Description                     |
| ---------------------------------------- | ------ | ------------------------------- |
| `/bila/transfer-recipients`              | GET    | List all saved recipients       |
| `/bila/transfer-recipients/{id}`         | GET    | Get a single recipient by ID    |
| `/bila/transfer-recipients/bank-account` | POST   | Create a bank account recipient |
| `/bila/transfer-recipients/mobile-money` | POST   | Create a mobile money recipient |

## Recipient Types

### Bank Account Recipient

```json theme={null}
{
  "id": "rec-001",
  "type": "bank-account",
  "accountNumber": "1234567890",
  "accountName": "JOHN DOE",
  "bankId": "bank-001",
  "bankName": "Zambia National Commercial Bank",
  "country": "zm",
  "createdAt": "2024-01-15T10:30:00Z"
}
```

### Mobile Money Recipient

```json theme={null}
{
  "id": "rec-002",
  "type": "mobile-money",
  "phone": "0977123456",
  "accountName": "JOHN DOE",
  "operator": "airtel",
  "country": "zm",
  "createdAt": "2024-01-15T10:30:00Z"
}
```

## Create Bank Recipient

```bash theme={null}
curl -X POST "https://api.usebila.com/api/v1/bila/transfer-recipients/bank-account" \
  -H "x-api-key: sk_test_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "accountNumber": "1234567890",
    "bankId": "bank-001",
    "country": "zm"
  }'
```

<Note>
  The account name will be automatically resolved and saved with the recipient.
</Note>

## Create Mobile Money Recipient

```bash theme={null}
curl -X POST "https://api.usebila.com/api/v1/bila/transfer-recipients/mobile-money" \
  -H "x-api-key: sk_test_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "0977123456",
    "operator": "airtel",
    "country": "zm"
  }'
```

## Using Recipients in Transfers

When creating a transfer, you can use `transferRecipientId` instead of providing account details:

```json theme={null}
{
  "accountId": "your-wallet-id",
  "amount": 1000,
  "reference": "payout-123",
  "transferRecipientId": "rec-001",
  "narration": "Monthly payout"
}
```

<a href="/docs/api-reference" style={{ textDecoration: 'none', borderBottom: 'none', display: 'block' }}>
  <div
    style={{
  borderRadius: '16px',
  padding: '32px',
  height: '120px',
  display: 'flex',
  flexDirection: 'column',
  justifyContent: 'flex-end',
  border: '0.5px solid #f16101',
  cursor: 'pointer',
  transition: 'all 0.15s ease-in-out',
  boxShadow: '0 4px 14px 0 rgba(241, 97, 1, 0.1)',
}}
    onMouseEnter={e => {
  e.currentTarget.style.background = 'rgba(241, 97, 1, 0.05)';
  e.currentTarget.style.boxShadow = '0 6px 20px 0 rgba(241, 97, 1, 0.2)';
  e.currentTarget.style.transform = 'translateY(-2px)';
}}
    onMouseLeave={e => {
  e.currentTarget.style.background = 'transparent';
  e.currentTarget.style.boxShadow = '0 4px 14px 0 rgba(241, 97, 1, 0.1)';
  e.currentTarget.style.transform = 'none';
}}
  >
    <div style={{ fontSize: '24px', marginBottom: '8px' }}>⟡</div>
    <div style={{ fontWeight: '500', fontSize: '16px' }}>API Reference</div>
    <div style={{ opacity: 0.6, fontSize: '13px', marginTop: '4px' }}>Explore the complete API reference</div>
  </div>
</a>
