---
title: "Batch-verify citations (hallucination check)"
method: POST
path: "/api/v1/verify"
tags: ["objects"]
---

# Batch-verify citations (hallucination check)

`POST /api/v1/verify`

## Request

- Base URL: `https://kvasir.legal`
- URL: `https://kvasir.legal/api/v1/verify`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer
  - none

Send up to 200 citation strings — or raw text, from which citations are extracted — and get per-citation verified/unresolved status with canonical URIs, sources, pinpoint units and suggestions.

## Request body

- object
  - `citations` string[]
  - `quellen` string: comma-separated jurisdiction filter (bund, by, nrw, sn, bb, hb, at, ch, eu) — pins abbreviations that exist in more than one jurisdiction, e.g. BV (CH/BY)
  - `text` string: alternative to `citations`

## Response `200`

Per-citation results + summary

- object
  - `results` object[]
  - `summary` object
    - `total` integer
    - `total_submitted` integer
    - `truncated` boolean
    - `unverified` integer
    - `verified` integer

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid API key
- `429`: Rate limit (120/min default), monthly quota or sandbox cap reached — `code` distinguishes; honor Retry-After

---

[API](https://skmtc.dev/kvasir/apis/kvasir-legal-grounding-api.md) · [All operations](https://skmtc.dev/kvasir/apis/kvasir-legal-grounding-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kvasir/apis/kvasir-legal-grounding-api/revisions/87f32370cf06?raw)
