Postmark · Capability

Postmark API — Outbound

Postmark API — Outbound. 20 operations. Lead operation: Postmark Outbound message search. Self-contained Naftiko capability covering one Postmark business surface.

Run with Naftiko PostmarkOutbound

What You Can Do

GET
Get — Postmark Outbound message search
/v1/messages/outbound
GET
Get — Postmark Clicks for a all messages
/v1/messages/outbound/clicks
GET
Get — Postmark Retrieve Message Clicks
/v1/messages/outbound/clicks/{messageid}
GET
Get — Postmark Opens for all messages
/v1/messages/outbound/opens
GET
Get — Postmark Retrieve Message Opens
/v1/messages/outbound/opens/{messageid}
GET
Get — Postmark Outbound message details
/v1/messages/outbound/{messageid}/details
GET
Get — Postmark Outbound message dump
/v1/messages/outbound/{messageid}/dump
GET
Get — Postmark Get outbound overview
/v1/stats/outbound
GET
Get — Postmark Get bounce counts
/v1/stats/outbound/bounces
GET
Get — Postmark Get click counts
/v1/stats/outbound/clicks
GET
Get — Postmark Get browser usage by family
/v1/stats/outbound/clicks/browserfamilies
GET
Get — Postmark Get clicks by body location
/v1/stats/outbound/clicks/location
GET
Get — Postmark Get browser plaform usage
/v1/stats/outbound/clicks/platforms
GET
Get — Postmark Get email open counts
/v1/stats/outbound/opens
GET
Get — Postmark Get email client usage
/v1/stats/outbound/opens/emailclients
GET
Get — Postmark Get email platform usage
/v1/stats/outbound/opens/platforms
GET
Get — Postmark Get email read times
/v1/stats/outbound/opens/readtimes
GET
Get — Postmark Get sent counts
/v1/stats/outbound/sends
GET
Get — Postmark Get spam complaints
/v1/stats/outbound/spam
GET
Get — Postmark Get tracked email counts
/v1/stats/outbound/tracked

MCP Tools

postmark-outbound-message-search

Postmark Outbound message search

read-only idempotent
postmark-clicks-all-messages

Postmark Clicks for a all messages

read-only idempotent
postmark-retrieve-message-clicks

Postmark Retrieve Message Clicks

read-only idempotent
postmark-opens-all-messages

Postmark Opens for all messages

read-only idempotent
postmark-retrieve-message-opens

Postmark Retrieve Message Opens

read-only idempotent
postmark-outbound-message-details

Postmark Outbound message details

read-only idempotent
postmark-outbound-message-dump

Postmark Outbound message dump

read-only idempotent
postmark-get-outbound-overview

Postmark Get outbound overview

read-only idempotent
postmark-get-bounce-counts

Postmark Get bounce counts

read-only idempotent
postmark-get-click-counts

Postmark Get click counts

read-only idempotent
postmark-get-browser-usage-family

Postmark Get browser usage by family

read-only idempotent
postmark-get-clicks-body-location

Postmark Get clicks by body location

read-only idempotent
postmark-get-browser-plaform-usage

Postmark Get browser plaform usage

read-only idempotent
postmark-get-email-open-counts

Postmark Get email open counts

read-only idempotent
postmark-get-email-client-usage

Postmark Get email client usage

read-only idempotent
postmark-get-email-platform-usage

Postmark Get email platform usage

read-only idempotent
postmark-get-email-read-times

Postmark Get email read times

read-only idempotent
postmark-get-sent-counts

Postmark Get sent counts

read-only idempotent
postmark-get-spam-complaints

Postmark Get spam complaints

read-only idempotent
postmark-get-tracked-email-counts

Postmark Get tracked email counts

read-only idempotent

Capability Spec

postmark-outbound.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Postmark API — Outbound
  description: 'Postmark API — Outbound. 20 operations. Lead operation: Postmark Outbound message search. Self-contained Naftiko
    capability covering one Postmark business surface.'
  tags:
  - Postmark
  - Outbound
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    POSTMARK_API_KEY: POSTMARK_API_KEY
capability:
  consumes:
  - type: http
    namespace: postmark-outbound
    baseUri: http://{{baseurl}}
    description: Postmark API — Outbound business capability. Self-contained, no shared references.
    resources:
    - name: messages-outbound
      path: /messages/outbound
      operations:
      - name: get
        method: GET
        description: Postmark Outbound message search
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: count
          in: query
          type: string
          description: Number of bounces to return per request. Max 500.
        - name: offset
          in: query
          type: string
          description: Number of bounces to skip.
        - name: recipient
          in: query
          type: string
          description: Filter by the user who was receiving the email
        - name: fromemail
          in: query
          type: string
          description: Filter by the sender email address
        - name: tag
          in: query
          type: string
          description: Filter by tag
        - name: status
          in: query
          type: string
          description: Filter by status (`blocked`, `processed`, `queued`, `failed`, `scheduled`)
        - name: todate
          in: query
          type: string
          description: Filter messages up to the date specified. e.g. `2014-02-01`
        - name: fromdate
          in: query
          type: string
          description: Filter messages starting from the date specified. e.g. `2014-02-01`
    - name: messages-outbound-clicks
      path: /messages/outbound/clicks
      operations:
      - name: get
        method: GET
        description: Postmark Clicks for a all messages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: count
          in: query
          type: string
          description: Number of bounces to return per request. Max 500.
        - name: offset
          in: query
          type: string
          description: Number of bounces to skip.
        - name: recipient
          in: query
          type: string
          description: Filter by the user who was receiving the email
        - name: tag
          in: query
          type: string
          description: Filter by tag
        - name: client_name
          in: query
          type: string
          description: Filter by client name, i.e. Outlook, Gmail
        - name: client_company
          in: query
          type: string
          description: Filter by company, i.e. Microsoft, Apple, Google
        - name: client_family
          in: query
          type: string
          description: Filter by client family, i.e. OS X, Chrome
        - name: os_name
          in: query
          type: string
          description: Filter by full OS name and specific version, i.e. OS X 10.9 Mavericks, Windows 7
        - name: os_family
          in: query
          type: string
          description: Filter by kind of OS used without specific version, i.e. OS X, Windows
        - name: os_company
          in: query
          type: string
          description: Filter by company which produced the OS, i.e. Apple Computer, Inc., Microsoft Corporation
        - name: platform
          in: query
          type: string
          description: Filter by platform, i.e. webmail, desktop, mobile
        - name: country
          in: query
          type: string
          description: Filter by country messages were opened in, i.e. Denmark, Russia
        - name: region
          in: query
          type: string
          description: Filter by full name of region messages were opened in, i.e. Moscow, New York
        - name: city
          in: query
          type: string
          description: Filter by full name of region messages were opened in, i.e. Moscow, New York
    - name: messages-outbound-clicks-messageid
      path: /messages/outbound/clicks/{messageid}
      operations:
      - name: get
        method: GET
        description: Postmark Retrieve Message Clicks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: count
          in: query
          type: string
          description: Number of bounces to return per request. Max 500.
        - name: offset
          in: query
          type: string
          description: Number of bounces to skip.
        - name: messageid
          in: path
          type: string
          description: The ID of the message which should bypass inbound rules.
          required: true
    - name: messages-outbound-opens
      path: /messages/outbound/opens
      operations:
      - name: get
        method: GET
        description: Postmark Opens for all messages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: count
          in: query
          type: string
          description: Number of bounces to return per request. Max 500.
        - name: offset
          in: query
          type: string
          description: Number of bounces to skip.
        - name: recipient
          in: query
          type: string
          description: Filter by the user who was receiving the email
        - name: tag
          in: query
          type: string
          description: Filter by tag
        - name: client_name
          in: query
          type: string
          description: Filter by client name, i.e. Outlook, Gmail
        - name: client_company
          in: query
          type: string
          description: Filter by company, i.e. Microsoft, Apple, Google
        - name: client_family
          in: query
          type: string
          description: Filter by client family, i.e. OS X, Chrome
        - name: os_name
          in: query
          type: string
          description: Filter by full OS name and specific version, i.e. OS X 10.9 Mavericks, Windows 7
        - name: os_family
          in: query
          type: string
          description: Filter by kind of OS used without specific version, i.e. OS X, Windows
        - name: os_company
          in: query
          type: string
          description: Filter by company which produced the OS, i.e. Apple Computer, Inc., Microsoft Corporation
        - name: platform
          in: query
          type: string
          description: Filter by platform, i.e. webmail, desktop, mobile
        - name: country
          in: query
          type: string
          description: Filter by country messages were opened in, i.e. Denmark, Russia
        - name: region
          in: query
          type: string
          description: Filter by full name of region messages were opened in, i.e. Moscow, New York
        - name: city
          in: query
          type: string
          description: Filter by full name of region messages were opened in, i.e. Moscow, New York
    - name: messages-outbound-opens-messageid
      path: /messages/outbound/opens/{messageid}
      operations:
      - name: get
        method: GET
        description: Postmark Retrieve Message Opens
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: count
          in: query
          type: string
          description: Number of bounces to return per request. Max 500.
        - name: offset
          in: query
          type: string
          description: Number of bounces to skip.
        - name: messageid
          in: path
          type: string
          description: The ID of the message which should bypass inbound rules.
          required: true
    - name: messages-outbound-messageid-details
      path: /messages/outbound/{messageid}/details
      operations:
      - name: get
        method: GET
        description: Postmark Outbound message details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: messageid
          in: path
          type: string
          description: The ID of the message which should bypass inbound rules.
          required: true
    - name: messages-outbound-messageid-dump
      path: /messages/outbound/{messageid}/dump
      operations:
      - name: get
        method: GET
        description: Postmark Outbound message dump
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: messageid
          in: path
          type: string
          description: The ID of the message which should bypass inbound rules.
          required: true
    - name: stats-outbound
      path: /stats/outbound
      operations:
      - name: get
        method: GET
        description: Postmark Get outbound overview
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tag
          in: query
          type: string
          description: Filter by tag
        - name: fromdate
          in: query
          type: string
          description: Filter messages starting from the date specified. e.g. `2014-02-01`
        - name: todate
          in: query
          type: string
          description: Filter messages up to the date specified. e.g. `2014-02-01`
    - name: stats-outbound-bounces
      path: /stats/outbound/bounces
      operations:
      - name: get
        method: GET
        description: Postmark Get bounce counts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tag
          in: query
          type: string
          description: Filter by tag
        - name: fromdate
          in: query
          type: string
          description: Filter messages starting from the date specified. e.g. `2014-02-01`
        - name: todate
          in: query
          type: string
          description: Filter messages up to the date specified. e.g. `2014-02-01`
    - name: stats-outbound-clicks
      path: /stats/outbound/clicks
      operations:
      - name: get
        method: GET
        description: Postmark Get click counts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tag
          in: query
          type: string
          description: Filter by tag
        - name: fromdate
          in: query
          type: string
          description: Filter messages starting from the date specified. e.g. `2014-02-01`
        - name: todate
          in: query
          type: string
          description: Filter messages up to the date specified. e.g. `2014-02-01`
    - name: stats-outbound-clicks-browserfamilies
      path: /stats/outbound/clicks/browserfamilies
      operations:
      - name: get
        method: GET
        description: Postmark Get browser usage by family
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tag
          in: query
          type: string
          description: Filter by tag
        - name: fromdate
          in: query
          type: string
          description: Filter messages starting from the date specified. e.g. `2014-02-01`
        - name: todate
          in: query
          type: string
          description: Filter messages up to the date specified. e.g. `2014-02-01`
    - name: stats-outbound-clicks-location
      path: /stats/outbound/clicks/location
      operations:
      - name: get
        method: GET
        description: Postmark Get clicks by body location
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tag
          in: query
          type: string
          description: Filter by tag
        - name: fromdate
          in: query
          type: string
          description: Filter messages starting from the date specified. e.g. `2014-02-01`
        - name: todate
          in: query
          type: string
          description: Filter messages up to the date specified. e.g. `2014-02-01`
    - name: stats-outbound-clicks-platforms
      path: /stats/outbound/clicks/platforms
      operations:
      - name: get
        method: GET
        description: Postmark Get browser plaform usage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tag
          in: query
          type: string
          description: Filter by tag
        - name: fromdate
          in: query
          type: string
          description: Filter messages starting from the date specified. e.g. `2014-02-01`
        - name: todate
          in: query
          type: string
          description: Filter messages up to the date specified. e.g. `2014-02-01`
    - name: stats-outbound-opens
      path: /stats/outbound/opens
      operations:
      - name: get
        method: GET
        description: Postmark Get email open counts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tag
          in: query
          type: string
          description: Filter by tag
        - name: fromdate
          in: query
          type: string
          description: Filter messages starting from the date specified. e.g. `2014-02-01`
        - name: todate
          in: query
          type: string
          description: Filter messages up to the date specified. e.g. `2014-02-01`
    - name: stats-outbound-opens-emailclients
      path: /stats/outbound/opens/emailclients
      operations:
      - name: get
        method: GET
        description: Postmark Get email client usage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tag
          in: query
          type: string
          description: Filter by tag
        - name: fromdate
          in: query
          type: string
          description: Filter messages starting from the date specified. e.g. `2014-02-01`
        - name: todate
          in: query
          type: string
          description: Filter messages up to the date specified. e.g. `2014-02-01`
    - name: stats-outbound-opens-platforms
      path: /stats/outbound/opens/platforms
      operations:
      - name: get
        method: GET
        description: Postmark Get email platform usage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tag
          in: query
          type: string
          description: Filter by tag
        - name: fromdate
          in: query
          type: string
          description: Filter messages starting from the date specified. e.g. `2014-02-01`
        - name: todate
          in: query
          type: string
          description: Filter messages up to the date specified. e.g. `2014-02-01`
    - name: stats-outbound-opens-readtimes
      path: /stats/outbound/opens/readtimes
      operations:
      - name: get
        method: GET
        description: Postmark Get email read times
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tag
          in: query
          type: string
          description: Filter by tag
        - name: fromdate
          in: query
          type: string
          description: Filter messages starting from the date specified. e.g. `2014-02-01`
        - name: todate
          in: query
          type: string
          description: Filter messages up to the date specified. e.g. `2014-02-01`
    - name: stats-outbound-sends
      path: /stats/outbound/sends
      operations:
      - name: get
        method: GET
        description: Postmark Get sent counts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tag
          in: query
          type: string
          description: Filter by tag
        - name: fromdate
          in: query
          type: string
          description: Filter messages starting from the date specified. e.g. `2014-02-01`
        - name: todate
          in: query
          type: string
          description: Filter messages up to the date specified. e.g. `2014-02-01`
    - name: stats-outbound-spam
      path: /stats/outbound/spam
      operations:
      - name: get
        method: GET
        description: Postmark Get spam complaints
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tag
          in: query
          type: string
          description: Filter by tag
        - name: fromdate
          in: query
          type: string
          description: Filter messages starting from the date specified. e.g. `2014-02-01`
        - name: todate
          in: query
          type: string
          description: Filter messages up to the date specified. e.g. `2014-02-01`
    - name: stats-outbound-tracked
      path: /stats/outbound/tracked
      operations:
      - name: get
        method: GET
        description: Postmark Get tracked email counts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tag
          in: query
          type: string
          description: Filter by tag
        - name: fromdate
          in: query
          type: string
          description: Filter messages starting from the date specified. e.g. `2014-02-01`
        - name: todate
          in: query
          type: string
          description: Filter messages up to the date specified. e.g. `2014-02-01`
  exposes:
  - type: rest
    namespace: postmark-outbound-rest
    port: 8080
    description: REST adapter for Postmark API — Outbound. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/messages/outbound
      name: messages-outbound
      description: REST surface for messages-outbound.
      operations:
      - method: GET
        name: get
        description: Postmark Outbound message search
        call: postmark-outbound.get
        with:
          count: rest.count
          offset: rest.offset
          recipient: rest.recipient
          fromemail: rest.fromemail
          tag: rest.tag
          status: rest.status
          todate: rest.todate
          fromdate: rest.fromdate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/messages/outbound/clicks
      name: messages-outbound-clicks
      description: REST surface for messages-outbound-clicks.
      operations:
      - method: GET
        name: get
        description: Postmark Clicks for a all messages
        call: postmark-outbound.get
        with:
          count: rest.count
          offset: rest.offset
          recipient: rest.recipient
          tag: rest.tag
          client_name: rest.client_name
          client_company: rest.client_company
          client_family: rest.client_family
          os_name: rest.os_name
          os_family: rest.os_family
          os_company: rest.os_company
          platform: rest.platform
          country: rest.country
          region: rest.region
          city: rest.city
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/messages/outbound/clicks/{messageid}
      name: messages-outbound-clicks-messageid
      description: REST surface for messages-outbound-clicks-messageid.
      operations:
      - method: GET
        name: get
        description: Postmark Retrieve Message Clicks
        call: postmark-outbound.get
        with:
          count: rest.count
          offset: rest.offset
          messageid: rest.messageid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/messages/outbound/opens
      name: messages-outbound-opens
      description: REST surface for messages-outbound-opens.
      operations:
      - method: GET
        name: get
        description: Postmark Opens for all messages
        call: postmark-outbound.get
        with:
          count: rest.count
          offset: rest.offset
          recipient: rest.recipient
          tag: rest.tag
          client_name: rest.client_name
          client_company: rest.client_company
          client_family: rest.client_family
          os_name: rest.os_name
          os_family: rest.os_family
          os_company: rest.os_company
          platform: rest.platform
          country: rest.country
          region: rest.region
          city: rest.city
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/messages/outbound/opens/{messageid}
      name: messages-outbound-opens-messageid
      description: REST surface for messages-outbound-opens-messageid.
      operations:
      - method: GET
        name: get
        description: Postmark Retrieve Message Opens
        call: postmark-outbound.get
        with:
          count: rest.count
          offset: rest.offset
          messageid: rest.messageid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/messages/outbound/{messageid}/details
      name: messages-outbound-messageid-details
      description: REST surface for messages-outbound-messageid-details.
      operations:
      - method: GET
        name: get
        description: Postmark Outbound message details
        call: postmark-outbound.get
        with:
          messageid: rest.messageid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/messages/outbound/{messageid}/dump
      name: messages-outbound-messageid-dump
      description: REST surface for messages-outbound-messageid-dump.
      operations:
      - method: GET
        name: get
        description: Postmark Outbound message dump
        call: postmark-outbound.get
        with:
          messageid: rest.messageid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/stats/outbound
      name: stats-outbound
      description: REST surface for stats-outbound.
      operations:
      - method: GET
        name: get
        description: Postmark Get outbound overview
        call: postmark-outbound.get
        with:
          tag: rest.tag
          fromdate: rest.fromdate
          todate: rest.todate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/stats/outbound/bounces
      name: stats-outbound-bounces
      description: REST surface for stats-outbound-bounces.
      operations:
      - method: GET
        name: get
        description: Postmark Get bounce counts
        call: postmark-outbound.get
        with:
          tag: rest.tag
          fromdate: rest.fromdate
          todate: rest.todate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/stats/outbound/clicks
      name: stats-outbound-clicks
      description: REST surface for stats-outbound-clicks.
      operations:
      - method: GET
        name: get
        description: Postmark Get click counts
        call: postmark-outbound.get
        with:
          tag: rest.tag
          fromdate: rest.fromdate
          todate: rest.todate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/stats/outbound/clicks/browserfamilies
      name: stats-outbound-clicks-browserfamilies
      description: REST surface for stats-outbound-clicks-browserfamilies.
      operations:
      - method: GET
        name: get
        description: Postmark Get browser usage by family
        call: postmark-outbound.get
        with:
          tag: rest.tag
          fromdate: rest.fromdate
          todate: rest.todate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/stats/outbound/clicks/location
      name: stats-outbound-clicks-location
      description: REST surface for stats-outbound-clicks-location.
      operations:
      - method: GET
        name: get
        description: Postmark Get clicks by body location
        call: postmark-outbound.get
        with:
          tag: rest.tag
          fromdate: rest.fromdate
          todate: rest.todate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/stats/outbound/clicks/platforms
      name: stats-outbound-clicks-platforms
      description: REST surface for stats-outbound-clicks-platforms.
      operations:
      - method: GET
        name: get
        description: Postmark Get browser plaform usage
        call: postmark-outbound.get
        with:
          tag: rest.tag
          fromdate: rest.fromdate
          todate: rest.todate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/stats/outbound/opens
      name: stats-outbound-opens
      description: REST surface for stats-outbound-opens.
      operations:
      - method: GET
        name: get
        description: Postmark Get email open counts
        call: postmark-outbound.get
        with:
          tag: rest.tag
          fromdate: rest.fromdate
          todate: rest.todate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/stats/outbound/opens/emailclients
      name: stats-outbound-opens-emailclients
      description: REST surface for stats-outbound-opens-emailclients.
      operations:
      - method: GET
        name: get
        description: Postmark Get email client usage
        call: postmark-outbound.get
        with:
          tag: rest.tag
          fromdate: rest.fromdate
          todate: rest.todate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/stats/outbound/opens/platforms
      name: stats-outbound-opens-platforms
      description: REST surface for stats-outbound-opens-platforms.
      operations:
      - method: GET
        name: get
        description: Postmark Get email platform usage
        call: postmark-outbound.get
        with:
          tag: rest.tag
          fromdate: rest.fromdate
          todate: rest.todate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/stats/outbound/opens/readtimes
      name: stats-outbound-opens-readtimes
      description: REST surface for stats-outbound-opens-readtimes.
      operations:
      - method: GET
        name: get
        description: Postmark Get email read times
        call: postmark-outbound.get
        with:
          tag: rest.tag
          fromdate: rest.fromdate
          todate: rest.todate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/stats/outbound/sends
      name: stats-outbound-sends
      description: REST surface for stats-outbound-sends.
      operations:
      - method: GET
        name: get
        description: Postmark Get sent counts
        call: postmark-outbound.get
        with:
          tag: rest.tag
          fromdate: rest.fromdate
          todate: rest.todate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/stats/outbound/spam
      name: stats-outbound-spam
      description: REST surface for stats-outbound-spam.
      operations:
      - method: GET
        name: get
        description: Postmark Get spam complaints
        call: postmark-outbound.get
        with:
          tag: rest.tag
          fromdate: rest.fromdate
          todate: rest.todate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/stats/outbound/tracked
      name: stats-outbound-tracked
      description: REST surface for stats-outbound-tracked.
      operations:
      - method: GET
        name: get
        description: Postmark Get tracked email counts
        call: postmark-outbound.get
        with:
          tag: rest.tag
          fromdate: rest.fromdate
          todate: rest.todate
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: postmark-outbound-mcp
    port: 9090
    transport: http
    description: MCP adapter for Postmark API — Outbound. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: postmark-outbound-message-search
      description: Postmark Outbound message search
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: postmark-outbound.get
      with:
        count: tools.count
        offset: tools.offset
        recipient: tools.recipient
        fromemail: tools.fromemail
        tag: tools.tag
        status: tools.status
        todate: tools.todate
        fromdate: tools.fromdate
      outputParameters:
      - type: object
        mapping: $.
    - name: postmark-clicks-all-messages
      description: Postmark Clicks for a all messages
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: postmark-outbound.get
      with:
        count: tools.count
        offset: tools.offset
        recipient: tools.recipient
        tag: tools.tag
        client_name: tools.client_name
        client_company: tools.client_company
        client_family: tools.client_family
        os_name: tools.os_name
        os_family: tools.os_family
        os_company: tools.os_company
        platform: tools.platform
        country: tools.country
        region: tools.region
        city: tools.city
      outputParameters:
      - type: object
        mapping: $.
    - name: postmark-retrieve-message-clicks
      description: Postmark Retrieve Message Clicks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: postmark-outbound.get
      with:
        count: tools.count
        offset: tools.offset
        messageid: tools.messageid
      outputParameters:
      - type: object
        mapping: $.
    - name: postmark-opens-all-messages
      description: Postmark Opens for all messages
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: postmark-outbound.get
      with:
        count: tools.count
        offset: tools.offset
        recipient: tools.recipient
        tag: tools.tag
        client_name: tools.client_name
        client_company: tools.client_company
        client_family: tools.client_family
        os_name: tools.os_name
        os_family: tools.os_family
        os_company: tools.os_company
        platform: tools.platform
        country: tools.country
        region: tools.region
        city: tools.city
      outputParameters:
      - type: object
        mapping: $.
    - name: postmark-retrieve-message-opens
      description: Postmark Retrieve Message Opens
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: postmark-outbound.get
      with:
        count: tools.count
        offset: tools.offset
        messageid: tools.messageid
      outputParameters:
      - type: object
        mapping: $.
    - name: postmark-outbound-message-details
      description: Postmark Outbound message details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: postmark-outbound.get
      with:
        messageid: tools.

# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/postmark/refs/heads/main/capabilities/postmark-outbound.yaml