API reference / Messages

List messages

List messages, optionally filtered by category, needsReply (yes/no/uncertain), and urgency. Triage describes each incoming message at arrival; it does not authorize actions. Pass nextPageToken as pageToken.

GET/v1/inboxes/{inboxId}/messages

Requires an API key with the messages:read scope. MCP tool: list_messages. CLI: goshenemail messages list.

Request

Path parameters

NameTypeRequiredNotes
inboxIdstring (email)Yesup to 254 characters

Query parameters

NameTypeRequiredNotes
limitinteger1–100, default 20
pageTokenstringup to 200 characters
category"billing" | "support" | "sales" | "personal" | "notification" | "other"
needsReply"yes" | "no" | "uncertain"
urgency"low" | "normal" | "high" | "critical"
labelsstring[]up to 50 items

Response

FieldTypeNotes
messagesobject[]
messageIdstring
threadIdstring
inboxIdstring
fromstring
tostring[]
subjectstring
previewstring
timestampstring
labelsstring[]
attachmentsobject[]
attachmentIdstring
filenamestring
contentTypestring
sizenumber
triageobject | object | object
statusstring
code"provider_unavailable" | "provider_rejected" | "invalid_response"
failedAtstring (ISO 8601)
versionnumber
modelstring1–100 characters
analyzedAtstring (ISO 8601)
durationMsintegerat least 0
bodyTruncatedboolean
usageobject
categoryobject
needsReplyobject
urgencyobject
protectionobject
status"clean" | "quarantined" | "released"
scannedAtstring (ISO 8601)
authenticationobject
spamobject
antivirusobject
reasons"malware" | "spam" | "authentication_failed" | "scan_incomplete"[]up to 4 items
releasedAtstring (ISO 8601)
releasedBystring1–200 characters
textstring
htmlstring
ccstring[]
bccstring[]
replyTostring[]
deliveryobject
versionnumber
sentAtstring
updatedAtstring
recipientsobject[]
nextPageTokenstring

Errors return { "error": { "code", "message", "transient" } } with a 4xx or 5xx status. See Errors.

Examples

curl

curl "https://api.goshenemail.com/v1/inboxes/research%40agents.goshenemail.com/messages" \
  -H "Authorization: Bearer $GOSHENEMAIL_API_KEY"

CLI

goshenemail messages list --inbox-id "research@agents.goshenemail.com"