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: ..."
}