---
title: "Register a bank account"
method: POST
path: "/companies/{companyId}/bank-accounts"
tags: ["Bank Accounts"]
---

# Register a bank account

`POST /companies/{companyId}/bank-accounts`

## Request

- Base URL: `https://api.medianfi.com/api/v1`
- URL: `https://api.medianfi.com/api/v1/companies/{companyId}/bank-accounts`
- Auth: HTTP bearer

## Request body

- CreateBankAccountInput
  - `entityId` string, uuid, required
  - `institutionName` string, required
  - `accountName` string
  - `accountType` 'checking' | 'savings' | 'credit' | 'investment' | 'processor'
  - `mask` string
  - `currency` string, required
  - `balanceCents` integer
  - `externalId` string

## Response `201`

Bank account created

- BankAccountResponse
  - `success` boolean
  - `data` BankAccount
    - `id` string, uuid
    - `companyId` string, uuid
    - `entityId` string, uuid
    - `integrationId` string, uuid, nullable
    - `provider` string, nullable
    - `institutionName` string
    - `accountName` string, nullable
    - `accountType` 'checking' | 'savings' | 'credit' | 'investment' | 'processor', nullable
    - `mask` string, nullable
    - `currency` string
    - `balanceCents` integer, nullable
    - `status` 'active' | 'disconnected' | 'error'
    - `externalId` string, nullable
    - `connectedAt` string, date-time
    - `lastSyncedAt` string, date-time, nullable
    - `createdAt` string, date-time
    - `updatedAt` string, date-time

## Other responses

- `401`: Authentication required
- `403`: Insufficient permissions or not a company member
- `409`: Invite email already belongs to an active company member
- `422`: Validation error
- `429`: Outstanding invite was sent recently; wait before resending

---

[API](https://skmtc.dev/medianfi/apis/median-api.md) · [All operations](https://skmtc.dev/medianfi/apis/median-api/llms.txt) · [OpenAPI document](https://skmtc.dev/medianfi/apis/median-api/revisions/20090ea32b0d?raw)
