Skip to main content

PUT /v2/admin/groups/{group_id}/policy

Replaces a group's policy. This is not a merge — the document you send becomes the whole policy, and it applies to every member of the group immediately.

Used in flow: Set the first policy, or change the rules in force

Authentication: JWT (Access Token) with update:default_policy

Request

Authorization: Bearer <access_token>
Content-Type: application/json
{
"policyJson": { "...": "the policy document" }
}

Don't hand-write the policy document. Build it with @silencelaboratories/policy-editor or use the admin-dashboard client.

Contact us at [email protected] to get the npm package.

Response

Echoes the stored policy

200 OK
{
"groupId": "00000000-0000-0000-0000-000000000000",
"name": "default-policy",
"policyJson": { "...": "the policy document you sent" },
"updatedAt": "2026-01-15T10:30:00Z"
}

The policy is validated before it is stored. An unsupported combination of chain_type, transaction_type and transaction_attr is rejected:

400 Bad Request
{
"code": 200201,
"error": "Policy validation failed: ..."
}