# Add a payout account

`POST /lokta-lms/api/v1/sourcing-partners/{partnerId}/bank-accounts`

Adds a payout account to a sourcing partner.

`account_type` is `savings | current | od`. `ifsc` is shape-checked (four letters, a zero, six characters) rather than merely stored; a malformed IFSC fails at the bank days later, arriving as an unexplained rejection long after the operator moved on.

**The first account becomes primary automatically.** A partner with accounts but no primary has nowhere to be paid, and every payout screen downstream would have to invent a rule for choosing one, which is how two screens choose differently.

A duplicate (same partner, same IFSC, same number) is a `409 sourcing/bank_account_duplicate`. Accounts that failed verification are excluded from that check, so one can be re-added after correction rather than blocked by its own earlier attempt.

The account number is **never returned**.

## Parameters
- `partnerId` (path, string, required)
- `Idempotency-Key` (header, string): Per-intent key

## Request body (application/json)
- `beneficiary_name` (string): The name on the account.
- `bank_name` (string): The bank.
- `branch_name` (string): The branch.
- `account_type` (string): The kind of account.
- `account_number` (string): The account number. Accepted on create and never returned.
- `ifsc` (string): The bank branch code. Checked for shape: four letters, a zero, then six characters.

## Responses
- `default`: default response

## Example request (cURL)
```bash
curl -X POST \
  'https://default.lokta.tech/lokta-lms/api/v1/sourcing-partners/{partnerId}/bank-accounts' \
  -u '{username}:{password}' \
  -H 'Tenant-Identifier: default' \
  -H 'Content-Type: application/json' \
  -d '{
  "beneficiary_name": "string",
  "bank_name": "string",
  "branch_name": "string",
  "account_type": "savings",
  "account_number": "string",
  "ifsc": "string"
}'
```

Interactive: https://developer.lokta.ai/reference#operation/create_4
