---
title: "Retrieve a list of operations to fix infra issues"
method: GET
path: "/infra/{infra_id}/auto_fixes"
tags: ["infra"]
---

# Retrieve a list of operations to fix infra issues

`GET /infra/{infra_id}/auto_fixes`

## Path parameters

- `infra_id` integer, required

## Response `200`

The list of suggested operations

- Operation[]
  - union
    - object
      - `obj_type` 'TrackSection', required
      - `railjson` TrackSection, required
        - `curves` Curve[], required
          - `begin` number, double, required
          - `end` number, double, required
          - `radius` number, double, required
        - `extensions` TrackSectionExtensions
          - `sncf` TrackSectionSncfExtension
            - `line_code` integer, required
            - `line_name` string, required
            - `track_name` string, required
            - `track_number` integer, required
          - `source` object, nullable
            - `id` string, required
            - `name` string, required
        - `geo` GeoJsonLineString, required
          - `coordinates` GeoJsonPointValue[], required
            - number[]
          - `type` 'LineString', required
        - `id` string, required
        - `length` number, double, required
        - `loading_gauge_limits` LoadingGaugeLimit[]
          - `begin` number, double, required
          - `category` 'G1' | 'G2' | 'GA' | 'GB' | 'GB1' | 'GC' | 'FR3.3' | 'FR3.3/GB/G2' | 'GLOTT', required
          - `end` number, double, required
        - `slopes` Slope[], required
          - `begin` number, double, required
          - `end` number, double, required
          - `gradient` number, double, required
      - `operation_type` 'CREATE', required
    - object
      - `obj_type` 'Signal', required
      - `railjson` Signal, required
        - `direction` 'START_TO_STOP' | 'STOP_TO_START', required
        - `extensions` SignalExtensions
          - `sncf` SignalSncfExtension
            - `kp` string, required
            - `label` string, required
            - `side` 'LEFT' | 'RIGHT' | 'CENTER'
        - `id` string, required
        - `logical_signals` object[]
          - `conditional_parameters` object[], required
            - `on_route` string, required
            - `parameters` object, required
          - `default_parameters` object, required
          - `next_signaling_systems` string[], required
          - `settings` object, required
          - `signaling_system` string, required
        - `position` number, double, required
        - `sight_distance` number, double, required
        - `track` string, required
      - `operation_type` 'CREATE', required
    - object
      - `obj_type` 'NeutralSection', required
      - `railjson` NeutralSection, required — Neutral sections are portions of track where trains aren't allowed to pull power from electrifications. They have to rely on inertia to cross such sections. In practice, neutral sections are delimited by signs. In OSRD, neutral sections are directional to allow accounting for different sign placement depending on the direction. For more details see [the documentation](https://osrd.fr/en/docs/explanation/neutral_sections/).
        - `announcement_track_ranges` DirectionalTrackRange[], required
          - `begin` number, double, required
          - `direction` 'START_TO_STOP' | 'STOP_TO_START', required
          - `end` number, double, required
          - `track` string, required
        - `extensions` NeutralSectionExtensions
          - `neutral_sncf` NeutralSectionNeutralSncfExtension
            - `announcement` Sign[], required
              - …
            - `end` Sign[], required
              - …
            - `exe` Sign, required
              - …
            - `rev` Sign[], required
              - …
        - `id` string, required
        - `lower_pantograph` boolean, required
        - `track_ranges` DirectionalTrackRange[], required
          - `begin` number, double, required
          - `direction` 'START_TO_STOP' | 'STOP_TO_START', required
          - `end` number, double, required
          - `track` string, required
      - `operation_type` 'CREATE', required
    - object
      - `obj_type` 'SpeedSection', required
      - `railjson` SpeedSection, required
        - `extensions` SpeedSectionExtensions
          - `psl_sncf` SpeedSectionPslSncfExtension
            - `announcement` Sign[], required
              - …
            - `r` Sign[], required
              - …
            - `z` Sign, required
              - …
        - `id` string, required
        - `on_routes` string[], nullable
        - `speed_limit` number, double, nullable
        - `speed_limit_by_tag` object, required
        - `track_ranges` ApplicableDirectionsTrackRange[], required
          - `applicable_directions` 'START_TO_STOP' | 'STOP_TO_START' | 'BOTH', required
          - `begin` number, double, required
          - `end` number, double, required
          - `track` string, required
      - `operation_type` 'CREATE', required
    - object
      - `obj_type` 'Switch', required
      - `railjson` Switch, required
        - `extensions` SwitchExtensions
          - `sncf` SwitchSncfExtension
            - `label` string, required
        - `group_change_delay` number, double, required
        - `id` string, required
        - `ports` object, required
        - `switch_type` string, required
      - `operation_type` 'CREATE', required
    - object
      - `obj_type` 'SwitchType', required
      - `railjson` SwitchType, required
        - `groups` object, required
        - `id` string, required
        - `ports` string[], required
      - `operation_type` 'CREATE', required
    - object
      - `obj_type` 'Detector', required
      - `railjson` Detector, required
        - `extensions` DetectorExtension
          - `sncf` DetectorSncfExtension, required
            - `kp` string, required
        - `id` string, required
        - `position` number, double, required
        - `track` string, required
      - `operation_type` 'CREATE', required
    - object
      - `obj_type` 'BufferStop', required
      - `railjson` BufferStop, required
        - `extensions` BufferStopExtension
          - `sncf` BufferStopSncfExtension
            - `kp` string, required
        - `id` string, required
        - `position` number, double, required
        - `track` string, required
      - `operation_type` 'CREATE', required
    - object
      - `obj_type` 'Route', required
      - `railjson` Route, required
        - `entry_point` union, required
          - object
            - `id` string, required
            - `type` 'BufferStop', required
          - object
            - `id` string, required
            - `type` 'Detector', required
        - `entry_point_direction` 'START_TO_STOP' | 'STOP_TO_START', required
        - `exit_point` union, required
          - object
            - `id` string, required
            - `type` 'BufferStop', required
          - object
            - `id` string, required
            - `type` 'Detector', required
        - `id` string, required
        - `release_detectors` string[], required
        - `switches_directions` object, required
      - `operation_type` 'CREATE', required
    - object
      - `obj_type` 'OperationalPoint', required
      - `railjson` OperationalPoint, required
        - `country_code` string, required
        - `id` string, required
        - `is_passenger_station` boolean, required
        - `main_code` string, required
        - `name` string, required
        - `parts` 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/
        - `secondary_code` string
        - `secondary_name` string, nullable
        - `uic` integer, nullable
        - `weight` integer, nullable
      - `operation_type` 'CREATE', required
    - object
      - `obj_type` 'Electrification', required
      - `railjson` Electrification, required
        - `id` string, required
        - `track_ranges` ApplicableDirectionsTrackRange[], required
          - `applicable_directions` 'START_TO_STOP' | 'STOP_TO_START' | 'BOTH', required
          - `begin` number, double, required
          - `end` number, double, required
          - `track` string, required
        - `voltage` string, required
      - `operation_type` 'CREATE', required
    - object
      - `obj_type` 'LevelCrossing', required
      - `railjson` LevelCrossing, required
        - `id` string, required
        - `name` string, required
        - `parts` LevelCrossingPart[], required
          - `pedal_downstream` integer, required — Offset in mm of the downstream pedal from the main position (downstream refers to the START_TO_STOP direction of the track)
          - `pedal_upstream` integer, required — Offset in mm of the upstream pedal from the main position (upstream refers to the START_TO_STOP direction of the track)
          - `position` number, double, required
          - `track` string, required
        - `short_zone_length` integer, required — Short zone length in mm
      - `operation_type` 'CREATE', required
    - object
      - `obj_id` string, required
      - `obj_type` 'TrackSection' | 'Signal' | 'SpeedSection' | 'Detector' | 'NeutralSection' | 'Switch' | 'SwitchType' | 'BufferStop' | 'Route' | 'OperationalPoint' | 'Electrification' | 'LevelCrossing', required
      - `railjson_patch` PatchOperation[], required — Representation of JSON Patch (list of patch operations)
        - union — JSON Patch single patch operation
          - object — 'add' operation
            - `path` string, required — JSON-Pointer value [RFC6901](https://tools.ietf.org/html/rfc6901) that references a location within the target document where the operation is performed.
            - `value` unknown, required
            - `op` 'add', required
          - object — 'remove' operation
            - `path` string, required — JSON-Pointer value [RFC6901](https://tools.ietf.org/html/rfc6901) that references a location within the target document where the operation is performed.
            - `op` 'remove', required
          - object — 'replace' operation
            - `path` string, required — JSON-Pointer value [RFC6901](https://tools.ietf.org/html/rfc6901) that references a location within the target document where the operation is performed.
            - `value` unknown, required
            - `op` 'replace', required
          - object — 'move' operation
            - `from` string, required — JSON-Pointer value [RFC6901](https://tools.ietf.org/html/rfc6901) that references a location to move value from.
            - `path` string, required — JSON-Pointer value [RFC6901](https://tools.ietf.org/html/rfc6901) that references a location within the target document where the operation is performed.
            - `op` 'move', required
          - object — 'copy' operation
            - `from` string, required — JSON-Pointer value [RFC6901](https://tools.ietf.org/html/rfc6901) that references a location to copy value from.
            - `path` string, required — JSON-Pointer value [RFC6901](https://tools.ietf.org/html/rfc6901) that references a location within the target document where the operation is performed.
            - `op` 'copy', required
          - object — 'test' operation
            - `path` string, required — JSON-Pointer value [RFC6901](https://tools.ietf.org/html/rfc6901) that references a location within the target document where the operation is performed.
            - `value` unknown, required
            - `op` 'test', required
      - `operation_type` 'UPDATE', required
    - object — A delete operation. Contains same information as a object ref but has another serialization.
      - `obj_id` string, required
      - `obj_type` 'TrackSection' | 'Signal' | 'SpeedSection' | 'Detector' | 'NeutralSection' | 'Switch' | 'SwitchType' | 'BufferStop' | 'Route' | 'OperationalPoint' | 'Electrification' | 'LevelCrossing', required
      - `operation_type` 'DELETE', 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/e1fc96bc11fd/schema)
