Update Policy
PATCH
https://api-prod.useknit.io/api/v1/managed-signing/policies/{policyId}
This endpoint updates an existing policy by its local ID.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
policyId | string | Yes | The local policy ID |
Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | No | Policy name |
rules | object | No | Policy rules configuration |
rules.chains | array | No | Allowed blockchain networks |
rules.maxApprovalAmount | string | No | Maximum approval amount |
rules.maxTransferAmount | string | No | Maximum transfer amount per transaction (in base units) |
rules.denyUnlimitedApprovals | boolean | No | Whether to deny unlimited approvals |
{
"rules": {
"maxApprovalAmount": "2000000",
"denyUnlimitedApprovals": false
}
}Request
curl -X PATCH "https://api-prod.useknit.io/api/v1/managed-signing/policies/<local-policy-id>" \
-H "Authorization: Bearer $KNIT_ACCESS_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"rules": {
"maxApprovalAmount": "2000000",
"denyUnlimitedApprovals": false
}
}'Response
Response
{
"statusCode": 200,
"message": "Policy updated",
"data": {
"id": "<local-policy-id>",
"businessId": "<business-id>",
"name": "default",
"rules": {
"chains": ["ETHEREUM_MAINNET"],
"maxApprovalAmount": "2000000",
"denyUnlimitedApprovals": false
},
"createdAt": "2026-01-20T18:30:40.912Z",
"updatedAt": "2026-01-20T19:15:22.456Z"
},
"success": true
}Response Fields
| Field | Type | Description |
|---|---|---|
id | string | Local policy ID |
businessId | string | Your business ID |
name | string | Policy name |
rules | object | Policy rules configuration |
createdAt | string | Creation timestamp |
updatedAt | string | Last update timestamp |