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

# Get a single email

> Returns the full email including the raw RFC 2822 body. Parse `raw` client-side to extract subject, body HTML, OTP codes, and attachments. `metadata` is a JSON string — parse it before reading fields.



## OpenAPI

````yaml /openapi.json get /api/mail/{uuid}
openapi: 3.1.0
info:
  title: TempInbox API
  description: >-
    REST API for TempInbox (tempinbox.dev) — create temporary email inboxes,
    receive mail, and automate email verification workflows. Receive-only:
    outbound sending is not supported. Rate limits apply per IP, per path;
    exceeded requests return 429.
  version: 1.0.0
  contact:
    url: https://tempinbox.dev
servers:
  - url: https://tempinbox.dev
    description: Public instance
security:
  - bearerAuth: []
paths:
  /api/mail/{uuid}:
    get:
      tags:
        - Mails
      summary: Get a single email
      description: >-
        Returns the full email including the raw RFC 2822 body. Parse `raw`
        client-side to extract subject, body HTML, OTP codes, and attachments.
        `metadata` is a JSON string — parse it before reading fields.
      operationId: getMail
      parameters:
        - name: uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Email UUID from the list endpoint
      responses:
        '200':
          description: Full email
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MailDetail'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  schemas:
    MailDetail:
      allOf:
        - $ref: '#/components/schemas/MailListItem'
        - type: object
          properties:
            raw:
              type: string
              description: >-
                Full raw RFC 2822 message. Parse client-side for body, OTP
                codes, and attachments.
              example: "From: noreply@example.com\r\nTo: swift-cloud-7x4@tempinbox.dev\r\nSubject: Your code\r\n\r\n847291"
    MailListItem:
      type: object
      properties:
        id:
          type: integer
          example: 42
        uuid:
          type: string
          format: uuid
          example: 550e8400-e29b-41d4-a716-446655440000
        source:
          type: string
          example: noreply@example.com
        address:
          type: string
          example: swift-cloud-7x4@tempinbox.dev
        metadata:
          type: string
          description: JSON string — parse before reading fields like subject
          example: '{"subject":"Your verification code is 847291"}'
        created_at:
          type: string
          format: date-time
          example: '2026-05-28T10:00:00Z'
        message_id:
          type: string
          example: <abc123@example.com>
  responses:
    Unauthorized:
      description: >-
        Missing or invalid JWT. JWTs are address-bound — a deleted address
        invalidates its JWT.
      content:
        text/plain:
          schema:
            type: string
    RateLimited:
      description: >-
        Per-IP, per-path rate limit exceeded. Back off exponentially; poll no
        faster than every 2–3 seconds.
      content:
        text/plain:
          schema:
            type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Address-bound JWT. Returned by POST /api/new_address, or copy it from
        the browser (DevTools → Application → Cookies → jwt) for automation.

````