{"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}")