From 80e93056a24ee987b66e3fb06cf4f801851520ae Mon Sep 17 00:00:00 2001 From: Bartosz Burda Date: Tue, 8 Sep 2026 21:50:50 +0200 Subject: [PATCH 1/3] docs(gateway): define the fault occurrence timestamps in the REST reference The fault detail response showed first_occurrence and last_occurrence as example values without saying what they mean. The REST reference now describes both where the fault object's fields are described, matching the Fault.msg definitions: first_occurrence marks the start of the current occurrence and is reset when a FAILED event reactivates a CLEARED fault, and last_occurrence advances on FAILED events only. --- docs/api/rest.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/api/rest.rst b/docs/api/rest.rst index 0321f22fc..e21bd7f9e 100644 --- a/docs/api/rest.rst +++ b/docs/api/rest.rst @@ -1496,6 +1496,18 @@ Query and manage faults. - ``confirmedDTC``: Confirmed DTC indicator (``0`` or ``1``) - ``pendingDTC``: Pending DTC indicator (``0`` or ``1``) + **Extended Data Records:** + + The ``environment_data.extended_data_records`` object carries the fault's + occurrence timestamps, taken from ``Fault.msg`` (see :doc:`messages`): + + - ``first_occurrence``: when the current occurrence started, reset when a + FAILED event reactivates a CLEARED fault, so it moves with + ``occurrence_count`` instead of marking the fault's first report ever. + - ``last_occurrence``: when this fault last occurred, from FAILED events + only. A PASSED event is the fault ending, not occurring, and does not + touch this field. + **Snapshot Types:** - ``freeze_frame``: Data captured at fault confirmation. Entity frames for From e22b202d39f6e937ac2139accc76b3f77aadb337 Mon Sep 17 00:00:00 2001 From: Bartosz Burda Date: Tue, 8 Sep 2026 22:03:14 +0200 Subject: [PATCH 2/3] docs(gateway): name the message fields behind the REST occurrence timestamps The REST reference points at Fault.msg for the occurrence timestamps, but the message reference documents first_occurred and last_occurred, not the extended_data_records names. State the mapping so a reader following the link does not have to work it out. --- docs/api/rest.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/api/rest.rst b/docs/api/rest.rst index e21bd7f9e..795945be9 100644 --- a/docs/api/rest.rst +++ b/docs/api/rest.rst @@ -1499,7 +1499,8 @@ Query and manage faults. **Extended Data Records:** The ``environment_data.extended_data_records`` object carries the fault's - occurrence timestamps, taken from ``Fault.msg`` (see :doc:`messages`): + occurrence timestamps, which are ``Fault.msg``'s ``first_occurred`` and + ``last_occurred`` under their REST names (see :doc:`messages`): - ``first_occurrence``: when the current occurrence started, reset when a FAILED event reactivates a CLEARED fault, so it moves with From 9b9a79204d24cf9682c5b5ac3465b370957934de Mon Sep 17 00:00:00 2001 From: Bartosz Burda Date: Fri, 11 Sep 2026 11:07:46 +0200 Subject: [PATCH 3/3] docs(gateway): say which route serves the occurrence timestamps under which names The list route serves first_occurred and last_occurred in epoch seconds. Only the fault detail route renames them to first_occurrence and last_occurrence and formats them as ISO-8601 UTC. The extended data records section names both. --- docs/api/rest.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/api/rest.rst b/docs/api/rest.rst index 795945be9..5f55fb862 100644 --- a/docs/api/rest.rst +++ b/docs/api/rest.rst @@ -1500,7 +1500,10 @@ Query and manage faults. The ``environment_data.extended_data_records`` object carries the fault's occurrence timestamps, which are ``Fault.msg``'s ``first_occurred`` and - ``last_occurred`` under their REST names (see :doc:`messages`): + ``last_occurred`` (see :doc:`messages`). The list route serves the same + instants as ``first_occurred`` and ``last_occurred`` in epoch seconds; only + this detail route renames them and formats them as ISO-8601 UTC with + millisecond precision: - ``first_occurrence``: when the current occurrence started, reset when a FAILED event reactivates a CLEARED fault, so it moves with