{"openapi":"3.1.0","info":{"title":"f-tracker.ru Open API","version":"1.0.0","description":"Наличие топлива на АЗС: сведённая картина по нашим весам плюс отметки водителей.\n\nТолько чтение. Данные отдаются из нашего кэша: запрос к API никогда не инициирует\nобращение к сторонним сервисам, поэтому «свежее, чем в кэше» получить нельзя —\nснимки обновляются не чаще раза в 30 минут.\n\nВозраст обязателен рядом с каждым утверждением. `null` означает «не знаем», а не «ноль».\nЦена в `prices` — цена конкретной АЗС; `pricesApprox` — средняя по сети, ценой\nзаправки она не является.\n\nУсловия: обязательна атрибуция «данные f-tracker.ru», запрещена перепродажа и выдача\nнаших вердиктов за собственные измерения. Ключ может быть отозван.","contact":{"email":"webmaster@akulichev.com"}},"servers":[{"url":"https://f-tracker.ru/openapi/v1"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Ключ выдаёт владелец сервиса"}}},"security":[{"bearerAuth":[]}],"paths":{"/health":{"get":{"summary":"Жив ли сервис и возраст свежайшего снимка","security":[],"responses":{"200":{"description":"ок","content":{"application/json":{}}}}}},"/limits":{"get":{"summary":"Лимиты ключа и текущий остаток","responses":{"200":{"description":"ок","content":{"application/json":{}}}}}},"/cities":{"get":{"summary":"Справочник городов","responses":{"200":{"description":"ок","content":{"application/json":{}}}}}},"/cities/{slug}/summary":{"get":{"summary":"Сводка по городу: сколько АЗС с топливом, медианы цен","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ок","content":{"application/json":{}}},"404":{"description":"город не найден","content":{"application/json":{}}},"503":{"description":"снимка пока нет","content":{"application/json":{}}}}}},"/stations":{"get":{"summary":"Список АЗС района со сведённым вердиктом","parameters":[{"name":"city","in":"query","schema":{"type":"string"},"description":"слуг города; либо lat+lon"},{"name":"lat","in":"query","schema":{"type":"number"}},{"name":"lon","in":"query","schema":{"type":"number"}},{"name":"radius","in":"query","schema":{"type":"number","maximum":60},"description":"км, только с lat+lon"},{"name":"status","in":"query","schema":{"type":"string"},"description":"available,queue,none,conflict,unknown — через запятую"},{"name":"fuel","in":"query","schema":{"type":"string"},"description":"ai92,ai95,ai98,ai100,dt,gas — через запятую"},{"name":"brand","in":"query","schema":{"type":"string"}},{"name":"noQueue","in":"query","schema":{"type":"string","enum":["1"]},"description":"скрыть АЗС, где очередь названа"},{"name":"noLimit","in":"query","schema":{"type":"string","enum":["1"]},"description":"скрыть АЗС, где назван лимит"},{"name":"limit","in":"query","schema":{"type":"integer"}},{"name":"offset","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"ок","content":{"application/json":{}}},"400":{"description":"нужен город или координаты","content":{"application/json":{}}},"503":{"description":"снимка пока нет","content":{"application/json":{}}}}}},"/stations/{id}":{"get":{"summary":"Одна АЗС и обезличенная лента отметок","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"city","in":"query","schema":{"type":"string"},"description":"слуг города; либо lat+lon"},{"name":"lat","in":"query","schema":{"type":"number"}},{"name":"lon","in":"query","schema":{"type":"number"}},{"name":"radius","in":"query","schema":{"type":"number","maximum":60},"description":"км, только с lat+lon"}],"responses":{"200":{"description":"ок","content":{"application/json":{}}},"404":{"description":"не найдена в снимке","content":{"application/json":{}}},"503":{"description":"снимка пока нет","content":{"application/json":{}}}}}},"/changes":{"get":{"summary":"Станции, у которых сменился вердикт, начиная с момента since","parameters":[{"name":"since","in":"query","required":true,"schema":{"type":"integer"},"description":"мс epoch; в ответе есть nextSince"},{"name":"city","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"ок","content":{"application/json":{}}},"400":{"description":"нужен since","content":{"application/json":{}}}}}}}}