Guides
Common Workflows
End-to-end implementation recipes for the most common Column integration patterns.
Onboard a customer and open an account
Create entity → Verify KYC → Create bank account → Provision account number
# 1. Create entity
curl -X POST https://api.column.com/entities/person \
-u test_your_api_key: \
-H "Content-Type: application/json" \
-d '{ "first_name": "Jane", "last_name": "Doe", ... }'
# 2. Poll or webhook for VERIFIED status
# event: entity.verification_status.completed
# 3. Create bank account
curl -X POST https://api.column.com/bank-accounts \
-u test_your_api_key: \
-H "Content-Type: application/json" \
-d '{ "entity_id": "ent_xxx" }'Fund an account via ACH debit then pay out
See the full two-legged transactions guide.
Key steps:
- Pull funds from customer's external bank (ACH debit)
- Wait for
ach.outgoing_transfer.settled - Push funds to destination (ACH credit or book transfer)
Book transfer between accounts with a hold
Used for escrow, marketplace disbursements, or pre-authorization:
# 1. Create hold
curl -X POST https://api.column.com/transfers/book \
-d '{ "hold": true, "amount": 5000, ... }'
# 2. Clear hold when ready to release
curl -X POST https://api.column.com/transfers/book/{id}/clear
# OR cancel hold to refund
curl -X POST https://api.column.com/transfers/book/{id}/cancelReceive and process an incoming wire
- Subscribe to
wire.incoming_transfer.initiatedwebhook - Validate sender and amount in your system
- Sweep funds via book transfer to customer sub-accounts if needed
- Return the wire if needed:
POST /transfers/wire/{id}/return
Generate a monthly statement
Statements generate automatically. Subscribe to reporting.bank_account_monthly_statement.completed and download the PDF or CSV when ready.
See the statements guide.