{"openapi":"3.1.0","info":{"title":"Forest Fires API","description":"An API over the UCI Forest Fires dataset — recorded fires in Montesinho park, Portugal, with weather conditions, fire-danger indices and burned area. You can browse the data and also add, edit and delete records.","version":"2.0.0"},"paths":{"/health":{"get":{"tags":["meta"],"summary":"Health","description":"Liveness check.","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/summary":{"get":{"tags":["data"],"summary":"Summary","description":"Headline statistics for the whole dataset.","operationId":"summary_api_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/meta":{"get":{"tags":["data"],"summary":"Meta","description":"What's in the data: columns with plain-English labels and allowed values.","operationId":"meta_api_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/by-month":{"get":{"tags":["data"],"summary":"By Month","description":"Per-month breakdown, in calendar order.","operationId":"by_month_api_by_month_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/by-day":{"get":{"tags":["data"],"summary":"By Day","description":"Per-day-of-week breakdown, Monday first.","operationId":"by_day_api_by_day_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/fires":{"get":{"tags":["data"],"summary":"List Fires","description":"Search the fires. Filters, sorting and pagination; results are wrapped\nwith the total count so you can page through them.","operationId":"list_fires_api_fires_get","parameters":[{"name":"month","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by month, e.g. 'aug'","title":"Month"},"description":"Filter by month, e.g. 'aug'"},{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by day, e.g. 'fri'","title":"Day"},"description":"Filter by day, e.g. 'fri'"},{"name":"burned","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"true = area>0 only; false = area==0 only","title":"Burned"},"description":"true = area>0 only; false = area==0 only"},{"name":"area_min","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Minimum burned area (ha)","title":"Area Min"},"description":"Minimum burned area (ha)"},{"name":"area_max","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Maximum burned area (ha)","title":"Area Max"},"description":"Maximum burned area (ha)"},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Field to sort by (see /api/meta)","title":"Sort"},"description":"Field to sort by (see /api/meta)"},{"name":"order","in":"query","required":false,"schema":{"type":"string","pattern":"^(asc|desc)$","default":"asc","title":"Order"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["edit"],"summary":"Create Fire","description":"Add a new fire record. Returns the created record, including its new id.","operationId":"create_fire_api_fires_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FireIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/fires/{fire_id}":{"get":{"tags":["data"],"summary":"Get Fire","description":"A single fire by its id.","operationId":"get_fire_api_fires__fire_id__get","parameters":[{"name":"fire_id","in":"path","required":true,"schema":{"type":"integer","title":"Fire Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["edit"],"summary":"Update Fire","description":"Edit an existing fire. Send only the fields you want to change.","operationId":"update_fire_api_fires__fire_id__put","parameters":[{"name":"fire_id","in":"path","required":true,"schema":{"type":"integer","title":"Fire Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FireUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["edit"],"summary":"Delete Fire","description":"Delete a fire by its id.","operationId":"delete_fire_api_fires__fire_id__delete","parameters":[{"name":"fire_id","in":"path","required":true,"schema":{"type":"integer","title":"Fire Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/":{"get":{"tags":["meta"],"summary":"Home","description":"Human-friendly landing page pointing to the interactive docs.","operationId":"home__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"FireIn":{"properties":{"X":{"type":"integer","maximum":9.0,"minimum":1.0,"title":"X"},"Y":{"type":"integer","maximum":9.0,"minimum":1.0,"title":"Y"},"month":{"type":"string","title":"Month"},"day":{"type":"string","title":"Day"},"FFMC":{"type":"number","title":"Ffmc"},"DMC":{"type":"number","title":"Dmc"},"DC":{"type":"number","title":"Dc"},"ISI":{"type":"number","title":"Isi"},"temp":{"type":"number","title":"Temp"},"RH":{"type":"number","minimum":0.0,"title":"Rh"},"wind":{"type":"number","minimum":0.0,"title":"Wind"},"rain":{"type":"number","minimum":0.0,"title":"Rain"},"area":{"type":"number","minimum":0.0,"title":"Area"}},"type":"object","required":["X","Y","month","day","FFMC","DMC","DC","ISI","temp","RH","wind","rain","area"],"title":"FireIn","description":"A full fire record (all fields required) — used when adding a new one."},"FireUpdate":{"properties":{"X":{"anyOf":[{"type":"integer","maximum":9.0,"minimum":1.0},{"type":"null"}],"title":"X"},"Y":{"anyOf":[{"type":"integer","maximum":9.0,"minimum":1.0},{"type":"null"}],"title":"Y"},"month":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Month"},"day":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Day"},"FFMC":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ffmc"},"DMC":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Dmc"},"DC":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Dc"},"ISI":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Isi"},"temp":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Temp"},"RH":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Rh"},"wind":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Wind"},"rain":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Rain"},"area":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Area"}},"type":"object","title":"FireUpdate","description":"Any subset of fields — used when editing. Omitted fields stay as they were."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}