---
title: "Grant a temporary policy override"
method: POST
path: "/agents/{id}/policy-override"
tags: ["Agents"]
---

# Grant a temporary policy override

`POST /agents/{id}/policy-override`

Creates an immutable agent-scoped override derived from the agent's current base policy.

## Path parameters

- `id` string, required

## Request body

- object
  - `basePolicyId` string, required
  - `baseVersion` integer, required
  - `expiresAt` string, date-time, required
  - `config` object, required
    - `read` object, required
      - `accounts` object[], required
        - `accountId` string, required
    - `send` object, required
      - `accounts` object[], required
        - `accountId` string, required
      - `rules` object[]
        - `id` string
        - `ruleType` 'per_transaction_amount' | 'daily_amount' | 'weekly_amount' | 'monthly_amount' | 'hourly_count' | 'daily_count', required
        - `thresholdAmount` union
          - string
          - number
        - `thresholdCount` integer
        - `action` 'block' | 'require_approval', required
        - `requiredApprovals` integer
        - `accountAggregationScope` 'per_account' | 'across_accounts'
        - `actorAggregationScope` 'per_agent' | 'per_policy'
        - `displayOrder` integer
    - `transfer` object, required
      - `accounts` object[], required
        - `accountId` string, required
      - `rules` object[]
        - `id` string
        - `ruleType` 'per_transaction_amount' | 'daily_amount' | 'weekly_amount' | 'monthly_amount' | 'hourly_count' | 'daily_count', required
        - `thresholdAmount` union
          - string
          - number
        - `thresholdCount` integer
        - `action` 'block' | 'require_approval', required
        - `requiredApprovals` integer
        - `accountAggregationScope` 'per_account' | 'across_accounts'
        - `actorAggregationScope` 'per_agent' | 'per_policy'
        - `displayOrder` integer
    - `counterpartyRules` object
      - `mode` 'open' | 'restricted', required
      - `allowedCounterparties` string[]
      - `createAction` 'allow' | 'block' | 'require_approval'
      - `requestPaymentDetailsAction` 'allow' | 'block' | 'require_approval'
      - `allowCreate` boolean

## Response `200`

The temporary override policy and its expiring grant

- object
  - `policy` object, required
    - `id` string, required
    - `name` string, required
  - `basePolicyId` string, required
  - `grant` object, required
    - `id` string, required
    - `expiresAt` string, date-time, required

---

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