---
title: "Update a client ID"
method: PUT
path: "/v2/client-ids/{id}"
tags: ["Client IDs", "V2/Client IDs"]
---

# Update a client ID

`PUT /v2/client-ids/{id}`

Update client ID settings including domains and rate limits

## Path parameters

- `id` string, required

## Headers

- `x-api-key` string, required

## Request body

- object
  - `label` string
  - `allowedDomains` string[] — List of allowed domain origins (normalized)
  - `feePercentage` string, nullable — Fee percentage (e.g., '1' = 1%, '2.5' = 2.5%, '2.55' = 2.55%). Maximum 2 decimal places. If set to '0', allows API request fees to take precedence. If set to any other value, overrides any fee passed via API. Set to null to unset.
  - `feeAddress` string, nullable — Wallet address to receive fees. Required if feePercentage is set. Set to null to unset.
  - `operatorWalletAddress` string, nullable — Wallet address that will act as operator for commerce payments. The API operator wallet will execute transactions on behalf of this address. Can be a smart wallet that has granted permissions to the API operator. Set to null to unset. Note: Changing this will only affect new payments; existing payments will continue using their original operator address.
  - `defaultPreApprovalExpiry` integer, nullable — Default pre-approval expiry duration in seconds for commerce transactions. If set, overrides the value passed in /v2/commerce-payments/authorize/calldata endpoint. Set to null to unset.
  - `defaultAuthorizationExpiry` integer, nullable — Default authorization expiry duration in seconds for commerce transactions. If set, overrides the value passed in /v2/commerce-payments/authorize/calldata endpoint. Set to null to unset.
  - `status` 'active' | 'inactive' | 'revoked'

## Response `200`

Client ID updated successfully

- object
  - `id` string
  - `clientId` string
  - `label` string
  - `allowedDomains` string[]
  - `feePercentage` string, nullable
  - `feeAddress` string, nullable
  - `operatorWalletAddress` string, nullable
  - `defaultPreApprovalExpiry` number, nullable
  - `defaultAuthorizationExpiry` number, nullable
  - `status` string
  - `updatedAt` string

## Other responses

- `400` — Bad request - validation failed or cannot reactivate revoked ID
- `401` — Unauthorized
- `404` — Client ID not found
- `429` — Too Many Requests

---

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