---
title: "Update Account"
method: PATCH
path: "/digital-banking/v1/accounts/{account_id}"
tags: ["Accounts"]
---

# Update Account

`PATCH /digital-banking/v1/accounts/{account_id}`

Updates an account. Note: account_type is immutable and cannot be changed after creation.

## Path parameters

- `account_id` string, uuid, required

## Request body

- UpdateAccountRequest
  - `depositor_ids` string[], nullable
  - `account_title` string, nullable
  - `institution_sweep_account_id` string, nullable
  - `institution_return_account_id` string, nullable
  - `is_reciprocation_prioritized` boolean, nullable
  - `is_receiving_printed_statements` boolean, nullable
  - `signer_primary` string, nullable
  - `signer_secondary` string, nullable
  - `beneficiary_name` string, nullable
  - `institution_cost_center_id` string, nullable
  - `cost_center_id` string, uuid, nullable
  - `notes` string, nullable
  - `managed_sweep_target_balance` union
    - number
    - string
  - `program_tags` string[], nullable
  - `institution_alternative_id` string, nullable
  - `account_officer` string, nullable — Account officer assigned to this account
  - `custom_field_1` string, nullable — Custom field 1
  - `custom_field_2` string, nullable — Custom field 2
  - `custom_field_3` string, nullable — Custom field 3
  - `custom_field_4` string, nullable — Custom field 4

## Response `200`

Successful Response

- AccountResponse
  - `id` string, required
  - `institution_id` string, required
  - `signer_primary` string, nullable, required
  - `signer_primary_tin_last4` string, nullable
  - `account_title` string, required
  - `interest_rate` string, required
  - `interest_rate_tiers` InterestRateTierResponse[], required
    - `min_balance` string, required
    - `max_balance` string, required
    - `rate` string, nullable
    - `floating_spread` string, nullable
    - `rate_index_type` 'EFFR' | 'CU_RECEIVE_DEFAULT' | 'BANK_RECEIVE_DEFAULT' | 'EFFR_UPPER_BAND' | 'EFFR_LOWER_BAND' | 'SOFR_OVERNIGHT' | 'SOFR_1M' | 'SOFR_3M' | 'SOFR_6M' | 'SOFR_12M' | 'CMT_1M' | 'CMT_3M' | 'CMT_6M' | 'FIDELITY_FISXX' | 'FIDELITY_SPAXX' | 'FIDELITY_FCIXX' | 'WSJ_PRIME' | 'IORB'
    - `floating_rate_percentage` string, nullable
    - `custom_benchmark_id` string, nullable
  - `insurance_limit` string, required
  - `account_type` 'MMDA' | 'DDA', required
  - `created_at` string, required
  - `is_joint_account` boolean, required
  - `total_balance` string, required
  - `pending_balance` string, required
  - `closed_at` string, nullable
  - `signer_secondary` string, nullable
  - `beneficiary_name` string, nullable
  - `beneficiary_tin` string, nullable
  - `beneficiary_tin_last4` string, nullable
  - `institution_account_id` string, nullable
  - `institution_sweep_account_id` string, nullable
  - `institution_return_account_id` string, nullable
  - `institution_branch_id` string, nullable
  - `institution_alternative_id` string, nullable
  - `cost_center_id` string, nullable
  - `cost_center_code` string, nullable
  - `depositors` DepositorResponse[], nullable
    - `id` string, required
    - `institution_id` string, required
    - `institution_depositor_id` string, nullable, required
    - `tin` string, nullable
    - `tin_last_four` string, nullable — Last 4 digits of the TIN (masked).
    - `first_name` string, nullable, required
    - `last_name` string, nullable, required
    - `entity_name` string, nullable, required
    - `is_organization` boolean, required
    - `phone_numbers` PhoneNumberData[], required
      - `number` string, required
      - `is_primary` boolean
    - `emails` EmailData[], required
      - `email_address` string, email, required
      - `is_primary` boolean
    - `addresses` AddressData[], required
      - `street` string, required
      - `city` string, required
      - `state` string, required
      - `zip` string, required
      - `country_code` string, required — ISO 3166-1 alpha-2 country code (e.g., US)
      - `is_primary` boolean
    - `depositor_type` 'CONSUMER' | 'BUSINESS' | 'NONPROFIT' | 'LOCAL_GOVERNMENT' | 'FEDERAL_GOVERNMENT' | 'US_DEPOSITORY' | 'FOREIGN_DEPOSITORY' | 'FOREIGN_GOVERNMENT', required
    - `ownership_category` 'JOINT' | 'SINGLE' | 'RETIREMENT' | 'ESTATE_REVOCABLE_TRUST' | 'OTHER_CONSUMER' | 'CORPORATION' | 'LIMITED_LIABILITY_COMPANY' | 'LIMITED_PARTNERSHIP' | 'SOLE_PROPRIETORSHIP' | 'OTHER_BUSINESS' | 'CLUBS_ASSOCIATIONS' | 'OTHER_NONPROFIT' | 'MUNICIPALITIES' | 'SCHOOL_DISTRICTS' | 'OTHER_LOCAL_GOVERNMENT' | 'US_GOVERNMENT' | 'US_DEPOSITORY'
    - `account_officer` string, nullable
    - `notes` string, nullable
    - `institution_opt_out_federal_ids` string[] — List of institutions (by federal_id) excluded from receiving this depositor's funds
  - `managed_sweep_target_balance` string, nullable
  - `shadow_account` ShadowAccountResponse
    - `id` string, required
    - `account_number` string, required
    - `account_type` 'MMDA' | 'DDA', required
    - `closed_at` string, nullable
  - `notes` string, nullable
  - `pricing_group_id` string, nullable
  - `is_reciprocation_prioritized` boolean, required
  - `is_receiving_printed_statements` boolean, required
  - `rate` string, nullable
  - `floating_spread` string, nullable
  - `floating_spread_bps` string, nullable
  - `rate_index_type` 'EFFR' | 'CU_RECEIVE_DEFAULT' | 'BANK_RECEIVE_DEFAULT' | 'EFFR_UPPER_BAND' | 'EFFR_LOWER_BAND' | 'SOFR_OVERNIGHT' | 'SOFR_1M' | 'SOFR_3M' | 'SOFR_6M' | 'SOFR_12M' | 'CMT_1M' | 'CMT_3M' | 'CMT_6M' | 'FIDELITY_FISXX' | 'FIDELITY_SPAXX' | 'FIDELITY_FCIXX' | 'WSJ_PRIME' | 'IORB'
  - `floating_rate_percentage` string, nullable
  - `index_rate` string, nullable
  - `custom_benchmark_id` string, nullable
  - `custom_benchmark_rate` string, nullable
  - `rate_configuration` 'FIXED' | 'FLOATING_MARKET' | 'FLOATING_CUSTOM' | 'TIERED' | 'MIXED', required
  - `account_officer` string, nullable — Account officer assigned to this account
  - `is_non_interest_bearing` boolean — Whether this account is non-interest-bearing
  - `custom_field_1` string, nullable — Custom field 1
  - `custom_field_2` string, nullable — Custom field 2
  - `custom_field_3` string, nullable — Custom field 3
  - `custom_field_4` string, nullable — Custom field 4

## Other responses

- `400` — Bad Request - Invalid input or validation error
- `401` — Unauthenticated - Invalid or missing authentication credentials
- `403` — Unauthorized - Insufficient permissions to access resource
- `422` — Validation Error
- `500` — Internal Server Error

---

[API](https://skmtc.net/modernfi/apis/endpoints.md) · [All operations](https://skmtc.net/modernfi/apis/endpoints/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/modernfi/endpoints/versions/d9c7bd6bd2f2/schema)
