Agent Management

Update agent policy

Partially update an agent's policy. Only provided fields will be updated; omitted fields retain their current values. Policy changes take effect immediately.

patch/agents/{agentId}/policy

Request body

permissionsAgentPermission[]

Updated list of permissions. Replaces the entire permissions list when provided.

defaultExecutionMode'AUTO' | 'APPROVAL_REQUIRED'

Execution mode controlling whether agent actions require human approval. AUTO: The agent can execute actions autonomously without explicit approval. APPROVAL_REQUIRED: All agent actions require explicit human approval before execution.

Example request

{
  "spendingLimits": {
    "currency": "USD",
    "perTransactionLimit": 50000,
    "dailyLimit": 500000,
    "dailyTransactionLimit": 10,
    "monthlyLimit": 5000000
  },
  "accountRestrictions": {
    "allowedAccountIds": [
      "Account:019542f5-b3e7-1d02-0000-000000000001"
    ],
    "accountRules": [
      {
        "accountId": "Account:019542f5-b3e7-1d02-0000-000000000001",
        "perTransactionLimit": 10000
      }
    ]
  },
  "approvalThresholds": {
    "currency": "USD",
    "amount": 100000
  }
}

Response

Agent policy updated successfully

idstring required

System-generated unique identifier for the agent.

namestring required

Human-readable name for the agent.

customerIdstring required

The ID of the customer this agent operates on behalf of.

isPausedboolean required

Whether the agent is currently paused. Paused agents cannot initiate any actions.

isConnectedboolean required

Whether the agent has been installed and connected (i.e., its device code has been redeemed).

createdAtstring date-time required

Creation timestamp.

updatedAtstring date-time required

Last update timestamp.

Example response

{
  "id": "Agent:019542f5-b3e7-1d02-0000-000000000001",
  "name": "Payroll Automation Agent",
  "customerId": "Customer:019542f5-b3e7-1d02-0000-000000000001",
  "isConnected": true,
  "policy": {
    "spendingLimits": {
      "currency": "USD",
      "perTransactionLimit": 50000,
      "dailyLimit": 500000,
      "dailyTransactionLimit": 10,
      "monthlyLimit": 5000000
    },
    "accountRestrictions": {
      "allowedAccountIds": [
        "Account:019542f5-b3e7-1d02-0000-000000000001"
      ],
      "accountRules": [
        {
          "accountId": "Account:019542f5-b3e7-1d02-0000-000000000001",
          "perTransactionLimit": 10000
        }
      ]
    },
    "approvalThresholds": {
      "currency": "USD",
      "amount": 100000
    }
  },
  "usage": {
    "dailyTransactionCount": 3,
    "dailySpend": 150000,
    "dailyResetDate": "2025-07-22",
    "monthlySpend": 750000,
    "monthlyResetMonth": "2025-08"
  },
  "createdAt": "2025-07-21T17:32:28Z",
  "updatedAt": "2025-07-21T17:32:28Z"
}

Changes

Changed in 6 of the 24 revisions of this API.142

  • 8964d9c7b6f911See the full diff
    • removed the enum value CREATE_TRANSFERS of the request property permissions/items/

      request-property-enum-value-removed

    • removed the CREATE_TRANSFERS enum value from the policy/permissions/items/ response property for the response status 200

      response-property-enum-value-removed

    This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • added the new EXTERNAL_ACCOUNT_VERIFICATION_REQUIRED enum value to the code response property for the response status 400

      response-property-enum-value-added

    This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • added the new TRANSACTION_SIZE_LIMIT_EXCEEDED enum value to the code response property for the response status 400

      response-property-enum-value-added

    • added the new CARDHOLDER_KYC_NOT_APPROVED enum value to the code response property for the response status 400

      response-property-enum-value-added

    • added the new END_USER_TERMS_VERSION_NOT_FOUND enum value to the code response property for the response status 400

      response-property-enum-value-added

    • added the optional property details/errors to the response with the 400 status

      response-optional-property-added