---
title: "Compute path properties"
method: POST
path: "/infra/{infra_id}/path_properties"
tags: ["pathfinding"]
---

# Compute path properties

`POST /infra/{infra_id}/path_properties`

## Path parameters

- `infra_id` integer, required

## Request body

- PathPropertiesInput
  - `track_section_ranges` CoreTrackRange[], required — List of track sections
    - `begin` integer, required — The beginning of the range in mm.
    - `direction` 'START_TO_STOP' | 'STOP_TO_START', required
    - `end` integer, required — The end of the range in mm.
    - `track_section` string, required — The track section identifier.

## Response `200`

Path properties

- PathProperties — 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
          - `type` 'electrification', required
          - `voltage` string, required
        - object — Neutral section with a lower pantograph instruction or just a dead section
          - `lower_pantograph` boolean, required
          - `type` 'neutral_section', required
        - object — Non electrified section
          - `type` 'non_electrified', required
  - `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
          - `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/
    - `position` integer, required — Distance from the beginning of the path in mm
    - `secondary_code` string, nullable
    - `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

---

[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)
