API Reference
Endpoints, request/response contracts, and intake profiles for integrating with EVIDE.
Choose your intake
Both accept the same EVIDE JSON payload. The difference is what happens after intake.
Anchors the submitted object immediately. The evidentiary boundary is crossed at the moment of submission. Use this when the source system has already reached a stable, closed decision.
Opens a declared observation window before the boundary is crossed. Use this when the condition needs to be observed over time before a final verdict is recorded. Details below ↓
ESB Buffer (Epistemic Stabilization Buffer) Operational Intake Profile
An observation window before the evidentiary boundary
ESB is an optional operational profile for EVIDE intakes. Unlike the standard intake, which anchors the submitted object immediately, ESB introduces a declared observation window during which stabilization events can be recorded before the evidentiary boundary is crossed.
It changes how a payload is processed over time after intake — not what the payload means.
When to use ESB instead of standard intake
Standard intake (/api/intake/json) anchors the submitted object immediately: the evidentiary boundary is crossed at the moment of submission. ESB (/api/intake/esb) is for cases where the source system needs to observe an object for a declared period — recording how a condition evolves — before the boundary crossing is considered final. The same payload schema applies to both; ESB simply keeps the record open for observation instead of closing it at intake.
Endpoints
| Endpoint | Purpose |
|---|---|
POST /api/intake/esb |
Opens the buffer at intake time. Accepts the same payload as standard intake, plus two additional optional fields (below). Response includes esb_status and buffer.buffer_id. |
POST /api/buffer/update |
Records an observation on an open buffer — the state can be updated any number of times before closure. Does not close the buffer. |
POST /api/buffer/close |
Closes the buffer with a final verdict. A closed buffer cannot be updated or closed again. |
Intake-time fields
| Field | Description | Status |
|---|---|---|
| buffer_window_hours | Declared maximum observation window, in hours, requested at intake time. Used to compute window utilization when the buffer closes. | optional |
| buffer.stabilization_source | Declared origin of the stabilization assessment for this buffer. Same vocabulary as the field of the same name accepted by buffer/update and buffer/close below. |
optional |
buffer/update and buffer/close fields
| Field | Description | Status |
|---|---|---|
| buffer_verdict |
Final stabilization outcome. Accepted only by buffer/close — a buffer is created with an implicit pending verdict and cannot declare it explicitly.
pending — implicit default while the buffer is open. Never sent by the client.
stable — the collected observations support a crossing-sufficient stabilization.
unstable — stabilization could not be demonstrated within the declared window. Requires instability_reason.
deferred — closed intentionally without a conclusive verdict. Requires buffer_notes.
|
required at close |
| continuity_state |
Declared continuity of the observed condition. Accepted by both buffer/update and buffer/close.
coherent · partially_coherent · fragmented · unverifiable
|
optional |
| stability_trend |
Declared direction of stability during the observation window.
improving · degrading · oscillating · static
|
optional |
| causal_persistence_signal |
Declared whether the observed condition retained causal continuity from the prior state.
present · attenuated · absent · inconclusive
|
optional |
| stabilization_score | Numerical indicator between 0 and 100 supporting the stabilization assessment. Rejected outright if outside this range — never silently clamped. | optional |
| instability_reason |
Declared cause. Required when buffer_verdict = unstable.
authority_conflict · evidence_gap · runtime_drift · observability_loss · contradictory_signals · threshold_fragmentation · unresolved_intervention · unknown
|
conditional |
| closure_trigger |
Declared mechanism that caused the buffer to close. Accepted only by buffer/close.
manual_close · auto_threshold · timeout · downstream_dependency · escalation · evidentiary_freeze
|
optional |
| stabilization_source |
Declared origin of the stabilization assessment.
human_review · automated_decay · quorum_resolution · timeout_expiration · external_override · mixed
|
optional |
| buffer_notes | Free-text notes. Required when buffer_verdict = deferred or when instability_reason is set. |
conditional |
buffer/close is rejected if less than two seconds have passed since buffer/update-style opening, unless test_mode: true is set. Once closed, a buffer cannot be updated or closed again — buffer/close on an already-closed buffer returns already_closed, not a silent success.
Timeline — a complete lifecycle
// 1. Open — POST /api/intake/esb { "evide_schema": "2.1", // ... same payload fields as standard intake ... "buffer_window_hours": 2, "buffer": { "stabilization_source": "human_review" } } // → { "success": true, "esb_status": "active", "buffer": { "ok": true, "buffer_id": 1 } } // 2. Observe — POST /api/buffer/update (any number of times) { "buffer_id": 1, "stability_trend": "improving", "continuity_state": "coherent", "causal_persistence_signal": "present" } // → { "success": true, "buffer_id": 1, "updated_fields": 3 } // 3. Close — POST /api/buffer/close { "buffer_id": 1, "buffer_verdict": "stable", "closure_trigger": "manual_close", "stabilization_score": 88.5 } // → { "success": true, "buffer_verdict": "stable", "window_seconds": 196, // "semantic_note": "crossing-sufficient, NOT absolute epistemic truth" }
A
stable verdict is crossing-sufficient — it means the observation process, as recorded, supports treating the boundary as crossed. It is not, and is never presented as, absolute epistemic truth.
So hinterlegen Sie
- Melden Sie sich mit Ihrem DAPI-Code im Portal an
- Erstellen Sie eine neue Anfrage und wahlen Sie den Typ JSON strukturiert
- Fugen Sie den JSON-Payload in das dafur vorgesehene Feld ein
- Das System validiert, kanonisiert und berechnet den SHA-256-Hash
- Sie erhalten den EVIDE-Code und die herunterladbare kanonisierte Datei
API-Zugang fur Enterprise-Integrationen verfugbar
Ein API-Endpunkt steht fur die direkte Ubermittlung von EVIDE-Datensatzen aus externen Systemen zur Verfugung. Der Zugang ist zertifizierten Partnern und Enterprise-Kunden vorbehalten. Kontaktieren Sie uns fur technische Dokumentation und Zugangsdaten.
API-Zugang anfordernBereit zur Hinterlegung?
Melden Sie sich mit Ihrem DAPI-Code im Portal an und erstellen Sie Ihre erste strukturierte JSON-Hinterlegung.
Zum Portal Demo ausprobieren