grith.aidocs

Sync & policies

pro

Pro sync state and centralised policy CRUD.

Pro
MethodPathSummaryFlags
GET/sync/statusCloud sync state and last successful pull.
Pro
GET/sync/configsList synced team configs.
Pro
POST/sync/configsApply a synced config bundle to this device.
Pro
GET/policiesList custom policies.
Pro
GET/policies/{name}Fetch one policy.
Pro
POST/policiesCreate a policy.
Pro
PUT/policies/{name}Update a policy.
Pro
DELETE/policies/{name}Delete a policy.
Pro

Sync state

GET /sync/status reports the device's view of the team-managed config bundle:

{
  "last_pull": "2026-05-14T09:00:00Z",
  "last_push": "2026-05-13T18:30:00Z",
  "pending_changes": 0,
  "bundle_id": "..."
}

GET /sync/configs lists synced configs (profiles, filter configs, channel configs, scoring overrides).

POST /sync/configs applies a sync bundle. Body is signed by the dashboard; signature is verified before any state is mutated.

Policies

Policies are reusable named bundles of (threshold overrides, filter configs, profile, allowed channels). Listed and managed via the dashboard, exposed here for automation.

GET    /policies              # list
GET    /policies/{name}       # fetch one
POST   /policies              # create
PUT    /policies/{name}       # update
DELETE /policies/{name}       # delete

A policy shape:

{
  "name": "tight-prod",
  "description": "Hardened for production sessions",
  "thresholds": { "auto_allow": 2.0, "auto_deny": 6.0 },
  "profile_override": "minimal",
  "filter_configs": { "egress": "policies/tight-prod/egress.toml" },
  "channels_allowed": ["pagerduty", "slack-prod"]
}

See also

Last updated: 2026-05-14Edit this page on GitHub →
© 2026 grith. All rights reserved.