---
title: "List comment automation logs"
method: GET
path: "/v1/comment-automations/{automationId}/logs"
tags: ["Comment Automations"]
---

# List comment automation logs

`GET /v1/comment-automations/{automationId}/logs`

## Request

- Base URL: `https://api.postzen.dev`
- URL: `https://api.postzen.dev/v1/comment-automations/{automationId}/logs`
- Auth: HTTP bearer

Newest logs first. total is capped at 5000 matching rows. Misses are not logged. Out-of-scope ids return 404 automationNotFound. Instagram only. A comment permits one private reply ever, within 7 days. Story replies use normal DMs inside the 24-hour messaging window. Buttons and image cards (template) fall back to text with title and URL lines if Meta rejects the template. Reconnect the account on 403 platformCapabilityMissing to grant instagram_business_manage_comments and instagram_business_manage_messages.

## Path parameters

- `automationId` string, required

## Query parameters

- `status` 'pending' | 'sent' | 'failed' | 'skipped' | 'gated'
- `limit` integer
- `skip` integer

## Response `200`

List comment automation logs.

- CommentAutomationLogsResponse
  - `logs` CommentAutomationLog[], required
    - `id` string, required
    - `commentId` string, required
    - `platformPostId` string
    - `commenterId` string, required
    - `commenterName` string
    - `commentText` string
    - `skipReason` 'already_sent_to_contact' | 'automation_inactive' | 'not_follower' | 'is_follower' | 'below_min_followers' | 'follow_status_unknown' | 'contact_blocked' | 'contact_unsubscribed'
    - `error` string
    - `sentMessageId` string
    - `commentReplyError` string
    - `source` 'comment' | 'story_reply', required
    - `status` 'pending' | 'sent' | 'failed' | 'skipped' | 'gated', required: gated: a button DM (Opening DM or follow request) went out and we are waiting for the tap; it flips to sent or skipped when they tap. A tap from someone who still does not follow keeps it gated for another tap.
    - `buttonsDropped` boolean
    - `commentReplyStatus` 'pending' | 'sent' | 'failed' | 'skipped'
    - `nextDueAt` string, date-time
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `gateStage` 'opening' | 'follow': Which button DM a gated log is waiting on: `opening` (the Opening DM) or `follow` (the follow request).
    - `gateMessageId` string
    - `commenterIgsid` string
    - `gateSentAt` number: Unix timestamp in milliseconds.
    - `gateTappedAt` number: Unix timestamp in milliseconds.
    - `gateAttempts` integer: Follow requests and not-following replies sent after taps.
    - `followerCount` integer
    - `followStatus` 'follower' | 'non_follower' | 'unknown'
    - `gateDropped` boolean: Meta rejected the Opening DM template and delivery failed open: the DM was sent without the audience check.
  - `pagination` object, required
    - `total` integer, required
    - `limit` integer, required
    - `skip` integer, required
    - `hasMore` boolean, required

## Other responses

- `400`: Invalid request.
- `401`: Missing or invalid API key.
- `403`: The API key does not have sufficient permission or profile access.
- `404`: Resource not found.
- `429`: Rate limit exceeded. Retry after the interval indicated by the `Retry-After` header.
- `500`: Unexpected server error.

---

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