---
title: "Search public vehicle knowledge"
method: GET
path: "/v1/knowledge/search"
tags: ["Search"]
---

# Search public vehicle knowledge

`GET /v1/knowledge/search`

## Request

- Base URL: `https://api.kentekenkompas.nl`
- URL: `https://api.kentekenkompas.nl/v1/knowledge/search`
- Auth: none required

Deterministic Dutch lexical/intent search. Scores explain text matches and intent boosts; relevance is not AI confidence.

## Query parameters

- `q` string, required
- `limit` integer

## Headers

- `If-None-Match` string

## Response `200`

Successful JSON response.

- object
  - `schemaVersion` 'kk-api-v1', required
  - `knowledgeVersion` string, required: Immutable source-knowledge version.
  - `data` SearchResult[], required
    - `id` string, required
    - `type` 'model' | 'answer' | 'term' | 'topic' | 'source', required
    - `title` string, required
    - `answerPreview` string, required
    - `relevanceScore` number, required: Deterministic lexical score; not AI confidence.
    - `relevanceTier` 'EXACT' | 'STRONG' | 'RELATED', required
    - `matchedTerms` string[], required
    - `matchedIntent` 'MODEL_OVERVIEW' | 'BODY_CONFIGURATION' | 'POWERTRAIN' | 'TERM_EXPLANATION' | 'COMPARISON' | 'PROVENANCE' | 'CLASSIFICATION_EXPLANATION' | 'FRESHNESS' | 'FUEL_CONTEXT' | 'GENERAL', required
    - `matchReasons` string[], required
    - `classification` 'OFFICIAL' | 'DERIVED' | 'EDITORIAL', required: OFFICIAL: directly stated by the identified official/primary source. DERIVED: reproducibly derived by KentekenKompas from source data. EDITORIAL: KentekenKompas interpretation or guidance; never an official RDW fact.
    - `freshnessSummary` SearchFreshnessSummary, required
      - `dataAsOf` string, date
      - `sourceCheckedAt` string, date
      - `editorialReviewedAt` string, date
      - `generatedAt` string, date-time
      - `status` 'AVAILABLE' | 'NOT_EXPOSED_IN_SEARCH_INDEX', required
    - `modelKey` string
    - `citationUrl` string, uri, required
  - `evidence` Evidence[], required
    - `evidenceId` string, required
    - `classification` 'OFFICIAL' | 'DERIVED' | 'EDITORIAL', required: OFFICIAL: directly stated by the identified official/primary source. DERIVED: reproducibly derived by KentekenKompas from source data. EDITORIAL: KentekenKompas interpretation or guidance; never an official RDW fact.
    - `sourceIds` string[], required
  - `sources` Source[], required
    - union
      - SourceRecord
        - `sourceId` string, required
        - `kind` 'SOURCE', required
        - `visibility` 'PUBLIC', required
        - `label` string, required
        - `category` 'OFFICIAL_PRIMARY_DATA' | 'OFFICIAL_GUIDANCE' | 'PRIMARY_NON_GOVERNMENT' | 'REPUTABLE_EDITORIAL' | 'BACKGROUND_REFERENCE' | 'KENTEKENKOMPAS_DERIVED' | 'KENTEKENKOMPAS_EDITORIAL', required: Detailed provenance category. KENTEKENKOMPAS_DERIVED and KENTEKENKOMPAS_EDITORIAL are not official RDW sources.
        - `citationUrl` string, uri, required: Human KentekenKompas explanation target, distinct from sourceUrl.
        - `freshness` Freshness, required: Independent content dates. generatedAt only describes bundle generation and never substitutes for dataAsOf, sourceCheckedAt or editorialReviewedAt.
          - `dataAsOf` string, date: Date represented by the underlying data.
          - `sourceCheckedAt` string, date: Date the source was checked.
          - `editorialReviewedAt` string, date: Date editorial interpretation was reviewed.
          - `generatedAt` string, date-time: Bundle generation timestamp; not proof of source actuality.
        - `limitations` Limitation[], required
        - `sourceUrl` string, uri, required: Underlying public evidence location.
      - SourceGroup: Explicit KentekenKompas evidence group. The group classification cannot be interpreted as making KentekenKompas an official source.
        - `sourceId` string, required
        - `kind` 'SOURCE_GROUP', required
        - `visibility` 'PUBLIC', required
        - `label` string, required
        - `category` 'OFFICIAL_PRIMARY_DATA' | 'OFFICIAL_GUIDANCE' | 'PRIMARY_NON_GOVERNMENT' | 'REPUTABLE_EDITORIAL' | 'BACKGROUND_REFERENCE' | 'KENTEKENKOMPAS_DERIVED' | 'KENTEKENKOMPAS_EDITORIAL', required: Detailed provenance category. KENTEKENKOMPAS_DERIVED and KENTEKENKOMPAS_EDITORIAL are not official RDW sources.
        - `citationUrl` string, uri, required: Human KentekenKompas explanation target, distinct from sourceUrl.
        - `freshness` Freshness, required: Independent content dates. generatedAt only describes bundle generation and never substitutes for dataAsOf, sourceCheckedAt or editorialReviewedAt.
          - `dataAsOf` string, date: Date represented by the underlying data.
          - `sourceCheckedAt` string, date: Date the source was checked.
          - `editorialReviewedAt` string, date: Date editorial interpretation was reviewed.
          - `generatedAt` string, date-time: Bundle generation timestamp; not proof of source actuality.
        - `limitations` Limitation[], required
        - `description` string, required
        - `memberSourceIds` string[], required
        - `memberOrderMeaning` string, required
        - `citationUrls` string[], required
  - `freshness` Freshness, required: Independent content dates. generatedAt only describes bundle generation and never substitutes for dataAsOf, sourceCheckedAt or editorialReviewedAt.
    - `dataAsOf` string, date: Date represented by the underlying data.
    - `sourceCheckedAt` string, date: Date the source was checked.
    - `editorialReviewedAt` string, date: Date editorial interpretation was reviewed.
    - `generatedAt` string, date-time: Bundle generation timestamp; not proof of source actuality.
  - `coverage` Coverage: Machine-readable scope and completeness boundaries supplied by the canonical bundle.
  - `limitations` Limitation[], required
  - `citationUrl` string, uri: Human KentekenKompas page supporting the response's core explanation; not the same as underlying sources.

## Other responses

- `304`: Not modified because If-None-Match matched the current representation.
- `400`: The query or parameter constraints were not satisfied.
- `414`: The complete request URL exceeds 2,048 UTF-8 bytes.
- `429`: The anonymous route-class limit was exceeded at this Cloudflare location. This is not a globally exact quota.
- `503`: The selected knowledge release is not ready at this edge location, or the fail-closed request-protection binding is temporarily unavailable.

---

[API](https://skmtc.dev/kentekenkompas/apis/kentekenkompas-public-knowledge-api.md) · [All operations](https://skmtc.dev/kentekenkompas/apis/kentekenkompas-public-knowledge-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kentekenkompas/apis/kentekenkompas-public-knowledge-api/revisions/147f92845518?raw)
