> ## Documentation Index
> Fetch the complete documentation index at: https://docs.truthlocks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Witness Consensus

> Retrieve the consensus result for a witness verification request

Returns the current consensus state for a witness request, including vote tallies and final determination. Use this endpoint to poll for consensus completion or to retrieve the final result after witnesses have attested.

Consensus is computed automatically when the number of attestations reaches the `required_witnesses` threshold. A simple majority of `confirm` or `deny` verdicts determines the outcome. `abstain` votes count toward the quorum but do not influence the majority calculation.

### Authentication

Requires `X-API-Key` header or Bearer JWT token. Tenant-scoped via `X-Tenant-ID`.

### Path Parameters

<ParamField path="id" type="string" required>
  The unique identifier of the witness request. Format: `maip-wit:ULID`.
</ParamField>

### Response

<ResponseField name="id" type="string">
  The witness request identifier.
</ResponseField>

<ResponseField name="claim_id" type="string">
  The truth claim that was being witnessed.
</ResponseField>

<ResponseField name="status" type="string">
  Current status of the witness request. One of: - `pending` -- still awaiting
  attestations - `confirmed` -- consensus reached, claim is confirmed - `denied`
  \-- consensus reached, claim is denied - `expired` -- TTL elapsed without
  reaching quorum
</ResponseField>

<ResponseField name="required_witnesses" type="integer">
  Number of attestations required for consensus.
</ResponseField>

<ResponseField name="confirmations" type="integer">
  Number of `confirm` verdicts received.
</ResponseField>

<ResponseField name="denials" type="integer">
  Number of `deny` verdicts received.
</ResponseField>

<ResponseField name="abstentions" type="integer">
  Number of `abstain` verdicts received.
</ResponseField>

<ResponseField name="consensus_reached" type="boolean">
  Whether the required quorum has been met and a determination made.
</ResponseField>

<ResponseField name="consensus_at" type="string">
  ISO 8601 timestamp of when consensus was reached. `null` if still pending or
  expired without consensus.
</ResponseField>

<ResponseField name="expires_at" type="string">
  ISO 8601 timestamp of when the witness request expires (or expired).
</ResponseField>

### Consensus Logic

| Scenario                           | Outcome                                                          |
| :--------------------------------- | :--------------------------------------------------------------- |
| Quorum met, majority `confirm`     | `confirmed`                                                      |
| Quorum met, majority `deny`        | `denied`                                                         |
| Quorum met, equal `confirm`/`deny` | Weighted by confidence scores; highest aggregate confidence wins |
| TTL expires before quorum          | `expired`                                                        |
