---
title: "Update a wallet"
method: PUT
path: "/api/ai-credits/wallets/{wallet_id}"
tags: ["AI credit client wallets"]
---

# Update a wallet

`PUT /api/ai-credits/wallets/{wallet_id}`

## Request

- Base URL: `https://api.duda.co`
- URL: `https://api.duda.co/api/ai-credits/wallets/{wallet_id}`
- Auth: HTTP basic

Send any subset; omitted fields are left alone. Raising recurrence_amount adds the difference to recurrence_balance now; lowering it clamps recurrence_balance to the new amount. Errors: wallet_not_found, invalid_value.

## Path parameters

- `wallet_id` string, required

## Request body

- ApiUpdateSubWalletRequest
  - `name` string: Free text, up to 255 characters. No effect on credits or assignment.
  - `recurrence_amount` string: As a decimal string. Takes effect immediately: raising it adds the difference to recurrence_balance now; lowering it clamps recurrence_balance to the new amount. Cannot be negative, at most 2 decimals and 99999999.99.
  - `recurrence_day` integer: 1-31.

## Response `200`

OK

- ApiSubWalletResponse
  - `assigned_accounts` ApiAccountRefInfo[]: The client accounts drawing from this wallet, empty when none is. Moved by assign and unassign.
    - `account_name` string: The client's account name, as the Accounts API returns it.
  - `created_at` string, date-time
  - `id` string: Minted by Duda and immutable. Store it against your own customer record.
  - `name` string: The id when no name was set.
  - `recurrence_amount` string: The recurring allowance, as a decimal string.
  - `recurrence_balance` string: What is left of the recurring allowance this cycle, as a decimal string. Moved by POST /credits.
  - `recurrence_day` integer: Day of the month (1-31) the cycle turns over. Clamps to the month's length.
  - `topup_balance` string: A single flat top-up figure, as a decimal string. It never expires.
  - `updated_at` string, date-time

## Other responses

- `400`: Bad request. The request is malformed or failed validation.
- `401`: Unauthorized. The credentials are missing or invalid.
- `429`: Too many requests. The rate limit was exceeded.

---

[API](https://skmtc.dev/duda/apis/duda-partner-api.md) - [All operations](https://skmtc.dev/duda/apis/duda-partner-api/llms.txt) - [OpenAPI document](https://skmtc.dev/duda/apis/duda-partner-api/revisions/52be4d41cb12?raw)
