---
title: "Grounding Check (free tier) — POST a statement about the entity and get coded verdicts (supported | contradicted | unverifiable) with confidence and citations against the signed verified record. The guardrail hook: run generated text through it before asserting an entity claim. Zero LLM — deterministic assertion extraction + the canonical-field equivalence ladder, so granularity differences (\"Austin\" vs \"Austin, Texas\") are supported and out-of-record assertions return unverifiable, never guessed. Free tier, rate-limited."
method: POST
path: "/entities/{entityId}/grounding-check"
tags: ["Layer 1 — Profile"]
---

# Grounding Check (free tier) — POST a statement about the entity and get coded verdicts (supported | contradicted | unverifiable) with confidence and citations against the signed verified record. The guardrail hook: run generated text through it before asserting an entity claim. Zero LLM — deterministic assertion extraction + the canonical-field equivalence ladder, so granularity differences ("Austin" vs "Austin, Texas") are supported and out-of-record assertions return unverifiable, never guessed. Free tier, rate-limited.

`POST /entities/{entityId}/grounding-check`

## Request

- Base URL: `https://entidex.com/api/v1`
- URL: `https://entidex.com/api/v1/entities/{entityId}/grounding-check`
- Auth: HTTP bearer

## Path parameters

- `entityId` string, required

## Request body

- GroundingCheckRequest
  - `statement` string, required: The statement to check against the verified record (max 1000 characters). Treated strictly as data — pattern-matched, never interpolated.

## Response `200`

Grounding Check verdicts, or { available: false } when the feature is disabled or the entity has no verified record.

- union
  - GroundingCheck: Grounding Check — coded verdicts for a statement vs the signed verified record. Zero LLM: deterministic assertion extraction + the canonical-field equivalence ladder. A verdict against the verified record, not a global truth adjudication. NOT a §3 Score.
    - `entityId` string, required: Canonical entx_xxxx id.
    - `entity` string, required: Canonical entity name.
    - `available` true, required
    - `verdict` 'supported' | 'contradicted' | 'unverifiable', required: Overall roll-up — worst verdict wins (contradicted > unverifiable > supported).
    - `confidence` integer, nullable, required: Minimum verified-fact confidence across decided assertions; null when none decided.
    - `assertions` GroundingAssertionVerdict[], required
      - `text` string, required: The clause of the statement the assertion was extracted from.
      - `field` string, nullable, required: Canonical field label, e.g. "Headquarters".
      - `canonicalFieldId` string, nullable, required: Stable canonical-field id, e.g. "headquarters".
      - `claimedValue` string, required: The value the statement claims.
      - `verdict` 'supported' | 'contradicted' | 'unverifiable', required
      - `relationship` 'exact' | 'equivalent' | 'narrowing' | 'conflict' | 'null', nullable, required: How the claim relates to the verified value. A granularity difference ("Austin" vs "Austin, Texas") is narrowing and SUPPORTS the record.
      - `confidence` integer, nullable, required: The verified fact's stored confidence; null when unverifiable.
      - `verifiedValue` string, nullable, required
      - `citation` GroundingCitation, required
        - `url` string, uri, required: Deep link into the public Knowledge Statement backing the verdict.
        - `source` string, required: Provenance of the verified value, e.g. "Wikidata".
        - `asOf` string, nullable, required: Observation date of the verified value (ISO).
      - `reason` 'field_not_in_verified_record' | 'unrecognized_assertion' | 'null', nullable, required: Why the assertion is unverifiable — out-of-record assertions are never guessed.
    - `checkedAssertions` integer, required
    - `unverifiableReason` 'no_recognized_assertion' | 'no_decidable_assertion' | 'null', nullable, required
    - `computationVersion` string, required
    - `checkedAt` string, date-time, required
    - `provenance` object, required
      - `verifiedRecordUrl` string, uri, required
      - `methodologyUrl` string, uri, required
      - `note` string, required
  - GroundingCheckUnavailable
    - `entityId` string, required
    - `available` false, required
    - `reason` 'disabled' | 'no_verified_record', required

## Other responses

- `400`: Missing, empty, or over-length `statement` (max 1000 characters).
- `404`: Entity or resource not found.

---

[API](https://skmtc.dev/entidex/apis/entidex-api.md) · [All operations](https://skmtc.dev/entidex/apis/entidex-api/llms.txt) · [OpenAPI document](https://skmtc.dev/entidex/apis/entidex-api/revisions/86b92f21a09a?raw)
