naftiko: 1.0.0-alpha2 info: label: Litmus Email Analytics API description: The Litmus Email Analytics API provides REST endpoints for retrieving email campaign engagement metrics including read rates, deletion rates, device types, email clients, geographic data, and forwarding activity. Campaign data is accessed by GUID and returns detailed activity summary reports. Analytics data is collected via a tracking pixel embedded in sent emails and the API surfaces aggregated engagement breakdowns. tags: - Litmus - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: litmus baseUri: https://analytics-api.litmus.com/api/v1 description: Litmus Email Analytics API HTTP API. authentication: type: basic username: '{{LITMUS_USERNAME}}' password: '{{LITMUS_PASSWORD}}' resources: - name: campaigns path: /campaigns operations: - name: listcampaigns method: GET description: Litmus List campaigns outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createcampaign method: POST description: Litmus Create a campaign outputRawFormat: json outputParameters: - name: result type: object value: $. - name: campaigns-campaignguid path: /campaigns/{campaignGuid} operations: - name: getcampaign method: GET description: Litmus Get a campaign outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletecampaign method: DELETE description: Litmus Delete a campaign outputRawFormat: json outputParameters: - name: result type: object value: $. - name: campaigns-campaignguid-summary path: /campaigns/{campaignGuid}/summary operations: - name: getcampaignsummary method: GET description: Litmus Get campaign engagement summary outputRawFormat: json outputParameters: - name: result type: object value: $. - name: campaigns-campaignguid-clients path: /campaigns/{campaignGuid}/clients operations: - name: getcampaignclientbreakdown method: GET description: Litmus Get campaign email client breakdown outputRawFormat: json outputParameters: - name: result type: object value: $. - name: campaigns-campaignguid-geo path: /campaigns/{campaignGuid}/geo operations: - name: getcampaigngeobreakdown method: GET description: Litmus Get campaign geographic breakdown outputRawFormat: json outputParameters: - name: result type: object value: $. - name: campaigns-campaignguid-devices path: /campaigns/{campaignGuid}/devices operations: - name: getcampaigndevicebreakdown method: GET description: Litmus Get campaign device breakdown outputRawFormat: json outputParameters: - name: result type: object value: $. - name: campaigns-campaignguid-read-times path: /campaigns/{campaignGuid}/read-times operations: - name: getcampaignreadtimes method: GET description: Litmus Get campaign read time distribution outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: litmus-rest description: REST adapter for Litmus Email Analytics API. resources: - path: /campaigns name: listcampaigns operations: - method: GET name: listcampaigns description: Litmus List campaigns call: litmus.listcampaigns outputParameters: - type: object mapping: $. - path: /campaigns name: createcampaign operations: - method: POST name: createcampaign description: Litmus Create a campaign call: litmus.createcampaign outputParameters: - type: object mapping: $. - path: /campaigns/{campaignGuid} name: getcampaign operations: - method: GET name: getcampaign description: Litmus Get a campaign call: litmus.getcampaign outputParameters: - type: object mapping: $. - path: /campaigns/{campaignGuid} name: deletecampaign operations: - method: DELETE name: deletecampaign description: Litmus Delete a campaign call: litmus.deletecampaign outputParameters: - type: object mapping: $. - path: /campaigns/{campaignGuid}/summary name: getcampaignsummary operations: - method: GET name: getcampaignsummary description: Litmus Get campaign engagement summary call: litmus.getcampaignsummary outputParameters: - type: object mapping: $. - path: /campaigns/{campaignGuid}/clients name: getcampaignclientbreakdown operations: - method: GET name: getcampaignclientbreakdown description: Litmus Get campaign email client breakdown call: litmus.getcampaignclientbreakdown outputParameters: - type: object mapping: $. - path: /campaigns/{campaignGuid}/geo name: getcampaigngeobreakdown operations: - method: GET name: getcampaigngeobreakdown description: Litmus Get campaign geographic breakdown call: litmus.getcampaigngeobreakdown outputParameters: - type: object mapping: $. - path: /campaigns/{campaignGuid}/devices name: getcampaigndevicebreakdown operations: - method: GET name: getcampaigndevicebreakdown description: Litmus Get campaign device breakdown call: litmus.getcampaigndevicebreakdown outputParameters: - type: object mapping: $. - path: /campaigns/{campaignGuid}/read-times name: getcampaignreadtimes operations: - method: GET name: getcampaignreadtimes description: Litmus Get campaign read time distribution call: litmus.getcampaignreadtimes outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: litmus-mcp transport: http description: MCP adapter for Litmus Email Analytics API for AI agent use. tools: - name: listcampaigns description: Litmus List campaigns hints: readOnly: true destructive: false idempotent: true call: litmus.listcampaigns outputParameters: - type: object mapping: $. - name: createcampaign description: Litmus Create a campaign hints: readOnly: false destructive: false idempotent: false call: litmus.createcampaign outputParameters: - type: object mapping: $. - name: getcampaign description: Litmus Get a campaign hints: readOnly: true destructive: false idempotent: true call: litmus.getcampaign outputParameters: - type: object mapping: $. - name: deletecampaign description: Litmus Delete a campaign hints: readOnly: false destructive: true idempotent: true call: litmus.deletecampaign outputParameters: - type: object mapping: $. - name: getcampaignsummary description: Litmus Get campaign engagement summary hints: readOnly: true destructive: false idempotent: true call: litmus.getcampaignsummary outputParameters: - type: object mapping: $. - name: getcampaignclientbreakdown description: Litmus Get campaign email client breakdown hints: readOnly: true destructive: false idempotent: true call: litmus.getcampaignclientbreakdown outputParameters: - type: object mapping: $. - name: getcampaigngeobreakdown description: Litmus Get campaign geographic breakdown hints: readOnly: true destructive: false idempotent: true call: litmus.getcampaigngeobreakdown outputParameters: - type: object mapping: $. - name: getcampaigndevicebreakdown description: Litmus Get campaign device breakdown hints: readOnly: true destructive: false idempotent: true call: litmus.getcampaigndevicebreakdown outputParameters: - type: object mapping: $. - name: getcampaignreadtimes description: Litmus Get campaign read time distribution hints: readOnly: true destructive: false idempotent: true call: litmus.getcampaignreadtimes outputParameters: - type: object mapping: $. binds: - namespace: env keys: LITMUS_USERNAME: LITMUS_USERNAME LITMUS_PASSWORD: LITMUS_PASSWORD