# Create a book transfer

**POST** `/transfers/book`

A book transfer is a transaction between two Column accounts that you own. They can happen instantly and can be sent 24 hours a day, 7 days a week. Both accounts need to be under your platform, but don't need to be under the same entity. Alternatively, you can send a book transfer in two steps, using the "hold" parameter and "clear" method. Book transfers in a "hold" state can be updated and canceled. There is no reversal functionality for book transfers. Simply swap the `sender_account_number_id` and `receiver_account_number_id` and repeat the request.

### Body Parameters

- `allow_overdraft` `boolean` — Allow the account to go negative for the transfer. The bank account needs to have `is_overdraftable` enabled with an overdraft reserve account linked to it.
- `amount` `number` _(required)_ — Amount (in cents) of the funds that will be transferred between sender and receiver accounts. e.g. $1.75 would be represented by 175.
- `currency_code` `string` _(required)_ — The three-letter currency code defined in ISO 4217. e.g. `USD`.
- `description` `string` — A description of the transfer visible in account statements.
- `details` `object` — Additional monitoring details for the book transfer, used for compliance and reporting purposes.
  - `address` `object` — Address associated with the transfer for compliance and reporting purposes
    - `city` `string` — City name (max 255 characters)
    - `country_code` `string` — Two-letter ISO 3166-1 alpha-2 country code (e.g. `US`)
    - `line_1` `string` — Street address line 1 (max 255 characters)
    - `line_2` `string` — Street address line 2 (max 255 characters)
    - `postal_code` `string` — Postal or ZIP code (max 24 characters)
    - `state` `string` — State or province (max 255 characters)
  - `authorization_method` `string` — The authorization method used for the transfer
  - `fx_amount` `integer` — Foreign exchange amount in the smallest unit of the foreign currency
  - `fx_currency` `string` — Three-letter ISO 4217 currency code for the foreign exchange currency
  - `internal_transfer_type` `string` — Type of internal transfer for compliance categorization
  - `merchant_category_code` `string` — Merchant category code (MCC) for the transfer
  - `merchant_name` `string` — Name of the merchant associated with the transfer
  - `sender_name` `string` — Name of the sender for compliance and reporting purposes
  - `statement_description` `string` — Description that appears on the bank account statement
  - `website` `string` — Website URL associated with the transfer
- `hold` `boolean` — If set to `true`, the transfer will be created in a `HOLD` status instead of completing immediately.
- `receiver_account_number_id` `string` — ID of the account number that will receive the transfer.
- `receiver_bank_account_id` `string` — ID of the bank account that will receive the transfer.
- `sender_account_number_id` `string` — ID of the account number that is sending the transfer.
- `sender_bank_account_id` `string` — ID of the bank account that is sending the transfer.

**Request**

```shell
curl 'https://api.column.com/transfers/book' \
  -XPOST \
  -u :<YOUR API KEY> \
  -d amount=10000 \
  -d currency_code="USD" \
  -d sender_bank_account_id="<bank_account_id>" \
  -d receiver_bank_account_id="<bank_account_id>"
```

**Response 200**

```json
{
  "id": "",
  "created_at": "2021-11-29T20:18:34.844Z",
  "updated_at": "2021-11-29T20:18:34.844Z",
  "idempotency_key": "",
  "sender_bank_account_id": "",
  "sender_account_number_id": "",
  "receiver_bank_account_id": "",
  "receiver_account_number_id": "",
  "amount": 0,
  "currency_code": "",
  "description": "",
  "status": "NONE",
  "allow_overdraft": true,
  "details": {}
}
```
