---
title: "GET /stdcm/debug_data/{trace_id}"
method: GET
path: "/stdcm/debug_data/{trace_id}"
tags: ["stdcm"]
---

# GET /stdcm/debug_data/{trace_id}

`GET /stdcm/debug_data/{trace_id}`

## Path parameters

- `trace_id` string, required

## Response `200`

- object
  - `failure` SimDebugFailureReport
    - `closest_conflicts` SimDebugConflictReport[], required
      - `at` string, date-time, required
      - `best_remaining_time` number, double, required
      - `current_travel_time` number, double, required
      - `lastOPName` string, nullable
      - `lat` number, double, required
      - `lon` number, double, required
      - `path_geometry` GeoJsonLineString
        - `coordinates` GeoJsonPointValue[], required
          - number[]
        - `type` 'LineString', required
      - `source` RequirementId
        - `id` string, required
        - `type` 'TRAIN' | 'WORK_SCHEDULE', required
      - `time_lost` number, double, required
    - `largest_conflicts` SimDebugConflictReport[], required
      - `at` string, date-time, required
      - `best_remaining_time` number, double, required
      - `current_travel_time` number, double, required
      - `lastOPName` string, nullable
      - `lat` number, double, required
      - `lon` number, double, required
      - `path_geometry` GeoJsonLineString
        - `coordinates` GeoJsonPointValue[], required
          - number[]
        - `type` 'LineString', required
      - `source` RequirementId
        - `id` string, required
        - `type` 'TRAIN' | 'WORK_SCHEDULE', required
      - `time_lost` number, double, required
  - `simulation_data` SimDebugData
    - `departure_time` string, date-time, required
    - `engineering_allowances_ranges` SimDebugEngineeringAllowanceRange[], required
      - `added_duration` number, double, required
      - `from` number, double, required
      - `to` number, double, required
    - `other_requirements` SimDebugTrainZoneRequirement[], required
      - `begin_time` number, double, required
      - `end_time` number, double, required
      - `source` RequirementId
        - `id` string, required
        - `type` 'TRAIN' | 'WORK_SCHEDULE', required
      - `zone_name` string, required
    - `path_properties` PathProperties, required — Properties along a path. Each property is optional since it depends on what the user requests.
      - `curves` object, required — Property f64 values along a path. Each value is associated to a range of the path.
        - `boundaries` integer[], required — List of `n` boundaries of the ranges. A boundary is a distance from the beginning of the path in mm.
        - `values` number[], required — List of `n+1` values associated to the ranges
      - `electrifications` object, required — Electrification property along a path. Each value is associated to a range of the path.
        - `boundaries` integer[], required — List of `n` boundaries of the ranges. A boundary is a distance from the beginning of the path in mm.
        - `values` union[], required — List of `n+1` values associated to the ranges
          - union
            - object — Electrified section with a given voltage
              - …
            - object — Neutral section with a lower pantograph instruction or just a dead section
              - …
            - object — Non electrified section
              - …
      - `geometry` GeoJsonLineString, required
        - `coordinates` GeoJsonPointValue[], required
          - number[]
        - `type` 'LineString', required
      - `operational_points` CoreOperationalPointOnPath[], required — Operational points along the path
        - `country_code` string, required
        - `id` string, required — Id of the operational point
        - `is_passenger_station` boolean, required
        - `main_code` string, required
        - `name` string, required
        - `part` OperationalPointPart, required
          - `extensions` OperationalPointPartExtension
            - `sncf` OperationalPointPartSncfExtension
              - …
          - `local_track_name` string, required
          - `position` number, double, required — Offset on the track section, in m
          - `track` string, required
        - `plc` string, nullable — Primary Location Code : https://rne.eu/it/products/ccs/crd/
        - `position` integer, required — Distance from the beginning of the path in mm
        - `secondary_code` string
        - `secondary_name` string, nullable
        - `uic` integer, nullable
        - `weight` integer, nullable, required — Importance of the operational point
      - `slopes` object, required — Property f64 values along a path. Each value is associated to a range of the path.
        - `boundaries` integer[], required — List of `n` boundaries of the ranges. A boundary is a distance from the beginning of the path in mm.
        - `values` number[], required — List of `n+1` values associated to the ranges
      - `zones` object, required — Zones along a path. Each value is associated to a range of the path.
        - `boundaries` integer[], required — List of `n` boundaries of the ranges. A boundary is a distance from the beginning of the path in mm.
        - `values` string[], required — List of `n+1` values associated to the ranges
    - `sim_output` SimulationResponseSuccess
      - `base` CoreReportTrain, required
        - `energy_consumption` number, double, required — Total energy consumption
        - `path_item_times` integer[], required — Time in ms at which the train *arrives* at each path item given as input of the pathfinding The first value is always `0` (beginning of the path) and the last one, the total time of the simulation (end of the path) In case multiple path items are at the same position, the stop duration of the earlier ones are added to the path item time of the next. For example, if A and B are at the same position, and A has a stop duration of 2s, then the path item time of B will be equal to the path item time of A plus 2s.
        - `positions` integer[], required — List of positions of a train Both positions (in mm) and times (in ms) must have the same length
        - `speeds` number[], required — List of speeds associated to a position
        - `times` integer[], required
      - `electrical_profiles` object, required
        - `boundaries` integer[], required — List of `n` boundaries of the ranges (block path). A boundary is a distance from the beginning of the path in mm.
        - `values` union[], required — List of `n+1` values associated to the ranges
          - union
            - object
              - …
            - object
              - …
      - `final_output` object, required — Simulation that takes into account the regularity margins and the schedule item times
        - `energy_consumption` number, double, required — Total energy consumption
        - `path_item_times` integer[], required — Time in ms at which the train *arrives* at each path item given as input of the pathfinding The first value is always `0` (beginning of the path) and the last one, the total time of the simulation (end of the path) In case multiple path items are at the same position, the stop duration of the earlier ones are added to the path item time of the next. For example, if A and B are at the same position, and A has a stop duration of 2s, then the path item time of B will be equal to the path item time of A plus 2s.
        - `positions` integer[], required — List of positions of a train Both positions (in mm) and times (in ms) must have the same length
        - `speeds` number[], required — List of speeds associated to a position
        - `times` integer[], required
        - `routing_requirements` CoreRoutingRequirement[], required
          - `begin_time` integer, required — Time in ms since a reference point that depends on which struct embeds this one: - in `TrainRequirements` & `TrainRequirementsById` (conflict detection & timetable requirements): a request-wide origin shared by all trains, `work_schedules` and the response (`1970-01-01T00:00:00Z` for calendar timetables, the timetable start for hourly ones); - in `CompleteReportTrain` (simulation results): the train's own `start_time`.
          - `route` string, required
          - `zones` CoreRoutingZoneRequirement[], required
            - `end_time` integer, required — Time in ms since a reference point that depends on which struct embeds this one: - in `TrainRequirements` & `TrainRequirementsById` (conflict detection & timetable requirements): a request-wide origin shared by all trains, `work_schedules` and the response (`1970-01-01T00:00:00Z` for calendar timetables, the timetable start for hourly ones); - in `CompleteReportTrain` (simulation results): the train's own `start_time`.
            - `entry_detector` string, required
            - `exit_detector` string, required
            - `switches` object, required
            - `zone` string, required
        - `signal_critical_positions` CoreSignalCriticalPosition[], required
          - `position` integer, required — Position in mm
          - `signal` string, required
          - `state` string, required
          - `time` integer, required — Time in ms
        - `spacing_requirements` CoreSpacingRequirement[], required
          - `begin_time` integer, required — Time in ms since a reference point that depends on which struct embeds this one: - in `TrainRequirements` & `TrainRequirementsById` (conflict detection & timetable requirements): a request-wide origin shared by all trains, `work_schedules` and the response (`1970-01-01T00:00:00Z` for calendar timetables, the timetable start for hourly ones); - in `CompleteReportTrain` (simulation results): the train's own `start_time`.
          - `end_time` integer, required — Time in ms: see begin_time
          - `zone` string, required
        - `zone_updates` CoreZoneUpdate[], required
          - `is_entry` boolean, required
          - `position` integer, required
          - `time` integer, required
          - `zone` string, required
      - `mrsp` CoreSpeedLimitProperties, required — A MRSP computation result (Most Restrictive Speed Profile)
        - `boundaries` integer[], required — List of `n` boundaries of the ranges (block path). A boundary is a distance from the beginning of the path in mm.
        - `values` CoreSpeedLimitProperty[], required — List of `n+1` values associated to the ranges
          - `source` union — source of the speed-limit if relevant (tag used)
            - object
              - …
            - object
              - …
            - object
              - …
          - `speed` number, double, required — in meters per second
      - `provisional` CoreReportTrain, required
        - `energy_consumption` number, double, required — Total energy consumption
        - `path_item_times` integer[], required — Time in ms at which the train *arrives* at each path item given as input of the pathfinding The first value is always `0` (beginning of the path) and the last one, the total time of the simulation (end of the path) In case multiple path items are at the same position, the stop duration of the earlier ones are added to the path item time of the next. For example, if A and B are at the same position, and A has a stop duration of 2s, then the path item time of B will be equal to the path item time of A plus 2s.
        - `positions` integer[], required — List of positions of a train Both positions (in mm) and times (in ms) must have the same length
        - `speeds` number[], required — List of speeds associated to a position
        - `times` integer[], required
    - `train_positions` number[], required
    - `train_times` number[], required
    - `zone_locations` SimDebugZoneLocation[], required
      - `from` number, double, required
      - `name` string, required
      - `to` number, double, required

---

[API](https://skmtc.net/openrailassociation/apis/osrd-editoast.md) · [All operations](https://skmtc.net/openrailassociation/apis/osrd-editoast/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openrailassociation/osrd-editoast/revisions/b9cc9ddbbec6/schema)
