openapi: 3.2.0 info: title: LDM v3 Mail Agent API description: 'Multi-tenant B2B outreach automation platform. Auth: JWT Bearer (15-min) or tenant API key (ldm_*) managed in CRM Settings → API Keys. All tenant-scoped endpoints require the X-Tenant-Id header.' version: 1.0.0 contact: {} servers: - url: https://api.live-direct-marketing.online description: Production - url: https://api.dev.live-direct-marketing.online description: Development - url: http://127.0.0.1:3000 description: Local tags: - name: Mail Agent paths: /api/mail-agent/status: get: operationId: MailAgentController_getStatus parameters: - name: X-Tenant-Id in: header required: false schema: type: string format: uuid description: Tenant UUID — required for all tenant-scoped endpoints responses: '200': description: '' security: - jwt: [] summary: Get the mail agent connection status and stats tags: - Mail Agent x-required-scope: - agent:read /api/mail-agent/settings: get: operationId: MailAgentController_getSettings parameters: - name: X-Tenant-Id in: header required: false schema: type: string format: uuid description: Tenant UUID — required for all tenant-scoped endpoints responses: '200': description: '' security: - jwt: [] summary: Get current mail agent settings tags: - Mail Agent x-required-scope: - agent:read post: operationId: MailAgentController_toggleEnabled parameters: - name: X-Tenant-Id in: header required: false schema: type: string format: uuid description: Tenant UUID — required for all tenant-scoped endpoints responses: '201': description: '' security: - jwt: [] summary: Toggle the mail agent enabled flag tags: - Mail Agent x-required-scope: - agent:write /api/mail-agent/token/regenerate: post: operationId: MailAgentController_regenerateToken parameters: - name: X-Tenant-Id in: header required: false schema: type: string format: uuid description: Tenant UUID — required for all tenant-scoped endpoints responses: '201': description: '' security: - jwt: [] summary: Regenerate the mail agent auth token tags: - Mail Agent x-required-scope: - agent:write /api/mail-agent/stats/reset: post: operationId: MailAgentController_resetStats parameters: - name: X-Tenant-Id in: header required: false schema: type: string format: uuid description: Tenant UUID — required for all tenant-scoped endpoints responses: '201': description: '' security: - jwt: [] summary: Reset mail agent statistics counters tags: - Mail Agent x-required-scope: - agent:write /api/mail-agent/disconnect: post: operationId: MailAgentController_disconnect parameters: - name: X-Tenant-Id in: header required: false schema: type: string format: uuid description: Tenant UUID — required for all tenant-scoped endpoints responses: '201': description: '' security: - jwt: [] summary: Disconnect the mail agent session tags: - Mail Agent x-required-scope: - agent:write /api/mail-agent/download/windows: get: operationId: MailAgentController_downloadWindows parameters: - name: X-Tenant-Id in: header required: false schema: type: string format: uuid description: Tenant UUID — required for all tenant-scoped endpoints responses: '200': description: '' security: - jwt: [] summary: Download the Windows mail agent bundle with token pre-configured tags: - Mail Agent x-required-scope: - agent:write /api/mail-agent/qr: get: operationId: MailAgentController_getQr parameters: - name: X-Tenant-Id in: header required: false schema: type: string format: uuid description: Tenant UUID — required for all tenant-scoped endpoints responses: '200': description: '' security: - jwt: [] summary: Get an SVG QR code for pairing the Android mail agent tags: - Mail Agent x-required-scope: - agent:read components: securitySchemes: jwt: scheme: bearer bearerFormat: JWT type: http description: JWT access token from /auth/login (Bearer ) tenant-api-key: scheme: bearer bearerFormat: JWT type: http description: Tenant API key (Bearer ldm_*) for MCP/A2A clients. Issued via CRM Settings → API Keys. rpa-service: scheme: bearer bearerFormat: JWT type: http description: Dedicated RPA service key. No tenant API-key or query-key authentication.