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

# ListReceivedEmailsAPI mirrors erdo_list_received_emails: the messages people
have sent back to


> the org's own sending address, newest first. \`domain\` may be omitted — an organization has one sending domain, so the read resolves it — and \`limit\` caps the page. Unlike the rest of this group it needs only org membership: a reply is business correspondence to read, not a registration to change.




## OpenAPI

````yaml /api/openapi.json get /v1/received-emails
openapi: 3.0.0
info:
  title: Erdo API
  description: >-
    Erdo's REST API: query and write datasets, run agents, manage threads,
    integrations, pages, evals, workstreams, and experiments. Authenticate with
    a Bearer API key (erdo_api_...) or scoped token (erdo_token_...).
  version: '2026-08-07'
servers:
  - url: https://api.erdo.ai
    description: Production
security:
  - bearerAuth: []
paths:
  /v1/received-emails:
    get:
      summary: >
        ListReceivedEmailsAPI mirrors erdo_list_received_emails: the messages
        people

        have sent back to
      description: >
        the org's own sending address, newest first. \`domain\` may be omitted —
        an organization has one sending domain, so the read resolves it — and
        \`limit\` caps the page. Unlike the rest of this group it needs only org
        membership: a reply is business correspondence to read, not a
        registration to change.
      operationId: GET:mcp.ListReceivedEmailsAPI
      parameters:
        - allowEmptyValue: true
          explode: true
          in: query
          name: domain
          required: false
          schema:
            type: string
          style: form
        - allowEmptyValue: true
          explode: true
          in: query
          name: limit
          required: false
          schema:
            format: int64
            type: integer
          style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  domain:
                    type: string
                  emails:
                    items:
                      $ref: '#/components/schemas/mcp.ReceivedEmailInfo'
                    type: array
                type: object
          description: Success response
        default:
          $ref: '#/components/responses/APIError'
components:
  schemas:
    mcp.ReceivedEmailInfo:
      description: >
        as seen from /v1 — usually a reply to outreach, but any mail addressed
        to the domain lands here (routing matches the domain, not one local
        part).
      properties:
        forwarded_at:
          description: >
            (RFC 3339). Empty means the reply is stored in Erdo only — either
            the domain has no forwarding mailbox set, or the forward has not
            happened, so a human has not necessarily seen this one.
          title: >
            ForwardedAt is when a copy was sent on to the domain's nominated
            mailbox
          type: string
        from_email:
          description: |
            went to, and the address a human should answer.
          title: >
            FromEmail is the address that wrote in — usually the lead the
            outreach
          type: string
        from_name:
          title: >
            FromName is the sender's display name when their mail client set
            one.
          type: string
        received_at:
          title: |
            ReceivedAt is when Erdo accepted the message (RFC 3339).
          type: string
        subject:
          description: |
            Re: prefix.
          title: >
            Subject is the reply's subject line, normally the original one
            carrying a
          type: string
        text_preview:
          description: |
            interested reply from an out-of-office, not the whole message.
          title: >
            TextPreview is the opening of the plain-text body — enough to tell
            an
          type: string
      title: >
        ReceivedEmailInfo is one message that arrived at the org's sending
        domain,
      type: object
  responses:
    APIError:
      content:
        application/json:
          schema:
            externalDocs:
              url: https://pkg.go.dev/encore.dev/beta/errs#Error
            properties:
              code:
                description: Error code
                example: not_found
                externalDocs:
                  url: https://pkg.go.dev/encore.dev/beta/errs#ErrCode
                type: string
              details:
                description: Error details
                type: object
              message:
                description: Error message
                type: string
            title: APIError
            type: object
      description: Error response
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: An Erdo API key (erdo_api_...) or scoped token (erdo_token_...).

````