> ## Documentation Index
> Fetch the complete documentation index at: https://dench.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Message status

> Read a raw email message's status and open/click counters.



## OpenAPI

````yaml /api-reference/openapi.json get /email/messages/{messageId}
openapi: 3.1.0
info:
  title: Dench API
  version: 1.0.0
  description: >-
    Versioned Dench workspace API. The operation registry is shared with the
    Dench CLI parity layer, so every CLI command maps to an endpoint here.
servers:
  - url: https://www.dench.com/api/v1
security: []
tags:
  - name: agent-config
    description: Agent Config operations.
  - name: approvals
    description: Approvals operations.
  - name: apps
    description: Apps operations.
  - name: auth
    description: Auth operations.
  - name: billing
    description: Billing operations.
  - name: browser
    description: Browser operations.
  - name: campaigns
    description: Campaigns operations.
  - name: chat
    description: Chat operations.
  - name: crm
    description: Crm operations.
  - name: email
    description: Email operations.
  - name: files
    description: Files operations.
  - name: gateway
    description: Gateway operations.
  - name: lists
    description: Lists operations.
  - name: local
    description: Local operations.
  - name: meetings
    description: Meetings operations.
  - name: members
    description: Members operations.
  - name: memory
    description: Memory operations.
  - name: meta
    description: Meta operations.
  - name: notifications
    description: Notifications operations.
  - name: routines
    description: Routines operations.
  - name: workspace
    description: Workspace operations.
paths:
  /email/messages/{messageId}:
    get:
      tags:
        - email
      summary: Message status
      description: Read a raw email message's status and open/click counters.
      operationId: email_message_get
      parameters:
        - name: messageId
          in: path
          required: true
          schema:
            type: string
            description: Raw email message id.
          description: Raw email message id.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  messageId:
                    type: string
                  status:
                    type: string
                    enum:
                      - queued
                      - sent
                      - failed
                      - delivered
                      - opened
                      - clicked
                      - bounced
                      - complained
                    description: Raw email message lifecycle status.
                  fromEmail:
                    type: string
                  fromName:
                    type: string
                  to:
                    type: array
                    items:
                      type: object
                      properties:
                        email:
                          type: string
                          description: Recipient email address.
                        name:
                          description: Optional display name.
                          type: string
                      required:
                        - email
                      additionalProperties: false
                  cc:
                    type: array
                    items:
                      type: object
                      properties:
                        email:
                          type: string
                          description: Recipient email address.
                        name:
                          description: Optional display name.
                          type: string
                      required:
                        - email
                      additionalProperties: false
                  bcc:
                    type: array
                    items:
                      type: object
                      properties:
                        email:
                          type: string
                          description: Recipient email address.
                        name:
                          description: Optional display name.
                          type: string
                      required:
                        - email
                      additionalProperties: false
                  subject:
                    type: string
                  inReplyTo:
                    type: string
                  references:
                    type: array
                    items:
                      type: string
                  providerMessageId:
                    type: string
                  rfcMessageId:
                    type: string
                  recipientCount:
                    type: number
                  openCount:
                    type: number
                  clickCount:
                    type: number
                  sentAt:
                    type: number
                  deliveredAt:
                    type: number
                  firstOpenedAt:
                    type: number
                  lastOpenedAt:
                    type: number
                  firstClickedAt:
                    type: number
                  bouncedAt:
                    type: number
                  complainedAt:
                    type: number
                  lastError:
                    type: string
                  createdAt:
                    type: number
                required:
                  - messageId
                  - status
                  - fromEmail
                  - to
                  - subject
                  - recipientCount
                  - openCount
                  - clickCount
                  - createdAt
                additionalProperties: false
                description: A raw email message with delivery + engagement counters.
              example:
                messageId: emsg_abc123
                status: opened
                fromEmail: founder@example.com
                to:
                  - email: ada@lovelace.dev
                    name: Ada
                subject: Quick intro
                providerMessageId: 0100018abc-provider-id
                rfcMessageId: <0100018abc@email.amazonses.com>
                recipientCount: 1
                openCount: 2
                clickCount: 1
                sentAt: 1765526400000
                deliveredAt: 1765526410000
                firstOpenedAt: 1765529700000
                createdAt: 1765526395000
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
        - DenchApiKey: []
        - AgentSession: []
components:
  responses:
    BadRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    Unauthorized:
      description: Missing or invalid authentication
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    NotFound:
      description: Operation or resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    InternalError:
      description: Server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
  schemas:
    ApiError:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - message
            - type
            - code
          properties:
            message:
              type: string
            type:
              type: string
            code:
              type: string
            details: {}
  securitySchemes:
    DenchApiKey:
      type: http
      scheme: bearer
      bearerFormat: DENCH_API_KEY
      description: >-
        Workspace-scoped Dench API key from workspace settings. This is the same
        key used by DENCH_API_KEY in sandboxes.
    AgentSession:
      type: http
      scheme: bearer
      bearerFormat: dch_agent_*
      description: >-
        Agent session token created by `dench signin`. Gateway-backed routes
        exchange this token for the workspace gateway key.

````