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:

  1. Pull funds from customer's external bank (ACH debit)
  2. Wait for ach.outgoing_transfer.settled
  3. 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}/cancel

Receive and process an incoming wire

  1. Subscribe to wire.incoming_transfer.initiated webhook
  2. Validate sender and amount in your system
  3. Sweep funds via book transfer to customer sub-accounts if needed
  4. 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.