---
title: "Update user settings"
method: PATCH
path: "/v1/user_settings"
tags: ["User settings"]
---

# Update user settings

`PATCH /v1/user_settings`

Updates the authenticated user's notification toggles and low-balance alert
threshold. The threshold is provided as `low_balance_threshold_amount` (a
whole-currency amount) plus `low_balance_threshold_currency`; the server
converts it to cents. An unknown currency returns `422`.

## Parameters

- `#/paths/~1v1~1users/get/parameters/0` — unresolved $ref

## Request body

- object
  - `approved_transaction_notify` boolean
  - `declined_transaction_notify` boolean
  - `banking_transaction_notify` boolean
  - `pending_transaction_notify` boolean
  - `low_balance_notify` boolean
  - `low_balance_threshold_amount` integer
  - `low_balance_threshold_currency` string

## Response `200`

The updated user settings.

- UserSetting — Per-user notification preferences and low-balance alert threshold. The raw `low_balance_threshold_cents` column is not serialized; the amount is exposed via the computed `low_balance_threshold_amount` instead.
  - `id` string, uuid, required
  - `user_id` string, required
  - `approved_transaction_notify` boolean
  - `declined_transaction_notify` boolean
  - `banking_transaction_notify` boolean
  - `pending_transaction_notify` boolean
  - `low_balance_notify` boolean
  - `low_balance_threshold_amount` integer — Low-balance alert threshold as a whole-currency amount (computed from cents).
  - `low_balance_threshold_currency` string
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `401` — Unauthorized
- `404` — User settings not found
- `422` — Invalid currency provided.

---

[API](https://skmtc.dev/cardda/apis/banking-api.md) · [All operations](https://skmtc.dev/cardda/apis/banking-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/cardda/banking-api/revisions/ff1aeb3fda8b/schema)
