---
title: "Get a single sent DM"
method: GET
path: "/api/v1/dm-logs/{id}"
tags: ["DM Logs"]
---

# Get a single sent DM

`GET /api/v1/dm-logs/{id}`

## Request

- Base URL: `https://replyatlas.com`
- URL: `https://replyatlas.com/api/v1/dm-logs/{id}`
- Auth: HTTP bearer

Full detail for one DM send, including its body text, delivery status, and click/open timestamps. Available on any plan with API access — note that **API access itself requires Pro or Pro+**.

## Path parameters

- `id` string, required

## Response `200`

DmLog

- DmLog
  - `id` string
  - `automationId` string
  - `recipientPsid` string
  - `recipientHandle` string, nullable: Recipient's Instagram @handle, resolved from Lead by PSID. Null when no matching lead exists (legacy rows, ad-referral sends).
  - `commentId` string, nullable
  - `templateUsed` 'A' | 'B' | 'AI' | 'DRIP' | 'FOLLOW_GATE'
  - `bodyText` string
  - `status` 'QUEUED' | 'SENT' | 'DELIVERED' | 'OPENED' | 'CLICKED' | 'FAILED'
  - `errorMessage` string, nullable
  - `sentAt` string, date-time
  - `clickedAt` string, date-time, nullable
  - `sentimentClassified` 'POSITIVE' | 'NEUTRAL' | 'NEGATIVE' | 'null', nullable
  - `languageDetected` string, nullable
  - `openaiCostUsdMicros` integer, nullable
  - `dripStepIndex` integer, nullable

## Other responses

- `404`: Not found

---

[API](https://skmtc.dev/replyatlas/apis/replyatlas-public-api.md) · [All operations](https://skmtc.dev/replyatlas/apis/replyatlas-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/replyatlas/apis/replyatlas-public-api/revisions/0309ccbfa70e?raw)
