---
title: "List Dlq Entries"
method: POST
path: "/v1/buckets/{bucket_id}/syncs/{sync_config_id}/dlq"
tags: ["Bucket Syncs"]
---

# List Dlq Entries

`POST /v1/buckets/{bucket_id}/syncs/{sync_config_id}/dlq`

## Request

- Base URL: `https://api.mixpeek.com`
- URL: `https://api.mixpeek.com/v1/buckets/{bucket_id}/syncs/{sync_config_id}/dlq`
- Auth: HTTP bearer and API key in header `X-Namespace`

List Dead Letter Queue entries for a sync configuration.

Returns objects that failed to sync after all retry attempts.
Each entry includes the source object ID, error details, retry count,
and timestamps. Use this to diagnose and resolve sync failures.

## Path parameters

- `bucket_id` string, required
- `sync_config_id` string, required

## Request body

- ListDLQRequest: Request to list Dead Letter Queue entries for a sync configuration.
  - `only_max_retries` boolean, nullable: If True, only return entries that exhausted all retries.
  - `error_types` string[], nullable: Filter by error type names, e.g. ['NotFoundError', 'ValidationError'].

## Response `200`

Successful Response

- DLQListResponse: List of DLQ entries for a sync configuration.
  - `results` SyncDeadLetterObjectModel[], required
    - `dlq_id` string: Unique identifier for the DLQ entry
    - `sync_config_id` string, required: ID of the sync configuration that failed
    - `sync_job_id` string, nullable: ID of the sync job where failure occurred
    - `source_object_id` string, required: Provider's native ID for the failed object
    - `source_path` string, nullable: Path to the object in the source system
    - `error_type` string, required: Type of error (validation_error, download_failed, schema_mismatch)
    - `error_message` string, required: Human-readable error message
    - `error_stack_trace` string, nullable: Full stack trace for debugging
    - `first_seen_at` string, date-time: When object first failed
    - `last_seen_at` string, date-time: When the object last failed BEFORE quarantine. once max_retries_reached is set this stops being refreshed by the sweep's healing re-attempts (those stamp last_reattempt_at instead), so it freezes at the moment of quarantine and drives the 7-day disposal clock (_dispose_stale_dlq_entries)
    - `last_reattempt_at` string, date-time, nullable: Timestamp of the most recent post-quarantine healing re-attempt. Separate from last_seen_at so the back-off timer (how long to wait before re-attempting a quarantined object) and the disposal clock (how long since quarantine) do not share one field — sharing it let the once/24h re-attempt reset the disposal clock forever, so a permanently-failing object was never retired
    - `retry_count` integer: Number of retry attempts
    - `max_retries_reached` boolean: Whether max retries have been exhausted
    - `requeued_at` string, date-time, nullable: When user manually requeued this object
    - `resolved_at` string, date-time, nullable: When object was successfully processed after requeue
    - `disposal_reason` string, nullable: Why the retry task permanently retired this entry (sync_config_not_found, sync_config_deactivated, connection_not_found) — set alongside max_retries_reached so stale entries stop being re-walked every run
    - `internal_id` string, required: Organization internal identifier (multi-tenancy scope)
    - `namespace_id` string, required: Namespace identifier
    - `bucket_id` string, required: Target bucket identifier
  - `total` integer, required

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity
- `429`: Too Many Requests
- `500`: Internal Server Error
- `503`: Service Unavailable

## Changes

- **2026-10-09** `61a175e8eb9a`: 1 warning, 5 info
  - removed the optional property `detail` from the response with the `422` status
  - added the non-success response with the status `429`
  - added the non-success response with the status `503`
  - added the optional property `success` to the response with the `422` status
  - …2 more
- **2026-08-24** `b40f559d564a`: 1 info
  - added the optional property `results/items/last_reattempt_at` to the response with the `200` status
- **2026-08-09** `5d4c905106b4`: 1 info
  - the endpoint scheme security `BearerAuth AND NamespaceHeader` was added to the API
- **2026-08-04** `9603dfdab463`: 1 info
  - added the optional property `results/items/disposal_reason` to the response with the `200` status

[Operation history](https://skmtc.dev/mixpeek/apis/mixpeek-api/changes/v1/buckets/:bucket_id/syncs/:sync_config_id/dlq/post.md)

---

[API](https://skmtc.dev/mixpeek/apis/mixpeek-api.md) - [All operations](https://skmtc.dev/mixpeek/apis/mixpeek-api/llms.txt) - [OpenAPI document](https://skmtc.dev/mixpeek/apis/mixpeek-api/revisions/790bc16455f6?raw)
