Litmus · Capability

Litmus Email Analytics API

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.

Run with Naftiko LitmusAPI

What You Can Do

GET
Listcampaigns — Litmus List campaigns
/campaigns
POST
Createcampaign — Litmus Create a campaign
/campaigns
GET
Getcampaign — Litmus Get a campaign
/campaigns/{campaignGuid}
DELETE
Deletecampaign — Litmus Delete a campaign
/campaigns/{campaignGuid}
GET
Getcampaignsummary — Litmus Get campaign engagement summary
/campaigns/{campaignGuid}/summary
GET
Getcampaignclientbreakdown — Litmus Get campaign email client breakdown
/campaigns/{campaignGuid}/clients
GET
Getcampaigngeobreakdown — Litmus Get campaign geographic breakdown
/campaigns/{campaignGuid}/geo
GET
Getcampaigndevicebreakdown — Litmus Get campaign device breakdown
/campaigns/{campaignGuid}/devices
GET
Getcampaignreadtimes — Litmus Get campaign read time distribution
/campaigns/{campaignGuid}/read-times

MCP Tools

listcampaigns

Litmus List campaigns

read-only idempotent
createcampaign

Litmus Create a campaign

getcampaign

Litmus Get a campaign

read-only idempotent
deletecampaign

Litmus Delete a campaign

idempotent
getcampaignsummary

Litmus Get campaign engagement summary

read-only idempotent
getcampaignclientbreakdown

Litmus Get campaign email client breakdown

read-only idempotent
getcampaigngeobreakdown

Litmus Get campaign geographic breakdown

read-only idempotent
getcampaigndevicebreakdown

Litmus Get campaign device breakdown

read-only idempotent
getcampaignreadtimes

Litmus Get campaign read time distribution

read-only idempotent

Capability Spec

litmus-capability.yaml Raw ↑
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