Eine Zustimmung erfassen

POST /v1/users/{user_id}/consent-records · Berechtigung consent-records:write

Erfasst eine Zustimmung, die Sie über Ihren eigenen Kanal eingeholt haben (method = management_api). Der Gegenstand ist ein Rechtsdokument (subject_type = document; Zustimmungszwecke sind noch nicht verfügbar) und state ist presented, accepted oder declined. Version, Inhalts-Hash und Sprache werden aus dem Dokument übernommen; Sie können sie nicht angeben. occurred_at ist standardmäßig jetzt und darf weder in der Zukunft liegen noch mehr als 5 Minuten zurückliegen. Zustimmungsdatensätze sind nur anhängbar: Sie werden nie aktualisiert oder gelöscht.

Anfrage

Pfadparameter:

Feld Typ Pflicht Beschreibung
user_id string ja Benutzer-ID (usr_…).

JSON-Body (unbekannte Felder werden mit 400 unknown_field abgelehnt):

Feld Typ Pflicht Beschreibung
Idempotency-Key header nein Optionaler Schlüssel (16–64 Zeichen), mit dem ein wiederholter Request sicher ist.
subject_type string ja Nur document.
subject_id string ja ID des Rechtsdokuments (ldoc_…), das der Benutzer gesehen hat.
state string ja presented, accepted oder declined.
application_id string | null nein Anwendung (app_…); wenn weggelassen und das Dokument anwendungsspezifisch ist, wird die Anwendung des Dokuments erfasst.
occurred_at string (date-time) nein Zeitpunkt des Ereignisses; Standard ist jetzt, nicht in der Zukunft, höchstens 5 Minuten alt.

Antwort

201 Created mit dem Zustimmungsdatensatz.

{
  "id": "crec_01j9xk3m7q8r2s4t6v8w0y2z4b",
  "user_id": "usr_01j9xk3m7q8r2s4t6v8w0y2z4c",
  "subject_type": "document",
  "subject_id": "ldoc_01j9xk3m7q8r2s4t6v8w0y2z4a",
  "subject_version": "2026-10",
  "content_sha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
  "locale": "en",
  "state": "accepted",
  "method": "management_api",
  "application_id": null,
  "occurred_at": "2026-10-05T09:31:12.004211Z"
}

Fehler

HTTP code Wann
400 unknown_field Der Body enthält ein unbekanntes Feld.
404 not_found Der Benutzer oder application_id existiert in dieser Umgebung nicht. Die Erweiterung resource gibt an, welches fehlt: user oder application.
415 unsupported_media_type Der Content-Type ist nicht application/json.
422 validation_failed Ein Feld ist ungültig: unbekanntes Dokument (/subject_id, unknown_subject), subject_type: purpose (not_supported), ein für Dokumente nicht erlaubter Status oder occurred_at außerhalb des Bereichs.
401 unauthenticated Die Anmeldeinformation fehlt, ist ungültig oder wurde widerrufen.
403 insufficient_permissions Der Anmeldeinformation fehlt die erforderliche Berechtigung.
429 rate_limited Das Ratenlimit wurde überschritten; versuchen Sie es nach Ablauf von Retry-After erneut.
503 service_unavailable Eine Abhängigkeit ist vorübergehend nicht verfügbar; versuchen Sie es nach Ablauf von Retry-After erneut.

Beispiel

curl -X POST https://api.eu.keenauth.com/v1/users/usr_01j9xk3m7q8r2s4t6v8w0y2z4c/consent-records \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"subject_type":"document","subject_id":"ldoc_01j9xk3m7q8r2s4t6v8w0y2z4a","state":"accepted"}'

Personenbezogene Daten

Dieser Endpunkt verarbeitet personenbezogene Daten: Zustimmungsdatensätze. Personenbezogene Daten in den KeenAuth-APIs beschreibt, was gespeichert wird, wie lange es aufbewahrt wird und wie es gelöscht wird. Übermitteln Sie in keinem Feld besondere Kategorien personenbezogener Daten (Gesundheit, biometrische Daten, Religion, politische Meinungen, sexuelle Orientierung).