---
title: "GET /v1/workspaces/{workspaceId}/logs/{entryId}"
method: GET
path: "/v1/workspaces/{workspaceId}/logs/{entryId}"
---

# GET /v1/workspaces/{workspaceId}/logs/{entryId}

`GET /v1/workspaces/{workspaceId}/logs/{entryId}`

## Request

- Base URL: `https://api.bangermail.com`
- URL: `https://api.bangermail.com/v1/workspaces/{workspaceId}/logs/{entryId}`
- Auth: HTTP bearer

## Response `200`

Successful response.

- object
  - `data` object, required
    - `id` string, uuid, required
    - `direction` 'out' | 'in', required
    - `at` string, date-time, required
    - `mailbox_id` string, uuid, nullable, required: Null for sends that leave through no mailbox, such as the API and SMTP.
    - `thread_id` string, uuid
    - `send_intent_id` string, uuid
    - `traffic_class` 'mailbox' | 'product' | 'broadcast'
    - `from` string, required
    - `to` string[], required
    - `recipient_count` integer, required
    - `subject` string, required
    - `origin` LogOrigin, required
      - `kind` 'journey' | 'broadcast' | 'mailbox' | 'api' | 'agent' | 'smtp', required
      - `id` string
      - `name` string
    - `status` 'queued' | 'sent' | 'delivered' | 'bounced' | 'complained' | 'opened' | 'clicked' | 'replied' | 'received' | 'failed' | 'rejected', required
    - `rejection` LogRejection: Why Banger refused an SMTP attempt, and the reply the client received.
      - `ref` string, required
      - `kind` 'login_failed' | 'recipient_refused' | 'message_rejected', required
      - `reply` string, required: The full SMTP reply, e.g. `550 5.7.1 ...`.
      - `reply_code` integer, required
      - `enhanced_code` string, required
      - `reason` string, required
      - `message` string, required
      - `key_prefix` string, required: The public `bgr_` prefix of the API key the client used.
      - `client_ip` string
      - `port` integer
      - `tls` string
      - `attempts` integer, required: Failed logins on one key collapse into one row per ten minutes.
      - `last_at` string, date-time, required
    - `detail` union, required
      - object
        - `kind` 'inbound', required
        - `thread` ThreadDetail, required
          - `id` string, uuid, required
          - `mailbox_id` string, uuid, required
          - `subject` string, required
          - `snippet` string, required
          - `last_message_at` string, date-time, required
          - `message_count` integer, required
          - `unread_count` integer, required
          - `is_archived` boolean, required
          - `is_trash` boolean, required
          - `is_spam` boolean, required
          - `is_starred` boolean, required
          - `is_sent` boolean, required
          - `has_attachments` boolean, required
          - `labels` string[], required
          - `participants` Participant[]
            - `name` string
            - `email` string, email, required
          - `messages` Message[], required
            - `id` string, uuid, required
            - `mailbox_id` string, uuid, required
            - `thread_id` string, uuid, required
            - `sent_at` string, date-time, required
            - `received_at` string, date-time
            - `envelope_recipients` string[]: Original SMTP envelope recipients, case-folded by the SMTP edge, before receive-only alias routing. Empty for older messages or non-SMTP sources. Independent of visible To/Cc headers.
            - `from` Participant, required
              - …
            - `to` Participant[], required
              - …
            - `cc` Participant[]
              - …
            - `reply_to` Participant[]
              - …
            - `is_sent` boolean: Whether this message was sent by the mailbox, including from an alias.
            - `provider_status` 'queued' | 'sent' | 'delivered' | 'read' | 'undelivered' | 'failed' | 'null', nullable: An SMS or WhatsApp reply's delivery as the provider last reported it (read is WhatsApp only). Null for email.
            - `body_text` string
            - `body_html_url` string, uri
            - `reply_origin` ReplyOrigin
              - …
            - `has_attachments` boolean, required
            - `attachments` Attachment[]
              - …
      - object
        - `kind` 'broadcast' | 'outbound', required
        - `send` TransactionalSend, required
          - `id` string, uuid, required
          - `mailbox_id` string, uuid, nullable, required
          - `command_id` string, uuid, nullable, required
          - `status` string, required
          - `command_status` string, nullable, required
          - `subject` string
          - `recipients` object[]
            - `email` string, required
            - `name` string
          - `recipient_count` integer, required
          - `error_code` string, nullable
          - `send_intent_id` string, uuid
          - `provider` string, nullable
          - `route_kind` string, nullable
          - `source` string
          - `from_address` string
          - `recipient_states` object
          - `provider_message_id` string, nullable
          - `language` SendLanguage: The language a person got an email in. Only translated (managed-content) emails have one.
            - `locale` string, required: BCP 47 tag of the language the email was written in.
            - `requested_locale` string: Present only on an older send that went out in another language: the language the person should have got.
            - `fallback_reason` 'translation_missing' | 'translation_pending' | 'translation_review_required' | 'translation_failed' | 'translation_timeout'
          - `journey` object, nullable: The Journey step and enrollment that sent this email; null for other sends.
            - `journey_id` string, uuid, required
            - `step_id` string, uuid, required
            - `enrollment_id` string, uuid, required
          - `experiment` object, nullable: The experiment variant this email was; null when none applied.
            - `experiment_id` string, uuid, required
            - `variant_key` string, required
          - `created_at` string, date-time, required
          - `updated_at` string, date-time, required
          - `completed_at` string, date-time, nullable, required
          - `template_id` string, uuid, nullable
          - `template_version` integer, nullable
          - `workspace_revision` integer, nullable
          - `command_result` object
          - `command_started_at` string, date-time, nullable
          - `command_completed_at` string, date-time, nullable
          - `body_text` string
          - `body_html` string
          - `reply_to` object[]
            - `email` string, required
            - `name` string
          - `headers` object
          - `tags` object[]
            - `name` string, required
            - `value` string, required
        - `timeline` TransactionalSendTimelineEvent[], required
          - `occurred_at` string, date-time, required
          - `event_type` string, required
          - `label` string, required
          - `provider` string, nullable
          - `recipient_domain` string, nullable
          - `error_code` string, nullable

## Other responses

- `404`: The requested resource does not exist in this workspace.

---

[API](https://skmtc.dev/bangermail/apis/banger-api.md) · [All operations](https://skmtc.dev/bangermail/apis/banger-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bangermail/apis/banger-api/revisions/a149909267f9?raw)
