---
title: "Update an agent"
method: PATCH
path: "/v1/agents/{id}"
tags: ["Agents"]
---

# Update an agent

`PATCH /v1/agents/{id}`

Change name, description, limits, destination allowlist, or pause / resume. customerId, sourceAccountId, and limits.currency are immutable — create a new agent to change them. Limit changes apply to the next transfer; active keys pick up allowlist changes immediately.

## Path parameters

- `id` string, required

## Headers

- `X-API-Key` string

## Request body

- UpdateAgentDto
  - `name` string
  - `description` string, nullable
  - `allowedDestinationAccountIds` string[], nullable — Replaces the allowlist. null clears it (any approved destination of the customer).
  - `limits` AgentLimitsDto
    - `currency` string, required — Currency the limits are denominated in (ISO 4217 for fiat, symbol for crypto). Must equal the transfer source currency; limits are not converted.
    - `perTransaction` string, required — Maximum amount of a single transfer, in smallest unit as a string (cents for USD, 6 decimals for USDC).
    - `perDay` string, nullable — Maximum total submitted per UTC calendar day, in smallest unit. Omit or null for no daily cap.
    - `perMonth` string, nullable — Maximum total submitted per UTC calendar month, in smallest unit. Omit or null for no monthly cap.
  - `status` 'ACTIVE' | 'PAUSED' — Pause or resume. Use DELETE /v1/agents/{id} to revoke.
  - `metadata` object

## Response `200`

- AgentResponseDto
  - `id` string, required
  - `name` string, required
  - `description` string, nullable, required
  - `customerId` string, required
  - `sourceAccountId` string, required
  - `allowedDestinationAccountIds` string[], nullable, required
  - `limits` AgentLimitsDto, required
    - `currency` string, required — Currency the limits are denominated in (ISO 4217 for fiat, symbol for crypto). Must equal the transfer source currency; limits are not converted.
    - `perTransaction` string, required — Maximum amount of a single transfer, in smallest unit as a string (cents for USD, 6 decimals for USDC).
    - `perDay` string, nullable — Maximum total submitted per UTC calendar day, in smallest unit. Omit or null for no daily cap.
    - `perMonth` string, nullable — Maximum total submitted per UTC calendar month, in smallest unit. Omit or null for no monthly cap.
  - `status` 'ACTIVE' | 'PAUSED' | 'REVOKED', required
  - `metadata` object, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `401` — Unauthorized - Invalid or missing authentication credentials

## Changes

- **2026-09-23** `da62fa03793e` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/infinite/apis/infinite-api/changes/v1/agents/:id/patch.md)

---

[API](https://skmtc.dev/infinite/apis/infinite-api.md) · [All operations](https://skmtc.dev/infinite/apis/infinite-api/llms.txt) · [OpenAPI document](https://skmtc.dev/infinite/apis/infinite-api/revisions/da62fa03793e?raw)
