---
title: "Update User Limits"
method: PATCH
path: "/api/admin/users/{user_id}/usage-limits"
tags: ["admin-users"]
---

# Update User Limits

`PATCH /api/admin/users/{user_id}/usage-limits`

Update any subset of the user's wallet usage limits.

## Path parameters

- `user_id` string, required

## Request body

- UpdateUsageLimitsRequest — Update any subset of a wallet's usage limits. Only provided fields are written (mirrors the platform ``changeWalletLimits``).
  - `spendLimit` integer, nullable
  - `overdraftLimit` integer, nullable
  - `preventInstanceTermination` boolean, nullable
  - `instanceLimit` integer, nullable
  - `sandboxLimit` integer, nullable
  - `sandboxTotalCpuLimit` integer, nullable
  - `sandboxTotalMemoryLimitGB` integer, nullable
  - `sandboxTotalStorageLimitGB` integer, nullable
  - `sandboxCreationsPerHourLimit` integer, nullable
  - `sharedDiskLimit` integer, nullable
  - `sharedDiskTotalStorageGB` integer, nullable
  - `imageLimit` integer, nullable
  - `imageTotalStorageGB` integer, nullable
  - `rftRunLimit` integer, nullable
  - `rftTotalBatchLimit` integer, nullable
  - `loraDeploymentLimit` integer, nullable
  - `tunnelLimit` integer, nullable
  - `tunnelTtlHours` integer, nullable
  - `tunnelCreationsPerHourLimit` integer, nullable
  - `httpPortLimit` integer, nullable
  - `tcpPortLimit` integer, nullable
  - `vmSandboxLimit` integer, nullable
  - `vmSandboxGpuLimit` integer, nullable

## Response `200`

Successful Response

- GenericResponseWalletBillingInfo
  - `data` WalletBillingInfo — Admin billing snapshot for a user/team wallet: balance, settings, and the configurable usage limits.
    - `walletId` string, required
    - `userId` string, nullable
    - `teamId` string, nullable
    - `balance` integer, required
    - `currency` string, required
    - `autoTopUpActive` boolean, nullable
    - `monthlyInvoices` boolean
    - `limits` UsageLimits, required — The configurable per-wallet resource/spend limits (the values an admin can view and update). Live usage counts are not included.
      - `spendLimit` integer, required
      - `overdraftLimit` integer, required
      - `preventInstanceTermination` boolean, required
      - `instanceLimit` integer, nullable
      - `sandboxLimit` integer, required
      - `sandboxTotalCpuLimit` integer, required
      - `sandboxTotalMemoryLimitGB` integer, required
      - `sandboxTotalStorageLimitGB` integer, required
      - `sandboxCreationsPerHourLimit` integer, required
      - `sharedDiskLimit` integer, required
      - `sharedDiskTotalStorageGB` integer, required
      - `imageLimit` integer, required
      - `imageTotalStorageGB` integer, required
      - `rftRunLimit` integer, required
      - `rftTotalBatchLimit` integer, required
      - `loraDeploymentLimit` integer, required
      - `tunnelLimit` integer, required
      - `tunnelTtlHours` integer, required
      - `tunnelCreationsPerHourLimit` integer, required
      - `httpPortLimit` integer, required
      - `tcpPortLimit` integer, required
      - `vmSandboxLimit` integer, required
      - `vmSandboxGpuLimit` integer, required
  - `status` string, nullable — Response status

## Other responses

- `401` — Authorization failed
- `403` — Insufficient permissions
- `422` — Invalid request data

---

[API](https://skmtc.net/primeintellect/apis/pi-api.md) · [All operations](https://skmtc.net/primeintellect/apis/pi-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/primeintellect/pi-api/revisions/126e47974033/schema)
