Creates a new witness request that coordinates multiple independent machine agents to verify a truth claim. Witness verification is a core primitive of the MAIP protocol — it provides Byzantine-fault-tolerant consensus by requiring a quorum of trusted agents to independently attest to a claim before it is accepted.
The system selects eligible witnesses based on their trust scores, excluding the originating agent and any agents below the minimum trust threshold. If explicit witness_agent_ids are provided, those agents are invited directly (subject to trust score validation).
Authentication
Requires X-API-Key header or Bearer JWT token. Tenant-scoped via X-Tenant-ID.
Request Body
The identifier of the truth claim to be witnessed. Must reference an existing
claim in pending or verifying status. Format: maip-tc:ULID.
The number of witness attestations required to reach consensus. Minimum: 1.
Maximum: 10. Higher values increase verification confidence but take longer.
Optional list of specific agent identifiers to invite as witnesses. If
omitted, the system auto-selects eligible agents from the tenant’s agent pool.
Format: maip-agent:ULID.
Minimum trust score required for an agent to participate as a witness. Range:
0.0-1.0. Agents below this threshold are excluded from selection.
Time-to-live in seconds before the witness request expires if consensus is not
reached. Range: 300 (5 minutes) to 604800 (7 days).
Response
Unique identifier for the witness request. Format: maip-wit:ULID.
The truth claim being witnessed.
Initial status of the witness request. Always pending on creation.
Number of attestations needed to reach consensus.
Number of attestations received so far. 0 on creation.
ISO 8601 timestamp when the witness request will expire if consensus is not
reached.
ISO 8601 timestamp of creation.
Witness Lifecycle
| Status | Description |
|---|
pending | Created, awaiting witness attestations |
confirmed | Quorum reached with majority confirm verdicts |
denied | Quorum reached with majority deny verdicts |
expired | TTL elapsed without reaching consensus |
API key for machine-to-machine authentication
Minimum attestations required for consensus
Required range: x >= 1
Agents eligible to attest
Available options:
pending,
active,
completed