Skip to main content

Policy API

Get and update the trust policy that controls search behavior.

Get Policy

curl https://api.trygroundai.com/policy \
  -H "Authorization: Bearer gnd_your_api_key"
{
  "id": "default",
  "name": "default",
  "staleness_budget_seconds": 2592000,
  "staleness_budget_days": 30,
  "source_priorities": {
    "repo": 1.0,
    "docs_html": 0.8,
    "docs_openapi": 1.2
  },
  "min_evidence_count": 1,
  "min_evidence_score": 0.3,
  "enforce_staleness": true,
  "enforce_refusal": false,
  "created_at": "2026-01-17T00:00:00Z",
  "updated_at": "2026-01-17T00:00:00Z"
}

Update Policy

Only provided fields are updated. All fields are optional.
staleness_budget_seconds
integer
Seconds before content is stale (60-31536000)
source_priorities
object
Priority weights for source types
source_priorities.repo
float
Weight for repository sources (0-5)
source_priorities.docs_html
float
Weight for HTML documentation (0-5)
source_priorities.docs_openapi
float
Weight for OpenAPI specs (0-5)
min_evidence_count
integer
Minimum results before refusing (0-100)
min_evidence_score
float
Minimum score before refusing (0-1)
enforce_staleness
boolean
Filter/warn about stale results
enforce_refusal
boolean
Refuse with insufficient evidence
# Update staleness budget to 7 days
curl -X PUT https://api.trygroundai.com/policy \
  -H "Authorization: Bearer gnd_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "staleness_budget_seconds": 604800
  }'

# Update source priorities
curl -X PUT https://api.trygroundai.com/policy \
  -H "Authorization: Bearer gnd_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "source_priorities": {
      "repo": 0.8,
      "docs_html": 0.6,
      "docs_openapi": 1.5
    }
  }'

# Enable refusal thresholds
curl -X PUT https://api.trygroundai.com/policy \
  -H "Authorization: Bearer gnd_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "min_evidence_count": 2,
    "min_evidence_score": 0.5,
    "enforce_refusal": true
  }'
{
  "id": "default",
  "name": "default",
  "staleness_budget_seconds": 604800,
  "staleness_budget_days": 7,
  "source_priorities": {
    "repo": 1.0,
    "docs_html": 0.8,
    "docs_openapi": 1.2
  },
  "min_evidence_count": 1,
  "min_evidence_score": 0.3,
  "enforce_staleness": true,
  "enforce_refusal": false,
  "created_at": "2026-01-17T00:00:00Z",
  "updated_at": "2026-01-17T12:00:00Z"
}

Reset Policy

Reset all settings to defaults.
curl -X POST https://api.trygroundai.com/policy/reset \
  -H "Authorization: Bearer gnd_your_api_key"
{
  "id": "default",
  "name": "default",
  "staleness_budget_seconds": 2592000,
  "staleness_budget_days": 30,
  "source_priorities": {
    "repo": 1.0,
    "docs_html": 0.8,
    "docs_openapi": 1.2
  },
  "min_evidence_count": 1,
  "min_evidence_score": 0.3,
  "enforce_staleness": true,
  "enforce_refusal": false,
  "created_at": "2026-01-17T00:00:00Z",
  "updated_at": "2026-01-17T12:00:00Z"
}

Default Values

SettingDefaultDescription
staleness_budget_seconds259200030 days
source_priorities.repo1.0Neutral weight
source_priorities.docs_html0.8Slightly lower
source_priorities.docs_openapi1.2Slightly higher
min_evidence_count1At least one result
min_evidence_score0.3Low threshold
enforce_stalenesstrueEnabled
enforce_refusalfalseDisabled