Skip to main content
Glama

Get sent email

getSentEmail
Read-onlyIdempotent

Read a single sent email by id, to inspect its delivery, such as the SMTP response on a bounced send or the gate denial on a gate_denied one. Pass full: true for the stored record. Result: id, thread_id, created_at, status, from, to, subject, from_address, to_address, cc, bcc, reply_to, tags, in_reply_to_email_id, scheduled_at, canceled_at, error_code, error_message, gates, smtp_response_code, smtp_response_text, request_id, body_text, body_source, quoted_chars_removed, body_html, attachments and attachments_complete; a field that does not apply is null.

Input Schema

NameRequiredDescriptionDefault
idYesSent email ID from listSentEmails or a /send-mail response.
fullNoReturn the stored record, with the HTML body and quoted history, instead of the compact view for reading.

Output Schema

NameRequiredDescriptionDefault
ccYesCopied addresses.
idYesSent email id, for getSentEmail.
toYesRecipients, as the To header shows them.
bccYesBlind-copied addresses.
fromYesSender, as the From header shows it.
tagsYesYour labels on the send.
gatesYesRules that refused it.
statusYesDelivery state.
subjectYesSubject line.
reply_toYesReply-To addresses.
body_htmlYesThe HTML body; null without full.
body_textYesThe body as text, quoted history left out unless full; null when there is none.
thread_idYesConversation id; null when it is in none.
created_atYesWhen it was sent or queued.
error_codeYesWhy it was not delivered, as a code.
request_idYesId of the send request, for support.
to_addressYesEnvelope recipient address.
attachmentsYesFiles sent with it; read one with getEmailAttachment and source sent.
body_sourceYesWhat body_text was made from.
canceled_atYesWhen it was canceled.
from_addressYesEnvelope sender address.
scheduled_atYesWhen a scheduled send goes out.
error_messageYesWhy it was not delivered, in words.
smtp_response_codeYesRemote server reply code, such as 550.
smtp_response_textYesRemote server reply text.
attachments_completeYesFalse when some files sent may be missing from attachments.
in_reply_to_email_idYesThe inbound email it answers, for getEmail.
quoted_chars_removedYesCharacters of quoted history left out; 0 with full.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed22 schema fields changed
    • changedOutput schema / properties / attachments_complete / description
      Previous value: -"False when some attachments may be missing from the list."New value: +"False when some files sent may be missing from attachments."
    • changedOutput schema / properties / bcc / description
      Previous value: -"Blind-copied addresses, when there were any."New value: +"Blind-copied addresses."
    • changedOutput schema / properties / body_html / description
      Previous value: -"full only: the HTML body."New value: +"The HTML body; null without full."
    • changedOutput schema / properties / body_source / description
      Previous value: -"text, html or none: what body_text was made from. Not with full."New value: +"What body_text was made from."
    • addedOutput schema / properties / body_source / enum
      Added value: +[
      +  "text",
      +  "html",
      +  "none"
      +]
    • changedOutput schema / properties / canceled_at / description
      Previous value: -"When a scheduled send was canceled."New value: +"When it was canceled."
    • changedOutput schema / properties / cc / description
      Previous value: -"Copied addresses, when there were any."New value: +"Copied addresses."
    • changedOutput schema / properties / error_code / description
      Previous value: -"Set when it was not delivered: why, as a code."New value: +"Why it was not delivered, as a code."
    • changedOutput schema / properties / error_message / description
      Previous value: -"Set when it was not delivered: why, in words."New value: +"Why it was not delivered, in words."
    • changedOutput schema / properties / from_address / description
      Previous value: -"full only: envelope sender address."New value: +"Envelope sender address."
    • changedOutput schema / properties / gates / description
      Previous value: -"Set when rules refused it: which ones."New value: +"Rules that refused it."
    • changedOutput schema / properties / in_reply_to_email_id / description
      Previous value: -"Set when it answers an inbound email: its id, for getEmail."New value: +"The inbound email it answers, for getEmail."
    • changedOutput schema / properties / quoted_chars_removed / description
      Previous value: -"Characters of quoted history left out. Not with full."New value: +"Characters of quoted history left out; 0 with full."
    • changedOutput schema / properties / reply_to / description
      Previous value: -"Reply-To addresses, when there were any."New value: +"Reply-To addresses."
    • changedOutput schema / properties / request_id / description
      Previous value: -"full only: id of the send request, for support."New value: +"Id of the send request, for support."
    • changedOutput schema / properties / smtp_response_code / description
      Previous value: -"Remote server reply code, such as 550. Compact rows leave it out once delivered."New value: +"Remote server reply code, such as 550."
    • changedOutput schema / properties / smtp_response_text / description
      Previous value: -"Remote server reply text. Compact rows leave it out once delivered."New value: +"Remote server reply text."
    • changedOutput schema / properties / status / description
      Previous value: -"queued, submitted_to_agent, delivered, bounced, deferred, wait_timeout, gate_denied, agent_failed, scheduled, canceled or unknown."New value: +"Delivery state."
    • addedOutput schema / properties / status / enum
      Added value: +[
      +  "queued",
      +  "submitted_to_agent",
      +  "agent_failed",
      +  "gate_denied",
      +  "unknown",
      +  "delivered",
      +  "bounced",
      +  "deferred",
      +  "wait_timeout",
      +  "scheduled",
      +  "canceled"
      +]
    • changedOutput schema / properties / tags / description
      Previous value: -"Your labels on the send, when it has any."New value: +"Your labels on the send."
    • changedOutput schema / properties / to_address / description
      Previous value: -"full only: envelope recipient address."New value: +"Envelope recipient address."
    • changedOutput schema / required
      Previous value: -[
      -  "id",
      -  "thread_id",
      -  "created_at",
      -  "status",
      -  "from",
      -  "to",
      -  "subject",
      -  "body_text",
      -  "attachments"
      -]New value: +[
      +  "id",
      +  "thread_id",
      +  "created_at",
      +  "status",
      +  "from",
      +  "to",
      +  "subject",
      +  "from_address",
      +  "to_address",
      +  "cc",
      +  "bcc",
      +  "reply_to",
      +  "tags",
      +  "in_reply_to_email_id",
      +  "scheduled_at",
      +  "canceled_at",
      +  "error_code",
      +  "error_message",
      +  "gates",
      +  "smtp_response_code",
      +  "smtp_response_text",
      +  "request_id",
      +  "body_text",
      +  "body_source",
      +  "quoted_chars_removed",
      +  "body_html",
      +  "attachments",
      +  "attachments_complete"
      +]
  2. Changed22 schema fields changed
    • changedOutput schema / properties / attachments_complete / description
      Previous value: -"False when some files sent may be missing from attachments."New value: +"False when some attachments may be missing from the list."
    • changedOutput schema / properties / bcc / description
      Previous value: -"Blind-copied addresses."New value: +"Blind-copied addresses, when there were any."
    • changedOutput schema / properties / body_html / description
      Previous value: -"The HTML body; null without full."New value: +"full only: the HTML body."
    • changedOutput schema / properties / body_source / description
      Previous value: -"What body_text was made from."New value: +"text, html or none: what body_text was made from. Not with full."
    • removedOutput schema / properties / body_source / enum
      Removed value: -[
      -  "text",
      -  "html",
      -  "none"
      -]
    • changedOutput schema / properties / canceled_at / description
      Previous value: -"When it was canceled."New value: +"When a scheduled send was canceled."
    • changedOutput schema / properties / cc / description
      Previous value: -"Copied addresses."New value: +"Copied addresses, when there were any."
    • changedOutput schema / properties / error_code / description
      Previous value: -"Why it was not delivered, as a code."New value: +"Set when it was not delivered: why, as a code."
    • changedOutput schema / properties / error_message / description
      Previous value: -"Why it was not delivered, in words."New value: +"Set when it was not delivered: why, in words."
    • changedOutput schema / properties / from_address / description
      Previous value: -"Envelope sender address."New value: +"full only: envelope sender address."
    • changedOutput schema / properties / gates / description
      Previous value: -"Rules that refused it."New value: +"Set when rules refused it: which ones."
    • changedOutput schema / properties / in_reply_to_email_id / description
      Previous value: -"The inbound email it answers, for getEmail."New value: +"Set when it answers an inbound email: its id, for getEmail."
    • changedOutput schema / properties / quoted_chars_removed / description
      Previous value: -"Characters of quoted history left out; 0 with full."New value: +"Characters of quoted history left out. Not with full."
    • changedOutput schema / properties / reply_to / description
      Previous value: -"Reply-To addresses."New value: +"Reply-To addresses, when there were any."
    • changedOutput schema / properties / request_id / description
      Previous value: -"Id of the send request, for support."New value: +"full only: id of the send request, for support."
    • changedOutput schema / properties / smtp_response_code / description
      Previous value: -"Remote server reply code, such as 550."New value: +"Remote server reply code, such as 550. Compact rows leave it out once delivered."
    • changedOutput schema / properties / smtp_response_text / description
      Previous value: -"Remote server reply text."New value: +"Remote server reply text. Compact rows leave it out once delivered."
    • changedOutput schema / properties / status / description
      Previous value: -"Delivery state."New value: +"queued, submitted_to_agent, delivered, bounced, deferred, wait_timeout, gate_denied, agent_failed, scheduled, canceled or unknown."
    • removedOutput schema / properties / status / enum
      Removed value: -[
      -  "queued",
      -  "submitted_to_agent",
      -  "agent_failed",
      -  "gate_denied",
      -  "unknown",
      -  "delivered",
      -  "bounced",
      -  "deferred",
      -  "wait_timeout",
      -  "scheduled",
      -  "canceled"
      -]
    • changedOutput schema / properties / tags / description
      Previous value: -"Your labels on the send."New value: +"Your labels on the send, when it has any."
    • changedOutput schema / properties / to_address / description
      Previous value: -"Envelope recipient address."New value: +"full only: envelope recipient address."
    • changedOutput schema / required
      Previous value: -[
      -  "id",
      -  "thread_id",
      -  "created_at",
      -  "status",
      -  "from",
      -  "to",
      -  "subject",
      -  "from_address",
      -  "to_address",
      -  "cc",
      -  "bcc",
      -  "reply_to",
      -  "tags",
      -  "in_reply_to_email_id",
      -  "scheduled_at",
      -  "canceled_at",
      -  "error_code",
      -  "error_message",
      -  "gates",
      -  "smtp_response_code",
      -  "smtp_response_text",
      -  "request_id",
      -  "body_text",
      -  "body_source",
      -  "quoted_chars_removed",
      -  "body_html",
      -  "attachments",
      -  "attachments_complete"
      -]New value: +[
      +  "id",
      +  "thread_id",
      +  "created_at",
      +  "status",
      +  "from",
      +  "to",
      +  "subject",
      +  "body_text",
      +  "attachments"
      +]
  3. Changed22 schema fields changed
    • changedOutput schema / properties / attachments_complete / description
      Previous value: -"False when some attachments may be missing from the list."New value: +"False when some files sent may be missing from attachments."
    • changedOutput schema / properties / bcc / description
      Previous value: -"Blind-copied addresses, when there were any."New value: +"Blind-copied addresses."
    • changedOutput schema / properties / body_html / description
      Previous value: -"full only: the HTML body."New value: +"The HTML body; null without full."
    • changedOutput schema / properties / body_source / description
      Previous value: -"text, html or none: what body_text was made from. Not with full."New value: +"What body_text was made from."
    • addedOutput schema / properties / body_source / enum
      Added value: +[
      +  "text",
      +  "html",
      +  "none"
      +]
    • changedOutput schema / properties / canceled_at / description
      Previous value: -"When a scheduled send was canceled."New value: +"When it was canceled."
    • changedOutput schema / properties / cc / description
      Previous value: -"Copied addresses, when there were any."New value: +"Copied addresses."
    • changedOutput schema / properties / error_code / description
      Previous value: -"Set when it was not delivered: why, as a code."New value: +"Why it was not delivered, as a code."
    • changedOutput schema / properties / error_message / description
      Previous value: -"Set when it was not delivered: why, in words."New value: +"Why it was not delivered, in words."
    • changedOutput schema / properties / from_address / description
      Previous value: -"full only: envelope sender address."New value: +"Envelope sender address."
    • changedOutput schema / properties / gates / description
      Previous value: -"Set when rules refused it: which ones."New value: +"Rules that refused it."
    • changedOutput schema / properties / in_reply_to_email_id / description
      Previous value: -"Set when it answers an inbound email: its id, for getEmail."New value: +"The inbound email it answers, for getEmail."
    • changedOutput schema / properties / quoted_chars_removed / description
      Previous value: -"Characters of quoted history left out. Not with full."New value: +"Characters of quoted history left out; 0 with full."
    • changedOutput schema / properties / reply_to / description
      Previous value: -"Reply-To addresses, when there were any."New value: +"Reply-To addresses."
    • changedOutput schema / properties / request_id / description
      Previous value: -"full only: id of the send request, for support."New value: +"Id of the send request, for support."
    • changedOutput schema / properties / smtp_response_code / description
      Previous value: -"Remote server reply code, such as 550. Compact rows leave it out once delivered."New value: +"Remote server reply code, such as 550."
    • changedOutput schema / properties / smtp_response_text / description
      Previous value: -"Remote server reply text. Compact rows leave it out once delivered."New value: +"Remote server reply text."
    • changedOutput schema / properties / status / description
      Previous value: -"queued, submitted_to_agent, delivered, bounced, deferred, wait_timeout, gate_denied, agent_failed, scheduled, canceled or unknown."New value: +"Delivery state."
    • addedOutput schema / properties / status / enum
      Added value: +[
      +  "queued",
      +  "submitted_to_agent",
      +  "agent_failed",
      +  "gate_denied",
      +  "unknown",
      +  "delivered",
      +  "bounced",
      +  "deferred",
      +  "wait_timeout",
      +  "scheduled",
      +  "canceled"
      +]
    • changedOutput schema / properties / tags / description
      Previous value: -"Your labels on the send, when it has any."New value: +"Your labels on the send."
    • changedOutput schema / properties / to_address / description
      Previous value: -"full only: envelope recipient address."New value: +"Envelope recipient address."
    • changedOutput schema / required
      Previous value: -[
      -  "id",
      -  "thread_id",
      -  "created_at",
      -  "status",
      -  "from",
      -  "to",
      -  "subject",
      -  "body_text",
      -  "attachments"
      -]New value: +[
      +  "id",
      +  "thread_id",
      +  "created_at",
      +  "status",
      +  "from",
      +  "to",
      +  "subject",
      +  "from_address",
      +  "to_address",
      +  "cc",
      +  "bcc",
      +  "reply_to",
      +  "tags",
      +  "in_reply_to_email_id",
      +  "scheduled_at",
      +  "canceled_at",
      +  "error_code",
      +  "error_message",
      +  "gates",
      +  "smtp_response_code",
      +  "smtp_response_text",
      +  "request_id",
      +  "body_text",
      +  "body_source",
      +  "quoted_chars_removed",
      +  "body_html",
      +  "attachments",
      +  "attachments_complete"
      +]
  4. Changed35 schema fields changed
    • changedInput schema / properties / full / description
      Previous value: -"Return the stored record, with the HTML body, quoted history and signing details, instead of the compact view for reading."New value: +"Return the stored record, with the HTML body and quoted history, instead of the compact view for reading."
    • addedOutput schema / additionalProperties
      Added value: +false
    • changedOutput schema / description
      Previous value: -"Envelope; the result is in data.data."New value: +"One sent email."
    • addedOutput schema / properties / attachments
      Added value: +{
      +  "description": "Files sent with it; read one with getEmailAttachment and source sent.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "content_type": {
      +        "description": "Media type, such as application/pdf.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "filename": {
      +        "description": "File name; null when the email gave none.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "part_index": {
      +        "description": "Pass to getEmailAttachment to read it.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "size_bytes": {
      +        "description": "Size in bytes.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "filename",
      +      "content_type",
      +      "size_bytes",
      +      "part_index"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / attachments_complete
      Added value: +{
      +  "description": "False when some attachments may be missing from the list.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / bcc
      Added value: +{
      +  "description": "Blind-copied addresses, when there were any.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / body_html
      Added value: +{
      +  "description": "full only: the HTML body.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / body_source
      Added value: +{
      +  "description": "text, html or none: what body_text was made from. Not with full.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / body_text
      Added value: +{
      +  "description": "The body as text, quoted history left out unless full; null when there is none.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / canceled_at
      Added value: +{
      +  "description": "When a scheduled send was canceled.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / cc
      Added value: +{
      +  "description": "Copied addresses, when there were any.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / created_at
      Added value: +{
      +  "description": "When it was sent or queued.",
      +  "type": "string"
      +}
    • removedOutput schema / properties / data
      Removed value: -{
      -  "description": "API response: the result in data, or error.",
      -  "properties": {
      -    "data": {
      -      "description": "One sent email.",
      -      "properties": {
      -        "attachments": {
      -          "description": "Each: filename, content_type, size_bytes, part_index.",
      -          "type": "array"
      -        },
      -        "attachments_complete": {
      -          "description": "False if some may be missing.",
      -          "type": "boolean"
      -        },
      -        "bcc": {
      -          "description": "Blind-copied addresses.",
      -          "type": [
      -            "array",
      -            "null"
      -          ]
      -        },
      -        "body_html": {
      -          "description": "HTML body, full only.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "body_source": {
      -          "description": "Body the text came from.",
      -          "type": "string"
      -        },
      -        "body_text": {
      -          "description": "No quoted history unless full.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "canceled_at": {
      -          "description": "When canceled.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "cc": {
      -          "description": "Copied addresses.",
      -          "type": [
      -            "array",
      -            "null"
      -          ]
      -        },
      -        "created_at": {
      -          "description": "When it was sent or queued.",
      -          "type": "string"
      -        },
      -        "error_code": {
      -          "description": "Why not delivered.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "error_message": {
      -          "description": "Detail of the error.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "from": {
      -          "description": "Sender.",
      -          "type": "string"
      -        },
      -        "from_address": {
      -          "description": "Envelope sender.",
      -          "type": "string"
      -        },
      -        "gates": {
      -          "description": "Rules that refused it: name, reason.",
      -          "type": [
      -            "array",
      -            "null"
      -          ]
      -        },
      -        "id": {
      -          "description": "Sent email id, for getSentEmail.",
      -          "type": "string"
      -        },
      -        "in_reply_to_email_id": {
      -          "description": "Inbound email it answers.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "quoted_chars_removed": {
      -          "description": "Quoted text left out.",
      -          "type": [
      -            "number",
      -            "string"
      -          ]
      -        },
      -        "reply_to": {
      -          "description": "Reply-To addresses.",
      -          "type": [
      -            "array",
      -            "null"
      -          ]
      -        },
      -        "request_id": {
      -          "description": "For support.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "scheduled_at": {
      -          "description": "When it goes out.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "smtp_response_code": {
      -          "description": "Remote server code.",
      -          "type": [
      -            "number",
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "smtp_response_text": {
      -          "description": "Remote server reply.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "snippet": {
      -          "description": "Start of the body.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "status": {
      -          "description": "Delivery state, such as delivered or bounced.",
      -          "type": "string"
      -        },
      -        "subject": {
      -          "description": "Subject line.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "tags": {
      -          "description": "Your labels: name, value.",
      -          "type": [
      -            "array",
      -            "null"
      -          ]
      -        },
      -        "thread_id": {
      -          "description": "Conversation it belongs to.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "to": {
      -          "description": "Recipients.",
      -          "type": "string"
      -        },
      -        "to_address": {
      -          "description": "Envelope recipient.",
      -          "type": "string"
      -        }
      -      },
      -      "type": [
      -        "object",
      -        "null"
      -      ]
      -    },
      -    "error": {
      -      "description": "Why the call was refused; absent on success.",
      -      "properties": {
      -        "code": {
      -          "description": "Error code to branch on.",
      -          "type": "string"
      -        },
      -        "message": {
      -          "description": "What went wrong, in words.",
      -          "type": "string"
      -        }
      -      },
      -      "type": [
      -        "object",
      -        "null"
      -      ]
      -    },
      -    "success": {
      -      "description": "True when data holds the result.",
      -      "type": "boolean"
      -    }
      -  },
      -  "type": "object"
      -}
    • addedOutput schema / properties / error_code
      Added value: +{
      +  "description": "Set when it was not delivered: why, as a code.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / error_message
      Added value: +{
      +  "description": "Set when it was not delivered: why, in words.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / from
      Added value: +{
      +  "description": "Sender, as the From header shows it.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / from_address
      Added value: +{
      +  "description": "full only: envelope sender address.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / gates
      Added value: +{
      +  "description": "Set when rules refused it: which ones.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "message": {
      +        "description": "Why, in words, when given.",
      +        "type": "string"
      +      },
      +      "name": {
      +        "description": "Rule that refused it, such as send_to_known_addresses.",
      +        "type": "string"
      +      },
      +      "reason": {
      +        "description": "Why, as a code, when given.",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / id
      Added value: +{
      +  "description": "Sent email id, for getSentEmail.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / in_reply_to_email_id
      Added value: +{
      +  "description": "Set when it answers an inbound email: its id, for getEmail.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / quoted_chars_removed
      Added value: +{
      +  "description": "Characters of quoted history left out. Not with full.",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / reply_to
      Added value: +{
      +  "description": "Reply-To addresses, when there were any.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / request_id
      Added value: +{
      +  "description": "full only: id of the send request, for support.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / scheduled_at
      Added value: +{
      +  "description": "When a scheduled send goes out.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / smtp_response_code
      Added value: +{
      +  "description": "Remote server reply code, such as 550. Compact rows leave it out once delivered.",
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / smtp_response_text
      Added value: +{
      +  "description": "Remote server reply text. Compact rows leave it out once delivered.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / status / description
      Previous value: -"HTTP status; 2xx on success."New value: +"queued, submitted_to_agent, delivered, bounced, deferred, wait_timeout, gate_denied, agent_failed, scheduled, canceled or unknown."
    • changedOutput schema / properties / status / type
      Previous value: -"number"New value: +"string"
    • addedOutput schema / properties / subject
      Added value: +{
      +  "description": "Subject line.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / tags
      Added value: +{
      +  "description": "Your labels on the send, when it has any.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "name": {
      +        "description": "Label name.",
      +        "type": "string"
      +      },
      +      "value": {
      +        "description": "Label value.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "name",
      +      "value"
      +    ],
      +    "type": "object"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / thread_id
      Added value: +{
      +  "description": "Conversation id; null when it is in none.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / to
      Added value: +{
      +  "description": "Recipients, as the To header shows them.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / to_address
      Added value: +{
      +  "description": "full only: envelope recipient address.",
      +  "type": "string"
      +}
    • removedOutput schema / properties / tool
      Removed value: -{
      -  "description": "Tool that answered.",
      -  "type": "string"
      -}
    • changedOutput schema / required
      Previous value: -[
      -  "tool",
      -  "status",
      -  "data"
      -]New value: +[
      +  "id",
      +  "thread_id",
      +  "created_at",
      +  "status",
      +  "from",
      +  "to",
      +  "subject",
      +  "body_text",
      +  "attachments"
      +]
  5. Changed8 schema fields changed
    • changedOutput schema / properties / data / description
      Previous value: -"API response; result in data."New value: +"API response: the result in data, or error."
    • changedOutput schema / properties / data / properties / error / description
      Previous value: -"Refusal: code, message."New value: +"Why the call was refused; absent on success."
    • addedOutput schema / properties / data / properties / error / properties
      Added value: +{
      +  "code": {
      +    "description": "Error code to branch on.",
      +    "type": "string"
      +  },
      +  "message": {
      +    "description": "What went wrong, in words.",
      +    "type": "string"
      +  }
      +}
    • addedOutput schema / properties / data / properties / error / type
      Added value: +[
      +  "object",
      +  "null"
      +]
    • changedOutput schema / properties / data / properties / success / description
      Previous value: -"Accepted."New value: +"True when data holds the result."
    • changedOutput schema / properties / data / type
      Previous value: -[
      -  "object",
      -  "string",
      -  "null"
      -]New value: +"object"
    • changedOutput schema / properties / status / description
      Previous value: -"HTTP status."New value: +"HTTP status; 2xx on success."
    • addedOutput schema / properties / tool / description
      Added value: +"Tool that answered."
  6. Changed4 schema fields changed
    • changedOutput schema / description
      Previous value: -"One sent email."New value: +"Envelope; the result is in data.data."
    • changedOutput schema / properties / data / description
      Previous value: -"API body."New value: +"API response; result in data."
    • addedOutput schema / properties / data / properties / data / description
      Added value: +"One sent email."
    • changedOutput schema / properties / data / properties / error / description
      Previous value: -"Why refused."New value: +"Refusal: code, message."
  7. Changed6 schema fields changed
    • addedOutput schema / properties / data / properties / data / properties / attachments / description
      Added value: +"Each: filename, content_type, size_bytes, part_index."
    • addedOutput schema / properties / data / properties / data / properties / bcc / description
      Added value: +"Blind-copied addresses."
    • addedOutput schema / properties / data / properties / data / properties / body_text / description
      Added value: +"No quoted history unless full."
    • addedOutput schema / properties / data / properties / data / properties / cc / description
      Added value: +"Copied addresses."
    • addedOutput schema / properties / data / properties / data / properties / reply_to / description
      Added value: +"Reply-To addresses."
    • addedOutput schema / properties / data / properties / data / properties / tags / description
      Added value: +"Your labels: name, value."
  8. Changed12 schema fields changed
    • changedInput schema / properties / full / description
      Previous value: -"Set true for the stored record, with the HTML body, quoted history and signing details; the default is a compact view for reading."New value: +"Return the stored record, with the HTML body, quoted history and signing details, instead of the compact view for reading."
    • addedOutput schema / properties / data / properties / data / properties / created_at / description
      Added value: +"When it was sent or queued."
    • addedOutput schema / properties / data / properties / data / properties / error_message / description
      Added value: +"Detail of the error."
    • addedOutput schema / properties / data / properties / data / properties / from / description
      Added value: +"Sender."
    • addedOutput schema / properties / data / properties / data / properties / from_address / description
      Added value: +"Envelope sender."
    • changedOutput schema / properties / data / properties / data / properties / gates / description
      Previous value: -"Rules that refused it."New value: +"Rules that refused it: name, reason."
    • addedOutput schema / properties / data / properties / data / properties / id / description
      Added value: +"Sent email id, for getSentEmail."
    • changedOutput schema / properties / data / properties / data / properties / status / description
      Previous value: -"Delivery status."New value: +"Delivery state, such as delivered or bounced."
    • addedOutput schema / properties / data / properties / data / properties / subject / description
      Added value: +"Subject line."
    • addedOutput schema / properties / data / properties / data / properties / thread_id / description
      Added value: +"Conversation it belongs to."
    • addedOutput schema / properties / data / properties / data / properties / to / description
      Added value: +"Recipients."
    • addedOutput schema / properties / data / properties / data / properties / to_address / description
      Added value: +"Envelope recipient."
  9. Changed20 schema fields changed
    • changedInput schema / properties / full / description
      Previous value: -"Set true for the record as stored. By default the result is a compact view for reading, which leaves out the HTML body, quoted history, idempotency and content hashes, signing details and, for a delivered send, the SMTP response."New value: +"Set true for the stored record, with the HTML body, quoted history and signing details; the default is a compact view for reading."
    • addedOutput schema / description
      Added value: +"One sent email."
    • addedOutput schema / properties / data / description
      Added value: +"API body."
    • changedOutput schema / properties / data / properties / data / properties / attachments_complete / description
      Previous value: -"False when attachments may be missing."New value: +"False if some may be missing."
    • addedOutput schema / properties / data / properties / data / properties / body_html / description
      Added value: +"HTML body, full only."
    • addedOutput schema / properties / data / properties / data / properties / body_source / description
      Added value: +"Body the text came from."
    • addedOutput schema / properties / data / properties / data / properties / canceled_at / description
      Added value: +"When canceled."
    • addedOutput schema / properties / data / properties / data / properties / error_code / description
      Added value: +"Why not delivered."
    • changedOutput schema / properties / data / properties / data / properties / gates / description
      Previous value: -"Sending rules that refused it."New value: +"Rules that refused it."
    • changedOutput schema / properties / data / properties / data / properties / in_reply_to_email_id / description
      Previous value: -"Inbound email this answers."New value: +"Inbound email it answers."
    • addedOutput schema / properties / data / properties / data / properties / quoted_chars_removed / description
      Added value: +"Quoted text left out."
    • addedOutput schema / properties / data / properties / data / properties / request_id / description
      Added value: +"For support."
    • addedOutput schema / properties / data / properties / data / properties / scheduled_at / description
      Added value: +"When it goes out."
    • addedOutput schema / properties / data / properties / data / properties / smtp_response_code / description
      Added value: +"Remote server code."
    • addedOutput schema / properties / data / properties / data / properties / smtp_response_text / description
      Added value: +"Remote server reply."
    • addedOutput schema / properties / data / properties / data / properties / snippet / description
      Added value: +"Start of the body."
    • addedOutput schema / properties / data / properties / data / properties / status / description
      Added value: +"Delivery status."
    • addedOutput schema / properties / data / properties / error / description
      Added value: +"Why refused."
    • addedOutput schema / properties / data / properties / success / description
      Added value: +"Accepted."
    • addedOutput schema / properties / status / description
      Added value: +"HTTP status."
  10. Changed3 schema fields changed
    • addedOutput schema / properties / data / properties / data / properties / attachments_complete / description
      Added value: +"False when attachments may be missing."
    • addedOutput schema / properties / data / properties / data / properties / gates / description
      Added value: +"Sending rules that refused it."
    • addedOutput schema / properties / data / properties / data / properties / in_reply_to_email_id / description
      Added value: +"Inbound email this answers."
  11. Changed4 schema fields changed
    • removedOutput schema / additionalProperties
      Removed value: -false
    • addedOutput schema / properties / data / properties
      Added value: +{
      +  "data": {
      +    "properties": {
      +      "attachments": {
      +        "type": "array"
      +      },
      +      "attachments_complete": {
      +        "type": "boolean"
      +      },
      +      "bcc": {
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "body_html": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "body_source": {
      +        "type": "string"
      +      },
      +      "body_text": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "canceled_at": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "cc": {
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "created_at": {
      +        "type": "string"
      +      },
      +      "error_code": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "error_message": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "from": {
      +        "type": "string"
      +      },
      +      "from_address": {
      +        "type": "string"
      +      },
      +      "gates": {
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "id": {
      +        "type": "string"
      +      },
      +      "in_reply_to_email_id": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "quoted_chars_removed": {
      +        "type": [
      +          "number",
      +          "string"
      +        ]
      +      },
      +      "reply_to": {
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "request_id": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "scheduled_at": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "smtp_response_code": {
      +        "type": [
      +          "number",
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "smtp_response_text": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "snippet": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "status": {
      +        "type": "string"
      +      },
      +      "subject": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "tags": {
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "thread_id": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "to": {
      +        "type": "string"
      +      },
      +      "to_address": {
      +        "type": "string"
      +      }
      +    },
      +    "type": [
      +      "object",
      +      "null"
      +    ]
      +  },
      +  "error": {},
      +  "success": {
      +    "type": "boolean"
      +  }
      +}
    • addedOutput schema / properties / data / type
      Added value: +[
      +  "object",
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / statusText
      Removed value: -{
      -  "type": "string"
      -}
  12. Changed1 schema field changed
    • addedInput schema / properties / full
      Added value: +{
      +  "default": false,
      +  "description": "Set true for the record as stored. By default the result is a compact view for reading, which leaves out the HTML body, quoted history, idempotency and content hashes, signing details and, for a delivered send, the SMTP response.",
      +  "type": "boolean"
      +}
  13. Changed1 schema field changed
    • addedInput schema / properties / id / description
      Added value: +"Sent email ID from listSentEmails or a /send-mail response."
  14. First observed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent and non-destructive, so the bar is lower; the description adds real substance by contrasting the compact view with the stored record returned via full:true (HTML body and quoted history) and by noting fields that don't apply come back null.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded and purposeful for the first two sentences, but the long enumeration of roughly thirty result fields duplicates what the existing output schema already provides and dilutes the useful behavior guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read tool with annotations and a full output schema, the description covers purpose, the meaningful flag, and the null-field convention. Little is missing, though the redundant field list could be trimmed without loss.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline would be 3, but the description clarifies the observable difference between the default compact view and full:true, adding meaning beyond the boolean's schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Read a single sent email by id') and pins down the intent ('inspect its delivery'), which cleanly separates it from listSentEmails (plural listing) and getEmail (received mail) without needing to open any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete when-to-use triggers — checking the SMTP response on a bounced send or the gate denial on a gate_denied message — and explains the full:true variant. It stops short of naming an explicit alternative or when-not condition, and the id source (listSentEmails) is only covered in the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources