openapi: 3.0.2
info:
  title: API проверки ТС в РНИС (rnis.mos.ru)
  description: Сервис позволяет по государственному регистрационному номеру проверить наличие транспортного средства в Единой региональной навигационно-информационной системе города Москвы (РНИС) и получить время последней навигационной отметки. Источник данных — rnis.mos.ru. Все запросы требуют указания ключа доступа (`key`).
  version: 1.0.0
servers:
  - url: https://parser-api.com/parser/rnis_api
paths:
  /:
    get:
      summary: Проверка транспортного средства в РНИС
      description: Получает информацию о наличии ТС в навигационной системе по его государственному регистрационному номеру.
      parameters:
        - name: key
          in: query
          required: true
          schema:
            type: string
          description: Ключ доступа к сервису.
        - name: regNumber
          in: query
          required: true
          schema:
            type: string
          description: Государственный регистрационный номер транспортного средства.
          example: Т160ХО774
      responses:
        '200':
          description: Успешная обработка запроса.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: integer
                    description: Флаг успешности выполнения запроса. При получении 0 сделайте повторный запрос сразу же или через несколько минут.
                    example: 1
                  record:
                    type: object
                    nullable: true
                    description: Данные о транспортном средстве. Отсутствует, если ТС по указанному госномеру в РНИС не найдено.
                    properties:
                      regNumber:
                        type: string
                        nullable: true
                        description: Государственный регистрационный номер ТС (по данным источника).
                        example: Т160ХО774
                      lastMark:
                        type: string
                        nullable: true
                        description: Дата и время последней навигационной отметки (МСК), формат YYYY-MM-DD HH:MM:SS. null, если отметок нет.
                        example: "2026-06-22 21:04:51"
                      sources:
                        type: array
                        description: Источники навигационных данных по этому ТС.
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: Тип источника телеметрии.
                              example: Wialon
                            originType:
                              type: string
                              description: Исходный тип источника.
                              example: Wialon
                            bnsoNumber:
                              type: string
                              description: Номер бортового навигационно-связного оборудования (может быть пустым).
                              example: ""
              examples:
                vehicleFound:
                  summary: ТС найдено в навигационной системе
                  value:
                    success: 1
                    record:
                      regNumber: Т160ХО774
                      lastMark: "2026-06-22 21:04:51"
                      sources:
                        - type: Wialon
                          originType: Wialon
                          bnsoNumber: ""
                vehicleNotFound:
                  summary: ТС не найдено (record отсутствует)
                  value:
                    success: 1
                temporaryFailure:
                  summary: Временный сбой источника — повторите запрос
                  value:
                    success: 0
        '400':
          description: Ошибка валидации запроса.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Подробное описание ошибки.
                    example: regNumber is required
                  error_code:
                    type: integer
                    description: Код ошибки.
                    example: 40001
        '403':
          description: Ограничение доступа к сервису.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Подробное описание ошибки.
                    example: Invalid access key
                  error_code:
                    type: integer
                    description: Код ошибки.
                    example: 40301
              examples:
                invalidKey:
                  value:
                    error: Invalid access key
                    error_code: 40301
                expiredSubscription:
                  value:
                    error: The subscription period has expired
                    error_code: 40302
                invalidIP:
                  value:
                    error: Invalid IP
                    error_code: 40303
                dayLimitExceeded:
                  value:
                    error: Day limit of requests exceeded
                    error_code: 40304
                monthLimitExceeded:
                  value:
                    error: Month limit of requests exceeded
                    error_code: 40305
