---
title: "Approve all suggested characteristics"
method: POST
path: "/v1/trust/passports/{passportId}/characteristics/approve-all"
tags: ["Trust"]
---

# Approve all suggested characteristics

`POST /v1/trust/passports/{passportId}/characteristics/approve-all`

## Request

- Base URL: `https://api.prod.keyban.io`
- URL: `https://api.prod.keyban.io/v1/trust/passports/{passportId}/characteristics/approve-all`
- Auth: API key in header `X-Api-Key`

Publish every `suggested` extraction of the passport to `product.characteristics` (each becomes `verified`). Conflicts are left untouched — they require individual arbitration.

## Path parameters

- `passportId` string, required

## Response `201`

- DppCharacteristicReviewDto
  - `data` object[], required
    - `key` string, required: Characteristic key (camelCase), as stored in `product.characteristics`.
    - `currentValue` unknown
    - `provenance` object: AI provenance of the characteristic. Absent for source data (badge « Structuré »).
      - `source` 'ai', required: Origin of the extraction. Only `ai` exists today (LLM extraction from the passport free text); source-data characteristics carry no provenance entry at all.
      - `status` 'verified' | 'suggested' | 'conflict', required: Review status: `verified` = grounded in the source text and published to characteristics; `suggested` = not grounded, pending review; `conflict` = a different value already existed, pending arbitration.
      - `value` unknown
      - `sourceTextHash` string, required: SHA-256 (hex) of the source text (name + description) at extraction time. Lets later runs detect that the text changed and the grounding is stale.
      - `extractedAt` string, date-time, required: RFC 3339 timestamp of the extraction.
  - `total` integer, required: Number of review entries (published + parked characteristics).

---

[API](https://skmtc.dev/keyban/apis/keyban-rest-apis.md) · [All operations](https://skmtc.dev/keyban/apis/keyban-rest-apis/llms.txt) · [OpenAPI document](https://skmtc.dev/keyban/apis/keyban-rest-apis/revisions/0bb79a1da961?raw)
