action | string | Yes | Operation: ‘read’ returns the current policy, ‘validate’ checks a proposed policy update without applying it, ‘write’ applies the update. Values: read, validate, write. |
mode | string | No | Update mode for validate/write. ‘replace’ (default): replaces entire policy. ‘merge’: incrementally adds/removes rules via add and remove fields. Values: replace, merge. |
pathAcls | object[] | No | Path-based access control rules (used in replace mode, or within add/remove for merge mode). Each item: pattern (string, required), permission (string: read | read-write | append | none, required), agentId (string, optional). |
sizeLimits | object[] | No | File size limit rules. Each item: maxBytes (number, required). |
extensionRules | object[] | No | File extension rules. Each rule has allowed and/or denied arrays of extensions (include the dot, e.g. ‘.txt’). Each item: allowed (string[], optional), denied (string[], optional). |
rateLimits | object[] | No | Rate limiting rules. Each item: maxOps (number, required), windowSeconds (number, required), scope (string: agent | workspace, required). |
secretScanning | object | No | Secret scanning config. In merge mode, fields provided here overwrite existing values. Fields: enabled (boolean, required), block (boolean, optional), allowPatterns (string[], optional). |
add | object | No | Rules to add (merge mode only). Fields: pathAcls (object[], optional), sizeLimits (object[], optional), extensionRules (object[], optional), rateLimits (object[], optional). |
remove | object | No | Rules to remove (merge mode only). Match by fields: pathAcls on pattern (+agentId), sizeLimits on maxBytes, rateLimits on scope+maxOps+windowSeconds. Fields: pathAcls (object[], optional), sizeLimits (object[], optional), extensionRules (object[], optional), rateLimits (object[], optional). |