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

# Get mail by ID

> Retrieves the full content of a mail including body and attachment list. Emits a VIEW_MAIL audit event.



## OpenAPI

````yaml /es/openapi/v3-current/bc-correios.yaml get /api/v1/correios/mails/{id}
openapi: 3.1.0
info:
  description: >-
    API for Lerian BC Correios, which connects the institution to BC Correio,
    Banco Central do Brasil's electronic correspondence system. It retrieves and
    stores the institution's BC Correio mail, sends messages to BACEN
    departments, and keeps an audit trail.
  title: Lerian BC Correios API
  version: 1.0.0
servers:
  - url: https://bc-correios.sandbox.lerian.net
security:
  - BearerAuth: []
tags:
  - description: Mail listing, search, read, send, and lifecycle operations.
    name: Mails
  - description: Immutable audit-trail query and export.
    name: Audit
  - description: 'Per-tenant configuration: BCB credentials, polling, AI, retention.'
    name: Settings
  - description: Aggregate mail metrics and category breakdowns.
    name: Dashboard
paths:
  /api/v1/correios/mails/{id}:
    get:
      tags:
        - Mails
      summary: Get mail by ID
      description: >-
        Retrieves the full content of a mail including body and attachment list.
        Emits a VIEW_MAIL audit event.
      operationId: GetMail
      parameters:
        - description: Mail ID (UUID v4)
          in: path
          name: id
          required: true
          schema:
            description: Mail ID (UUID v4)
            examples:
              - 550e8400-e29b-41d4-a716-446655440000
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailDetailResponse'
          description: OK
        '400':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Bad Request
        '401':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Unauthorized
        '404':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Not Found
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Unprocessable Entity
        '429':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Too Many Requests
        '500':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Internal Server Error
        '503':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Service Unavailable
      security:
        - BearerAuth: []
components:
  schemas:
    MailDetailResponse:
      additionalProperties: false
      properties:
        aiError:
          type: string
        aiInsight:
          examples:
            - >-
              Resolução altera normas de câmbio para exportações acima de USD
              50k.
          type:
            - string
            - 'null'
        attachments:
          items:
            $ref: '#/components/schemas/AttachmentSummaryResponse'
          type: array
        bcbConfirmationId:
          examples:
            - '20260404123456789'
          type:
            - string
            - 'null'
        bcbMessageId:
          examples:
            - BCB-MSG-2026-003456
          type: string
        body:
          examples:
            - <p>Prezados, informamos que...</p>
          type: string
        contentType:
          examples:
            - text/html
          type: string
        createdAt:
          examples:
            - '2026-03-28T10:31:05Z'
          type: string
        destination:
          examples:
            - DEINF
          type:
            - string
            - 'null'
        folder:
          examples:
            - INBOX
          type: string
        id:
          examples:
            - 550e8400-e29b-41d4-a716-446655440000
          type: string
        isRead:
          examples:
            - true
          type: boolean
        metadata:
          additionalProperties: {}
          type: object
        readAt:
          examples:
            - '2026-03-28T11:00:00Z'
          type:
            - string
            - 'null'
        receivedAt:
          examples:
            - '2026-03-28T10:30:00Z'
          type: string
        sendStatus:
          examples:
            - CONFIRMED
          type:
            - string
            - 'null'
        sender:
          examples:
            - BACEN/DENOR
          type: string
        sentAt:
          examples:
            - '2026-03-28T10:31:05Z'
          type:
            - string
            - 'null'
        subject:
          examples:
            - Resolução BCB nº 400 - Alteração de normas cambiais
          type: string
        tenantId:
          examples:
            - c7aab4e8-1234-5678-9abc-def012345678
          type: string
        type:
          examples:
            - RESOLUTION
          type: string
        updatedAt:
          examples:
            - '2026-03-28T14:22:00Z'
          type: string
      required:
        - id
        - tenantId
        - bcbMessageId
        - folder
        - type
        - subject
        - body
        - contentType
        - aiInsight
        - sender
        - receivedAt
        - createdAt
        - updatedAt
        - attachments
        - isRead
        - readAt
        - sendStatus
        - bcbConfirmationId
        - sentAt
        - destination
      type: object
    Detail:
      additionalProperties: false
      properties:
        code:
          description: >-
            Stable, machine-readable domain error code scoped to the emitting
            service (format: <SERVICE>-NNNN).
          type: string
        correlationId:
          description: Request-scoped correlation identifier echoing X-Request-ID.
          examples:
            - req-7a3f9c2e
          type: string
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
        upstream:
          $ref: '#/components/schemas/Upstream'
          description: >-
            RFC 9457 extension member: the error a proxied third-party provider
            reported. Absent unless the emitting service explicitly surfaced
            one.
      required:
        - correlationId
      type: object
    AttachmentSummaryResponse:
      additionalProperties: false
      properties:
        contentType:
          type: string
        filename:
          type: string
        id:
          type: string
        sizeBytes:
          format: int64
          type: integer
      required:
        - id
        - filename
        - contentType
        - sizeBytes
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
    Upstream:
      additionalProperties: false
      properties:
        code:
          description: The upstream provider's own error code, verbatim.
          examples:
            - E4001
          type: string
        message:
          description: >-
            The upstream provider's own error message, verbatim (bounded, never
            its raw response body).
          examples:
            - account not found at provider
          type: string
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: JWT bearer token issued by the identity provider.
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.