0% found this document useful (0 votes)
17 views

Api

This document defines the API endpoints for an application related to cameras, logs, video feeds, and users. It includes endpoints for retrieving, creating, updating, and deleting resources for each of these areas. Validation errors may occur if requests do not meet the defined requirements.

Uploaded by

Gustavo Ribeiro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

Api

This document defines the API endpoints for an application related to cameras, logs, video feeds, and users. It includes endpoints for retrieving, creating, updating, and deleting resources for each of these areas. Validation errors may occur if requests do not meet the defined requirements.

Uploaded by

Gustavo Ribeiro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.

0"},"paths":{"/api/cameras":{"get":{"ta
gs":["cameras"],"summary":"Read
Cameras","operationId":"read_cameras_api_cameras_get","responses":{"200":{"description":
"Successful
Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/
CameraSchema"},"type":"array","title":"Response Read Cameras Api Cameras
Get"}}}}}},"post":{"tags":["cameras"],"summary":"Create
Camera","operationId":"create_camera_api_cameras_post","requestBody":{"content":{"appli
cation/json":{"schema":{"$ref":"#/components/schemas/CameraBase"}}},"required":true},"res
ponses":{"200":{"description":"Successful
Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CameraS
chema"}}}},"422":{"description":"Validation
Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidatio
nError"}}}}}}},"/api/cameras/{camera_id}":{"get":{"tags":["cameras"],"summary":"Read
Camera","operationId":"read_camera_api_cameras__camera_id__get","parameters":[{"requi
red":true,"schema":{"type":"integer","title":"Camera
Id"},"name":"camera_id","in":"path"}],"responses":{"200":{"description":"Successful
Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CameraS
chema"}}}},"422":{"description":"Validation
Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidatio
nError"}}}}}},"put":{"tags":["cameras"],"summary":"Update
Camera","operationId":"update_camera_api_cameras__camera_id__put","parameters":[{"re
quired":true,"schema":{"type":"integer","title":"Camera
Id"},"name":"camera_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{
"$ref":"#/components/schemas/CameraSchema"}}},"required":true},"responses":{"200":{"des
cription":"Successful
Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CameraS
chema"}}}},"422":{"description":"Validation
Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidatio
nError"}}}}}},"delete":{"tags":["cameras"],"summary":"Delete
Camera","operationId":"delete_camera_api_cameras__camera_id__delete","parameters":[{"r
equired":true,"schema":{"type":"integer","title":"Camera
Id"},"name":"camera_id","in":"path"}],"responses":{"200":{"description":"Successful
Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CameraS
chema"}}}},"422":{"description":"Validation
Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidatio
nError"}}}}}}},"/api/cameras/{camera_id}/config":{"get":{"tags":["cameras"],"summary":"Read
Configuration","operationId":"read_configuration_api_cameras__camera_id__config_get","p
arameters":[{"required":true,"schema":{"type":"integer","title":"Camera
Id"},"name":"camera_id","in":"path"}],"responses":{"200":{"description":"Successful
Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Configura
tionSchema"}}}},"422":{"description":"Validation
Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidatio
nError"}}}}}},"put":{"tags":["cameras"],"summary":"Update
Config","operationId":"update_config_api_cameras__camera_id__config_put","parameters":[
{"required":true,"schema":{"type":"integer","title":"Camera
Id"},"name":"camera_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{
"$ref":"#/components/schemas/ConfigurationSchema"}}},"required":true},"responses":{"200":
{"description":"Successful
Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Configura
tionSchema"}}}},"422":{"description":"Validation
Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidatio
nError"}}}}}}},"/api/logs":{"get":{"tags":["logs"],"summary":"Read
Logs","operationId":"read_logs_api_logs_get","responses":{"200":{"description":"Successful
Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/L
ogSchema"},"type":"array","title":"Response Read Logs Api Logs
Get"}}}}}},"post":{"tags":["logs"],"summary":"Create
Log","operationId":"create_log_api_logs_post","requestBody":{"content":{"application/json":{"
schema":{"$ref":"#/components/schemas/LogBase"}}},"required":true},"responses":{"200":{"d
escription":"Successful
Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogSche
ma"}}}},"422":{"description":"Validation
Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidatio
nError"}}}}}}},"/api/logs/{log_id}":{"get":{"tags":["logs"],"summary":"Read
Log","operationId":"read_log_api_logs__log_id__get","parameters":[{"required":true,"schema
":{"type":"integer","title":"Log
Id"},"name":"log_id","in":"path"}],"responses":{"200":{"description":"Successful
Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogSche
ma"}}}},"422":{"description":"Validation
Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidatio
nError"}}}}}},"put":{"tags":["logs"],"summary":"Update
Log","operationId":"update_log_api_logs__log_id__put","parameters":[{"required":true,"sche
ma":{"type":"integer","title":"Log
Id"},"name":"log_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref
":"#/components/schemas/LogSchema"}}},"required":true},"responses":{"200":{"description":"
Successful
Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogSche
ma"}}}},"422":{"description":"Validation
Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidatio
nError"}}}}}},"delete":{"tags":["logs"],"summary":"Delete
Log","operationId":"delete_log_api_logs__log_id__delete","parameters":[{"required":true,"sch
ema":{"type":"integer","title":"Log
Id"},"name":"log_id","in":"path"}],"responses":{"200":{"description":"Successful
Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogSche
ma"}}}},"422":{"description":"Validation
Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidatio
nError"}}}}}}},"/api/video_feed/{index}":{"get":{"tags":["stream"],"summary":"Video
Feed","operationId":"video_feed_api_video_feed__index__get","parameters":[{"required":tru
e,"schema":{"type":"integer","title":"Index"},"name":"index","in":"path"}],"responses":{"200":{"d
escription":"Successful
Response","content":{"application/json":{"schema":{}},"multipart/x-mixed-replace":{}}},"422":{"
description":"Validation
Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidatio
nError"}}}}}}},"/api/login":{"post":{"tags":["user"],"summary":"Login","operationId":"login_api_lo
gin_post","parameters":[{"required":true,"schema":{"type":"string","title":"Email"},"name":"ema
il","in":"query"},{"required":true,"schema":{"type":"string","title":"Password"},"name":"passwor
d","in":"query"}],"responses":{"200":{"description":"Successful
Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionS
chema"}}}},"422":{"description":"Validation
Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidatio
nError"}}}}}}},"/api/logout":{"post":{"tags":["user"],"summary":"Logout","operationId":"logout_a
pi_logout_post","parameters":[{"required":true,"schema":{"type":"integer","title":"User
Id"},"name":"user_id","in":"query"}],"responses":{"200":{"description":"Successful
Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/
SessionSchema"},"type":"array","title":"Response Logout Api Logout
Post"}}}},"422":{"description":"Validation
Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidatio
nError"}}}}}}},"/api/register":{"post":{"tags":["user"],"summary":"Create
User","operationId":"create_user_api_register_post","requestBody":{"content":{"application/js
on":{"schema":{"$ref":"#/components/schemas/UserCreate"}}},"required":true},"responses":{"
200":{"description":"Successful
Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSch
ema"}}}},"422":{"description":"Validation
Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidatio
nError"}}}}}}},"/api/users":{"get":{"tags":["user"],"summary":"Read
Users","operationId":"read_users_api_users_get","responses":{"200":{"description":"Success
ful
Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/
UserSchema"},"type":"array","title":"Response Read Users Api Users
Get"}}}}}}},"/api/users/{user_id}":{"get":{"tags":["user"],"summary":"Read
User","operationId":"read_user_api_users__user_id__get","parameters":[{"required":true,"sc
hema":{"type":"integer","title":"User
Id"},"name":"user_id","in":"path"}],"responses":{"200":{"description":"Successful
Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSch
ema"}}}},"422":{"description":"Validation
Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidatio
nError"}}}}}},"put":{"tags":["user"],"summary":"Update
User","operationId":"update_user_api_users__user_id__put","parameters":[{"required":true,"
schema":{"type":"integer","title":"User
Id"},"name":"user_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$r
ef":"#/components/schemas/UserBase"}}},"required":true},"responses":{"200":{"description":"
Successful
Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSch
ema"}}}},"422":{"description":"Validation
Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidatio
nError"}}}}}},"delete":{"tags":["user"],"summary":"Delete
User","operationId":"delete_user_api_users__user_id__delete","parameters":[{"required":tru
e,"schema":{"type":"integer","title":"User
Id"},"name":"user_id","in":"path"}],"responses":{"200":{"description":"Successful
Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSch
ema"}}}},"422":{"description":"Validation
Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidatio
nError"}}}}}}}},"components":{"schemas":{"CameraBase":{"properties":{"created_at":{"type":"s
tring","format":"date-time","title":"Created
At"},"updated_at":{"type":"string","format":"date-time","title":"Updated
At"},"user_id":{"type":"integer","title":"User
Id"},"active":{"type":"boolean","title":"Active","default":true},"protocol":{"type":"integer","title":"
Protocol","default":0},"ip":{"type":"string","title":"Ip"},"port":{"type":"string","title":"Port"},"endpoi
nt_url":{"type":"string","title":"Endpoint
Url","default":"/"},"camera_user":{"type":"string","title":"Camera
User"},"camera_password":{"type":"string","title":"Camera
Password"},"full_url":{"type":"string","title":"Full
Url","default":"0"}},"type":"object","required":["user_id","ip","port"],"title":"CameraBase"},"Cam
eraSchema":{"properties":{"created_at":{"type":"string","format":"date-time","title":"Created
At"},"updated_at":{"type":"string","format":"date-time","title":"Updated
At"},"user_id":{"type":"integer","title":"User
Id"},"active":{"type":"boolean","title":"Active","default":true},"protocol":{"type":"integer","title":"
Protocol","default":0},"ip":{"type":"string","title":"Ip"},"port":{"type":"string","title":"Port"},"endpoi
nt_url":{"type":"string","title":"Endpoint
Url","default":"/"},"camera_user":{"type":"string","title":"Camera
User"},"camera_password":{"type":"string","title":"Camera
Password"},"full_url":{"type":"string","title":"Full
Url","default":"0"},"id":{"type":"integer","title":"Id"},"configuration":{"$ref":"#/components/sche
mas/ConfigurationSchema"},"logs":{"items":{"$ref":"#/components/schemas/LogSchema"},"ty
pe":"array","title":"Logs"}},"type":"object","required":["user_id","ip","port","id"],"title":"CameraS
chema"},"ConfigurationSchema":{"properties":{"created_at":{"type":"string","format":"date-tim
e","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated
At"},"use_gpu":{"type":"boolean","title":"Use
Gpu","default":false},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number"
,"title":"Longitude"},"weight_url":{"type":"string","title":"Weight
Url","default":"main_weight.pt"},"confidence_sensitivity":{"type":"number","title":"Confidence
Sensitivity","default":0.7},"detection_hex_color":{"type":"string","title":"Detection Hex
Color","default":"ff5454"},"rectangle_thickness":{"type":"integer","title":"Rectangle
Thickness","default":5},"font_size":{"type":"integer","title":"Font
Size","default":4},"font_thickness":{"type":"integer","title":"Font
Thickness","default":5},"id":{"type":"integer","title":"Id"}},"type":"object","required":["id"],"title":"
ConfigurationSchema"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/comp
onents/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPV
alidationError"},"LogBase":{"properties":{"created_at":{"type":"string","format":"date-time","titl
e":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated
At"},"camera_id":{"type":"integer","title":"Camera
Id"},"weather_id":{"type":"integer","title":"Weather Id"},"class_":{"type":"integer","title":"Class
"},"object_detected":{"type":"string","title":"Object
Detected"},"confidence":{"type":"number","title":"Confidence"},"inference_speed_ms":{"type":
"number","title":"Inference Speed
Ms"},"preprocess_speed_ms":{"type":"number","title":"Preprocess Speed
Ms"},"postprocess_speed_ms":{"type":"number","title":"Postprocess Speed
Ms"},"frame_url":{"type":"string","title":"Frame
Url"}},"type":"object","required":["camera_id","class_","object_detected","confidence","frame_
url"],"title":"LogBase"},"LogSchema":{"properties":{"created_at":{"type":"string","format":"date
-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated
At"},"camera_id":{"type":"integer","title":"Camera
Id"},"weather_id":{"type":"integer","title":"Weather Id"},"class_":{"type":"integer","title":"Class
"},"object_detected":{"type":"string","title":"Object
Detected"},"confidence":{"type":"number","title":"Confidence"},"inference_speed_ms":{"type":
"number","title":"Inference Speed
Ms"},"preprocess_speed_ms":{"type":"number","title":"Preprocess Speed
Ms"},"postprocess_speed_ms":{"type":"number","title":"Postprocess Speed
Ms"},"frame_url":{"type":"string","title":"Frame
Url"},"id":{"type":"integer","title":"Id"},"weather":{"$ref":"#/components/schemas/WeatherSche
ma"},"report":{"$ref":"#/components/schemas/ReportSchema"}},"type":"object","required":["ca
mera_id","class_","object_detected","confidence","frame_url","id"],"title":"LogSchema"},"Rep
ortSchema":{"properties":{"created_at":{"type":"string","format":"date-time","title":"Created
At"},"updated_at":{"type":"string","format":"date-time","title":"Updated
At"},"log_id":{"type":"integer","title":"Log Id"},"user_id":{"type":"integer","title":"User
Id"},"type":{"type":"integer","title":"Type"},"fuel_type":{"type":"string","title":"Fuel
Type"},"fire_intensity":{"type":"string","title":"Fire
Intensity"},"id":{"type":"integer","title":"Id"}},"type":"object","required":["log_id","type","id"],"title
":"ReportSchema"},"SessionSchema":{"properties":{"created_at":{"type":"string","format":"dat
e-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated
At"},"user_id":{"type":"integer","title":"User
Id"},"active":{"type":"boolean","title":"Active","default":true},"token":{"type":"string","title":"Toke
n"},"id":{"type":"integer","title":"Id"}},"type":"object","required":["user_id","token","id"],"title":"Se
ssionSchema"},"UserBase":{"properties":{"created_at":{"type":"string","format":"date-time","tit
le":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated
At"},"full_name":{"type":"string","title":"Full
Name"},"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title
":"Password"},"type":{"type":"integer","title":"Type","default":1},"active":{"type":"boolean","title"
:"Active","default":true}},"type":"object","required":["full_name","email","password"],"title":"Use
rBase"},"UserCreate":{"properties":{"created_at":{"type":"string","format":"date-time","title":"C
reated At"},"updated_at":{"type":"string","format":"date-time","title":"Updated
At"},"full_name":{"type":"string","title":"Full
Name"},"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title
":"Password"},"type":{"type":"integer","title":"Type","default":1},"active":{"type":"boolean","title"
:"Active","default":true},"confirm_password":{"type":"string","title":"Confirm
Password"}},"type":"object","required":["full_name","email","password","confirm_password"],"
title":"UserCreate"},"UserSchema":{"properties":{"created_at":{"type":"string","format":"date-ti
me","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated
At"},"full_name":{"type":"string","title":"Full
Name"},"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title
":"Password"},"type":{"type":"integer","title":"Type","default":1},"active":{"type":"boolean","title"
:"Active","default":true},"id":{"type":"integer","title":"Id"},"cameras":{"items":{"$ref":"#/compone
nts/schemas/CameraSchema"},"type":"array","title":"Cameras"},"sessions":{"items":{"$ref":"#/
components/schemas/SessionSchema"},"type":"array","title":"Sessions"},"reports":{"items":{"
$ref":"#/components/schemas/ReportSchema"},"type":"array","title":"Reports"}},"type":"object
","required":["full_name","email","password","id"],"title":"UserSchema"},"ValidationError":{"pro
perties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Locat
ion"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error
Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WeatherSchem
a":{"properties":{"created_at":{"type":"string","format":"date-time","title":"Created
At"},"updated_at":{"type":"string","format":"date-time","title":"Updated
At"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitud
e"},"temperature":{"type":"number","title":"Temperature"},"relative_humidity":{"type":"number",
"title":"Relative Humidity"},"higher_altitude_pressure":{"type":"number","title":"Higher Altitude
Pressure"},"air_density":{"type":"number","title":"Air
Density"},"wind_speed":{"type":"number","title":"Wind
Speed"},"wind_direction":{"type":"number","title":"Wind
Direction"},"pressure":{"type":"number","title":"Pressure"},"cloud_cover":{"type":"number","titl
e":"Cloud Cover"},"precipitation_type":{"type":"string","title":"Precipitation
Type"},"precipitation_probability":{"type":"number","title":"Precipitation
Probability"},"dew_point":{"type":"number","title":"Dew
Point"},"global_radiation":{"type":"number","title":"Global
Radiation"},"id":{"type":"integer","title":"Id"}},"type":"object","required":["id"],"title":"WeatherSc
hema"}}}}

You might also like