Managed Signing
Update Policy

Update Policy

PATCH
https://api-prod.useknit.io/api/v1/managed-signing/policies/{policyId}
Scopemanaged-signing:writeAuthBearer token

This endpoint updates an existing policy by its local ID.

Path Parameters

ParameterTypeRequiredDescription
policyIdstringYesThe local policy ID

Body

FieldTypeRequiredDescription
namestringNoPolicy name
rulesobjectNoPolicy rules configuration
rules.chainsarrayNoAllowed blockchain networks
rules.maxApprovalAmountstringNoMaximum approval amount
rules.maxTransferAmountstringNoMaximum transfer amount per transaction (in base units)
rules.denyUnlimitedApprovalsbooleanNoWhether 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

FieldTypeDescription
idstringLocal policy ID
businessIdstringYour business ID
namestringPolicy name
rulesobjectPolicy rules configuration
createdAtstringCreation timestamp
updatedAtstringLast update timestamp