API: KI-Deklaration als v1-Pflichtfeld, Legacy-Default fuer /service (Entscheidung 10.07.)
Befund: v1 hatte keine KI-Deklarationsfelder — Submit lief seit der KI-Kennzeichnungspflicht (09.07.) immer auf 422 und haette alle Legacy-API-Kunden blockiert (Suite uebersah es: Factory deklariert). - v1-Submit verlangt ai_text_declaration; der Call gilt dokumentiert als verbindliche Bestaetigung (Art. 50 KI-VO) und schliesst die Archiv-Kenntnisnahme (AGB par. 13) ein - Bild-Upload verlangt ai_declaration (original/ai_generated/ai_edited) - Legacy-/service-Aliasse defaulten auf none/original — das API-Kunden-Mailing (R6.4) weist auf die Erklaerungswirkung hin - OpenAPI v1.yml + lang-Hinweis aktualisiert; Tests erweitert (Submit/Image/LegacyCompatibility) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
3843e534da
commit
92af015532
11 changed files with 213 additions and 10 deletions
|
|
@ -125,16 +125,39 @@ paths:
|
|||
description: |
|
||||
Der einzige API-Weg Richtung Veröffentlichung. Durchläuft denselben
|
||||
Funnel wie das Web-Formular (Richtlinien-Filter, Kontingent, Status-Log).
|
||||
|
||||
Der Aufruf erklärt verbindlich den deklarierten KI-Grad des Textes
|
||||
(`ai_text_declaration`, Transparenzpflicht nach Art. 50 KI-VO) und
|
||||
schließt die Kenntnisnahme der dauerhaften Archivierung ein
|
||||
(AGB § 13: Depublikation nur als kostenpflichtiger Service,
|
||||
gesetzliche Ansprüche unberührt).
|
||||
parameters:
|
||||
- name: id
|
||||
in: path
|
||||
required: true
|
||||
schema: { type: integer }
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
required: [ai_text_declaration]
|
||||
properties:
|
||||
ai_text_declaration:
|
||||
type: string
|
||||
enum: [none, assisted, mostly_ai, fully_ai]
|
||||
description: >
|
||||
Deklarierter KI-Grad des Textes: ohne generative KI (none),
|
||||
KI als Formulierungshilfe mit redaktioneller Überarbeitung
|
||||
(assisted), überwiegend KI-erstellt und geprüft (mostly_ai),
|
||||
vollständig KI-generiert (fully_ai). Ab mostly_ai trägt die
|
||||
Veröffentlichung ein öffentliches Transparenz-Label.
|
||||
responses:
|
||||
"200": { description: "Eingereicht (Status review)" }
|
||||
"402": { description: "Aktive Buchung erforderlich (Tarif oder Einzel-PM)" }
|
||||
"409": { description: "Nur draft/rejected kann eingereicht werden" }
|
||||
"422": { description: "Kontingent erschöpft oder Richtlinienverstoß" }
|
||||
"422": { description: "KI-Deklaration fehlt/ungültig, Kontingent erschöpft oder Richtlinienverstoß" }
|
||||
/press-releases/{id}/images:
|
||||
parameters:
|
||||
- name: id
|
||||
|
|
@ -164,12 +187,18 @@ paths:
|
|||
multipart/form-data:
|
||||
schema:
|
||||
type: object
|
||||
required: [image]
|
||||
required: [image, ai_declaration]
|
||||
properties:
|
||||
image:
|
||||
type: string
|
||||
format: binary
|
||||
description: JPG, PNG oder WebP, max. 8 MB
|
||||
ai_declaration:
|
||||
type: string
|
||||
enum: [original, ai_generated, ai_edited]
|
||||
description: >
|
||||
KI-Kennzeichnung des Bildes (Art. 50 KI-VO): Originalfoto,
|
||||
KI-generiert oder KI-bearbeitet.
|
||||
title: { type: string, maxLength: 120 }
|
||||
description: { type: string, maxLength: 500 }
|
||||
copyright: { type: string, maxLength: 255 }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue