---
swagger: '2.0'
info:
  version: '1.0'
  title: SaveEcoBot API радіаційного моніторингу
  description: OpenAPI специфікація для публічного API радіаційного моніторингу SaveEcoBot.<br/>Для отримання ключа доступу заповніть <a href="https://forms.gle/KfPsHd1shXYGfYHW6" target="_blank">анкету за посиланням</a>.
  contact:
    name: SaveDnipro
    email: savednipro@gmail.com
  termsOfService: https://www.saveecobot.com/static/terms
host: www.saveecobot.com
basePath: "/api/v1"
schemes:
- https
consumes:
- application/json
produces:
- application/json
securityDefinitions:
  apikey:
    type: apiKey
    name: apikey
    in: query
paths:
  "/radiation-ukraine/sensors-last-data":
    get:
      tags:
      - Радіаційний моніторинг
      summary: Останні дані усіх публічних радіаційних станцій України
      description: Повертає компактний список останніх значень радіаційного моніторингу. Restricted станції не входять у цю відповідь.
      security:
      - apikey: []
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              data:
                type: array
                items:
                  "$ref": "#/definitions/RadiationLastData"
            required:
            - data
          examples:
            application/json:
              data:
              - sensor_id: 61
                updated_at: '2022-03-21 13:04:02'
                gamma_nsv_h: 80
                is_old: 1
              - sensor_id: 62
                updated_at: '2022-03-21 13:04:02'
                gamma_nsv_h: 70
                is_old: 1
        '503':
          description: Дані тимчасово недоступні
  "/radiation-ukraine/sensors-last-data-with-history":
    get:
      tags:
      - Радіаційний моніторинг
      summary: Останні дані усіх публічних радіаційних станцій України з історією
      description: Повертає останні значення та коротку історію для кожної публічної радіаційної станції.
      security:
      - apikey: []
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              data:
                type: array
                items:
                  "$ref": "#/definitions/RadiationLastDataWithHistory"
            required:
            - data
          examples:
            application/json:
              data:
              - sensor_id: 61
                updated_at: '2022-03-21 13:04:02'
                gamma_nsv_h: 80
                is_old: 1
                history: []
              - sensor_id: 62
                updated_at: '2022-03-21 13:04:02'
                gamma_nsv_h: 70
                is_old: 1
                history: []
        '503':
          description: Дані тимчасово недоступні
  "/radiation-ukraine/sensors-details":
    get:
      tags:
      - Радіаційні станції
      summary: Деталі публічних радіаційних станцій України
      description: Повертає координати, назви та службові поля публічних радіаційних станцій. Для англійської локалізації передайте `filter[language]=en`.
      security:
      - apikey: []
      parameters:
      - name: filter[language]
        in: query
        required: false
        type: string
        enum:
        - uk
        - en
        description: Мова локалізованих назв у відповіді.
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              data:
                type: array
                items:
                  "$ref": "#/definitions/RadiationSensorDetails"
            required:
            - data
          examples:
            application/json:
              data:
              - sensor_id: 61
                sensor_name: вулиця Батумська, 20А
                latitude: '48.51388889'
                longitude: '35.08222222'
                is_cez: false
                region_name: Дніпропетровська область
                city_type_name: місто
                city_name: Дніпро
                platform_name: КП «ЦЕМ» ДОР
                notes: 
                installation_partners: 
                device_type: 
                measurement_type: автоматично
                url_maps: https://www.saveecobot.com/radiation-maps#9/48.51388889/35.08222222/gamma+usv/ara+arc+clua+cuc+crc+radh-4/device_61
              - sensor_id: 62
                sensor_name: вулиця Космонавта Волкова, 11А
                latitude: '48.40388889'
                longitude: '35.13166667'
                is_cez: false
                region_name: Дніпропетровська область
                city_type_name: місто
                city_name: Дніпро
                platform_name: КП «ЦЕМ» ДОР
                notes: 
                installation_partners: 
                device_type: 
                measurement_type: автоматично
                url_maps: https://www.saveecobot.com/radiation-maps#9/48.40388889/35.13166667/gamma+usv/ara+arc+clua+cuc+crc+radh-4/device_62
        '503':
          description: Дані тимчасово недоступні
  "/radiation-ukraine/sensor-last-data/{sensor_id}":
    get:
      tags:
      - Радіаційні станції
      summary: Останні дані однієї публічної радіаційної станції
      description: Повертає список останніх показників конкретної публічної станції та коротку історію за останню добу.
      security:
      - apikey: []
      parameters:
      - name: sensor_id
        in: path
        required: true
        type: integer
        description: Ідентифікатор станції моніторингу.
      responses:
        '200':
          description: OK
          schema:
            type: object
            properties:
              data:
                type: array
                items:
                  "$ref": "#/definitions/RadiationSingleSensorValue"
            required:
            - data
          examples:
            application/json:
              data:
              - phenomenon: aqi_pm25
                value: 13
                unit: ''
                format: "%d"
                emoji: ''
                updated_at: '2022-03-21T14:00:00.000000Z'
                updated_at_utc: '2022-03-21T12:00:00Z'
                is_old: 1
                history: []
              - phenomenon: co_mg
                value: 0.7787
                unit: мг/м³
                format: "%0.2f"
                emoji: "\U0001F4AD"
                updated_at: '2022-03-21 13:04:02'
                updated_at_utc: '2022-03-21T11:04:02Z'
                is_old: 1
                history: []
        '403':
          description: Станція недоступна для публічного API
        '404':
          description: Станцію не знайдено
  "/legacy/radiation-ukraine/sensors-last-data":
    get:
      tags:
      - Legacy
      summary: Legacy endpoint останніх даних радіаційного моніторингу
      description: Legacy-варіант відповіді для інтеграцій, які були створені до актуальних snapshot endpoint-ів. Нові інтеграції мають використовувати `/radiation-ukraine/sensors-last-data`.
      security:
      - apikey: []
      responses:
        '200':
          description: OK
          examples:
            application/json:
              data:
              - sensor_id: 61
                updated_at: '2022-03-21 13:04:02'
                gamma_nsv_h: 80
                is_old: 1
              - sensor_id: 62
                updated_at: '2022-03-21 13:04:02'
                gamma_nsv_h: 70
                is_old: 1
          schema:
            type: object
            properties:
              data:
                type: array
                items:
                  "$ref": "#/definitions/RadiationLastData"
            required:
            - data
  "/legacy/radiation-ukraine/sensors-last-data-with-history":
    get:
      tags:
      - Legacy
      summary: Legacy endpoint останніх даних з історією
      description: Legacy-варіант відповіді з історією для старих інтеграцій.
      security:
      - apikey: []
      responses:
        '200':
          description: OK
          examples:
            application/json:
              data:
              - sensor_id: 61
                updated_at: '2022-03-21 13:04:02'
                gamma_nsv_h: 80
                is_old: 1
                history: []
              - sensor_id: 62
                updated_at: '2022-03-21 13:04:02'
                gamma_nsv_h: 70
                is_old: 1
                history: []
          schema:
            type: object
            properties:
              data:
                type: array
                items:
                  "$ref": "#/definitions/RadiationLastDataWithHistory"
            required:
            - data
  "/legacy/radiation-ukraine/sensors-details":
    get:
      tags:
      - Legacy
      summary: Legacy endpoint деталей радіаційних станцій
      description: Legacy-варіант деталей станцій для старих інтеграцій.
      security:
      - apikey: []
      parameters:
      - name: filter[language]
        in: query
        required: false
        type: string
        enum:
        - uk
        - en
        description: Мова локалізованих назв у відповіді.
      responses:
        '200':
          description: OK
          examples:
            application/json:
              data:
              - sensor_id: 61
                sensor_name: вулиця Батумська, 20А
                latitude: '48.51388889'
                longitude: '35.08222222'
                is_cez: false
                region_name: Дніпропетровська область
                city_type_name: місто
                city_name: Дніпро
                platform_name: КП «ЦЕМ» ДОР
                notes: 
                installation_partners: 
                device_type: 
                measurement_type: автоматично
                url_maps: https://www.saveecobot.com/radiation-maps#9/48.51388889/35.08222222/gamma+usv/ara+arc+clua+cuc+crc+radh-4/device_61
              - sensor_id: 62
                sensor_name: вулиця Космонавта Волкова, 11А
                latitude: '48.40388889'
                longitude: '35.13166667'
                is_cez: false
                region_name: Дніпропетровська область
                city_type_name: місто
                city_name: Дніпро
                platform_name: КП «ЦЕМ» ДОР
                notes: 
                installation_partners: 
                device_type: 
                measurement_type: автоматично
                url_maps: https://www.saveecobot.com/radiation-maps#9/48.40388889/35.13166667/gamma+usv/ara+arc+clua+cuc+crc+radh-4/device_62
          schema:
            type: object
            properties:
              data:
                type: array
                items:
                  "$ref": "#/definitions/RadiationSensorDetails"
            required:
            - data
definitions:
  RadiationLastData:
    type: object
    properties:
      sensor_id:
        type: integer
      updated_at:
        type: string
      gamma_nsv_h:
        type: number
        format: float
      is_old:
        type: integer
        enum:
        - 0
        - 1
  RadiationLastDataWithHistory:
    allOf:
    - "$ref": "#/definitions/RadiationLastData"
    - type: object
      properties:
        history:
          type: array
          items:
            "$ref": "#/definitions/RadiationHistoryPoint"
  RadiationHistoryPoint:
    type: object
    properties:
      datetime:
        type: string
      value:
        type: number
        format: float
  RadiationSensorDetails:
    type: object
    properties:
      sensor_id:
        type: integer
      sensor_name:
        type: string
      latitude:
        type: string
      longitude:
        type: string
      is_cez:
        type: boolean
      region_name:
        type: string
      city_type_name:
        type: string
      city_name:
        type: string
      platform_name:
        type: string
      notes:
        type: string
        x-nullable: true
      installation_partners:
        type: string
        x-nullable: true
      device_type:
        type: string
        x-nullable: true
      measurement_type:
        type: string
        x-nullable: true
      url_maps:
        type: string
        format: uri
  RadiationSingleSensorValue:
    type: object
    properties:
      phenomenon:
        type: string
        example: gamma_nsv_h
      value:
        type: number
        format: float
        x-nullable: true
      unit:
        type: string
      format:
        type: string
      emoji:
        type: string
      updated_at:
        type: string
      updated_at_utc:
        type: string
        format: date-time
      is_old:
        type: integer
        enum:
        - 0
        - 1
      history:
        type: array
        items:
          "$ref": "#/definitions/RadiationHistoryPoint"
