Every API here is available over the APIs.io API and to AI agents over MCP.
{"openapi":"3.0.0","paths":{"/api/health":{"get":{"operationId":"HealthController_check","parameters":[],"responses":{"200":{"description":""}},"tags":["health","public"]}},"/api/admin/self-control":{"get":{"operationId":"SelfControlController_history","parameters":[],"responses":{"200":{"description":""}},"tags":["SelfControl"]}},"/api/admin/self-control/run":{"post":{"operationId":"SelfControlController_run","parameters":[],"responses":{"201":{"description":""}},"tags":["SelfControl"]}},"/api/tests":{"post":{"operationId":"TestsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTestDto"}}}},"responses":{"201":{"description":""}},"tags":["tests","public"]}},"/api/tests/{token}":{"get":{"operationId":"TestsController_get","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["tests","public"]},"delete":{"operationId":"TestsController_deleteTest","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["tests","public"]}},"/api/tests/{token}/live":{"get":{"operationId":"TestsSseController_stream","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["tests","sse"]}},"/api/track/click":{"post":{"operationId":"TrackController_click","parameters":[],"responses":{"204":{"description":""}},"tags":["tests","public"]}},"/api/presend":{"post":{"operationId":"PresendController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePresendDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["presend","public"]}},"/api/presend/{token}":{"get":{"operationId":"PresendController_get","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["presend","public"]},"delete":{"operationId":"PresendController_delete","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""}},"tags":["presend","public"]}},"/api/admin/presend/stats":{"get":{"operationId":"PresendAdminController_stats","parameters":[{"name":"days","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["PresendAdmin"]}},"/api/sender-links/unsubscribe":{"get":{"operationId":"SenderLinksController_unsubscribeGet","parameters":[{"name":"token","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"summary":"Unsubscribe from sender-link email reports (List-Unsubscribe target)","tags":["sender-links","public"]},"post":{"operationId":"SenderLinksController_unsubscribePost","parameters":[{"name":"token","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["sender-links","public"]}},"/api/sender-links/{linkId}":{"get":{"operationId":"SenderLinksController_get","parameters":[{"name":"linkId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"summary":"Public sender-link page: seed addresses, latest run, history","tags":["sender-links","public"]},"delete":{"operationId":"SenderLinksController_revoke","parameters":[{"name":"linkId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"summary":"Revoke a sender link (page stops resolving, auto-runs stop)","tags":["sender-links","public"]}},"/api/sender-links/{linkId}/reports":{"patch":{"operationId":"SenderLinksController_setReports","parameters":[{"name":"linkId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetReportsDto"}}}},"responses":{"200":{"description":""}},"summary":"Enable/disable email reports for a sender link","tags":["sender-links","public"]}},"/api/sender-links/{linkId}/reactivate":{"post":{"operationId":"SenderLinksController_reactivate","parameters":[{"name":"linkId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"summary":"Reactivate a dormant sender link (scanner picks it up again)","tags":["sender-links","public"]}},"/api/tests/{token}/finish":{"post":{"operationId":"WarmupController_finish","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"summary":"Finish the current check and return its saved partial report","tags":["tests","public"]}},"/api/tests/{token}/warmup":{"post":{"operationId":"WarmupController_warmup","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"summary":"Free warmup — move the test's spam-placed emails back to Inbox on our seed mailboxes (one-off \"not spam\" signal). Public by test token. Idempotent: a repeat POST returns the cached summary without reconnecting. Does NOT change the report verdict (CheckResult.placement). Ф2: governed by DeliverabilityConfig — a no-op (result.disabled=true) unless an operator has set warmupEnabled=true, and capped by warmupMaxPerRun / warmupMaxPerSeedPerDay / warmupMaxPerDay. Each attempted move is audit-logged; each non-move outcome carries an honest status (not_found / provider_denied / timeout / provider_error / seed_unavailable / limit_reached) + reason instead of a blanket failure.","tags":["tests","public"]}},"/api/tests/{token}/repoll":{"post":{"description":"Same one-shot IMAP re-check as the owner-key POST /api/v1/tests/{token}/repoll, but usable by anyone who knows the test token (web/Telegram tests never have an API key to call the v1 endpoint with). 30s cooldown per token, quota NOT consumed (no email sent), refused on waiting/checking, 7-day age cap.","operationId":"WarmupController_repoll","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"summary":"Force IMAP re-poll of a test (within cooldown) — public by token","tags":["tests","public"]}},"/api/admin/tests/{token}/reanalyze":{"post":{"operationId":"AnalysisRefreshController_refresh","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"summary":"Recompute analysis of the original received copy; preserve placement and delivery timestamps","tags":["admin"]}},"/api/workers/jobs/claim":{"post":{"operationId":"WorkersController_claim","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimDto"}}}},"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"tags":["workers","admin"]}},"/api/workers/jobs/{id}/heartbeat":{"post":{"operationId":"WorkersController_heartbeat","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"tags":["workers","admin"]}},"/api/workers/jobs/{id}/screenshot":{"post":{"operationId":"WorkersController_uploadScreenshot","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"placement","required":false,"in":"query","schema":{"type":"string"}},{"name":"variant","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"adminKey":[]}],"tags":["workers","admin"]}},"/api/workers/jobs/{id}/complete":{"post":{"operationId":"WorkersController_complete","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"tags":["workers","admin"]}},"/api/workers/jobs/{id}/fail":{"post":{"operationId":"WorkersController_fail","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailDto"}}}},"responses":{"201":{"description":""}},"security":[{"adminKey":[]}],"tags":["workers","admin"]}},"/api/feedback":{"post":{"operationId":"FeedbackController_submit","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitFeedbackDto"}}}},"responses":{"201":{"description":""}},"tags":["feedback","public"]}},"/api/admin/feedback":{"get":{"operationId":"FeedbackAdminController_list","parameters":[{"name":"limit","required":false,"in":"query","schema":{"type":"string"}},{"name":"offset","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin","feedback"]}},"/api/admin/feedback/stats":{"get":{"operationId":"FeedbackAdminController_stats","parameters":[],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin","feedback"]}},"/api/beta-signups":{"post":{"operationId":"BetaSignupsController_submit","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitBetaDto"}}}},"responses":{"201":{"description":""}},"tags":["beta-signups","public"]}},"/api/admin/beta-signups":{"get":{"operationId":"BetaSignupsAdminController_list","parameters":[{"name":"limit","required":false,"in":"query","schema":{"type":"string"}},{"name":"offset","required":false,"in":"query","schema":{"type":"string"}},{"name":"platform","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin","beta-signups"]}},"/api/admin/beta-signups/stats":{"get":{"operationId":"BetaSignupsAdminController_stats","parameters":[],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin","beta-signups"]}},"/api/screenshot-orders":{"post":{"operationId":"ScreenshotOrdersController_track","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackDto"}}}},"responses":{"201":{"description":""}},"tags":["screenshots","public"]}},"/api/admin/screenshot-orders/stats":{"get":{"operationId":"ScreenshotOrdersAdminController_stats","parameters":[{"name":"days","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin","screenshots"]}},"/api/subscriptions":{"post":{"operationId":"SubscriptionsController_subscribe","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["subscriptions","public"]}},"/api/subscriptions/verify":{"get":{"operationId":"SubscriptionsController_verify","parameters":[{"name":"token","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["subscriptions","public"]}},"/api/subscriptions/unsubscribe":{"get":{"operationId":"SubscriptionsController_unsubscribeGet","parameters":[{"name":"token","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["subscriptions","public"]},"post":{"operationId":"SubscriptionsController_unsubscribePost","parameters":[{"name":"token","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["subscriptions","public"]}},"/api/admin/subscriptions":{"get":{"operationId":"SubscriptionsAdminController_list","parameters":[{"name":"limit","required":false,"in":"query","schema":{"type":"string"}},{"name":"offset","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["SubscriptionsAdmin"]}},"/api/admin/subscriptions/stats":{"get":{"operationId":"SubscriptionsAdminController_stats","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["SubscriptionsAdmin"]}},"/api/domain-watch/start":{"get":{"operationId":"DomainWatchController_start","parameters":[{"name":"domain","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["domain-watch","public"]}},"/api/domain-watch":{"post":{"operationId":"DomainWatchController_request","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchRequestDto"}}}},"responses":{"201":{"description":""}},"summary":"Request a per-domain confirmation email. Does not activate monitoring.","tags":["domain-watch","public"]}},"/api/domain-watch/confirm":{"get":{"operationId":"DomainWatchController_confirmView","parameters":[{"name":"token","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"summary":"Read-only consent page. Opening a link never subscribes the mailbox.","tags":["domain-watch","public"]},"post":{"operationId":"DomainWatchController_confirm","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchTokenDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"summary":"Record explicit consent and activate only the domain in this one-time intent.","tags":["domain-watch","public"]}},"/api/domain-watch/manage":{"get":{"operationId":"DomainWatchController_manage","parameters":[{"name":"token","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["domain-watch","public"]}},"/api/domain-watch/access":{"post":{"operationId":"DomainWatchController_access","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchEmailDto"}}}},"responses":{"201":{"description":""}},"tags":["domain-watch","public"]}},"/api/domain-watch/stop":{"post":{"operationId":"DomainWatchController_stop","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchStopDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["domain-watch","public"]}},"/api/domain-watch/unsubscribe":{"get":{"operationId":"DomainWatchController_unsubscribeView","parameters":[{"name":"token","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["domain-watch","public"]},"post":{"operationId":"DomainWatchController_unsubscribe","parameters":[{"name":"token","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"summary":"Unsubscribe one domain, including RFC 8058 one-click POST.","tags":["domain-watch","public"]}},"/api/domain-watch/placement":{"get":{"operationId":"DomainWatchPlacementController_get","parameters":[{"name":"token","required":true,"in":"query","schema":{"type":"string"}},{"name":"id","required":true,"in":"query","schema":{"type":"string"}},{"name":"test","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["DomainWatchPlacement"]},"post":{"operationId":"DomainWatchPlacementController_start","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlacementDto"}}}},"responses":{"201":{"description":""}},"tags":["DomainWatchPlacement"]}},"/api/tests/{token}/recheck":{"post":{"operationId":"RecheckController_schedule","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecheckDto"}}}},"responses":{"201":{"description":""}},"tags":["recheck","public"]}},"/api/tests/{token}/recheck-24h":{"post":{"description":"Schedules one idempotent delayed scan of the original test token. No new message is sent and no email subscription is required.","operationId":"RecheckController_schedule24h","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"202":{"description":""}},"summary":"Schedule a same-message placement recheck after 24 hours","tags":["recheck","public"]},"get":{"operationId":"RecheckController_status24h","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"summary":"Get the 24-hour placement recheck state and snapshots","tags":["recheck","public"]},"delete":{"operationId":"RecheckController_cancel24h","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"summary":"Cancel a scheduled 24-hour recheck","tags":["recheck","public"]}},"/api/admin/recheck-jobs":{"get":{"operationId":"RecheckAdminController_list","parameters":[{"name":"status","required":false,"in":"query","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"type":"string"}},{"name":"offset","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin","recheck"]}},"/api/admin/recheck-jobs/stats":{"get":{"operationId":"RecheckAdminController_stats","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"adminKey":[]}],"tags":["admin","recheck"]}},"/api/account/monitoring/domains":{"get":{"operationId":"MonitoringController_list","parameters":[],"responses":{"200":{"description":""}},"security":[{"cookie":[]}],"tags":["monitoring","portal"]},"post":{"operationId":"MonitoringController_add","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddDomainDto"}}}},"responses":{"201":{"description":""}},"security":[{"cookie":[]}],"tags":["monitoring","portal"]}},"/api/account/monitoring/domains/{id}":{"patch":{"operationId":"MonitoringController_updateDomain","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDomainDto"}}}},"responses":{"200":{"description":""}},"security":[{"cookie":[]}],"tags":["monitoring","portal"]},"delete":{"operationId":"MonitoringController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"cookie":[]}],"tags":["monitoring","portal"]}},"/api/account/monitoring/domains/{id}/pause":{"post":{"operationId":"MonitoringController_pause","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"cookie":[]}],"tags":["monitoring","portal"]}},"/api/account/monitoring/domains/{id}/resume":{"post":{"operationId":"MonitoringController_resume","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"cookie":[]}],"tags":["monitoring","portal"]}},"/api/account/monitoring/domains/{id}/run":{"post":{"operationId":"MonitoringController_run","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"cookie":[]}],"tags":["monitoring","portal"]}},"/api/account/monitoring/domains/{id}/checks":{"get":{"operationId":"MonitoringController_history","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"cookie":[]}],"tags":["monitoring","portal"]}},"/api/account/monitoring/domains/{id}/latest":{"get":{"operationId":"MonitoringController_latest","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"cookie":[]}],"tags":["monitoring","portal"]}},"/api/account/monitoring/settings":{"get":{"operationId":"MonitoringController_getSettings","parameters":[],"responses":{"200":{"description":""}},"security":[{"cookie":[]}],"tags":["monitoring","portal"]},"patch":{"operationId":"MonitoringController_updateSettings","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSettingsDto"}}}},"responses":{"200":{"description":""}},"security":[{"cookie":[]}],"tags":["monitoring","portal"]}},"/api/auth/register":{"post":{"operationId":"AuthController_register","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterDto"}}}},"responses":{"202":{"description":""}},"security":[{"cookie":[]}],"tags":["auth","portal"]}},"/api/auth/verify":{"get":{"operationId":"AuthController_verify","parameters":[{"name":"token","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"cookie":[]}],"tags":["auth","portal"]}},"/api/auth/resend-verification":{"post":{"operationId":"AuthController_resend","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResendDto"}}}},"responses":{"202":{"description":""}},"security":[{"cookie":[]}],"tags":["auth","portal"]}},"/api/auth/login":{"post":{"operationId":"AuthController_login","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginDto"}}}},"responses":{"200":{"description":""}},"security":[{"cookie":[]}],"tags":["auth","portal"]}},"/api/auth/logout":{"post":{"operationId":"AuthController_logout","parameters":[],"responses":{"200":{"description":""}},"security":[{"cookie":[]}],"tags":["auth","portal"]}},"/api/auth/me":{"get":{"operationId":"AuthController_me","parameters":[],"responses":{"200":{"description":""}},"security":[{"cookie":[]}],"tags":["auth","portal"]}},"/api/auth/email-access":{"post":{"operationId":"EmailAccessController_request","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailAccessDto"}}}},"responses":{"202":{"description":""}},"tags":["auth","portal"]}},"/api/auth/email-access/consume":{"post":{"operationId":"EmailAccessController_consume","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsumeAccessDto"}}}},"responses":{"200":{"description":""}},"tags":["auth","portal"]}},"/api/admin/stats":{"get":{"operationId":"AdminController_stats","parameters":[],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin"]}},"/api/admin/slack/installations":{"get":{"operationId":"AdminController_slackInstallations","parameters":[],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"summary":"List Slack installations (workspaces)","tags":["admin"]}},"/api/admin/deliverability/config":{"get":{"operationId":"AdminController_getDeliverabilityConfig","parameters":[],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"summary":"Get deliverability control config","tags":["admin"]},"put":{"operationId":"AdminController_updateDeliverabilityConfig","parameters":[{"name":"x-admin-actor","required":true,"in":"header","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDeliverabilityConfigDto"}}}},"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"summary":"Update deliverability control config","tags":["admin"]}},"/api/admin/seeds":{"get":{"operationId":"AdminController_listSeeds","parameters":[{"name":"status","required":false,"in":"query","schema":{"type":"string"}},{"name":"provider","required":false,"in":"query","schema":{"type":"string"}},{"name":"health","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin"]},"post":{"operationId":"AdminController_addSeed","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddSeedDto"}}}},"responses":{"201":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin"]}},"/api/admin/seeds/{id}/archive":{"post":{"operationId":"AdminController_archiveSeed","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"x-admin-actor","required":true,"in":"header","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArchiveSeedDto"}}}},"responses":{"201":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin"]}},"/api/admin/seeds/{id}/restore":{"post":{"operationId":"AdminController_restoreSeed","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"x-admin-actor","required":true,"in":"header","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin"]}},"/api/admin/audit-log":{"get":{"operationId":"AdminController_listAuditLog","parameters":[{"name":"entityType","required":false,"in":"query","schema":{"type":"string"}},{"name":"entityId","required":false,"in":"query","schema":{"type":"string"}},{"name":"action","required":false,"in":"query","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"summary":"List admin audit log entries","tags":["admin"]}},"/api/admin/seed-health":{"get":{"operationId":"AdminController_seedHealth","parameters":[],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin"]}},"/api/admin/seeds/bulk":{"post":{"operationId":"AdminController_bulkAddSeeds","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkSeedsDto"}}}},"responses":{"201":{"description":""}},"security":[{"adminKey":[]}],"summary":"Bulk-upload custom seed accounts","tags":["admin"]}},"/api/admin/seeds/{id}":{"patch":{"operationId":"AdminController_patchSeed","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchSeedDto"}}}},"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin"]}},"/api/admin/seeds/sync-ldm":{"post":{"operationId":"AdminController_syncSeedsFromLdm","parameters":[],"responses":{"201":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin"]}},"/api/admin/ldm/control-accounts":{"get":{"operationId":"AdminController_listLdmControlAccounts","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}}}},"security":[{"adminKey":[]}],"tags":["admin"]}},"/api/admin/seeds/import-from-ldm":{"post":{"operationId":"AdminController_importFromLdm","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportFromLdmDto"}}}},"responses":{"201":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin"]}},"/api/admin/seeds/import-oauth-combo":{"post":{"operationId":"AdminController_importOauthCombo","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportOauthComboDto"}}}},"responses":{"201":{"description":""}},"security":[{"adminKey":[]}],"summary":"Import Outlook combo (public-client) seeds via IMAP XOAUTH2","tags":["admin"]}},"/api/admin/seeds/{id}/probe":{"post":{"operationId":"AdminController_probeSeed","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"adminKey":[]}],"tags":["admin"]}},"/api/admin/providers":{"get":{"operationId":"ProvidersAdminController_list","parameters":[],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin","providers"]},"post":{"operationId":"ProvidersAdminController_create","parameters":[],"responses":{"201":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin","providers"]}},"/api/admin/providers/{id}":{"get":{"operationId":"AdminController_getProvider","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin"]},"patch":{"operationId":"ProvidersAdminController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin","providers"]},"delete":{"operationId":"ProvidersAdminController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin","providers"]}},"/api/admin/providers/{id}/delivery-blocks":{"get":{"operationId":"AdminController_listDeliveryBlocks","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin"]},"post":{"operationId":"AdminController_addDeliveryBlock","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddDeliveryBlockDto"}}}},"responses":{"201":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin"]}},"/api/admin/providers/{id}/delivery-blocks/{blockId}":{"delete":{"operationId":"AdminController_removeDeliveryBlock","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"blockId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin"]}},"/api/admin/seeds/{id}/stats":{"get":{"operationId":"AdminController_seedStats","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"recent","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"adminKey":[]}],"tags":["admin"]}},"/api/admin/providers/{id}/stats":{"get":{"operationId":"AdminController_providerStats","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"adminKey":[]}],"tags":["admin"]}},"/api/admin/seeds/health-check":{"post":{"operationId":"AdminController_runSeedHealthCheck","parameters":[{"name":"includeInactive","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin"]}},"/api/admin/cleanup/imap":{"post":{"operationId":"AdminController_triggerImapCleanup","parameters":[],"responses":{"201":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin"]}},"/api/admin/bounces/process-now":{"post":{"operationId":"AdminController_triggerBounceProcess","parameters":[],"responses":{"201":{"description":""}},"security":[{"adminKey":[]}],"tags":["admin"]}},"/api/admin/tests":{"get":{"operationId":"AdminController_listTests","parameters":[{"name":"limit","required":false,"in":"query","schema":{"type":"string"}},{"name":"offset","required":false,"in":"query","schema":{"type":"string"}},{"name":"status","required":false,"in":"query","schema":{"type":"string"}},{"name":"q","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"adminKey":
# --- truncated at 32 KB (71 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/live-direct-marketing-online/refs/heads/main/openapi/live-direct-marketing-online-inbox-check-openapi.json