---
updatedAt: 2025-09-25T09:49:21.000Z
agentTools:
  projectIndex: https://developers.berkeleypayment.com/llms.txt
---

# Send an e-transfer with Berkeley API's

Send a real-time funds disbursement to your customers and business partners.

**Step 1:** Create Account Holder if one **doesn't** exist.

POST \{\{teller\_domain}}/api/v1/account\_holders

```json
{
  "type": "individual",
  "email": "john-smith1@berkeley.ca",
  "first_name": "John",
  "last_name": "Smith"
}
```

**Step 2:** Tokenize Customer information

POST \{\{teller\_domain}}/api/v1/tokens or \{\{teller\_domain}}/api/v2/tokens

|               |          |              |                                                                                                                                                                            |
| ------------- | -------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Field**     | **Type** | **Required** | **Details**                                                                                                                                                                |
| name          | string   | yes          | name of the person or business max 60 characters                                                                                                                           |
| email         | string   | conditional  | email of the person or business**required** for e-transfer `email` notifications                                                                                           |
| phone\_number | string   | conditional  | phone number of person or business 10 digits in length do not include dashes or spaces includes area code and phone number **required** for e-transfer `sms` notifications |

If notification choice is **email**, the payload for tokenization looks as follows:

```json
{
  "etransfer": {
    "name": "John Smith",
    "email": "john@email.com"
  }
}
```

If notification choice is **SMS**, the payload for tokenization looks as follows:

```json
{
  "etransfer": {
    "name": "John Smith",
    "phone_number": "1234567890"
  }
}
```

**Step 3:** Create Financial Account with created token for Account Holder

POST \{\{teller\_domain}}/api/v1/account\_holders/:id/financial\_accounts

```json
{
  "token": "ettk_BY-HbLvFocbzF8O23EF4E37121688FE9D"
}
```

**Step 4:** Create transaction with created Financial Account

Push Transaction

POST \{\{teller\_domain}}/api/v1/transactions/push

|                            |          |              |                                                                                            |
| -------------------------- | -------- | ------------ | ------------------------------------------------------------------------------------------ |
| **Field**                  | **Type** | **Required** | **Details**                                                                                |
| amount                     | number   | yes          | in cents the amount you wish to send                                                       |
| currency                   | string   | yes          | currency of the transaction                                                                |
| product                    | string   | yes          | product of the transaction                                                                 |
| financial\_account         | string   | yes          | financial account to which you wish to send money                                          |
| security\_question         | string   | yes          | question to answer for e-transfer payment                                                  |
| security\_question\_answer | string   | yes          | answer to the security\_question provided must be between 3 - 25 characters with no spaces |

```json
{
  "amount": 2000,
  "currency": "CAD",
  "product": "disbursements",
  "financial_account": "etransfer_136_ettk_BG-HbLvFocbzF8O33EF4E37151688FD9D",
  "security_question": "Mother's maiden name",
  "security_question_answer": "Doe"
}
```