---
title: "A paginated list of errors related to an infra"
method: GET
path: "/infra/{infra_id}/errors"
tags: ["infra"]
---

# A paginated list of errors related to an infra

`GET /infra/{infra_id}/errors`

## Path parameters

- `infra_id` integer, required

## Query parameters

- `page` integer
- `page_size` integer
- `level` 'warnings' | 'errors' | 'all'
- `error_type` 'duplicated_group' | 'empty_object' | 'invalid_group' | 'invalid_reference' | 'invalid_route' | 'invalid_switch_ports' | 'missing_route' | 'missing_buffer_stop' | 'node_endpoints_not_unique' | 'object_out_of_path' | 'odd_buffer_stop_location' | 'out_of_range' | 'overlapping_electrifications' | 'overlapping_speed_sections' | 'overlapping_switches' | 'unknown_port_name' | 'unused_port' — Auto-generated discriminant enum variants
- `object_id` string

## Response `200`

A paginated list of errors

- object — Statistics about a paginated editoast response Provides the pagination settings issued in the request alongside a few convenience fields useful to navigate the paginated results. # Expected usage This struct is meant to be used and flattened in the response of a paginated query. ``` #[derive(Serialize, ToSchema)] struct MyPaginatedResponse { #[schema(flatten)] pagination: PaginationStats, result: Vec<MyData>, // any other field that makes sense in a paginated response } ``` We named the data field `result` to cope with the old pagination schema which enforced this name. For new paginated responses, the field name is up to your imagination :)
  - `count` integer, required — The total number of items
  - `current` integer, required — The current page number
  - `next` integer, nullable, required — The next page number, if any
  - `page_count` integer, required — The total number of pages
  - `page_size` integer, required — The number of items per page
  - `previous` integer, nullable, required — The previous page number, if any
  - `results` object[], required
    - `information` InfraError, required
      - `field` string, nullable, required
      - `is_warning` boolean, required
      - `obj_id` string, required
      - `obj_type` 'TrackSection' | 'Signal' | 'SpeedSection' | 'Detector' | 'NeutralSection' | 'Switch' | 'SwitchType' | 'BufferStop' | 'Route' | 'OperationalPoint' | 'Electrification' | 'LevelCrossing', required
      - `sub_type` union, required
        - object
          - `error_type` 'duplicated_group', required
          - `original_group_path` string, required
        - object
          - `error_type` 'empty_object', required
        - object
          - `error_type` 'invalid_group', required
          - `group` string, required
          - `switch_type` string, required
        - object
          - `error_type` 'invalid_reference', required
          - `reference` ObjectRef, required
            - `obj_id` string, required
            - `type` 'TrackSection' | 'Signal' | 'SpeedSection' | 'Detector' | 'NeutralSection' | 'Switch' | 'SwitchType' | 'BufferStop' | 'Route' | 'OperationalPoint' | 'Electrification' | 'LevelCrossing', required
        - object
          - `error_type` 'invalid_route', required
        - object
          - `error_type` 'invalid_switch_ports', required
        - object
          - `error_type` 'missing_route', required
        - object
          - `endpoint` 'BEGIN' | 'END', required
          - `error_type` 'missing_buffer_stop', required
        - object
          - `error_type` 'node_endpoints_not_unique', required
        - object
          - `error_type` 'object_out_of_path', required
          - `reference` ObjectRef, required
            - `obj_id` string, required
            - `type` 'TrackSection' | 'Signal' | 'SpeedSection' | 'Detector' | 'NeutralSection' | 'Switch' | 'SwitchType' | 'BufferStop' | 'Route' | 'OperationalPoint' | 'Electrification' | 'LevelCrossing', required
        - object
          - `error_type` 'odd_buffer_stop_location', required
        - object
          - `error_type` 'out_of_range', required
          - `expected_range` number[], required
          - `position` number, double, required
          - `reference` ObjectRef, required
            - `obj_id` string, required
            - `type` 'TrackSection' | 'Signal' | 'SpeedSection' | 'Detector' | 'NeutralSection' | 'Switch' | 'SwitchType' | 'BufferStop' | 'Route' | 'OperationalPoint' | 'Electrification' | 'LevelCrossing', required
        - object
          - `error_type` 'overlapping_electrifications', required
          - `reference` ObjectRef, required
            - `obj_id` string, required
            - `type` 'TrackSection' | 'Signal' | 'SpeedSection' | 'Detector' | 'NeutralSection' | 'Switch' | 'SwitchType' | 'BufferStop' | 'Route' | 'OperationalPoint' | 'Electrification' | 'LevelCrossing', required
        - object
          - `error_type` 'overlapping_speed_sections', required
          - `reference` ObjectRef, required
            - `obj_id` string, required
            - `type` 'TrackSection' | 'Signal' | 'SpeedSection' | 'Detector' | 'NeutralSection' | 'Switch' | 'SwitchType' | 'BufferStop' | 'Route' | 'OperationalPoint' | 'Electrification' | 'LevelCrossing', required
        - object
          - `error_type` 'overlapping_switches', required
          - `reference` ObjectRef, required
            - `obj_id` string, required
            - `type` 'TrackSection' | 'Signal' | 'SpeedSection' | 'Detector' | 'NeutralSection' | 'Switch' | 'SwitchType' | 'BufferStop' | 'Route' | 'OperationalPoint' | 'Electrification' | 'LevelCrossing', required
        - object
          - `error_type` 'unknown_port_name', required
          - `port_name` string, required
        - object
          - `error_type` 'unused_port', required
          - `port_name` string, 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/versions/1840dbbd64ac/schema)
