{"status":"ok","database":"up","redis":"up"}---ROUTES---
accounts.py:45:@router.get("/accounts")
accounts.py:53:@router.post("/accounts/connect")
accounts.py:66:@router.post("/accounts/{account_id}/test")
accounts.py:97:@router.post("/accounts/{account_id}/reauthorize")
accounts.py:120:@router.post("/accounts/{account_id}/revoke")
accounts.py:145:@router.delete("/accounts/{account_id}")
accounts.py:151:@router.post("/accounts/clear-all")
accounts.py:176:@router.post("/accounts/import-config")
accounts.py:208:@router.patch("/accounts/{account_id}")
attachments.py:75:@router.get("/list")
attachments.py:96:@router.post("/upload")
attachments.py:170:@router.post("/convert-pdf")
attachments.py:216:@router.get("/{att_id}")
attachments.py:226:@router.get("/{att_id}/download")
attachments.py:243:@router.get("/{att_id}/preview")
attachments.py:275:@router.post("/{att_id}/delete")
attachments.py:291:@router.post("/clear-all")
auth.py:53:@router.post("/register", status_code=201)
auth.py:70:@router.post("/login")
auth.py:85:@router.post("/logout")
auth.py:92:@router.get("/me")
auth.py:116:@router.get("/google/start")
auth.py:121:@router.get("/google/callback")
campaigns.py:186:@router.get("/list")
campaigns.py:205:@router.post("/create")
campaigns.py:221:@router.get("/{cid}")
campaigns.py:227:@router.post("/{cid}/patch")
campaigns.py:249:@router.post("/{cid}/delete")
campaigns.py:262:@router.post("/clear-all")
campaigns.py:285:@router.post("/{cid}/preview")
campaigns.py:374:@router.post("/{cid}/start")
campaigns.py:406:@router.post("/{cid}/pause")
campaigns.py:418:@router.post("/{cid}/resume")
campaigns.py:432:@router.post("/{cid}/cancel")
campaigns.py:474:@router.get("/{cid}/progress")
campaigns.py:481:@router.get("/{cid}/stream")
campaigns.py:546:@router.get("/{cid}/recipients")
campaigns.py:596:@router.get("/{cid}/export")
campaigns.py:634:@router.get("/wizard/options")
campaigns.py:678:@router.post("/validate-step")
dashboard.py:18:@router.get("/overview")
dashboard.py:99:@router.get("/status")
logs.py:34:@router.get("/list")
logs.py:69:@router.get("/events")
logs.py:103:@router.get("/audit")
logs.py:132:@router.get("/dlq")
logs.py:156:@router.get("/export")
logs.py:192:@router.get("/recipient/{cr_id}/history")
phones.py:58:@router.get("/list")
phones.py:80:@router.post("/add")
phones.py:97:@router.post("/import")
phones.py:164:@router.post("/{pid}/patch")
phones.py:180:@router.post("/{pid}/delete")
phones.py:192:@router.post("/clear-all")
recipients.py:48:@router.get("/lists")
recipients.py:57:@router.post("/lists")
recipients.py:66:@router.post("/import-preview")
recipients.py:111:@router.post("/import")
recipients.py:162:@router.post("/manual")
recipients.py:193:@router.get("")
recipients.py:207:@router.delete("/{recipient_id}")
recipients.py:222:@router.delete("/lists/{list_id}")
recipients.py:234:@router.post("/lists/{list_id}/clear")
settings_router.py:110:@router.get("/list")
settings_router.py:132:@router.post("/save")
settings_router.py:155:@router.post("/save-batch")
settings_router.py:186:@router.post("/reset")
settings_router.py:204:@router.post("/reset-all")
subjects.py:22:@router.get("")
subjects.py:34:@router.post("")
subjects.py:47:@router.post("/bulk")
subjects.py:63:@router.post("/import")
subjects.py:92:@router.get("/export")
subjects.py:106:@router.put("/{subject_id}")
subjects.py:117:@router.delete("/{subject_id}")
subjects.py:128:@router.post("/clear-all")
suppression.py:54:@router.get("/list")
suppression.py:75:@router.post("/add")
suppression.py:95:@router.post("/import")
suppression.py:160:@router.post("/bulk")
suppression.py:180:@router.post("/check")
suppression.py:192:@router.post("/{sid}/delete")
suppression.py:206:@router.post("/clear-all")
templates.py:27:@router.get("")
templates.py:42:@router.post("")
templates.py:62:@router.post("/upload")
templates.py:81:@router.post("/upload-multiple")
templates.py:101:@router.get("/{template_id}")
templates.py:113:@router.put("/{template_id}")
templates.py:129:@router.post("/{template_id}/duplicate")
templates.py:142:@router.delete("/{template_id}")
templates.py:153:@router.post("/clear-all")
templates.py:160:@router.post("/{template_id}/preview")
templates.py:191:@router.post("/{template_id}/test-pdf")
test_send.py:38:@router.post("/send")
test_send.py:169:@router.get("/accounts")
test_send.py:181:@router.get("/templates")
unsubscribe.py:43:@router.get("/unsubscribe/{token}", response_class=HTMLResponse)
unsubscribe.py:71:@router.post("/unsubscribe/{token}", response_class=HTMLResponse)
unsubscribe.py:109:@router.get("/unsubscribe-status/{token}")
