openapi: 3.2.0 info: title: LDM v3 Provider Config 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: Provider Config paths: /api/provider-configs: get: operationId: ProviderConfigController_list parameters: - name: enabled required: true in: query schema: type: string - 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: List all email provider configurations tags: - Provider Config /api/provider-configs/resolve: get: operationId: ProviderConfigController_resolve parameters: - name: email required: true in: query schema: type: string - 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: Resolve the email provider by domain tags: - Provider Config x-required-scope: - settings:read /api/provider-configs/{provider}: get: operationId: ProviderConfigController_getOne parameters: - name: provider required: true in: path schema: type: string - 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 a single provider configuration by provider key tags: - Provider Config put: operationId: ProviderConfigController_upsert parameters: - name: provider required: true in: path schema: type: string - 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: Upsert a provider configuration tags: - Provider Config delete: operationId: ProviderConfigController_remove parameters: - name: provider required: true in: path schema: type: string - 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: Delete a provider configuration tags: - Provider Config /api/provider-configs/{provider}/toggle: patch: operationId: ProviderConfigController_toggle parameters: - name: provider required: true in: path schema: type: string - 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: Enable or disable a provider configuration tags: - Provider Config /api/provider-configs/{provider}/domains: post: operationId: ProviderConfigController_addDomain parameters: - name: provider required: true in: path schema: type: string - 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: Add a domain mapping to a provider configuration tags: - Provider Config /api/provider-configs/{provider}/domains/{pattern}: delete: operationId: ProviderConfigController_removeDomain parameters: - name: pattern required: true in: path schema: type: string - name: matchType required: true in: query schema: type: string - 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: Remove a domain mapping from a provider configuration tags: - Provider Config 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.