---
title: "Serialize an infra"
method: GET
path: "/infra/{infra_id}/railjson"
tags: ["infra"]
---

# Serialize an infra

`GET /infra/{infra_id}/railjson`

## Path parameters

- `infra_id` integer, required

## Response `200`

The infra in railjson format

- RailJson — An infrastructure description in the RailJson format
  - `buffer_stops` BufferStop[], required — `BufferStops` are obstacles designed to prevent trains from sliding off dead ends.
    - `extensions` BufferStopExtension
      - `sncf` BufferStopSncfExtension
        - `kp` string, required
    - `id` string, required
    - `position` number, double, required
    - `track` string, required
  - `detectors` Detector[], required — `Detector` is a device that identifies the presence of a train in a TVD section (Track Vacancy Detection section), indicating when a track area is occupied.
    - `extensions` DetectorExtension
      - `sncf` DetectorSncfExtension, required
        - `kp` string, required
    - `id` string, required
    - `position` number, double, required
    - `track` string, required
  - `electrifications` Electrification[], required — To allow electric trains to run on our infrastructure, we need to specify which parts of the infrastructure is electrified.
    - `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
  - `extended_switch_types` SwitchType[], required — These define the types of switches available for route management.
    - `groups` object, required
    - `id` string, required
    - `ports` string[], required
  - `level_crossings` LevelCrossing[], required — `LevelCrossing` is an intersections where a railway line crosses a road
    - `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
  - `neutral_sections` NeutralSection[], required — `NeutralSections` are designated areas of rail infrastructure where train drivers are instructed to cut the power supply to the train, primarily for safety reasons.
    - `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
          - `direction` 'START_TO_STOP' | 'STOP_TO_START', required
          - `kp` string, required
          - `position` number, double, required
          - `side` 'LEFT' | 'RIGHT' | 'CENTER', required
          - `track` string, required
          - `type` string, required
          - `value` string, required
        - `end` Sign[], required
          - `direction` 'START_TO_STOP' | 'STOP_TO_START', required
          - `kp` string, required
          - `position` number, double, required
          - `side` 'LEFT' | 'RIGHT' | 'CENTER', required
          - `track` string, required
          - `type` string, required
          - `value` string, required
        - `exe` Sign, required
          - `direction` 'START_TO_STOP' | 'STOP_TO_START', required
          - `kp` string, required
          - `position` number, double, required
          - `side` 'LEFT' | 'RIGHT' | 'CENTER', required
          - `track` string, required
          - `type` string, required
          - `value` string, required
        - `rev` Sign[], required
          - `direction` 'START_TO_STOP' | 'STOP_TO_START', required
          - `kp` string, required
          - `position` number, double, required
          - `side` 'LEFT' | 'RIGHT' | 'CENTER', required
          - `track` string, required
          - `type` string, required
          - `value` string, 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
  - `operational_points` OperationalPoint[], required — Operational point is also known in French as "Point Remarquable" (PR). One `OperationalPoint` is a **collection** of points (`OperationalPointParts`) of interest.
    - `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
          - `kp` string, required
      - `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, nullable
    - `secondary_name` string, nullable
    - `uic` integer, nullable
    - `weight` integer, nullable
  - `routes` Route[], required — A `Route` is an itinerary in the infrastructure. A train path is a sequence of routes. Routes are used to reserve section of path with the interlocking.
    - `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
  - `signals` Signal[], required — `Signals` are devices that visually convey information to train drivers about whether it is safe to proceed, stop, or slow down, based on the interlocking system and the specific signaling rules in place.
    - `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
  - `speed_sections` SpeedSection[], required — The `SpeedSections` represent speed limits (in meters per second) that are applied on some parts of the tracks. One `SpeedSection` can span on several track sections, and do not necessarily cover the whole track sections. Speed sections can overlap.
    - `extensions` SpeedSectionExtensions
      - `psl_sncf` SpeedSectionPslSncfExtension
        - `announcement` Sign[], required
          - `direction` 'START_TO_STOP' | 'STOP_TO_START', required
          - `kp` string, required
          - `position` number, double, required
          - `side` 'LEFT' | 'RIGHT' | 'CENTER', required
          - `track` string, required
          - `type` string, required
          - `value` string, required
        - `r` Sign[], required
          - `direction` 'START_TO_STOP' | 'STOP_TO_START', required
          - `kp` string, required
          - `position` number, double, required
          - `side` 'LEFT' | 'RIGHT' | 'CENTER', required
          - `track` string, required
          - `type` string, required
          - `value` string, required
        - `z` Sign, required
          - `direction` 'START_TO_STOP' | 'STOP_TO_START', required
          - `kp` string, required
          - `position` number, double, required
          - `side` 'LEFT' | 'RIGHT' | 'CENTER', required
          - `track` string, required
          - `type` string, required
          - `value` string, 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
  - `switches` Switch[], required — `Switches` allow for route control and redirection of trains.
    - `extensions` SwitchExtensions
      - `sncf` SwitchSncfExtension
        - `label` string, required
    - `group_change_delay` number, double, required
    - `id` string, required
    - `ports` object, required
    - `switch_type` string, required
  - `track_sections` TrackSection[], required — `TrackSection`` is a segment of rail between switches that serves as a bidirectional path for trains, and can be defined as the longest possible stretch of track within a rail infrastructure.
    - `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
  - `version` string, required — The version of the RailJSON format. Defaults to the current version.

## Other responses

- `404` — The infra was not found

---

[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/versions/1840dbbd64ac/schema)
