Mailtrap · Capability

Mailtrap Email Sandbox API — Messages

Mailtrap Email Sandbox API — Messages. 12 operations. Lead operation: List captured messages in an inbox. Self-contained Naftiko capability covering one Mailtrap business surface.

Run with Naftiko MailtrapMessages

What You Can Do

GET
Listmessages — List captured messages in an inbox
/v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages
GET
Getmessage — Get a captured message
/v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}
PATCH
Updatemessage — Update message attributes (e.g. mark read)
/v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}
DELETE
Deletemessage — Delete a captured message
/v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}
GET
Gethtmlanalyze — Get HTML validation and compatibility report
/v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}/analyze
GET
Getmessageeml — Download message in standard .eml format
/v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}/body-eml
GET
Getmessagebodyhtml — Get HTML body of a message
/v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}/body-html
GET
Getmessagebodyraw — Get raw message body
/v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}/body-raw
GET
Getmessagebodytext — Get plain text body of a message
/v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}/body-txt
POST
Forwardmessage — Forward a captured message to a confirmed recipient
/v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}/forward
GET
Getmessageheaders — Get email headers for a message
/v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}/mail-headers
GET
Getspamreport — Get spam analysis for a message
/v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}/spam-report

MCP Tools

list-captured-messages-inbox

List captured messages in an inbox

read-only idempotent
get-captured-message

Get a captured message

read-only idempotent
update-message-attributes-e-g-mark

Update message attributes (e.g. mark read)

idempotent
delete-captured-message

Delete a captured message

idempotent
get-html-validation-and-compatibility

Get HTML validation and compatibility report

read-only idempotent
download-message-standard-eml-format

Download message in standard .eml format

read-only idempotent
get-html-body-message

Get HTML body of a message

read-only idempotent
get-raw-message-body

Get raw message body

read-only idempotent
get-plain-text-body-message

Get plain text body of a message

read-only idempotent
forward-captured-message-confirmed-recipient

Forward a captured message to a confirmed recipient

get-email-headers-message

Get email headers for a message

read-only idempotent
get-spam-analysis-message

Get spam analysis for a message

read-only idempotent

Capability Spec

email-sandbox-messages.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Mailtrap Email Sandbox API — Messages
  description: 'Mailtrap Email Sandbox API — Messages. 12 operations. Lead operation: List captured messages in an inbox.
    Self-contained Naftiko capability covering one Mailtrap business surface.'
  tags:
  - Mailtrap
  - Messages
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    MAILTRAP_API_KEY: MAILTRAP_API_KEY
capability:
  consumes:
  - type: http
    namespace: email-sandbox-messages
    baseUri: https://sandbox.api.mailtrap.io
    description: Mailtrap Email Sandbox API — Messages business capability. Self-contained, no shared references.
    resources:
    - name: api-accounts-account_id-inboxes-inbox_id-messages
      path: /api/accounts/{account_id}/inboxes/{inbox_id}/messages
      operations:
      - name: listmessages
        method: GET
        description: List captured messages in an inbox
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page
          in: query
          type: integer
    - name: api-accounts-account_id-inboxes-inbox_id-messages-message_id
      path: /api/accounts/{account_id}/inboxes/{inbox_id}/messages/{message_id}
      operations:
      - name: getmessage
        method: GET
        description: Get a captured message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatemessage
        method: PATCH
        description: Update message attributes (e.g. mark read)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletemessage
        method: DELETE
        description: Delete a captured message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-accounts-account_id-inboxes-inbox_id-messages-message_id-analyze
      path: /api/accounts/{account_id}/inboxes/{inbox_id}/messages/{message_id}/analyze
      operations:
      - name: gethtmlanalyze
        method: GET
        description: Get HTML validation and compatibility report
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-accounts-account_id-inboxes-inbox_id-messages-message_id-body.eml
      path: /api/accounts/{account_id}/inboxes/{inbox_id}/messages/{message_id}/body.eml
      operations:
      - name: getmessageeml
        method: GET
        description: Download message in standard .eml format
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-accounts-account_id-inboxes-inbox_id-messages-message_id-body.html
      path: /api/accounts/{account_id}/inboxes/{inbox_id}/messages/{message_id}/body.html
      operations:
      - name: getmessagebodyhtml
        method: GET
        description: Get HTML body of a message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-accounts-account_id-inboxes-inbox_id-messages-message_id-body.raw
      path: /api/accounts/{account_id}/inboxes/{inbox_id}/messages/{message_id}/body.raw
      operations:
      - name: getmessagebodyraw
        method: GET
        description: Get raw message body
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-accounts-account_id-inboxes-inbox_id-messages-message_id-body.txt
      path: /api/accounts/{account_id}/inboxes/{inbox_id}/messages/{message_id}/body.txt
      operations:
      - name: getmessagebodytext
        method: GET
        description: Get plain text body of a message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-accounts-account_id-inboxes-inbox_id-messages-message_id-forward
      path: /api/accounts/{account_id}/inboxes/{inbox_id}/messages/{message_id}/forward
      operations:
      - name: forwardmessage
        method: POST
        description: Forward a captured message to a confirmed recipient
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-accounts-account_id-inboxes-inbox_id-messages-message_id-mail_headers
      path: /api/accounts/{account_id}/inboxes/{inbox_id}/messages/{message_id}/mail_headers
      operations:
      - name: getmessageheaders
        method: GET
        description: Get email headers for a message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-accounts-account_id-inboxes-inbox_id-messages-message_id-spam_report
      path: /api/accounts/{account_id}/inboxes/{inbox_id}/messages/{message_id}/spam_report
      operations:
      - name: getspamreport
        method: GET
        description: Get spam analysis for a message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: apikey
      key: Api-Token
      value: '{{env.MAILTRAP_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: email-sandbox-messages-rest
    port: 8080
    description: REST adapter for Mailtrap Email Sandbox API — Messages. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages
      name: api-accounts-account-id-inboxes-inbox-id-messages
      description: REST surface for api-accounts-account_id-inboxes-inbox_id-messages.
      operations:
      - method: GET
        name: listmessages
        description: List captured messages in an inbox
        call: email-sandbox-messages.listmessages
        with:
          page: rest.page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}
      name: api-accounts-account-id-inboxes-inbox-id-messages-message-id
      description: REST surface for api-accounts-account_id-inboxes-inbox_id-messages-message_id.
      operations:
      - method: GET
        name: getmessage
        description: Get a captured message
        call: email-sandbox-messages.getmessage
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatemessage
        description: Update message attributes (e.g. mark read)
        call: email-sandbox-messages.updatemessage
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletemessage
        description: Delete a captured message
        call: email-sandbox-messages.deletemessage
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}/analyze
      name: api-accounts-account-id-inboxes-inbox-id-messages-message-id-analyze
      description: REST surface for api-accounts-account_id-inboxes-inbox_id-messages-message_id-analyze.
      operations:
      - method: GET
        name: gethtmlanalyze
        description: Get HTML validation and compatibility report
        call: email-sandbox-messages.gethtmlanalyze
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}/body-eml
      name: api-accounts-account-id-inboxes-inbox-id-messages-message-id-body-eml
      description: REST surface for api-accounts-account_id-inboxes-inbox_id-messages-message_id-body.eml.
      operations:
      - method: GET
        name: getmessageeml
        description: Download message in standard .eml format
        call: email-sandbox-messages.getmessageeml
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}/body-html
      name: api-accounts-account-id-inboxes-inbox-id-messages-message-id-body-html
      description: REST surface for api-accounts-account_id-inboxes-inbox_id-messages-message_id-body.html.
      operations:
      - method: GET
        name: getmessagebodyhtml
        description: Get HTML body of a message
        call: email-sandbox-messages.getmessagebodyhtml
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}/body-raw
      name: api-accounts-account-id-inboxes-inbox-id-messages-message-id-body-raw
      description: REST surface for api-accounts-account_id-inboxes-inbox_id-messages-message_id-body.raw.
      operations:
      - method: GET
        name: getmessagebodyraw
        description: Get raw message body
        call: email-sandbox-messages.getmessagebodyraw
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}/body-txt
      name: api-accounts-account-id-inboxes-inbox-id-messages-message-id-body-txt
      description: REST surface for api-accounts-account_id-inboxes-inbox_id-messages-message_id-body.txt.
      operations:
      - method: GET
        name: getmessagebodytext
        description: Get plain text body of a message
        call: email-sandbox-messages.getmessagebodytext
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}/forward
      name: api-accounts-account-id-inboxes-inbox-id-messages-message-id-forward
      description: REST surface for api-accounts-account_id-inboxes-inbox_id-messages-message_id-forward.
      operations:
      - method: POST
        name: forwardmessage
        description: Forward a captured message to a confirmed recipient
        call: email-sandbox-messages.forwardmessage
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}/mail-headers
      name: api-accounts-account-id-inboxes-inbox-id-messages-message-id-mail-headers
      description: REST surface for api-accounts-account_id-inboxes-inbox_id-messages-message_id-mail_headers.
      operations:
      - method: GET
        name: getmessageheaders
        description: Get email headers for a message
        call: email-sandbox-messages.getmessageheaders
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/accounts/{account-id}/inboxes/{inbox-id}/messages/{message-id}/spam-report
      name: api-accounts-account-id-inboxes-inbox-id-messages-message-id-spam-report
      description: REST surface for api-accounts-account_id-inboxes-inbox_id-messages-message_id-spam_report.
      operations:
      - method: GET
        name: getspamreport
        description: Get spam analysis for a message
        call: email-sandbox-messages.getspamreport
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: email-sandbox-messages-mcp
    port: 9090
    transport: http
    description: MCP adapter for Mailtrap Email Sandbox API — Messages. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: list-captured-messages-inbox
      description: List captured messages in an inbox
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: email-sandbox-messages.listmessages
      with:
        page: tools.page
      outputParameters:
      - type: object
        mapping: $.
    - name: get-captured-message
      description: Get a captured message
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: email-sandbox-messages.getmessage
      outputParameters:
      - type: object
        mapping: $.
    - name: update-message-attributes-e-g-mark
      description: Update message attributes (e.g. mark read)
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: email-sandbox-messages.updatemessage
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-captured-message
      description: Delete a captured message
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: email-sandbox-messages.deletemessage
      outputParameters:
      - type: object
        mapping: $.
    - name: get-html-validation-and-compatibility
      description: Get HTML validation and compatibility report
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: email-sandbox-messages.gethtmlanalyze
      outputParameters:
      - type: object
        mapping: $.
    - name: download-message-standard-eml-format
      description: Download message in standard .eml format
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: email-sandbox-messages.getmessageeml
      outputParameters:
      - type: object
        mapping: $.
    - name: get-html-body-message
      description: Get HTML body of a message
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: email-sandbox-messages.getmessagebodyhtml
      outputParameters:
      - type: object
        mapping: $.
    - name: get-raw-message-body
      description: Get raw message body
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: email-sandbox-messages.getmessagebodyraw
      outputParameters:
      - type: object
        mapping: $.
    - name: get-plain-text-body-message
      description: Get plain text body of a message
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: email-sandbox-messages.getmessagebodytext
      outputParameters:
      - type: object
        mapping: $.
    - name: forward-captured-message-confirmed-recipient
      description: Forward a captured message to a confirmed recipient
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: email-sandbox-messages.forwardmessage
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-email-headers-message
      description: Get email headers for a message
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: email-sandbox-messages.getmessageheaders
      outputParameters:
      - type: object
        mapping: $.
    - name: get-spam-analysis-message
      description: Get spam analysis for a message
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: email-sandbox-messages.getspamreport
      outputParameters:
      - type: object
        mapping: $.